류윤주 류윤주 04-25
250425 류윤주 메뉴 만족도 추가
@d14c651cb97f98ce21e4450b4a33a04b1914a5a0
client/resources/scss/admin/content.scss
--- client/resources/scss/admin/content.scss
+++ client/resources/scss/admin/content.scss
@@ -896,6 +896,7 @@
         }
     }
 
+
 }
 
 
 
client/resources/scss/common/component/_menuSatisfaction.scss (added)
+++ client/resources/scss/common/component/_menuSatisfaction.scss
@@ -0,0 +1,35 @@
+.menu-satisfaction{
+    padding: 3rem;
+    padding-top: 0;
+    .satisfaction-wrap{
+        padding: 3rem;
+        border: 1px solid #e0e0e0;
+        background-color: #f8f8f8;
+        border-radius: 8px;
+
+        .layout{
+            align-items: end;
+        }
+
+        .check-list{
+            padding-right: 3rem;
+            border-right: 1px solid #e0e0e0;
+
+            label.form-title{
+                display: block;
+                font-size: 2rem;
+                font-weight: 600;
+                margin-bottom: 1rem;
+            }
+        }
+
+        .write-zone{
+            padding-left: 3rem;
+            width: calc(100% - 536px);
+            .btn{
+                margin-left: 1rem;
+            }
+        }
+    }
+
+}(파일 끝에 줄바꿈 문자 없음)
client/resources/scss/common/component/component.scss
--- client/resources/scss/common/component/component.scss
+++ client/resources/scss/common/component/component.scss
@@ -18,4 +18,5 @@
 @import "./tabs";
 @import "./tooltip";
 @import "./pagination";
-@import "./tree";
(파일 끝에 줄바꿈 문자 없음)
+@import "./tree";
+@import "./menuSatisfaction";
(파일 끝에 줄바꿈 문자 없음)
client/views/layout/menuSatisfaction.vue
--- client/views/layout/menuSatisfaction.vue
+++ client/views/layout/menuSatisfaction.vue
@@ -1,44 +1,47 @@
 <template>
-    <div v-if="dgstfnExmnUseYn == 'Y'">
-        <div v-if="rspnsYn == 'N'">
-            <label class="form-title">{{pgNm}} 만족도 조사</label>
-            <div class="check-area">
-                <div class="form-check">
-                    <input type="radio" name="rspns" id="rspnsFive" class="mr5" v-model="checkRspns"
-                        value="5" />
-                    <label for="rspnsFive">매우 만족</label>
-                </div>
-                <div class="form-check">
-                    <input type="radio" name="rspns" id="rspnsFour" class="mr5" v-model="checkRspns"
-                        value="4" />
-                    <label for="rspnsFour">만족</label>
-                </div>
-                <div class="form-check">
-                    <input type="radio" name="rspns" id="rspnsThree" class="mr5" v-model="checkRspns"
-                        value="3" />
-                    <label for="rspnsThree">보통</label>
-                </div>
-                <div class="form-check">
-                    <input type="radio" name="rspns" id="rspnsTwo" class="mr5" v-model="checkRspns"
-                        value="2" />
-                    <label for="rspnsTwo">불만족</label>
-                </div>
-                <div class="form-check">
-                    <input type="radio" name="rspns" id="rspnsOne" class="mr5" v-model="checkRspns"
-                        value="1" />
-                    <label for="rspnsOne">매우 불만족</label>
+    <div v-if="dgstfnExmnUseYn == 'Y'" class="menu-satisfaction">
+        <div v-if="rspnsYn == 'N'" class="satisfaction-wrap">
+           <div class="layout">
+            <div class="check-list">
+                <label class="form-title">{{pgNm}} 만족도 조사</label>
+                <div class="check-area">
+                    <div class="form-check">
+                        <input type="radio" name="rspns" id="rspnsFive" class="mr5" v-model="checkRspns"
+                            value="5" />
+                        <label for="rspnsFive">매우 만족</label>
+                    </div>
+                    <div class="form-check">
+                        <input type="radio" name="rspns" id="rspnsFour" class="mr5" v-model="checkRspns"
+                            value="4" />
+                        <label for="rspnsFour">만족</label>
+                    </div>
+                    <div class="form-check">
+                        <input type="radio" name="rspns" id="rspnsThree" class="mr5" v-model="checkRspns"
+                            value="3" />
+                        <label for="rspnsThree">보통</label>
+                    </div>
+                    <div class="form-check">
+                        <input type="radio" name="rspns" id="rspnsTwo" class="mr5" v-model="checkRspns"
+                            value="2" />
+                        <label for="rspnsTwo">불만족</label>
+                    </div>
+                    <div class="form-check">
+                        <input type="radio" name="rspns" id="rspnsOne" class="mr5" v-model="checkRspns"
+                            value="1" />
+                        <label for="rspnsOne">매우 불만족</label>
+                    </div>
                 </div>
             </div>
-            <div class="layout">
-                <label class="form-title">의견</label>
+            <div class="layout write-zone">
                 <input
                 type="text"
                 class="form-control sm"
                 v-model="menuDgstfn.opnn"
                 placeholder="의견을 남겨주세요"
                 />
+                <button class="btn sm" @click="save">제출</button>
             </div>
-            <button class="btn sm" @click="save">제출</button>
+           </div>
         </div>
         <div v-else-if="rspnsYn == 'Y'">
             <label class="form-title">설문에 참여해주셔서 감사합니다.</label>
@@ -84,6 +87,10 @@
                 const res = await menuFindByMenu(params);
                 if (res.status == 200) {
                     this.dgstfnExmnUseYn = res.data.data.dgstfnExmnUseYn;
+
+                     // 부모에게 전달
+                    this.$emit('menuChecck', res.data.data.dgstfnExmnUseYn);
+
                     if(res.data.data.dgstfnExmnUseYn == 'Y') {
                         this.fnViewByMenuId();
                     } else {
client/views/pages/App.vue
--- client/views/pages/App.vue
+++ client/views/pages/App.vue
@@ -3,11 +3,10 @@
     <AdminHeader />
     <AdminMenu />
     <main class="main-wrap">
-        <div :class="{'content-wrap': true, 'main': this.$route.path === this.$filters.ctxPath('/adm/main.page')}">
-          <MenuSatisfaction v-if="!$route.path.includes('/insert.page')"/> <!-- 내용 확인용 -->
+        <div :class="{'content-wrap': true, 'main': this.$route.path === this.$filters.ctxPath('/adm/main.page')}" :style="{ height: menuUse === 'Y' ? 'calc(100% - 152px)' : '100%' }">
           <router-view />
-          <!-- <MenuSatisfaction/> --> <!-- 진짜 위치 -->
         </div>
+        <MenuSatisfaction v-if="!$route.path.includes('/insert.page')" @menuChecck="menuYnCheck"/> <!-- 내용 확인용 -->
     </main>
   </div> 
   <div v-else v-cloak class="user-wrap relative">
@@ -31,9 +30,16 @@
     return {
       otherWindow: false,
       path: "",
+      menuUse: "N",
     };
   },
-  methods: {},
+  methods: {
+    // 메뉴 만족도 조사 사용 여부
+    menuYnCheck(yn) {
+      console.log("menuYnCheck", yn);
+      this.menuUse = yn;
+    },
+  },
   watch: {
     $route(to, from) {
       this.path = to.path;
Add a comment
List