최정임 최정임 2023-06-09
Merge branch 'front_end' of http://210.180.118.83/ysseo/crosswalk into front_end
@9cbcdfa545dd9ac918f38b5dcdffa4588c147312
client/views/pages/SystemManagement/ChargeManagement.vue
--- client/views/pages/SystemManagement/ChargeManagement.vue
+++ client/views/pages/SystemManagement/ChargeManagement.vue
@@ -5,14 +5,16 @@
         <div class="float-right">
           <form action="">
             <label>등록일자</label>
-            <input type="date" name="" id="" />
+            <input type="date" value-format="yyyyMMdd" v-model="managerListSearch.startDate"/>
             <span>~</span>
-            <input type="date" name="" id="" />
-            <select name="" id="">
+            <input type="date" value-format="yyyyMMdd" v-model="managerListSearch.endDate"/>
+            <select name="condition" id="condition" v-model="managerListSearch.searchType">
               <option value="">검색조건</option>
+              <option value="mngr_nm">이름</option>
+              <option value="mngr_ogdp_info">소속정보</option>
             </select>
-            <input type="text" />
-            <button type="button" class="btn-2 green-btn">검색</button>
+            <input type="search" placeholder="검색어를 입력 해주세요." v-model="managerListSearch.searchText" @keyup.enter="managerSelectList"/>
+            <button type="button" class="btn-2 green-btn" @click="managerSelectList">검색</button>
           </form>
         </div>
       </div>
@@ -35,12 +37,12 @@
             </tr>
           </thead>
           <tbody>
-            <tr>
-              <td>100</td>
-              <td>name_1</td>
-              <td>010-2134-7865</td>
-              <td>qwer1234@gmail.com</td>
-              <td>소속1</td>
+            <tr v-for="(item, idx) in managerList" :key="idx" @click="managerSelectOnePage(item)">
+              <td data-title="NO">{{ idx + 1 }}</td>
+              <td data-title="이름">{{ item['mngr_nm'] }}</td>
+              <td data-title="전화번호">{{ item['mngr_telno'] }}</td>
+              <td data-title="이메일">{{ item['mngr_eml'] }}</td>
+              <td data-title="소속정보">{{ item['mngr_ogdp_info'] }}</td>
             </tr>
           </tbody>
         </table>
@@ -56,9 +58,7 @@
           <a href="#" class="pg-item next">▶</a>
         </div>
         <div class="btn-wrap">
-          <router-link to="/UserManagement.page">
-            <span class="btn-2 green-btn">등록</span>
-          </router-link>
+            <button @click="managerInsertPage" class="btn-2 green-btn">등록</button>
         </div>
       </div>
     </div>
@@ -66,15 +66,59 @@
 </template>
 
 <script>
+import axios from 'axios';
+
 export default {
-  data() {
-    return {};
-  },
-  methods: {},
+  data: function () {
+        return {
+            managerListSearch: {
+                currentPage: 1,
+                perPage: 10,
+                searchType: null,
+                searchText: null,
+                startDate: null,
+                endDate: null
+            },
+            managerListCount: 0,
+            managerList: [],
+
+        };
+    },
+    methods: {
+    
+        //횡단보도 유지보수 관리자 목록 조회
+        managerSelectList: function () {
+            const vm = this;
+            axios({
+                url: '/manager/managerSelectList.json',
+                method: 'post',
+                headers: {
+                    'Content-Type': "application/json; charset=UTF-8",
+                },
+                data: vm.managerListSearch
+            }).then(function (response) {
+                console.log("managerSelectList - response : ", response.data);
+                vm.managerListCount = response.data.managerListCount
+                vm.managerList = response.data.managerList;
+            }).catch(function (error) {
+                console.log("managerSelectList - error : ", error);
+                alert('횡단보도 유지보수 관리자 목록 조회 오류, 관리자에게 문의해주세요.');
+            });
+        },
+
+        //횡단보도 유지보수 관리자 상세조회 페이지 이동
+        managerSelectOnePage: function (user) {
+            this.$router.push({ path: '/', query: {}});
+        },
+        managerInsertPage: function() {
+          this.$router.push({ path: '/ManagerAddForm.page'});
+        }
+    },
   watch: {},
   computed: {},
   mounted() {
     console.log("Main4 mounted");
+    this.managerSelectList();
   },
 };
 </script>
