Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions code.gs
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
// 스프레드시트 메뉴를 생성하고 초기화할 때 호출되는 함수
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('지오유')
.addItem('본 문서를 전자결재로 생산', 'sendDocument')
.addSeparator()
.addSubMenu(ui.createMenu('바로가기')
.addItem('그룹웨이로 이동', 'openZioYou')
)
.addToUi();
}

function fGetUserInfo(){
var about = Drive.About.get();
var user = {
name : about.name,
permissionId : about.permissionId,
driverUser: about.user
}
return user;
}
function fGetPubUrl(){
var fileid = SpreadsheetApp.getActiveSpreadsheet().getId();
Drive.Revisions.update({published: true, publishedOutsideDown: true, publishAuto: true}.fileid,1);
return "https://docs.google.com/spreadsheet/pub?key" + key;
}

// "본 문서를 전자결재로 생산" 메뉴 클릭 시 실행되는 함수
function sendDocument() {
var tpl = HtmlService.createTemplateFromFile('index.html');
tpl.bodyhtml = fGetPubUrl;
tpl.sub1 = SpreadsheetApp.getActiveSpreadsheet().getName();
tpl.userid = fGetUserInfo().driverUser.emailAddress;


var output = tpl.evaluate();
output.setWidth(1400);
output.setHeight(700);
SpreadsheetApp.getUi().showModalDialog(output,'전자결재 esign');
}

// "상신하기" 버튼 클릭 시 실행되는 함수
function fSend() {
if (confirm("위 문서를 정말로 상신하시겠습니까?")) {
google.script.run.processForm();
}
}

// "그룹웨이로 이동" 메뉴 클릭 시 실행되는 함수
function openZioYou() {
var html = '<html><body><a href="https://zioyoucs.com/" target="_blank">지오유로 이동</a></body></html>';
var htmlOutput = HtmlService.createHtmlOutput(html).setWidth(300).setHeight(100);
SpreadsheetApp.getUi().showModalDialog(htmlOutput, '지오유 사이트');
}

// 전자결재 상신 처리 함수
function processForm() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

// A1 셀에 상신 메시지 표시
sheet.getRange('A1').setValue('상신되었습니다.');
}
30 changes: 30 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous">
<style>
.ifm{
width:100%;
height: 360px;
border:0;
}
</style>
</head>
<body>
<form>
<div class="mb-3">
<label for="txtSubmit" class="form-label">문서 제목</label>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" value="<?=sub1?>">
<div id="emailHelp" class="form-text">전자결재 문서제목을 반드시 입력하세요.</div>
</div>
<div class="mb-3">
<label for="exampleInputPassword1" class="form-label">상신자계정</label>
<input type="text" class="form-control" id="exampleInputPassword1" disabled value="<?=userid?>">
</div>
<button type="submit" class="btn btn-primary">상신하기</button>
</form>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-geWF76RCwLtnZ8qwWowPQNguL3RmwHVBC9FhGdlKrxdiJJigb/j/68SIy3Te4Bkz" crossorigin="anonymous"></script>
</body>
</html>