yjryu / KERIS star
류윤주 류윤주 2023-11-28
231128 류윤주 상세페이지 승인버튼 이동
@dc9c2559ccb3e5a85b7a0fa57a4111c15123bfbe
client/views/pages/admin/user/CompanySelectOne.vue
--- client/views/pages/admin/user/CompanySelectOne.vue
+++ client/views/pages/admin/user/CompanySelectOne.vue
@@ -133,6 +133,8 @@
                 </div>
                 <div class="btn-wrap">
                     <button class="dark-gray-btn" @click="adminSelectListPage()">목록</button>
+                    <button class="red-btn"  v-if="user.create_account_approval === 'N'"
+                                            @click="confirmCheck(user.user_id)">승인</button>
                 </div>
             </div>
         </div>
@@ -237,14 +239,15 @@
                 },
                 data: { 'user_id': vm.route.query.user_id }
             }).then(function (response) {
-                console.log(response.data)
+                console.log("::::",response.data)
                 vm.user.user_id = response.data.user_id;
                 vm.user.user_eml = response.data.user_eml;
                 vm.user.user_nm = response.data.user_nm;
                 vm.user.user_auth = response.data.user_auth;
                 vm.user.user_reg_dt = response.data.user_reg_dt;
                 vm.user.user_approval_dt = response.data.user_approval_dt;
-                vm.user.subscribe = response.data.subscribe
+                vm.user.subscribe = response.data.subscribe;
+                vm.user.create_account_approval = response.data.create_account_approval
                 vm.companySelectOne();
             }).catch(function (error) {
                 console.log("userSelectOne - error : ", error);
@@ -304,6 +307,35 @@
             });
         },
 
+
+         //사용자 승인
+         approval: function (userId) {
+            const vm = this;
+            axios({
+                url: '/user/userApproval.json',
+                method: 'post',
+                headers: {
+                    'Content-Type': "application/json; charset=UTF-8",
+                },
+                data: { user_id: userId }
+            }).then(function (response) {
+                if (response.data > 0) {
+                    alert(userId + " 님에 대한 승인이 완료되었습니다.");
+                }
+            }).catch(function (error) {
+                console.log("approval - error : ", error);
+                alert('승인오류, 관리자에게 문의해주세요.');
+            });
+        },
+        //사용자 승인을 위한 confirm창
+        confirmCheck: function (userId) {
+            var confirmation = confirm(userId + " 사용자를 승인 하시겠습니까?");
+            if (confirmation) {
+                this.approval(userId);
+            } else {
+                alert(userId + " 님에 대한 승인을 취소하였습니다. 확인 후 재승인 해주시기 바랍니다.")
+            }
+        },
         //리스트 페이지로 이동
         adminSelectListPage: function () {
             this.$router.push({ path: '/adm/userSelectList.page', query: {} });
client/views/pages/admin/user/UserSelectList.vue
--- client/views/pages/admin/user/UserSelectList.vue
+++ client/views/pages/admin/user/UserSelectList.vue
@@ -40,8 +40,8 @@
                         </table>
                         <div class="flex-center">
                             <PaginationButton v-if="userListCount > 0" v-model:currentPage="userListSearch.currentPage"
-                        :per-page="userListSearch.perPage" :total-count="userListCount" :max-range="5"
-                        :click="userSelectList" />
+                                :per-page="userListSearch.perPage" :total-count="userListCount" :max-range="5"
+                                :click="userSelectList" />
                         </div>
                     </div>
                     <div v-show="currentTab == 1">
@@ -57,7 +57,8 @@
                                 </tr>
                             </thead>
                             <tbody>
-                                <tr v-for="(company, index) in companyList" :key="index" @click="companySelectOnePage(company)">
+                                <tr v-for="(company, index) in companyList" :key="index"
+                                    @click="companySelectOnePage(company)">
                                     <td v-show="company.use_yn === 'Y'">{{ companyIdx - index }}</td>
                                     <td v-show="company.use_yn === 'Y'">{{ company.user_id }}</td>
                                     <td v-show="company.use_yn === 'Y'">{{ company.company_nm }}</td>
@@ -359,7 +360,7 @@
                     vm.email_id = null;
                     vm.email_domain = null;
                     vm.managerSelectList();
-                    
+
                 } else {
                     alert("등록 실패, 관리자에게 문의해주세요.");
                     vm.isModalOpen = false;
@@ -468,8 +469,8 @@
             this.$router.push({ path: '/adm/userSelectOne.page', query: { 'user_id': user.user_id } });
         },
 
-        companySelectOnePage: function(company){
-            this.$router.push({ path: '/adm/companySelectOne.page', query: { 'user_id' : company.user_id } });
+        companySelectOnePage: function (company) {
+            this.$router.push({ path: '/adm/companySelectOne.page', query: { 'user_id': company.user_id } });
         },
 
         //상세조회 페이지로 이동
@@ -487,7 +488,7 @@
     },
     computed: {},
     components: {
-        'PaginationButton':PaginationButton,
+        'PaginationButton': PaginationButton,
     },
     mounted() {
         this.managerSelectList();
client/views/pages/admin/user/UserSelectOne.vue
--- client/views/pages/admin/user/UserSelectOne.vue
+++ client/views/pages/admin/user/UserSelectOne.vue
@@ -66,6 +66,8 @@
                 </div>
                 <div class="btn-wrap">
                     <button class="dark-gray-btn" @click="adminSelectListPage()">목록</button>
+                    <button class="red-btn" v-if="user.create_account_approval === 'N'"
+                        @click="confirmCheck(user.user_id)">승인</button>
                 </div>
             </div>
         </div>
@@ -172,6 +174,36 @@
                 alert("관리자 상세보기 오류, 관리자에게 문의하세요.");
             })
         },
+
+        //사용자 승인
+        approval: function (userId) {
+            const vm = this;
+            axios({
+                url: '/user/userApproval.json',
+                method: 'post',
+                headers: {
+                    'Content-Type': "application/json; charset=UTF-8",
+                },
+                data: { user_id: userId }
+            }).then(function (response) {
+                if (response.data > 0) {
+                    alert(userId + " 님에 대한 승인이 완료되었습니다.");
+                }
+            }).catch(function (error) {
+                console.log("approval - error : ", error);
+                alert('승인오류, 관리자에게 문의해주세요.');
+            });
+        },
+        //사용자 승인을 위한 confirm창
+        confirmCheck: function (userId) {
+            var confirmation = confirm(userId + " 사용자를 승인 하시겠습니까?");
+            if (confirmation) {
+                this.approval(userId);
+            } else {
+                alert(userId + " 님에 대한 승인을 취소하였습니다. 확인 후 재승인 해주시기 바랍니다.")
+            }
+        },
+
         //리스트 페이지로 이동
         adminSelectListPage: function () {
             this.$router.push({ path: '/adm/userSelectList.page', query: {} });
Add a comment
List