Help
RSS
API
Feed
Maltego
Contact
Domain > cluster.seoulsoft.kr
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2026-02-17
3.37.136.98
(
ClassC
)
Port 80
HTTP/1.1 200 OKServer: nginx/1.18.0 (Ubuntu)Date: Tue, 17 Feb 2026 04:22:00 GMTContent-Type: text/html; charsetutf-8Content-Length: 133322Connection: keep-aliveVary: OriginX-Frame-Options: SAMEORIGINX-Content-Type-Options: nosniff !DOCTYPE html>html>head> title>Seoul Soft MES/title> link relstylesheet href/static/css/style.css>!-- load bootstrap stylesheet -->link hrefhttps://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css relstylesheet integritysha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk crossoriginanonymous mediaall>!-- load bootstrap datepicker stylesheet-->link relstylesheet href/static/bootstrap-datepicker/css/bootstrap-datepicker3.min.css>!-- table export -->link relstylesheet hrefhttps://unpkg.com/tableexport@5.2.0/dist/css/tableexport.min.css>link relstylesheet href/static/drf-yasg/swagger-ui-dist/swagger-ui.css>!-- load bootstrap popper.js for dropdown menu -->script srchttps://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js integritysha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q crossoriginanonymous>/script>script srchttps://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js>/script>!-- load bootstrap js -->script srchttps://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js integritysha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI crossoriginanonymous mediaall>/script>!-- load bootstrap datepicker js -->script src/static/bootstrap-datepicker/js/bootstrap-datepicker.min.js>/script>script src/static/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js>/script>!-- custom javascript files -->script src/static/js/api_adapter.js typetext/javascript>/script>script src/static/js/main.js typetext/javascript>/script>!-- Daum Address Finder API -->script srchttps://t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js>/script>!-- select2 CDN -->link hrefhttps://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/css/select2.min.css relstylesheet />script srchttps://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/js/select2.min.js>/script>!-- Chart.js -->script srchttps://cdn.jsdelivr.net/npm/chart.js@2/dist/Chart.min.js>/script>!-- printThis for screen print -->script src/static/js/printThis.js typetext/javascript>/script>!-- table export -->script srchttps://unpkg.com/xlsx@0.16.4/dist/xlsx.core.min.js>/script>script srchttps://cdn.jsdelivr.net/npm/file-saver@2.0.2/dist/FileSaver.min.js>/script>script srchttps://unpkg.com/tableexport@5.2.0/dist/js/tableexport.min.js>/script>!-- new excel table export -->script typetext/javascript src/static/js/tableExport.min.js>/script>!-- pagination for tables -->script src/static/js/paginathing.js typetext/javascript>/script>!-- custom javascript files 2 -->script src/static/js/excel_export.js typetext/javascript>/script>!-- tab drag -->script srchttps://cdnjs.cloudflare.com/ajax/libs/Sortable/1.14.0/Sortable.min.js>/script>script src/static/js/api_process.js typetext/javascript>/script>input classd-none idmes_toggle nametest typetext>script> const tabID sessionStorage.tabID ? sessionStorage.tabID : sessionStorage.tabID Math.random();/script>/head>body>div classwrapper styleoverflow-y:visible;> div idheader-menu styleposition:static;left:0px;top:0px;> div classw-100 stylebackground: #f3faff> div classheader-menu> div classrow no-gutters> !-- 나중에 업체별 로고 이미지 받아서 띄우는거 검토--> !-- img src/static/img/logo.png width36 height36>--> div classcol title row no-gutters> div classcol-4 row justify-content-start ml-3 > span stylefont-size: 0.9em>MES21-MAIN/span> /div> div classcol-4> span ide-name>SEOULSOFT/span> 간이생산공정시스템 /div> div classcol-4 row justify-content-end styleright:0;> span stylefont-size: 0.9em>release : 22.03.04.D/span> /div> /div> /div> div classrow no-gutters> div classcol-md-2 col-sm-6 pl-1 pr-1 py-1 pr-0> table classtable mb-0 information> thead> tr> th classp-0 scopecol colspan2 identerprise_name>유니로보틱스/th> /tr> /thead> colgroup> col stylewidth:50%;> col stylewidth:50%;> /colgroup> tr> td classpl-2 py-0 user-inf>사용자 코드/td> td idusercode classp-0 user-text>123456/td> /tr> tr> td classpl-2 py-0 user-inf>사용자 명/td> td idusername classp-0 user-text>홍길동/td> /tr> /table> /div> div classcol-md-10 col-sm-6 pt-2 px-0> div classrow no-gutters w-100> !-- --> a href# idexcel-export classcol-1 text-center> img src/static/img/i_excel_c.png width38 height38> p classmb-0>엑셀 변환/p> /a> !-- --> a href# classcol-1 text-center idcontent-print> img src/static/img/i_print.png width38 height38> p classmb-0>내용 인쇄/p> /a> a href# classcol-1 text-center idscreen-print> img src/static/img/i_screen.png width38 height38> p classmb-0>화면 인쇄/p> /a> !-- change a href to javascript-based method --> !--a href/accounts/login>--> a href# idlogout classcol-1 text-center> img src/static/img/i_logout.png width38 height38> p classmb-0>로그 아웃/p> /a> a href# idhelp classcol-1 text-center> img src/static/img/i_help.png width38 height38> p classmb-0>도움말/p> /a> a href# classcol-1 text-center idkpi_view> img src/static/img/i_graph.png width38 height38> p classmb-0>kpi 조회/p> /a> /div> /div> /div>/div>div classheader-submenu> div classrow h-100 no-gutters> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-23> button classbtn btn-block px-1 dropdown-toggle idmenu-23-button onclickLocation.href>대시보드/button> div classdropdown-menu> a styledisplay: none; classsm-70 dropdown-item onclickurl_click(/dashboard/order_stats_company/, sm-70);>업체별 주문통계/a> a styledisplay: none; classsm-71 dropdown-item onclickurl_click(/dashboard/order_stats_goods/, sm-71);>제품별 주문통계/a> a styledisplay: none; classsm-72 dropdown-item onclickurl_click(/dashboard/yearly_monthly_sale/, sm-72);>연/월별 판매량/a> a styledisplay: none; classsm-73 dropdown-item onclickurl_click(/dashboard/shop_order_status/, sm-73);>Shop 주문조회/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-13> button classbtn btn-block px-1 dropdown-toggle idmenu-13-button onclickLocation.href>의뢰서관리/button> div classdropdown-menu> a styledisplay: none; classsm-42 dropdown-item onclickurl_click(/request/request_input/, sm-42);>의뢰서작성/a> a styledisplay: none; classsm-43 dropdown-item onclickurl_click(/request/request_status/, sm-43);>의뢰서조회/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-14> button classbtn btn-block px-1 dropdown-toggle idmenu-14-button onclickLocation.href>견적서관리/button> div classdropdown-menu> a styledisplay: none; classsm-44 dropdown-item onclickurl_click(/estimate/estimate_input/, sm-44);>견적서작성/a> a styledisplay: none; classsm-45 dropdown-item onclickurl_click(/estimate/estimate_status/, sm-45);>견적서조회/a> /div> /div> !-- hjlim new-module --> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-10> button classbtn btn-block px-1 dropdown-toggle idmenu-10-button onclickLocation.href>주문관리/button> div classdropdown-menu> a styledisplay: none; classsm-32 dropdown-item onclickurl_click(/ordering/ordering_input/, sm-32);>주문서등록/a> a styledisplay: none; classsm-33 dropdown-item onclickurl_click(/ordering/ordering_status/, sm-33);>주문현황조회/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-21> button classbtn btn-block px-1 dropdown-toggle idmenu-21-button onclickLocation.href>주문관리APP/button> div classdropdown-menu> a styledisplay: none; classsm-67 dropdown-item onclickurl_click(/ordering_app/account_approval/, sm-67);>MES 신청조회/a> a styledisplay: none; classsm-68 dropdown-item onclickurl_click(/ordering_app/whether_to_export/, sm-68);>MES 주문조회/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-8> button classbtn btn-block px-1 dropdown-toggle idmenu-8-button onclickLocation.href>발주관리/button> div classdropdown-menu> a styledisplay: none; classsm-28 dropdown-item onclickurl_click(/order/manage/, sm-28);>발주등록/a> a styledisplay: none; classsm-29 dropdown-item onclickurl_click(/order/input/, sm-29);>발주대비 입고등록/a> a styledisplay: none; classsm-30 dropdown-item onclickurl_click(/order/status/, sm-30);>발주대비 입고현황/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-16> button classbtn btn-block px-1 dropdown-toggle idmenu-16-button onclickLocation.href>외주관리/button> div classdropdown-menu> a styledisplay: none; classsm-51 dropdown-item onclickurl_click(/outsourcing/manage/, sm-51);>외주출고/a> a styledisplay: none; classsm-52 dropdown-item onclickurl_click(/outsourcing/input/, sm-52);>외주출고 입고등록/a> a styledisplay: none; classsm-53 dropdown-item onclickurl_click(/outsourcing/status/, sm-53);>외주제품 수불부/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-2> button classbtn btn-block px-1 dropdown-toggle idmenu-2-button onclickLocation.href>BOM 관리/button> div classdropdown-menu> a styledisplay: none; classsm-6 dropdown-item onclickurl_click(/basic_information/BOM/, sm-6);>BOM 형식 생성/a> !-- *핵심기술>--> a styledisplay: none; classsm-7 dropdown-item onclickurl_click(/BOM/manage/, sm-7);>BOM 관리/a> a styledisplay: none; classsm-8 dropdown-item onclickurl_click(/BOM/lookup/, sm-8);>BOM 조회/a> a styledisplay: none; classsm-9 dropdown-item onclickurl_click(/BOM/inventory_status/, sm-9);>생산계획 대비 재고현황 조회/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-3> button classbtn btn-block px-1 dropdown-toggle idmenu-3-button onclickLocation.href>재고 관리/button> div classdropdown-menu> a styledisplay: none; classsm-10 dropdown-item onclickurl_click(/material/input/, sm-10);>재고입고/a> a styledisplay: none; classsm-11 dropdown-item onclickurl_click(/material/output/, sm-11);>재고출고/a> a styledisplay: none; classsm-12 dropdown-item onclickurl_click(/material/import/, sm-12);>재고반입/a> a styledisplay: none; classsm-13 dropdown-item onclickurl_click(/material/status/, sm-13);>재고현황/a> a styledisplay: none; classsm-14 dropdown-item onclickurl_click(/material/adjust/, sm-14);>재고조정/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-4> button classbtn btn-block px-1 dropdown-toggle idmenu-4-button onclickLocation.href>생산관리/button> div classdropdown-menu> a styledisplay: none; classsm-15 dropdown-item onclickurl_click(/process/manage/, sm-15);>공정명등록관리/a> a styledisplay: none; classsm-16 dropdown-item onclickurl_click(/process/detail/, sm-16);>생산일정등록/a> a styledisplay: none; classsm-17 dropdown-item onclickurl_click(/process/progress_manage/, sm-17);>공정진행현황등록/a> a styledisplay: none; classsm-18 dropdown-item onclickurl_click(/process/progress_lookup/, sm-18);>공정진행현황조회/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-15> button classbtn btn-block px-1 dropdown-toggle idmenu-15-button onclickLocation.href>불량 관리/button> div classdropdown-menu> a styledisplay: none; classsm-48 dropdown-item onclickurl_click(/process/fault_manage, sm-48);>불량사유 등록/a> a styledisplay: none; classsm-49 dropdown-item onclickurl_click(/process/fault_lookup, sm-49);>불량사유 조회/a> a styledisplay: none; classsm-50 dropdown-item onclickurl_click(/process/fault_graph, sm-50);>불량률그래프 조회/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-11> button classbtn btn-block px-1 dropdown-toggle idmenu-11-button onclickLocation.href>출하관리/button> div classdropdown-menu> a styledisplay: none; classsm-38 dropdown-item onclickurl_click(/ordering_ex/ordering_export_input/, sm-38);>출하등록/a> a styledisplay: none; classsm-39 dropdown-item onclickurl_click(/ordering_ex/ordering_export_status/, sm-39);>출하내역조회/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-22> button classbtn btn-block px-1 dropdown-toggle idmenu-22-button onclickLocation.href>설비관리/button> div classdropdown-menu> a styledisplay: none; classsm-65 dropdown-item onclickurl_click(/facilities/equipment_interlocking/, sm-65);>장비연동/a> a styledisplay: none; classsm-66 dropdown-item onclickurl_click(/facilities/equipment_interlocking_status/, sm-66);>장비연동 조회/a> a styledisplay: none; classsm-74 dropdown-item onclickurl_click(/facilities/fac_output_monitoring/, sm-74);>업체별 설비 모니터링-생산량/a> a styledisplay: none; classsm-75 dropdown-item onclickurl_click(/facilities/fac_rate_monitoring_i/, sm-75);>업체별 설비 모니터링(운영기관)-가동률/a> a styledisplay: none; classsm-76 dropdown-item onclickurl_click(/facilities/fac_rate_monitoring_mb/, sm-76);>업체별 설비 모니터링(도입기업)-가동률/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-12> button classbtn btn-block px-1 dropdown-toggle idmenu-12-button onclickLocation.href>원가관리/button> div classdropdown-menu> a styledisplay: none; classsm-40 dropdown-item onclickurl_click(/cost/cost_by_product/, sm-40);>제품별원가/a> a styledisplay: none; classsm-41 dropdown-item onclickurl_click(/cost/cost_by_export/, sm-41);>주문대비원가/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-17> button classbtn btn-block px-1 dropdown-toggle idmenu-17-button onclickLocation.href>정산관리/button> div classdropdown-menu> a styledisplay: none; classsm-54 dropdown-item onclickurl_click(/order/purchase/, sm-54);>매입관리/a> a styledisplay: none; classsm-55 dropdown-item onclickurl_click(/order/sales/, sm-55);>매출관리/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-6> button classbtn btn-block px-1 dropdown-toggle idmenu-6-button onclickLocation.href>온습도 모니터링/button> div classdropdown-menu> a styledisplay: none; classsm-22 dropdown-item onclickurl_click(/monitoring/manage/, sm-22);>온습도 모니터링 장비관리/a> a styledisplay: none; classsm-23 dropdown-item onclickurl_click(/monitoring/pc/, sm-23);>온습도 현황 조회(PC)/a> a styledisplay: none; classsm-24 dropdown-item onclicklocation.href/monitoring/tv/;>온습도 현황 조회(TV)/a> a styledisplay: none; classsm-36 dropdown-item onclicklocation.href/monitoring/tv_h2/;>온습도 현황 조회(TV) H2/a> a styledisplay: none; classsm-47 dropdown-item onclicklocation.href/monitoring/led_h2/;>온습도 현황 조회 전광판 H2/a> a styledisplay: none; classsm-61 dropdown-item onclickurl_click(/monitoring/history_h2/, sm-61);>온습도 이력관리 H2/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-7> button classbtn btn-block px-1 dropdown-toggle idmenu-7-button onclickLocation.href>온도전압관리/button> div classdropdown-menu> a styledisplay: none; classsm-25 dropdown-item onclickurl_click(/temp_volt_monitoring/manage/, sm-25);>온도전압 장비관리/a> a styledisplay: none; classsm-26 dropdown-item onclickurl_click(/temp_volt_monitoring/status/, sm-26);>온도전압 현황조회(모바일 지원)/a> a styledisplay: none; classsm-27 dropdown-item onclickurl_click(/temp_volt_monitoring/lookup/, sm-27);>온도전압 이력조회/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-18> button classbtn btn-block px-1 dropdown-toggle idmenu-18-button onclickLocation.href>프로젝트관리/button> div classdropdown-menu> a styledisplay: none; classsm-56 dropdown-item onclickurl_click(/project/add, sm-56);>프로젝트등록/a> a styledisplay: none; classsm-57 dropdown-item onclickurl_click(/project/manage, sm-57);>프로젝트관리/a> a styledisplay: none; classsm-58 dropdown-item onclickurl_click(/project/lookup, sm-58);>프로젝트조회/a> a styledisplay: none; classsm-64 dropdown-item onclickurl_click(/log/manage, sm-64);>로그관리/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-19> button classbtn btn-block px-1 dropdown-toggle idmenu-19-button onclickLocation.href>펌웨어관리/button> div classdropdown-menu> a styledisplay: none; classsm-59 dropdown-item onclickurl_click(/firmware/add, sm-59);>펌웨어등록/a> a styledisplay: none; classsm-60 dropdown-item onclickurl_click(/firmware/lookup, sm-60);>펌웨어조회/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-5> button classbtn btn-block px-1 dropdown-toggle idmenu-5-button onclickLocation.href>대여 관리/button> div classdropdown-menu> a styledisplay: none; classsm-19 dropdown-item onclickurl_click(/rental/item/, sm-19);>대여품목 관리/a> a styledisplay: none; classsm-20 dropdown-item onclickurl_click(/rental/manage/, sm-20);>대여 등록/회수 관리/a> a styledisplay: none; classsm-21 dropdown-item onclickurl_click(/rental/status/, sm-21);>대여현황 조회/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-9> button classbtn btn-block px-1 dropdown-toggle idmenu-9-button onclickLocation.href>HACPP 관리/button> div classdropdown-menu> a styledisplay: none; classsm-31 dropdown-item onclickurl_click(/haccp/document_manage/, sm-31);>문서관리/a> a styledisplay: none; classsm-34 dropdown-item onclickurl_click(/monitoring/manage_h2/, sm-34);>온습도 모니터링 장비관리 H2/a> a styledisplay: none; classsm-35 dropdown-item onclickurl_click(/monitoring/pc_h2/, sm-35);>온습도 현황 조회(PC) H2/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-20> button classbtn btn-block px-1 dropdown-toggle idmenu-20-button onclickLocation.href>고객관리/button> div classdropdown-menu> a styledisplay: none; classsm-62 dropdown-item onclickurl_click(/customer/add/, sm-62);>고객등록/a> a styledisplay: none; classsm-63 dropdown-item onclickurl_click(/customer/proceeding_manage/, sm-63);>진행관리/a> /div> /div> div classcol-md-1 col-sm-6 pl-1 p-0 mt-1 mb-1 dropdown-div idmenu-1> button classbtn btn-block px-1 dropdown-toggle idmenu-1-button onclickLocation.href>기준정보 관리/button> div classdropdown-menu> a styledisplay: none; classsm-0 dropdown-item onclickurl_click(/basic_information/codemaster/, sm-0);>코드 마스터/a> a styledisplay: none; classsm-1 dropdown-item onclickurl_click(/basic_information/customer/, sm-1);>거래처 기준정보관리/a> a styledisplay: none; classsm-en dropdown-item onclickurl_click(/basic_information/user/, 사용자 기준정보관리);>사용자 기준정보관리/a> a styledisplay: none; classsm-3 dropdown-item onclickurl_click(/basic_information/equipment/, sm-3);>설비 기준정보관리/a> a styledisplay: none; classsm-4 dropdown-item onclickurl_click(/basic_information/item/, sm-4);>품목 기준정보관리/a> a styledisplay: none; classsm-69 dropdown-item onclickurl_click(/basic_information/goods/, sm-69);>상품 기준정보관리/a> !-- --> a styledisplay: none; classsm-en dropdown-item onclickurl_click(/basic_information/auth/user/, 사용자 권한관리);>사용자 권한관리/a> !-- *핵심기술>--> a styledisplay: none; classsm-su dropdown-item onclickurl_click(/basic_information/auth/customer/, 업체별 권한관리);>업체별 권한관리/a> !-- *핵심기술>--> a styledisplay: none; classsm-su dropdown-item onclickurl_click(/basic_information/enterprise/, 신규 업체 등록);>신규 업체 등록/a> a styledisplay: none; classsm-37 dropdown-item onclickurl_click(/basic_information/order/company/, sm-37);>납품기업/a> a styledisplay: none; classsm-46 dropdown-item onclickurl_click(/basic_information/myinfo/, sm-46);>내 정보 관리/a> /div> /div> /div>/div>script> $(.dropdown-item).on(contextmenu, function(ev) { ev.preventDefault(); var button_url this.getAttribute(href); window.open(button_url); }) // logout action $(#logout).click(function() { flush_token(); window.location.href /accounts/login/ // TODO: }); // help 도움말 $(#help).click(function() { }); // kpi 조회 $(#kpi_view).click(function() { url_click(/kpi/kpi_view, ); }); // for screen-print $(#screen-print).click(function() { $(.tab-content .show iframe).contents().find(body).printThis(); }); $(#content-print).click(function() { var title_text $(title).text(); $(.tab-content .show iframe).contents().find(table).printThis({ header: h3 classmb-2 idtitle> + title_text + /h3> }); }); $(() > { let permissions get_userinfo().permissions; for (let i 0; i AUTH_CNT_MAX; i++) { let enabled (permissionsi) 1; if (enabled true) $(.sm- + i).css(display, block); } if (get_userinfo().is_superuser true) { $(.sm-su).css(display, block); $(.sm-en).css(display, block); } if (get_userinfo().is_master true) { $(.sm-en).css(display, block); } for (let i 1; i TAB_CNT_MAX; i++) { let checkDisplay 1; let check_this #menu- + i; $(check_this).find(a).each(function() { if (!($(this).css(display) none)) { checkDisplay 0; } }) if (checkDisplay) { $(check_this).css(display, none); } } let userinfo get_userinfo(); $(#usercode).text(userinfo.code); $(#username).text(userinfo.name); $(#enterprise_name).text(userinfo.enterprise_name); $(#e-name).text(userinfo.enterprise_name); }); // 업체별 NickName 변경 api_gp(/basic_information/enterprises_read/?name + get_userinfo().enterprise_name, GET, {}, (done) > { let data done.results; // 기준정보 if (data0.nickBase ! null && data0.nickBase ! ) { $(#menu-1-button).text(data0.nickBase); } if (data0.nCodeMaster ! null && data0.nCodeMaster ! ) { $(.sm-0).text(data0.nCodeMaster); } if (data0.nCustomer ! null && data0.nCustomer ! ) { $(.sm-1).text(data0.nCustomer); } if (data0.nFacilities ! null && data0.nFacilities ! ) { $(.sm-3).text(data0.nFacilities); } if (data0.nItem ! null && data0.nItem ! ) { $(.sm-4).text(data0.nItem); } if (data0.nGoods ! null && data0.nGoods ! ) { $(.sm-69).text(data0.nGoods); } if (data0.nOrderCompany ! null && data0.nOrderCompany ! ) { $(.sm-37).text(data0.nOrderCompany); } if (data0.nMyInfo ! null && data0.nMyInfo ! ) { $(.sm-46).text(data0.nMyInfo); } // BOM 관리 if (data0.nickBom ! null && data0.nickBom ! ) { $(#menu-2-button).text(data0.nickBom); } if (data0.nBomForm ! null && data0.nBomForm ! ) { $(.sm-6).text(data0.nBomForm); } if (data0.nBomManage ! null && data0.nBomManage ! ) { $(.sm-7).text(data0.nBomManage); } if (data0.nBomSearch ! null && data0.nBomSearch ! ) { $(.sm-8).text(data0.nBomSearch); } if (data0.nBomPlan ! null && data0.nBomPlan ! ) { $(.sm-9).text(data0.nBomPlan); } // 자재관리 if (data0.nickMaterial ! null && data0.nickMaterial ! ) { $(#menu-3-button).text(data0.nickMaterial); } if (data0.nMaterialImport ! null && data0.nMaterialImport ! ) { $(.sm-10).text(data0.nMaterialImport); } if (data0.nMaterialOutput ! null && data0.nMaterialOutput ! ) { $(.sm-11).text(data0.nMaterialOutput); } if (data0.nMaterialCarry ! null && data0.nMaterialCarry ! ) { $(.sm-12).text(data0.nMaterialCarry); } if (data0.nMaterialSearch ! null && data0.nMaterialSearch ! ) { $(.sm-13).text(data0.nMaterialSearch); } if (data0.nMaterialAdjust ! null && data0.nMaterialAdjust ! ) { $(.sm-14).text(data0.nMaterialAdjust); } // 공정관리 if (data0.nickProcess ! null && data0.nickProcess ! ) { $(#menu-4-button).text(data0.nickProcess); } if (data0.nProcessNameAdd ! null && data0.nProcessNameAdd ! ) { $(.sm-15).text(data0.nProcessNameAdd); } if (data0.nProcessDetail ! null && data0.nProcessDetail ! ) { $(.sm-16).text(data0.nProcessDetail); } if (data0.nProcessStatsAdd ! null && data0.nProcessStatsAdd ! ) { $(.sm-17).text(data0.nProcessStatsAdd); } if (data0.nProcessStatsSearch ! null && data0.nProcessStatsSearch ! ) { $(.sm-18).text(data0.nProcessStatsSearch); } //불량 관리 if (data0.nickFaulty ! null && data0.nickFaulty ! ) { $(#menu-15-button).text(data0.nickFaulty); } if (data0.nFaultyAdd ! null && data0.nFaultyAdd ! ) { $(.sm-48).text(data0.nFaultyAdd); } if (data0.nFaultyLookUp ! null && data0.nFaultyLookUp ! ) { $(.sm-49).text(data0.nFaultyLookUp); } if (data0.nFaultyGraph ! null && data0.nFaultyGraph ! ) { $(.sm-50).text(data0.nFaultyGraph); } if (data0.nickFacilities ! null && data0.nickFacilities ! ) { $(#menu-22-button).text(data0.nickFacilities); } if (data0.nEquipmentInterlocking ! null && data0.nEquipmentInterlocking ! ) { $(.sm-65).text(data0.nEquipmentInterlocking); } if (data0.nEquipmentInterlockingStatus ! null && data0.nEquipmentInterlockingStatus ! ) { $(.sm-66).text(data0.nEquipmentInterlockingStatus); } if (data0.nFacOutputMonitoring ! null && data0.nFacOutputMonitoring ! ) { $(.sm-74).text(data0.nFacOutputMonitoring); } if (data0.nFacRateMonitoringI ! null && data0.nFacRateMonitoringI ! ) { $(.sm-75).text(data0.nFacRateMonitoringI); } if (data0.nFacRateMonitoringMB ! null && data0.nFacRateMonitoringMB ! ) { $(.sm-76).text(data0.nFacRateMonitoringMB); } // 대여관리 if (data0.nickRental ! null && data0.nickRental ! ) { $(#menu-5-button).text(data0.nickRental); } if (data0.nRentalManage ! null && data0.nRentalManage ! ) { $(.sm-19).text(data0.nRentalManage); } if (data0.nRentalAdd ! null && data0.nRentalAdd ! ) { $(.sm-20).text(data0.nRentalAdd); } if (data0.nRentalSearch ! null && data0.nRentalSearch ! ) { $(.sm-21).text(data0.nRentalSearch); } // 온습도 모니터링 if (data0.nickSensor ! null && data0.nickSensor ! ) { $(#menu-6-button).text(data0.nickSensor); } if (data0.nSensor ! null && data0.nSensor ! ) { $(.sm-22).text(data0.nSensor); } if (data0.nSensorPC ! null && data0.nSensorPC ! ) { $(.sm-23).text(data0.nSensorPC); } if (data0.nSensorTV ! null && data0.nSensorTV ! ) { $(.sm-24).text(data0.nSensorTV); } if (data0.nSensorTVH2 ! null && data0.nSensorTVH2 ! ) { $(.sm-36).text(data0.nSensorTVH2); } if (data0.nSensorLEDH2 ! null && data0.nSensorLEDH2 ! ) { $(.sm-47).text(data0.nSensorLEDH2); } if (data0.nSensorHISH2 ! null && data0.nSensorHISH2 ! ) { $(.sm-61).text(data0.nSensorHISH2); } // 온도전압 관리 - 변경 시 sm 번호 재 설정해놔야함 if (data0.nickTempVolt ! null && data0.nickTempVolt ! ) { $(#menu-7-button).text(data0.nickTempVolt); } if (data0.nTempVoltManage ! null && data0.nTempVoltManage ! ) { $(.sm-25).text(data0.nTempVoltManage); } if (data0.nTempVoltStatsSearch ! null && data0.nTempVoltStatsSearch ! ) { $(.sm-26).text(data0.nTempVoltStatsSearch); } if (data0.nTempVoltBgSearch ! null && data0.nTempVoltBgSearch ! ) { $(.sm-27).text(data0.nTempVoltBgSearch); } if (data0.nickOrder ! null && data0.nickOrder ! ) { $(#menu-8-button).text(data0.nickOrder); } if (data0.nOrderAdd ! null && data0.nOrderAdd ! ) { $(.sm-28).text(data0.nOrderAdd); } if (data0.nOrderCtAdd ! null && data0.nOrderCtAdd ! ) { $(.sm-29).text(data0.nOrderCtAdd); } if (data0.nOrderCtStats ! null && data0.nOrderCtStats ! ) { $(.sm-30).text(data0.nOrderCtStats); } //외주 관리 if (data0.nickOutsourcing ! null && data0.nickOutsourcing ! ) { $(#menu-16-button).text(data0.nickOutsourcing); } if (data0.nOutsourcingOut ! null && data0.nOutsourcingOut ! ) { $(.sm-51).text(data0.nOutsourcingOut); } if (data0.nOutsourcingCtAdd ! null && data0.nOutsourcingCtAdd ! ) { $(.sm-52).text(data0.nOutsourcingCtAdd); } if (data0.nOutsourcingCtStats ! null && data0.nOutsourcingCtStats ! ) { $(.sm-53).text(data0.nOutsourcingCtStats); } // HACCP 관리 if (data0.nickHaccp ! null && data0.nickHaccp ! ) { $(#menu-9-button).text(data0.nickHaccp); } if (data0.nHaccpDocumentManage ! null && data0.nHaccpDocumentManage ! ) { $(.sm-31).text(data0.nHaccpDocumentManage); } if (data0.nSensorH2 ! null && data0.nSensorH2 ! ) { $(.sm-34).text(data0.nSensorH2); } if (data0.nSensorPCH2 ! null && data0.nSensorPCH2 ! ) { $(.sm-35).text(data0.nSensorPCH2); } // 주문관리 if (data0.nickOrdering ! null && data0.nickOrdering ! ) { $(#menu-10-button).text(data0.nickOrdering); } if (data0.nOrderingAdd ! null && data0.nOrderingAdd ! ) { $(.sm-32).text(data0.nOrderingAdd); } if (data0.nOrderingStatsSearch ! null && data0.nOrderingStatsSearch ! ) { $(.sm-33).text(data0.nOrderingStatsSearch); } // 출하관리 if (data0.nickOrderingEx ! null && data0.nickOrderingEx ! ) { $(#menu-11-button).text(data0.nickOrderingEx); } if (data0.nOrderingExAdd ! null && data0.nOrderingExAdd ! ) { $(.sm-38).text(data0.nOrderingExAdd); } if (data0.nOrderingExStatus ! null && data0.nOrderingExStatus ! ) { $(.sm-39).text(data0.nOrderingExStatus); } // 원가관리 if (data0.nickCost ! null && data0.nickCost ! ) { $(#menu-12-button).text(data0.nickCost); } if (data0.nCostByProduct ! null && data0.nCostByProduct ! ) { $(.sm-40).text(data0.nCostByProduct); } if (data0.nCostByExpert ! null && data0.nCostByExpert ! ) { $(.sm-41).text(data0.nCostByExpert); } // 의뢰서관리 if (data0.nickRequest ! null && data0.nickRequest ! ) { $(#menu-13-button).text(data0.nickRequest); } if (data0.nRequestAdd ! null && data0.nRequestAdd ! ) { $(.sm-42).text(data0.nRequestAdd); } if (data0.nRequestSearch ! null && data0.nRequestSearch ! ) { $(.sm-43).text(data0.nRequestSearch); } // 견적서관리 if (data0.nickEstimate ! null && data0.nickEstimate ! ) { $(#menu-14-button).text(data0.nickEstimate); } if (data0.nEstimateAdd ! null && data0.nEstimateAdd ! ) { $(.sm-44).text(data0.nEstimateAdd); } if (data0.nEstimateSearch ! null && data0.nEstimateSearch ! ) { $(.sm-45).text(data0.nEstimateSearch); } // 매입 매출 if (data0.nOrderPurchaseOrSales ! null && data0.nOrderPurchaseOrSales ! ) { $(#menu-17-button).text(data0.nOrderPurchaseOrSales); } if (data0.nOrderPurchase ! null && data0.nOrderPurchase ! ) { $(.sm-54).text(data0.nOrderPurchase); } if (data0.nOrderSales ! null && data0.nOrderSales ! ) { $(.sm-55).text(data0.nOrderSales); } if (data0.nickProject ! null && data0.nickProject ! ) { $(#menu-18-button).text(data0.nickProject); } if (data0.nProjectAdd ! null && data0.nProjectAdd ! ) { $(.sm-56).text(data0.nProjectAdd); } if (data0.nProjectManage ! null && data0.nProjectManage ! ) { $(.sm-57).text(data0.nProjectManage); } if (data0.nProjectLookup ! null && data0.nProjectLookup ! ) { $(.sm-58).text(data0.nProjectLookup); } if (data0.nLogManage ! null && data0.nLogManage ! ) { $(.sm-64).text(data0.nLogManage); } if (data0.nickFirmware ! null && data0.nickFirmware ! ) { $(#menu-19-button).text(data0.nickFirmware); } if (data0.nFirmwareAdd ! null && data0.nFirmwareAdd ! ) { $(.sm-59).text(data0.nFirmwareAdd); } if (data0.nFirmwareLookup ! null && data0.nFirmwareLookup ! ) { $(.sm-60).text(data0.nFirmwareLookup); } if (data0.nickCustomer ! null && data0.nickCustomer ! ) { $(#menu-20-button).text(data0.nickCustomer); } if (data0.nCustomerAdd ! null && data0.nCustomerAdd ! ) { $(.sm-62).text(data0.nCustomerAdd); } if (data0.nProceedingManage ! null && data0.nProceedingManage ! ) { $(.sm-63).text(data0.nProceedingManage); } if (data0.nickOrderingApp ! null && data0.nickOrderingApp ! ) { $(#menu-21-button).text(data0.nickOrderingApp); } if (data0.nAccountApproval ! null && data0.nAccountApproval ! ) { $(.sm-67).text(data0.nAccountApproval); } if (data0.nWhetherToExport ! null && data0.nWhetherToExport ! ) { $(.sm-68).text(data0.nWhetherToExport); } if (data0.nickDashboard ! null && data0.nickDashboard ! ) { $(#menu-23-button).text(data0.nickDashboard); } if (data0.nOrderStatsCompany ! null && data0.nOrderStatsCompany ! ) { $(.sm-70).text(data0.nOrderStatsCompany); } if (data0.nOrderStatsGoods ! null && data0.nOrderStatsGoods ! ) { $(.sm-71).text(data0.nOrderStatsGoods); } if (data0.nYearlyMonthlySale ! null && data0.nYearlyMonthlySale ! ) { $(.sm-72).text(data0.nYearlyMonthlySale); } if (data0.nShopOrderStatus ! null && data0.nShopOrderStatus ! ) { $(.sm-73).text(data0.nShopOrderStatus); } });/script> /div> /div> div idheader-menu-mobile classd-flex d-lg-none> div classw-100 h-100 position-fixed d-none stylebackground: rgba(0, 0, 0, 0.44); z-index: 6; idcollapsed-topmenu-shadow>/div>!-- 모바일 전용 메뉴 -->div idtopmenu_mb> div classmenu-box h-100> div classmd1 row h-100 align-items-center> div classcol-2 d-flex justify-content-start> button classbtn btn-dark p-0 mh-100 idsidebarToggle_open> h2 classdisplay-4>≡/h2> /button> /div> div classcol-8 d-flex justify-content-center align-items-center px-0> /div> div classcol-2 d-flex> /div> /div> /div> div idmenu-list_mb classcol-6 px-0 styledisplay: none;> div idlist-header classd-flex justify-content-between align-items-center p-3> h2 classmb-0 stylecolor: white;>MENU/h2> div> button classbtn btn-dark p-0 mh-100 idsidebarToggle_close> h1 classdisplay-4>×/h1> /button> /div> /div> a styledisplay: none; classmobile-sm-8 onclick url_click(/BOM/lookup/, sm-8);> div classcard-header bg-white idmenu-mobile-bom-lookup> div classrow no-gutters justify-content-between> div classcol-11 d-flex align-items-center px-0> h2 classsm-8 mb-0 font-weight-bold>BOM 조회/h2> /div> div classcol-1 px-0 d-flex justify-content-center> h2 classmb-0 font-weight-bold>➕/h2> /div> /div> /div> /a> a styledisplay: none; classmobile-sm-13 onclick url_click(/material/status/, sm-13);> div classcard-header bg-white idmenu-mobile-item> div classrow no-gutters justify-content-between> div classcol-11 d-flex align-items-center px-0> h2 classsm-13 mb-0 font-weight-bold>자재재고현황/h2> /div> div classcol-1 px-0 d-flex justify-content-center> h2 classmb-0 font-weight-bold>➕/h2> /div> /div> /div> /a> a styledisplay: none; classmobile-sm-21 onclick url_click(/rental/status/, sm-21);> div classcard-header bg-white idmenu-mobile-rental> div classrow no-gutters justify-content-between> div classcol-11 d-flex align-items-center px-0> h2 classsm-21 mb-0 font-weight-bold>대여현황 조회/h2> /div> div classcol-1 px-0 d-flex justify-content-center> h2 classmb-0 font-weight-bold>➕/h2> /div> /div> /div> /a> a styledisplay: none; classmobile-sm-18 onclick url_click(/process/progress_lookup/, sm-18);> div classcard-header bg-white idmenu-mobile-process> div classrow no-gutters justify-content-between> div classcol-11 d-flex align-items-center px-0> h2 classsm-18 mb-0 font-weight-bold idmobile-sm-18>공정진행현황 조회/h2> /div> div classcol-1 px-0 d-flex justify-content-center> h2 classmb-0 font-weight-bold>➕/h2> /div> /div> /div> /a> a styledisplay: none; classmobile-sm-23 onclick url_click(/monitoring/pc/, sm-23);> div classcard-header bg-white idmenu-mobile-monitoring> div classrow no-gutters justify-content-between> div classcol-11 d-flex align-items-center px-0> h2 classsm-23 mb-0 font-weight-bold>온습도 모니터링 조회/h2> /div> div classcol-1 px-0 d-flex justify-content-center> h2 classmb-0 font-weight-bold>➕/h2> /div> /div> /div> /a> /div>/div>script> $(document).ready(function () { let permissions get_userinfo().permissions; for (let i 0; i AUTH_CNT_MAX; i++) { let enabled (permissionsi) 1; if (enabled true) $(.mobile-sm- + i).css(display, block); } var width window.outerWidth; if ( width > 992 ) { $(#header-menu-mobile).hide(); } else { $(#header-menu-mobile).show(); } let titleText $(title).text(); console.log(titleText); switch (titleText) { case 자재현황 조회: $(#menu-mobile-item).addClass(active); $(#menu-mobile-item .col-1 h2).text(\u2796); break; case 대여현황 조회: $(#menu-mobile-rental).addClass(active); $(#menu-mobile-rental .col-1 h2).text(\u2796); break; case 공정진행현황 조회: $(#menu-mobile-process).addClass(active); $(#menu-mobile-process .col-1 h2).text(\u2796); break; case 원부자재창고 재고현황: $(#menu-mobile-warehouse-100-status).addClass(active); $(#menu-mobile-warehouse-100-status .col-1 h2).text(\u2796); break; case 완제품창고 재고현황: $(#menu-mobile-warehouse-500-status).addClass(active); $(#menu-mobile-warehouse-500-status .col-1 h2).text(\u2796); break; case 온습도 현황 조회: $(#menu-mobile-monitoring).addClass(active); $(#menu-mobile-monitoring .col-1 h2).text(\u2796); break; } }); $(window).resize(function () { var width window.outerWidth; if ( width > 768 ) { $(#header-menu-mobile).hide(); } else { $(#header-menu-mobile).show(); } }); $(#sidebarToggle_open).on(click, function () { $(#menu-list_mb).show(); $(#collapsed-topmenu-shadow) .removeClass(d-none) .on(click, function () { $(#sidebarToggle_close).trigger(click); }); }) $(#sidebarToggle_close).on(click, function () { $(#menu-list_mb).hide(); $(#collapsed-topmenu-shadow).addClass(d-none); });/script> /div> div idbody stylemargin-top:0px;height:1850px;> div classrow no-gutters> div idsub-menu classd-none d-lg-flex col-2> !-- 사이드바 토글 -->div classbg-white idsidebar_toggle styleright:20px; bottom:30px; position:fixed; z-index: 100> button classbtn btn-light idtoggle typebutton onclicktoggle_click();>-/button>/div>script> let toggle true; function toggle_click() { console.log(버튼을 누르셨습니다.); if (toggle true) { let msg tabID + , + fold; $(#mes_toggle).val(msg); $(#toggle).text(+); $(#sub_detail).hide(); toggle false; } else { let msg tabID + , + spread; $(#mes_toggle).val(msg); $(#toggle).text(-); $(#sub_detail).show(); toggle true; } }/script>div classaccordion h-100 w-100 idaccordionExample> div classcard h-100> div idsub_detail> div classcollapsed bg-white idheading-23> h2 classmbutton mb-0> button idheading-23-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-23 aria-expandedfalse aria-controlscollapse-23 > 대시보드 /button> /h2> /div> div idcollapse-23 classcollapse aria-labelledbyheading-23 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-70 sub-button col-12 text-left px-3 typebutton onclickurl_click(/dashboard/order_stats_company/, sm-70); > 업체별 주문통계 /button> button styledisplay: none classsm-71 sub-button col-12 text-left px-3 typebutton onclickurl_click(/dashboard/order_stats_goods/, sm-71); > 제품별 주문통계 /button> button styledisplay: none classsm-72 sub-button col-12 text-left px-3 typebutton onclickurl_click(/dashboard/yearly_monthly_sale/, sm-72); > 연/월별 판매량 /button> button styledisplay: none classsm-73 sub-button col-12 text-left px-3 typebutton onclickurl_click(/dashboard/shop_order_status/, sm-73); > Shop 주문조회 /button> /div> /div> !-- 의뢰서관리 --> div classcollapsed bg-white idheading-13> h2 classmbutton mb-0> button idheading-13-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-13 aria-expandedfalse aria-controlscollapse-13 > 의뢰서관리 /button> /h2> /div> div idcollapse-13 classcollapse aria-labelledbyheading-13 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-42 sub-button col-12 text-left px-3 typebutton onclickurl_click(/request/request_input/, sm-42); > 의뢰서작성 /button> button styledisplay: none classsm-43 sub-button col-12 text-left px-3 typebutton onclickurl_click(/request/request_status/, sm-43); > 의뢰서조회 /button> /div> /div> !-- 견적서관리 --> div classcollapsed bg-white idheading-14> h2 classmbutton mb-0> button idheading-14-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-14 aria-expandedfalse aria-controlscollapse-14 > 견적서관리 /button> /h2> /div> div idcollapse-14 classcollapse aria-labelledbyheading-14 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-44 sub-button col-12 text-left px-3 typebutton onclickurl_click(/estimate/estimate_input/, sm-44); > 견적서작성 /button> button styledisplay: none classsm-45 sub-button col-12 text-left px-3 typebutton onclickurl_click(/estimate/estimate_status/, sm-45); > 견적서조회 /button> /div> /div> !-- 주문관리 --> div classcollapsed bg-white idheading-10> h2 classmbutton mb-0> button idheading-10-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-10 aria-expandedfalse aria-controlscollapse-10 > 주문관리 /button> /h2> /div> div idcollapse-10 classcollapse aria-labelledbyheading-10 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-32 sub-button col-12 text-left px-3 typebutton onclickurl_click(/ordering/ordering_input/, sm-32); > 주문서등록 /button> button styledisplay: none classsm-33 sub-button col-12 text-left px-3 typebutton onclickurl_click(/ordering/ordering_status/, sm-33); > 주문현황조회 /button> /div> /div> div classcollapsed bg-white idheading-21> h2 classmbutton mb-0> button idheading-21-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-21 aria-expandedfalse aria-controlscollapse-21 > 주문관리APP /button> /h2> /div> div idcollapse-21 classcollapse aria-labelledbyheading-21 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-67 sub-button col-12 text-left px-3 typebutton onclickurl_click(/ordering_app/account_approval/, sm-67); > MES 신청조회 /button> button styledisplay: none classsm-68 sub-button col-12 text-left px-3 typebutton onclickurl_click(/ordering_app/whether_to_export/, sm-68); > MES 주문조회 /button> /div> /div> !-- TODO 발주관리 권한 변경 --> !-- 발주관리 --> div classcollapsed bg-white idheading-8> h2 classmbutton mb-0> button idheading-8-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-8 aria-expandedfalse aria-controlscollapse-8 > 발주관리 /button> /h2> /div> div idcollapse-8 classcollapse aria-labelledbyheading-8 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-28 sub-button col-12 text-left px-3 typebutton onclickurl_click(/order/manage/, sm-28); > 발주등록 /button> button styledisplay: none classsm-29 sub-button col-12 text-left px-3 typebutton onclickurl_click(/order/input/, sm-29); > 발주대비 입고등록 /button> button styledisplay: none classsm-30 sub-button col-12 text-left px-3 typebutton onclickurl_click(/order/status/, sm-30); > 발주대비 입고현황 /button> /div> /div> !-- 외주관리 --> div classcollapsed bg-white idheading-16> h2 classmbutton mb-0> button idheading-16-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-16 aria-expandedfalse aria-controlscollapse-16 > 외주관리 /button> /h2> /div> div idcollapse-16 classcollapse aria-labelledbyheading-16 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-51 sub-button col-12 text-left px-3 typebutton onclickurl_click(/outsourcing/manage/, sm-51); > 외주출고 /button> button styledisplay: none classsm-52 sub-button col-12 text-left px-3 typebutton onclickurl_click(/outsourcing/input/, sm-52); > 외주출고 입고등록 /button> button styledisplay: none classsm-53 sub-button col-12 text-left px-3 typebutton onclickurl_click(/outsourcing/status/, sm-53); > 외주제품 수불부 /button> /div> /div> !-- BOM 관리 --> div classcollapsed bg-white idheading-2> h2 classmbutton mb-0> button idheading-2-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-2 aria-expandedfalse aria-controlscollapse-2 > BOM 관리 /button> /h2> /div> div idcollapse-2 classcollapse aria-labelledbyheading-2 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-6 sub-button col-12 text-left px-3 typebutton onclickurl_click(/basic_information/BOM/, sm-6); > BOM 형식 생성 !-- *핵심기술>--> /button> button styledisplay: none classsm-7 sub-button col-12 text-left px-3 typebutton onclickurl_click(/BOM/manage/, sm-7); > BOM 관리 /button> button styledisplay: none classsm-8 sub-button col-12 text-left px-3 typebutton onclickurl_click(/BOM/lookup/, sm-8); > BOM 조회 /button> button styledisplay: none classsm-9 sub-button col-12 text-left px-3 typebutton onclickurl_click(/BOM/inventory_status/, sm-9); > 생산계획 대비 재고현황 조회 /button> /div> /div> !-- 재고관리 --> div classcollapsed bg-white idheading-3> h2 classmbutton mb-0> button idheading-3-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-3 aria-expandedfalse aria-controlscollapse-3 > 재고관리 /button> /h2> /div> div idcollapse-3 classcollapse aria-labelledbyheading-3 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-10 sub-button col-12 text-left px-3 typebutton onclickurl_click(/material/input/, sm-10); > 재고입고 /button> button styledisplay: none classsm-11 sub-button col-12 text-left px-3 typebutton onclickurl_click(/material/output/, sm-11); > 재고출고 /button> button styledisplay: none classsm-12 sub-button col-12 text-left px-3 typebutton onclickurl_click(/material/import/, sm-12); > 재고반입 /button> button styledisplay: none classsm-13 sub-button col-12 text-left px-3 typebutton onclickurl_click(/material/status/, sm-13); > 재고현황 /button> button styledisplay: none classsm-14 sub-button col-12 text-left px-3 typebutton onclickurl_click(/material/adjust/, sm-14); > 재고조정 /button> /div> /div> !-- 공정관리 --> div classcollapsed bg-white idheading-4> h2 classmbutton mb-0> button idheading-4-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-4 aria-expandedfalse aria-controlscollapse-4 > 생산관리 /button> /h2> /div> div idcollapse-4 classcollapse aria-labelledbyheading-4 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-15 sub-button col-12 text-left px-3 typebutton onclickurl_click(/process/manage/, sm-15); > 공정명등록관리 /button> button styledisplay: none classsm-16 sub-button col-12 text-left px-3 typebutton onclickurl_click(/process/detail/, sm-16); > 생산일정등록 /button> button styledisplay: none classsm-17 sub-button col-12 text-left px-3 typebutton onclickurl_click(/process/progress_manage/, sm-17); > 공정진행현황등록 /button> button styledisplay: none classsm-18 sub-button col-12 text-left px-3 typebutton onclickurl_click(/process/progress_lookup/, sm-18); > 공정진행현황조회 /button> /div> /div> div classcollapsed bg-white idheading-15> h2 classmbutton mb-0> button idheading-15-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-15 aria-expandedfalse aria-controlscollapse-15 > 불량관리 /button> /h2> /div> div idcollapse-15 classcollapse aria-labelledbyheading-15 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-48 sub-button col-12 text-left px-3 typebutton onclickurl_click(/process/fault_manage, sm-48); > 불량사유 등록 /button> button styledisplay: none classsm-49 sub-button col-12 text-left px-3 typebutton onclickurl_click(/process/fault_lookup, sm-49); > 불량사유 조회 /button> button styledisplay: none classsm-50 sub-button col-12 text-left px-3 typebutton onclickurl_click(/process/fault_graph, sm-50); > 불량률그래프 조회 /button> /div> /div> !-- 출하관리 --> div classcollapsed bg-white idheading-11> h2 classmbutton mb-0> button idheading-11-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-11 aria-expandedfalse aria-controlscollapse-11 > 출하관리 /button> /h2> /div> div idcollapse-11 classcollapse aria-labelledbyheading-11 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-38 sub-button col-12 text-left px-3 typebutton onclickurl_click(/ordering_ex/ordering_export_input/, sm-38); > 출하등록 /button> button styledisplay: none classsm-39 sub-button col-12 text-left px-3 typebutton onclickurl_click(/ordering_ex/ordering_export_status/, sm-39); > 출하내역조회 /button> /div> /div> div classcollapsed bg-white idheading-22> h2 classmbutton mb-0> button idheading-22-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-22 aria-expandedfalse aria-controlscollapse-22 > 설비관리 /button> /h2> /div> div idcollapse-22 classcollapse aria-labelledbyheading-22 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-65 sub-button col-12 text-left px-3 typebutton onclickurl_click(/facilities/equipment_interlocking/, sm-65); > 장비연동 /button> button styledisplay: none classsm-66 sub-button col-12 text-left px-3 typebutton onclickurl_click(facilities/equipment_interlocking_status/, sm-66); > 장비연동 조회 /button> button styledisplay: none classsm-74 sub-button col-12 text-left px-3 typebutton onclickurl_click(facilities/fac_output_monitoring/, sm-74); > 업체별 설비 모니터링-생산량 /button> button styledisplay: none classsm-75 sub-button col-12 text-left px-3 typebutton onclickurl_click(facilities/fac_rate_monitoring_i/, sm-75); > 업체별 설비 모니터링(운영기관)-가동률 /button> button styledisplay: none classsm-76 sub-button col-12 text-left px-3 typebutton onclickurl_click(facilities/fac_rate_monitoring_mb/, sm-76); > 업체별 설비 모니터링(도입기업)-가동률 /button> /div> /div> !-- 원가관리 --> div classcollapsed bg-white idheading-12> h2 classmbutton mb-0> button idheading-12-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-12 aria-expandedfalse aria-controlscollapse-12 > 원가관리 /button> /h2> /div> div idcollapse-12 classcollapse aria-labelledbyheading-12 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-40 sub-button col-12 text-left px-3 typebutton onclickurl_click(/cost/cost_by_product/, sm-40); > 제품별원가 /button> button styledisplay: none classsm-41 sub-button col-12 text-left px-3 typebutton onclickurl_click(/cost/cost_by_export/, sm-41); > 주문대비원가 /button> /div> /div> !-- 매입매출 --> div classcollapsed bg-white idheading-17> h2 classmbutton mb-0> button idheading-17-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-17 aria-expandedfalse aria-controlscollapse-17 > 정산관리 /button> /h2> /div> div idcollapse-17 classcollapse aria-labelledbyheading-17 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-54 sub-button col-12 text-left px-3 typebutton onclickurl_click(/order/purchase/, sm-54); > 매입 관리 /button> button styledisplay: none classsm-55 sub-button col-12 text-left px-3 typebutton onclickurl_click(/order/sales/, sm-55); > 매출 관리 /button> /div> /div> !-- 온습도 모니터링 --> div classcollapsed bg-white idheading-6> h2 classmbutton mb-0> button idheading-6-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-6 aria-expandedfalse aria-controlscollapse-6 > 온습도 모니터링 /button> /h2> /div> div idcollapse-6 classcollapse aria-labelledbyheading-6 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-22 sub-button col-12 text-left px-3 typebutton onclickurl_click(/monitoring/manage/, sm-22); > 온습도 모니터링 장비관리 /button> button styledisplay: none classsm-23 sub-button col-12 text-left px-3 typebutton onclickurl_click(/monitoring/pc/, sm-23); > 온습도 현황 조회(PC) /button> button styledisplay: none classsm-24 sub-button col-12 text-left px-3 typebutton onclicklocation.href/monitoring/tv/; > 온습도 현황 조회(TV) /button> button styledisplay: none classsm-36 sub-button col-12 text-left px-3 typebutton onclicklocation.href/monitoring/tv_h2/; > 온습도 현황 조회(TV) H2 /button> button styledisplay: none classsm-47 sub-button col-12 text-left px-3 typebutton onclicklocation.href/monitoring/led_h2/; > 온습도 현황 조회 전광판 H2 /button> button styledisplay: none classsm-61 sub-button col-12 text-left px-3 typebutton onclickurl_click(/monitoring/history_h2/, sm-61); > 온습도 이력관리 H2 /button> /div> /div> !-- TODO 온도전압관리 권한 변경 --> !-- 온도전압 관리 --> div classcollapsed bg-white idheading-7> h2 classmbutton mb-0> button idheading-7-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-7 aria-expandedfalse aria-controlscollapse-7 > 온도전압 관리 /button> /h2> /div> div idcollapse-7 classcollapse aria-labelledbyheading-7 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-25 sub-button col-12 text-left px-3 typebutton onclickurl_click(/temp_volt_monitoring/manage/, sm-25); > 온도전압 장비관리 /button> button styledisplay: none classsm-26 sub-button col-12 text-left px-3 typebutton onclickurl_click(/temp_volt_monitoring/status/, sm-26); > 온도전압 현황조회(모바일 지원) /button> button styledisplay: none classsm-27 sub-button col-12 text-left px-3 typebutton onclickurl_click(/temp_volt_monitoring/lookup/, sm-27); > 온도전압 이력조회 /button> /div> /div> !-- 프로젝트 관리 --> div classcollapsed bg-white idheading-18> h2 classmbutton mb-0> button idheading-18-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-18 aria-expandedfalse aria-controlscollapse-18 > 프로젝트관리 /button> /h2> /div> div idcollapse-18 classcollapse aria-labelledbyheading-18 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-56 sub-button col-12 text-left px-3 typebutton onclickurl_click(/project/add, sm-56); > 프로젝트등록 /button> button styledisplay: none classsm-57 sub-button col-12 text-left px-3 typebutton onclickurl_click(/project/manage, sm-57); > 프로젝트관리 /button> button styledisplay: none classsm-58 sub-button col-12 text-left px-3 typebutton onclickurl_click(/project/lookup, sm-58); > 프로젝트조회 /button> button styledisplay: none classsm-64 sub-button col-12 text-left px-3 typebutton onclickurl_click(/log/manage, sm-64); > 로그관리 /button> /div> /div> !-- 펌웨어 관리 --> div classcollapsed bg-white idheading-19> h2 classmbutton mb-0> button idheading-19-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-19 aria-expandedfalse aria-controlscollapse-19 > 펌웨어관리 /button> /h2> /div> div idcollapse-19 classcollapse aria-labelledbyheading-19 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-59 sub-button col-12 text-left px-3 typebutton onclickurl_click(/firmware/add, sm-59); > 펌웨어등록 /button> button styledisplay: none classsm-60 sub-button col-12 text-left px-3 typebutton onclickurl_click(/firmware/lookup, sm-60); > 펌웨어조회 /button> /div> /div> !-- 대여관리 --> div classcollapsed bg-white idheading-5> h2 classmbutton mb-0> button idheading-5-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-5 aria-expandedfalse aria-controlscollapse-5 > 대여관리 /button> /h2> /div> div idcollapse-5 classcollapse aria-labelledbyheading-5 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-19 sub-button col-12 text-left px-3 typebutton onclickurl_click(/rental/item/, sm-19); > 대여품목 관리 /button> button styledisplay: none classsm-20 sub-button col-12 text-left px-3 typebutton onclickurl_click(/rental/manage/, sm-20); > 대여 등록/회수 관리 /button> button styledisplay: none classsm-21 sub-button col-12 text-left px-3 typebutton onclickurl_click(/rental/status/, sm-21); > 대여현황 조회 /button> /div> /div> !-- TODO HACPP 관리 권한 변경 --> !-- HACCP 관리 --> div classcollapsed bg-white idheading-9> h2 classmbutton mb-0> button idheading-9-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-9 aria-expandedfalse aria-controlscollapse-9 > HACCP 관리 /button> /h2> /div> div idcollapse-9 classcollapse aria-labelledbyheading-9 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-31 sub-button col-12 text-left px-3 typebutton onclickurl_click(/haccp/document_manage, sm-31); > 문서관리 /button> button styledisplay: none classsm-34 sub-button col-12 text-left px-3 typebutton onclickurl_click(/monitoring/manage_h2/, sm-34); > 온습도 모니터링 장비관리 H2 /button> button styledisplay: none classsm-35 sub-button col-12 text-left px-3 typebutton onclickurl_click(/monitoring/pc_h2/, sm-35); > 온습도 현황 조회(PC) H2 /button> /div> /div> !-- 고객관리 --> div classcollapsed bg-white idheading-20> h2 classmbutton mb-0> button idheading-20-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-20 aria-expandedfalse aria-controlscollapse-20 > 고객관리 /button> /h2> /div> div idcollapse-20 classcollapse aria-labelledbyheading-20 data-parent#accordionExample > div classcard-body> button styledisplay: none classsm-62 sub-button col-12 text-left px-3 typebutton onclickurl_click(/customer/add/, sm-62); > 고객등록 /button> button styledisplay: none classsm-63 sub-button col-12 text-left px-3 typebutton onclickurl_click(/customer/proceeding_manage/, sm-63); > 진행관리 /button> /div> /div> !-- 기준정보 --> div classcollapsed bg-white idheading-1> h2 classmbutton mb-0> button idheading-1-button classmain-button col-6 typebutton data-togglecollapse data-target#collapse-1 aria-expandedfalse aria-controlscollapse-1 > 기준정보 /button> /h2> /div> div idcollapse-1 classcollapse aria-labelledbyheading-1 data-parent#accordionExample > div classcard-body row no-gutters> button styledisplay: none classsm-1 sub-button col-12 text-left px-3 typebutton onclickurl_click(/basic_information/customer/, sm-1); > 거래처 기준정보관리 /button> button styledisplay: none classsm-en sub-button col-12 text-left px-3 typebutton onclickurl_click(/basic_information/user/, 사용자 기준정보관리); > 사용자 기준정보관리 /button> button styledisplay: none classsm-3 sub-button col-12 text-left px-3 typebutton onclickurl_click(/basic_information/equipment/, sm-3); > 설비 기준정보관리 /button> button styledisplay: none classsm-4 sub-button col-12 text-left px-3 typebutton onclickurl_click(/basic_information/item/, sm-4); > 품목 기준정보관리 /button> button styledisplay: none classsm-69 sub-button col-12 text-left px-3 typebutton onclickurl_click(/basic_information/goods/, sm-69); > 상품 기준정보관리 /button> button styledisplay: none classsm-en sub-button col-12 text-left px-3 typebutton onclickurl_click(/basic_information/auth/user/, 사용자 권한관리); > 사용자 권한관리 !-- *핵심기술>--> /button> button styledisplay: none classsm-su sub-button col-12 text-left px-3 typebutton onclickurl_click(/basic_information/auth/customer/, 업체별 권한관리); > 업체별 권한관리 !-- *핵심기술>--> /button> button styledisplay: none classsm-su sub-button col-12 text-left px-3 typebutton onclickurl_click(/basic_information/enterprise/, 신규 업체 등록); > 신규 업체 등록 /button> button styledisplay: none classsm-37 sub-button col-12 text-left px-3 typebutton onclickurl_click(/basic_information/order/company/, sm-37); > 납품기업 /button> button styledisplay: none classsm-46 sub-button col-12 text-left px-3 typebutton onclickurl_click(/basic_information/myinfo/, sm-46); > 내 정보 관리 /button> button styledisplay: none; background: #e6eff8 classsm-0 sub-button col-12 text-left px-3 w-100 typebutton onclickurl_click(/basic_information/codemaster/, sm-0); > 코드 마스터 /button> /div> /div> div classm-2>/div> /div> /div>/div>script> $(document).ready(function () { // 업체별 NickName 변경 > hjlim : 추후 header-menu에 class로 묶어서 사용하면 더 좋을 듯 api_gp(/basic_information/enterprises_read/?name + get_userinfo().enterprise_name, GET, {}, (done) > { let data done.results; if (data0.nickBase ! null && data0.nickBase ! ) { $(#heading-1-button).text(data0.nickBase); } if (data0.nickBom ! null && data0.nickBom ! ) { $(#heading-2-button).text(data0.nickBom); } if (data0.nickMaterial ! null && data0.nickMaterial ! ) { $(#heading-3-button).text(data0.nickMaterial); } if (data0.nickProcess ! null && data0.nickProcess ! ) { $(#heading-4-button).text(data0.nickProcess); } if (data0.nickRental ! null && data0.nickRental ! ) { $(#heading-5-button).text(data0.nickRental); } if (data0.nickSensor ! null && data0.nickSensor ! ) { $(#heading-6-button).text(data0.nickSensor); } if (data0.nickTempVolt ! null && data0.nickTempVolt ! ) { $(#heading-7-button).text(data0.nickTempVolt); } if (data0.nickOrder ! null && data0.nickOrder ! ) { $(#heading-8-button).text(data0.nickOrder); } if (data0.nickHaccp ! null && data0.nickHaccp ! ) { $(#heading-9-button).text(data0.nickHaccp); } if (data0.nickOrdering ! null && data0.nickOrdering ! ) { $(#heading-10-button).text(data0.nickOrdering); } if (data0.nickOrderingEx ! null && data0.nickOrderingEx ! ) { $(#heading-11-button).text(data0.nickOrderingEx); } if (data0.nickCost ! null && data0.nickCost ! ) { $(#heading-12-button).text(data0.nickCost); } if (data0.nickRequest ! null && data0.nickRequest ! ) { $(#heading-13-button).text(data0.nickRequest); } if (data0.nickEstimate ! null && data0.nickEstimate ! ) { $(#heading-14-button).text(data0.nickEstimate); } if (data0.nickFaulty ! null && data0.nickFaulty ! ) { $(#heading-15-button).text(data0.nickFaulty); } if (data0.nickOutsourcing ! null && data0.nickOutsourcing ! ) { $(#heading-16-button).text(data0.nickOutsourcing); } if (data0.nOrderPurchaseOrSales ! null && data0.nOrderPurchaseOrSales ! ) { $(#heading-17-button).text(data0.nOrderPurchaseOrSales); } if (data0.nickProject ! null && data0.nickProject ! ) { $(#heading-18-button).text(data0.nickProject); } if (data0.nickFirmware ! null && data0.nickFirmware ! ) { $(#heading-19-button).text(data0.nickFirmware); } if (data0.nickCustomer ! null && data0.nickCustomer ! ) { $(#heading-20-button).text(data0.nickCustomer); } if (data0.nickOrderingApp ! null && data0.nickOrderingApp ! ) { $(#heading-21-button).text(data0.nickOrderingApp); } if (data0.nickFacilities ! null && data0.nickFacilities ! ) { $(#heading-22-button).text(data0.nickFacilities); } if (data0.nickDashboard ! null && data0.nickDashboard ! ) { $(#heading-23-button).text(data0.nickDashboard); } }); let permissions get_userinfo().permissions; for (let i 0; i AUTH_CNT_MAX; i++) { let enabled (permissionsi) 1; if (enabled true) $(.sm- + i).css(display, block); } if (get_userinfo().is_superuser true) { $(.sm-su).css(display, block); $(.sm-en).css(display, block); } if (get_userinfo().is_master true) { $(.sm-en).css(display, block); } // 상위 버튼 클릭시, 권한이 있을 경우, 하단 버튼 열어주기 for (let i 1; i TAB_CNT_MAX; i++) { let checkDisplay 1; let check_this #collapse- + i; $(check_this) .find(button) .each(function () { if (!($(this).css(display) none)) { checkDisplay 0; } }); if (checkDisplay) { let heading #heading- + i; $(#heading- + i).css(display, none); } } var lastClicked null; $(.main-button).click(function () { var firstsubbtn $(this).parent().parent().next(.collapse); var plusminusbox $(this).parent(); var siblingbox $(this) .parent() .parent() .siblings(.collapsed) .find(.mbutton); if ($(firstsubbtn).hasClass(show) ! true) { $(plusminusbox).addClass(active); $(siblingbox).removeClass(active); } else { $(plusminusbox).removeClass(active); } }); // sub button들(단순 클릭). $(.sub-button).on(contextmenu, function (ev) { ev.preventDefault(); var button_url this.getAttribute(onclick).split()1; window.open(button_url); }); // sub button들 중 열리는 것 $(.sub-main-button).click(function () { var firstsubbtn $(this).next(.collapse); // if ($(firstsubbtn).hasClass(show) ! true) { $(firstsubbtn).addClass(active); // } else { $(plusminusbox).removeClass(active); } }); });/script> /div> div idcontent classcol-lg-10 col-md-12 styleheight:900px;> div classrow no-gutters m-2>/div> div classrow no-gutters h-100> !-- tab header --> ul classnav nav-tabs col-11 idtab_header-list roletablist >/ul> button typebutton classbtn btn-outline-secondary col-1 rounded-0 onclicktab_delete_all(); > tab 전체삭제 /button> !-- tab contents --> div classtab-content col-12 w-100 idtab_content-list styleheight:1800px;> canvas classw-75 width700 height425 idcanvas>/canvas> /div> /div> /div> /div> /div>/div> div classd-none> img iddesign src/static/img/%EB%94%94%EC%9E%90%EC%9D%B8_1.png /> img idtest src/static/img/%EA%B2%80%EC%88%98_1.png /> img idlogo src/static/img/%EB%A1%9C%EA%B3%A0.png /> img iddelivery src/static/img/%EB%B0%B0%EC%86%A1_1.png /> img idedit src/static/img/%EC%88%98%EC%A0%95_1.png /> img idproduce src/static/img/%EC%A0%9C%EC%9E%91_1.png /> img idorder src/static/img/%EC%A3%BC%EB%AC%B8_1.png /> /div>script> // // // // // // // // // // // /script>/body> script> function drawCanvas(){ var c document.getElementById(canvas); var ctx c.getContext(2d) c.onmousemove function(event){ let clientX event.offsetX * 700/ c.offsetWidth let clientY event.offsetY * 425 / c.offsetHeight c.style.cursor default if(75clientY &&clientY175){ if(25clientX && clientX 125){ c.style.cursor pointer } if(200clientX && clientX 300){ c.style.cursor pointer } if(390clientX && clientX 490){ c.style.cursor pointer } if(580clientX && clientX 690){ c.style.cursor pointer } } if(275clientY &&clientY375) { if (200 clientX && clientX 300) { c.style.cursor pointer } if (390 clientX && clientX 490) { c.style.cursor pointer } } } c.onclick function(event){ let clientX event.offsetX * 700/ c.offsetWidth let clientY event.offsetY * 425 / c.offsetHeight if(75clientY &&clientY175){ if(25clientX && clientX 125){ url_click(/ordering/ordering_status/, sm-33); } if(200clientX && clientX 300){ url_click(/firmware/lookup, sm-63); } if(390clientX && clientX 490){ url_click(/process/progress_manage/, sm-17); } if(580clientX && clientX 690){ url_click(/material/output/, sm-11); } } if(275clientY &&clientY375) { if (200 clientX && clientX 300) { url_click(/firmware/lookup, sm-63); } if (390 clientX && clientX 490) { url_click(/process/progress_manage/, sm-17); } } } let design document.getElementById(design); let test document.getElementById(test); let logo document.getElementById(logo); let delivery document.getElementById(delivery); let edit document.getElementById(edit); let produce document.getElementById(produce); let order document.getElementById(order); ctx.drawImage(logo, 25,0, 200 ,60) ctx.font 25px san-serif ctx.fillText(진행 현황 관리,225,45) ctx.drawImage(order, 25,75, 100,100) ctx.font 25px san-serif ctx.fillText(주문,52.5,190) drawArrow(ctx,130,125,195,125,3,black) ctx.drawImage(design, 200,75,100,100) ctx.font 25px san-serif ctx.fillText(디자인,212.5,190) drawArrow(ctx,305,125,385,125,3,black) ctx.drawImage(produce, 390 ,75,100,100) ctx.font 25px san-serif ctx.fillText(생산,417.5,190) drawArrow(ctx,495,125,575,125,3,black) ctx.drawImage(delivery, 580,75,100,100) ctx.font 25px san-serif ctx.fillText(배송,605,190) ctx.drawImage(edit,200,275,100,100) ctx.font 25px san-serif ctx.fillText(수정,212.5,400) drawArrow(ctx,250,275,250,205,3,black) drawArrow(ctx,250,205,250,275,3,black) // left ctx.beginPath() ctx.moveTo(160,335) ctx.lineTo(200,335) ctx.lineWidth 3 ctx.stroke() drawArrow(ctx,160,335,160,125,3,black) // right ctx.beginPath() ctx.moveTo(300,335) ctx.lineTo(340,335) ctx.lineWidth 3 ctx.stroke() drawArrow(ctx,340,335,340,125,3,black) ctx.drawImage(test,390,275,100,100) ctx.font 25px san-serif ctx.fillText(검수,417.5,400) drawArrow(ctx,440,275,440,205,3,black) drawArrow(ctx,440,205,440,275,3,black) // right ctx.beginPath() ctx.moveTo(490,335) ctx.lineTo(530,335) ctx.lineWidth 3 ctx.stroke() drawArrow(ctx,530,335,530,125,3,black) function drawArrow(ctx, fromx, fromy, tox, toy, arrowWidth, color){ //variables to be used when creating the arrow var headlen 10; var angle Math.atan2(toy-fromy,tox-fromx); ctx.save(); ctx.strokeStyle color; //starting path of the arrow from the start square to the end square //and drawing the stroke ctx.beginPath(); ctx.moveTo(fromx, fromy); ctx.lineTo(tox, toy); ctx.lineWidth arrowWidth; ctx.stroke(); //starting a new path from the head of the arrow to one of the sides of //the point ctx.beginPath(); ctx.moveTo(tox, toy); ctx.lineTo(tox-headlen*Math.cos(angle-Math.PI/7), toy-headlen*Math.sin(angle-Math.PI/7)); //path from the side point of the arrow, to the other side point ctx.lineTo(tox-headlen*Math.cos(angle+Math.PI/7), toy-headlen*Math.sin(angle+Math.PI/7)); //path from the side point back to the tip of the arrow, and then //again to the opposite side point ctx.lineTo(tox, toy); ctx.lineTo(tox-headlen*Math.cos(angle-Math.PI/7), toy-headlen*Math.sin(angle-Math.PI/7)); //draws the paths created above ctx.stroke(); ctx.restore(); } } /script>script> // hjlim : Session, Changed Event, Broadcast 가 제대로 동작 안하는 문제가 있어서 Interval 사용 var oldValue $(#mes_toggle).val(); setInterval(function () { var currentValue $(#mes_toggle).val(); if (currentValue ! oldValue) { let msg currentValue.split(,); console.log(msg_cmd : , msg1); if (msg1 fold) { $(#sub-menu).removeClass(col-2); $(#content).removeClass(col-lg-10); } else if (msg1 spread) { $(#sub-menu).addClass(col-2); $(#content).addClass(col-lg-10); } oldValue currentValue; console.log(changed); } }, 100); // 0.1초 const TAB_CNT_MAX 23; // hjlim new-module : 수정 시 전체 검색, 상단이나 사이드의 메뉴 상단 버튼 최대 갯수 const AUTH_CNT_MAX 76 + 1; // idx 마지막 수 + 1 을 해줘야 함 if (get_token() ) { window.location.href /accounts/login/; } // table click highlight $(.content-table tbody tr).on(click, function () { $(this).parent().find(tr).removeClass(clicked); $(this).addClass(clicked); }); // let dom_store {}; function url_click(url, _title) { let target null; let tabs $(#tab_header-list .nav-item .nav-link); for (let i 0; i tabs.length; i++) { // to get already-loaded one. if (_title.substring(0, 2) sm) { let tab_title_num tabsi.id.replace(tab_header-, ); let _title_num _title.replace(sm-, ); if (tab_title_num _title_num) { target tabsi; break; } } else { let tab_title tabsi.text.replace(×, ).trim(); if (tab_title _title) { target tabsi; break; } } } if (target null) { // else tab_add() with new content detach_all(); //$(tab_add(url ,title)).load(url); $(tab_add(url, _title)).append( // div idspinner styleposition:relative;top:30%;left:45%;>+ // img src../../../static/img/spinner.gif />+ // /div> + iframe src + url + classw-100 h-100 styleborder:none; >/iframe> ); // $(#tab_content- + title2num(title)).bind(attach, function () { }); } else { // if title 검사 > 있으면 그쪽으로 focus $(# + target.id).click(); } } // function spinner(){ // console.log(iframe loaded); // setTimeout(() > { // $(#spinner).remove(); // }, 3000); // } function detach_all() { let tabs $(#tab_header-list .nav-item .nav-link); for (let i 0; i tabs.length; i++) { let tab_title tabsi.text.replace(×, ).trim(); let idx title2num(tab_title); let dom $(#container- + idx); dom.css(display, none); // if (dom.length > 0) dom_storeidx dom.detach(); } } function load_detached(url, title) { detach_all(); let idx title2num(title); $(#container- + idx).css(display, block); // $(#tab_content- + idx).append(dom_storeidx); // delete dom_storeidx; // call reload function of attached content. no way... let target $(#tab_content- + idx + iframe); if (target.length 1) { target0.contentWindow.location.reload(true); $(#canvas).addClass(d-none) } } !-- 넘버링 규칙 : Tab 생성시 사용됨. 권한 쪽과 동일하도록 사용하는게 좋을 듯, 지금은 매칭 안되어있음--> function title2num(title) { let num; switch (title) { case sm-0: // 코드 마스터 num 0; break; case sm-1: // 거래처 기준정보관리 num 1; break; case 사용자 기준정보관리: // 사용자 기준정보관리 num 2; break; case sm-3: // 설비 기준정보관리 num 3; break; case sm-4: // 품목 기준정보관리 num 4; break; case sm-69: // 상품 기준정보관리 num 69; break; case 사용자 권한관리: // 사용자 권한관리 num 5; break; case 업체별 권한관리: num 101; // 100번 대는 현재 sm- 형식으로 안되어있는 것들 break; case sm-37: // 납품기업 num 37; break; case sm-46: // 내 정보 관리 num 46; break; case sm-6: // BOM 형식 생성 num 6; break; case sm-7: // BOM 관리 num 7; break; case sm-8: // BOM 조회 num 8; break; case sm-9: // 생산계획 대비 재고현황 조회 num 9; break; case sm-10: // 자재입고 num 10; break; case sm-11: // 자재출고 num 11; break; case sm-12: // 자재반입 num 12; break; case sm-13: // 자재현황 조회 num 13; break; case sm-14: // 자재재고실사 조정 num 14; break; case sm-15: // 공정명 등록 관리 num 15; break; case sm-16: // 세부공정관리 num 16; break; case sm-17: // 공정진행현황 등록 num 17; break; case sm-18: // 공정진행현황 조회(PC) num 18; break; case sm-65: // 장비연동 num 65; break; case sm-66: // 장비연동 현황 num 66; break; case sm-74: // 업체별 설비 모니터링 - 생산량 num 74; break; case sm-75: // 업체별 설비 모니터링(운영기관) - 가동률 num 75; break; case sm-76: // 업체별 설비 모니터링(도입기업) - 가동률 num 76; break; case sm-48: // 불량사유 등록 num 48; break; case sm-49: // 불량사유 조회 num 49; break; case sm-50: // 불량그래프 조회(TV) num 50; break; case sm-19: // 대여품목 관리 num 19; break; case sm-20: // 대여 등록/회수 관리 num 20; break; case sm-21: // 대여현황 조회 num 21; break; case sm-22: // 온습도 모니터링 장비관리 num 22; break; case sm-23: // 온습도 현황 조회(PC) num 23; break; case sm-24: // 온습도 현황 조회(TV) num 24; break; case sm-36: // 온습도 현황 조회(TV) H2 num 36; break; case sm-47: // 온습도_현황_조회_전광판_H2 num 47; break; case sm-61: // 온습도_이력관리_H2 num 61; break; !-- hjlim new-module --> case sm-32: // 주문서등록 num 32; break; case sm-33: // 주문현황조회 num 33; break; case sm-25: // 온도전압 장비관리 num 25; break; case sm-26: // 온도전압 현황조회 num 26; break; case sm-27: // 온도전압 이력조회 num 27; break; case sm-28: // 발주등록 num 28; break; case sm-29: // 발주대비 입고등록 num 29; break; case sm-30: // 발주대비 입고현황 num 30; break; case sm-51: // 외주출고 num 51; break; case sm-52: // 외주출고 입고등록 num 52; break; case sm-53: // 외주제품 수불부 num 53; break; case sm-31: // 문서관리 num 31; break; case sm-34: // 온습도 모니터링 장비관리 H2 num 34; break; case sm-35: // 온습도 현황 조회(PC) H2 num 35; break; case sm-54: // 매입관리 num 54; break; case sm-55: // 매출관리 num 55; break; case sm-38: // 출하등록 num 38; break; case sm-39: // 출하내역조회 num 39; break; case sm-40: // 제품별원가 num 40; break; case sm-41: // 주문대비원가 num 41; break; case sm-42: // 의뢰서작성 num 42; break; case sm-43: // 의뢰서조회 num 43; break; case sm-44: // 견적서작성 num 44; break; case sm-45: // 견적서조회 num 45; break; case sm-56: // 프로젝트등록 num 56; break; case sm-57: // 프로젝트관리 num 57 break; case sm-58: // 프로젝트조회 num 58 break; case sm-64: // 로그관리 num 64 break; case sm-59: // 펌웨어등록 num 59 break; case sm-60: // 펌웨어조회 num 60 break; case sm-62: // 고객등록 num 62 break; case sm-63: // 진행관리 num 63 break; case sm-67: // MES 신청조회 num 67 break; case sm-68: // MES 주문조회 num 68 break; case sm-70: // 업체별 주문통계 num 70 break; case sm-71: // 제품별 주문통계 num 71 break; case sm-72: // 연/월별 판매량 num 72 break; case sm-73: // Shop 주문조회 num 73 break; // shalom case sm-901: // shalom - 라벨프린트 관리 num 901; break; case sm-902: // shalom - 라벨프린트 제품 관리 num 902; break; case sm-903: // shalom - 라벨프린트 납품처 관리 num 903; break; default: num 999; break; } return num; } function tab_add(url, title) { let tab_now_add title2num(title); let title_name ; if (title.substring(0, 2) sm) { title_name $(. + title + :first).text(); } else { title_name title; } let tab_header li classnav-item idtab_ + tab_now_add + >\n + a classnav-link idtab_header- + tab_now_add + data-toggletab href#tab_content- + tab_now_add + \n + roletab aria-controlstab_ + tab_now_add + aria-selectedfalse + onclick\load_detached( + url + , + title + );\> + title_name + span classtab_closer> ×/span>\n + /a>\n + /li>; let tab_content div classtab-pane fade w-100 h-100 idtab_content- + tab_now_add + roletabpanel aria-labelledbytab_content- + tab_now_add + >\n + div idcontainer- + tab_now_add + classw-100 h-100>/div> + /div>; $(#tab_header-list).append(tab_header); $(#tab_content-list).append(tab_content); $(#canvas).addClass(d-none) $(#tab_header- + tab_now_add + span.tab_closer).click(() > { tab_delete(tab_now_add); }); $(#tab_header- + tab_now_add).click(); return #container- + tab_now_add; } function tab_delete(tab_num) { $(#tab_ + tab_num).remove(#tab_header-list .nav-item); $(#tab_content- + tab_num).remove(#tab_content-list .tab-pane); $(#canvas).removeClass(d-none); delete dom_storetab_num; } function tab_delete_all() { let canvas $(#canvas) $(#tab_header-list).empty(); $(#tab_content-list).empty(); $(#tab_content-list).html(canvas) $(#canvas).removeClass(d-none); dom_store {}; console.log(All tabs are deleted); } // let not_active_setting_time 10 * 60; // let time_checker null; // init_timer function () { // if (window.event) { // not_active_setting_time 10 * 60 * 600000; // // console.log(사용자 작업중) // clearTimeout(time_checker); // } // if (not_active_setting_time > 0) { // not_active_setting_time--; // time_checker setTimeout(init_timer(), 1000); // // console.log(not_active_time :: , not_active_setting_time); // // console.log(time_checker :: ,time_checker); // } else { // clearTimeout(time_checker); // flush_token(); // alert(장시간 미사용으로 자동 로그아웃 처리되었습니다.); // top.location.replace(/); // } // }; // onload init_timer; // document.onclick init_timer; // document.onkeypress init_timer; const dragArea document.querySelector(#tab_header-list); new Sortable(dragArea, { animation: 350 });/script>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]