client/views/pages/SystemManagement/ManagerAddForm.vue
--- client/views/pages/SystemManagement/ManagerAddForm.vue
+++ client/views/pages/SystemManagement/ManagerAddForm.vue
@@ -1,42 +1,32 @@
 <template>
   <div class="wrap">
-    <div class="tab-wrap">
-      <ul>
-        <li>
-          <a href="" class="tab active">사용자 관리</a>
-        </li>
-        <li>
-          <a href="" class="tab">접속기록 조회</a>
-        </li>
-      </ul>
-    </div>
     <div>
       <div>
         <h2 class="page-title">횡단보도 유지보수 담당자</h2>
       </div>
       <hr class="margin">
       <div class="form-wrap">
-        <form action="">
-          <div class="flex m-b">
-            <span>이름 : </span>
-            <input type="text" name="" id="" placeholder="Name">
-          </div>
-          <div class="flex m-b">
-            <span>전화번호 : </span>
-            <input type="text" name="" id="" placeholder="Phone Number">
-          </div>
-          <div class="flex m-b">
-            <span>이메일 : </span>
-            <input type="text" name="" id="" placeholder="E-Mail">
-          </div>
+        <div class="flex m-b">
+          <span>이름 : </span>
+          <input type="text" placeholder="Name" v-model="manager.mngr_nm">
+        </div>
+        <div class="flex m-b">
+          <span>전화번호 : </span>
+          <input type="text" placeholder="Phone Number" v-model="manager.mngr_telno">
+        </div>
+        <div class="flex m-b">
+          <span>이메일 : </span>
+          <input type="text" placeholder="E-Mail" v-model="manager.mngr_eml">
+        </div>
+        <div class="flex m-b">
+          <span>소속명 : </span>
+          <input type="text" placeholder="Affiliation Name" v-model="manager.mngr_ogdp_info">
+        </div>
 
-          <div class="btn-wrap">
-            <button type="button" class="green-btn" @click="modal_1 = true">등록</button>
-            <router-link to="/UserManagement.page">
-              <span class="btn-2 gray-btn">취소</span>
-            </router-link>
-          </div>
-        </form>
+        <div class="btn-wrap">
+          <button type="button" class="green-btn" @click="managerInsertCheck">등록</button>
+          <button class="btn-2 gray-btn" @click="managerSelectListPage">취소</button>
+        </div>
       </div>
     </div>
   </div>
@@ -47,7 +37,7 @@
     <div class="modal">
       <p>사용자를 <span class="txt-point">등록</span>하시겠습니까?</p>
       <div class="btn-wrap">
-        <button type="button" class="green-btn">확인</button>
+        <button type="button" class="green-btn" @click="managerInsert">확인</button>
         <button type="button" class="gray-btn" @click="modal_1 = false">취소</button>
       </div>
     </div>
@@ -55,13 +45,61 @@
 </template>
 
 <script>
+import axios from 'axios';
+
 export default {
-  data() {
+  data: function()  {
     return {
+      manager: {
+        mngr_nm: null,
+        mngr_telno: null,
+        mngr_eml: null,
+        mngr_ogdp_info: null
+      },
       modal_1: false,
     };
   },
-  methods: {},
+  methods: {
+    managerInsertCheck: function() {
+      if (this.manager.mngr_nm === null || this.manager.mngr_nm === '') {
+        alert('이름을 입력해주세요.');
+        return false;
+      }
+
+      this.modal_1 = true
+      return true;
+    },
+
+    managerInsert: function() {
+      const vm = this;
+      axios({
+        url: '/manager/managerInsert.json',
+        method: 'post',
+        herders: {
+          'Content-Type': "application/json; charset=UTF-8",
+        },
+        data: vm.manager
+      }).then(function (response) {
+        console.log("managerInsert - response : ", response);
+        let result = response.data;
+        if (result > 0) {
+          vm.managerSelectListPage();
+        } else {
+          alert('등록 실패, 관리자에게 문의해주세요.');
+          console.log(vm.modal_1);
+          vm.modal_1 = false;
+        }
+      }).catch(function(error) {
+        console.log("managerInsert - error : ", error);
+        alert('사용자 등록 오류, 관리자에게 문의해주세요.');
+        vm.modal_1 = false;
+      })
+    },
+
+    managerSelectListPage: function () {
+      this.$router.push({ path : '/ChargeManagement.page'})
+    }
+  },
   watch: {},
   computed: {},
   mounted() {
Add a comment
List