From 6a10640017c11c3d72297db50312a7ea1444d0e3 Mon Sep 17 00:00:00 2001
From: minhee <alsdldlfrl@gmail.com>
Date: 월, 21 2월 2022 11:28:53 +0900
Subject: [PATCH] - 상세 검색에 등록일 검색 기능 추가

---
 src/main/webapp/views/issue/issueListNormal.html |  255 +++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 186 insertions(+), 69 deletions(-)

diff --git a/src/main/webapp/views/issue/issueListNormal.html b/src/main/webapp/views/issue/issueListNormal.html
index 847261d..148e665 100644
--- a/src/main/webapp/views/issue/issueListNormal.html
+++ b/src/main/webapp/views/issue/issueListNormal.html
@@ -5,7 +5,7 @@
                 <div class="element-box">
                     <div class="row" >
                         <div class="col-sm-12">
-                            <div class="searchdiv">
+                            <div class="searchdiv" ng-if="!$root.isMainSearch">
                                 <form name="issueSearchForm" role="form" ng-enter="fn.getPageList(0)">
                                     <div class="row">
                                         <div class="col-sm-6">
@@ -36,16 +36,22 @@
                                                 </p>
 
                                                 <!--    �봽濡쒖젥�듃    -->
-                                                <issue-search-array-view-element lists="vm.projects"
-                                                                                 type="'project'"></issue-search-array-view-element>
+<!--                                                <issue-search-array-view-element lists="vm.projects"-->
+<!--                                                                                 type="'project'"></issue-search-array-view-element>-->
 
                                                 <!--    �씠�뒋 ���엯   -->
-                                                <issue-search-field-key-view-element lists="vm.issueTypes"
-                                                                                     keys="vm.search.issueTypeIds"></issue-search-field-key-view-element>
+<!--                                                <issue-search-field-key-view-element lists="vm.issueTypes"-->
+<!--                                                                                     keys="vm.search.issueTypeIds"></issue-search-field-key-view-element>-->
 
                                                 <!--    �씠�뒋 �긽�깭   -->
                                                 <issue-search-field-key-view-element lists="vm.issueStatuses"
                                                                                      keys="vm.search.issueStatusIds"></issue-search-field-key-view-element>
+
+                                                <!-- �씠�뒋 踰덊샇 -->
+                                                <p ng-if="$root.isDefined(vm.search.issueNumber)">
+                                                    {{vm.search.issueNumber}}
+                                                    <span ng-click="vm.search.issueNumber = ''">횞</span>
+                                                </p>
 
                                                 <!--    �씠�뒋 �궡�슜   -->
                                                 <p ng-if="$root.isDefined(vm.search.description)">
@@ -81,11 +87,21 @@
                                                     <span ng-click="vm.search.completeDateRange = ''">횞</span>
                                                 </p>
 
+                                                <!-- 湲곌컙 -->
+                                                <p ng-if="$root.isDefined(vm.search.dateRange)">
+                                                    {{vm.search.dateRange}}
+                                                    <span ng-click="vm.search.dateRange = ''">횞</span>
+                                                </p>
+
                                                 <!--    �벑濡앹씪   -->
                                                 <p ng-if="$root.isDefined(vm.search.registerDateRange)">
                                                     {{vm.search.registerDateRange}}
                                                     <span ng-click="vm.search.registerDateRange = ''">횞</span>
                                                 </p>
+
+                                                <!-- �떞�떦遺��꽌 -->
+                                                <issue-search-array-view-element lists="vm.departments"
+                                                                                 type="'department'"></issue-search-array-view-element>
 
                                                 <!--    �뀓�뒪�듃 �엯�젰 �븘�뱶   -->
                                                 <issue-search-custom-field-view-element
@@ -114,52 +130,16 @@
                                                                ng-model="vm.search.title">
                                                     </div>
                                                 </div>
-
-                                                <div class="col-lg-3">
-                                                    <div class="form-group">
-                                                        <label> <span translate="common.project">�봽濡쒖젥�듃</span></label>
-                                                        <js-autocomplete-multi data-input-name="projects"
-                                                                               selected-model="vm.projects"
-                                                                               search="vm.projectName"
-                                                                               input-disabled="false"
-                                                                               translation-texts="{ empty : 'common.emptyProject', selectList : 'common.' }"
-                                                                               source="fn.getProjectList(vm.projectName, vm.projects, null, null, ['01', '02', '03'])"
-                                                                               extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '', type : '', maxlength : 100}"></js-autocomplete-multi>
-                                                    </div>
-                                                </div>
-
-                                                <div class="col-lg-3">
-                                                    <div class="form-group">
-                                                        <label> <span translate="issue.issueType">�씠�뒋 ���엯</span></label>
-                                                        <ng-dropdown-multiselect class="multiSelect cursor"
-                                                                                 data-input-name="issueStatuses"
-                                                                                 selected-model="vm.search.issueTypeIds"
-                                                                                 options="::vm.issueTypes"></ng-dropdown-multiselect>
-                                                    </div>
-                                                </div>
-
-                                                <div class="col-lg-3">
-                                                    <div class="form-group">
-                                                        <label> <span translate="issue.issueStatus">�씠�뒋 �긽�깭</span></label>
-                                                        <ng-dropdown-multiselect class="multiSelect cursor"
-                                                                                 data-input-name="issueStatuses"
-                                                                                 selected-model="vm.search.issueStatusIds"
-                                                                                 options="::vm.issueStatuses"></ng-dropdown-multiselect>
-                                                    </div>
-                                                </div>
-                                            </div>
-
-                                            <div class="row">
                                                 <div class="col-lg-3">
                                                     <div class="form-group">
                                                         <label> <span translate="issue.issueNumber">�씠�뒋 踰덊샇</span></label>
                                                         <input type="text"
-                                                               name="name"
+                                                               name="issueNumber"
                                                                class="form-control input-sm"
                                                                autocomplete="off"
                                                                kr-input
                                                                maxlength="20"
-                                                               ng-model="vm.search.combinationIssueNumber">
+                                                               ng-model="vm.search.issueNumber">
                                                     </div>
                                                 </div>
 
@@ -175,7 +155,41 @@
                                                                ng-model="vm.search.description">
                                                     </div>
                                                 </div>
+<!--                                                <div class="col-lg-3">-->
+<!--                                                    <div class="form-group">-->
+<!--                                                        <label> <span translate="common.project">�봽濡쒖젥�듃</span></label>-->
+<!--                                                        <js-autocomplete-multi data-input-name="projects"-->
+<!--                                                                               selected-model="vm.projects"-->
+<!--                                                                               search="vm.projectName"-->
+<!--                                                                               input-disabled="false"-->
+<!--                                                                               translation-texts="{ empty : 'common.emptyProject', selectList : 'common.' }"-->
+<!--                                                                               source="fn.getProjectList(vm.projectName, vm.projects, null, null, ['01', '02', '03'])"-->
+<!--                                                                               extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '', type : '', maxlength : 100}"></js-autocomplete-multi>-->
+<!--                                                    </div>-->
+<!--                                                </div>-->
 
+<!--                                                <div class="col-lg-3">-->
+<!--                                                    <div class="form-group">-->
+<!--                                                        <label> <span translate="issue.issueType">�씠�뒋 ���엯</span></label>-->
+<!--                                                        <ng-dropdown-multiselect class="multiSelect cursor"-->
+<!--                                                                                 data-input-name="issueStatuses"-->
+<!--                                                                                 selected-model="vm.search.issueTypeIds"-->
+<!--                                                                                 options="::vm.issueTypes"></ng-dropdown-multiselect>-->
+<!--                                                    </div>-->
+<!--                                                </div>-->
+
+                                                <div class="col-lg-3">
+                                                    <div class="form-group">
+                                                        <label> <span translate="issue.issueStatus">�씠�뒋 �긽�깭</span></label>
+                                                        <ng-dropdown-multiselect class="multiSelect cursor"
+                                                                                 data-input-name="issueStatuses"
+                                                                                 selected-model="vm.search.issueStatusIds"
+                                                                                 options="::vm.issueStatuses"></ng-dropdown-multiselect>
+                                                    </div>
+                                                </div>
+                                            </div>
+
+                                            <div class="row">
                                                 <div class="col-lg-3">
                                                     <div class="form-group">
                                                         <label> <span translate="common.priority">�슦�꽑 �닚�쐞</span></label>
@@ -195,9 +209,7 @@
                                                                                  options="::vm.severities"></ng-dropdown-multiselect>
                                                     </div>
                                                 </div>
-                                            </div>
 
-                                            <div class="row">
                                                 <div class="col-lg-3">
                                                     <div class="form-group">
                                                         <label> <span translate="common.register">�벑濡앹옄</span></label>
@@ -214,17 +226,22 @@
 
                                                 <div class="col-lg-3">
                                                     <div class="form-group">
-                                                        <label> <span translate="common.registrationDate">�벑濡앹씪</span></label>
-                                                        <input type="text"
-                                                               readonly
-                                                               class="form-control input-sm input-readonly"
-                                                               ng-model="vm.search.registerDateRange"
-                                                               modal-form-auto-scroll
-                                                               date-format="YY-MM-DD"
-                                                               parent-el="'#createdWidget'"
-                                                               date-range-picker>
+                                                        <label> <span translate="common.assigneeTeam">�떞�떦遺��꽌</span></label>
+                                                        <js-autocomplete-multi data-input-name="departments"
+                                                                               selected-model="vm.departments"
+                                                                               search="vm.departmentName"
+                                                                               input-disabled="false"
+                                                                               source="fn.getUserDepartmentList(vm.departmentName, vm.departments)"
+                                                                               translation-texts="{ count : 'common.userNum', empty : 'common.emptyProjectDepartment' }"
+                                                                               extra-settings="{ displayProp : 'byName' , idProp : 'id', widthable : false, width : '', imageable : true, imagePathProp : 'profile', type : 'department', maxlength : 100 }">
+                                                        </js-autocomplete-multi>
                                                     </div>
                                                 </div>
+
+                                            </div>
+
+
+                                            <div class="row">
 
                                                 <div class="col-lg-3">
                                                     <div class="form-group">
@@ -255,26 +272,126 @@
 
                                                 <div class="col-lg-3">
                                                     <div class="form-group">
-                                                        <label> <span translate="common.assigneeTeam">�떞�떦遺��꽌</span></label>
-                                                        <js-autocomplete-multi data-input-name="departments"
-                                                                               selected-model="vm.departments"
-                                                                               search="vm.departmentName"
-                                                                               input-disabled="false"
-                                                                               source="fn.getUserDepartmentList(vm.departmentName, vm.departments)"
-                                                                               translation-texts="{ count : 'common.userNum', empty : 'common.emptyProjectDepartment' }"
-                                                                               extra-settings="{ displayProp : 'byName' , idProp : 'id', widthable : false, width : '', imageable : true, imagePathProp : 'profile', type : 'department', maxlength : 100 }">
-                                                        </js-autocomplete-multi>
+                                                        <label> <span translate="common.dateRange">湲곌컙</span></label>
+                                                        <input type="text"
+                                                               readonly
+                                                               class="form-control input-sm input-readonly"
+                                                               ng-model="vm.search.dateRange"
+                                                               modal-form-auto-scroll
+                                                               date-format="YY-MM-DD"
+                                                               parent-el="'#createdWidget'"
+                                                               date-range-picker>
                                                     </div>
                                                 </div>
+
+                                                <div class="col-lg-3">
+                                                    <div class="form-group">
+                                                        <label> <span translate="common.registrationDate">�벑濡앹씪</span></label>
+                                                        <input type="text"
+                                                               readonly
+                                                               class="form-control input-sm input-readonly"
+                                                               ng-model="vm.search.registerDateRange"
+                                                               modal-form-auto-scroll
+                                                               date-format="YY-MM-DD"
+                                                               parent-el="'#createdWidget'"
+                                                               date-range-picker>
+                                                    </div>
+                                                </div>
+
 
                                                 <div class="col-lg-3" ng-repeat="customField in vm.customFields">
                                                     <label>{{::customField.name}}</label>
 
                                                     <div ng-switch on="customField.customFieldType">
                                                         <div ng-switch-when="INPUT">
-                                                            <input type="text" class="form-control input-sm"
+                                                            <input type="text"
+                                                                   class="form-control input-sm"
                                                                    ng-model="customField.useValues"
-                                                                   maxlength="100">
+                                                                   >
+                                                        </div>
+                                                        <div ng-switch-when="NUMBER">
+                                                            <input type="text"
+                                                                   class="form-control input-sm"
+                                                                   name="item_{{$index}}"
+                                                                   ng-model="customField.useValues"
+                                                                   kr-input
+                                                                   placeholder="�닽�옄留� �엯�젰 媛��뒫�빀�땲�떎."
+                                                                   ng-pattern="/^[0-9]*$/"
+                                                                   autocomplete="off">
+                                                            <div ng-if="issueSearchForm['item_'+ $index].$error.pattern" class="help-block form-text text-danger"
+                                                                 translate="common.invalidNumberFormat">�닽�옄留� �엯�젰 媛��뒫�빀�땲�떎.
+                                                            </div>
+                                                        </div>
+
+                                                        <div ng-switch-when="DATETIME">
+                                                            <input class="form-control input-sm input-readonly"
+                                                                   name="item_{{$index}}"
+                                                                   ng-model="customField.useValues"
+                                                                   placeholder="{{'issue.clickToSelectDate' | translate}}"
+                                                                   modal-form-auto-scroll
+                                                                   range-type="multiDate"
+                                                                   date-range-picker
+                                                                   autocomplete="off">
+                                                            <div class="row">
+                                                                <div class="col-xs-12">
+                                                                    <div id="createdWidget" class="bootstrap-datepicker "></div>
+                                                                </div>
+                                                            </div>
+                                                        </div>
+
+                                                        <div ng-switch-when="IP_ADDRESS">
+                                                            <input type="text"
+                                                                   class="form-control input-sm"
+                                                                   name="item_{{$index}}"
+                                                                   ng-model="customField.useValues"
+                                                                   kr-input
+                                                                   ng-pattern="/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/"
+                                                                   placeholder="IP 二쇱냼 �삎�떇留� �엯�젰 媛��뒫�빀�땲�떎."
+                                                                   autocomplete="off">
+                                                            <div ng-if="issueSearchForm['item_'+ $index].$error.pattern" class="help-block form-text text-danger"
+                                                                 translate="common.invalidipAdressFormat">IP二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                                                            </div>
+                                                        </div>
+
+                                                        <div ng-switch-when="EMAIL">
+                                                            <input type="email"
+                                                                   class="form-control input-sm"
+                                                                   name="item_{{$index}}"
+                                                                   ng-model="customField.useValues"
+                                                                   kr-input
+                                                                   ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
+                                                                   placeholder="�씠硫붿씪 �삎�떇留� �엯�젰 媛��뒫�빀�땲�떎."
+                                                                   autocomplete="off">
+                                                            <div ng-if="issueSearchForm['item_'+ $index].$error.pattern" class="help-block form-text text-danger"
+                                                                 translate="common.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                                                            </div>
+                                                        </div>
+
+                                                        <div ng-switch-when="SITE">
+                                                            <input type="text"
+                                                                   class="form-control input-sm"
+                                                                   name="item_{{$index}}"
+                                                                   ng-model="customField.useValues"
+                                                                   kr-input
+                                                                   ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/"
+                                                                   placeholder="�솃�럹�씠吏� 二쇱냼 �삎�떇留� �엯�젰 媛��뒫�빀�땲�떎."
+                                                                   autocomplete="off">
+                                                            <div ng-if="issueSearchForm['item_'+ $index].$error.pattern" class="help-block form-text text-danger"
+                                                                 translate="common.invalidSiteFormat">�솃�럹�씠吏� 二쇱냼 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(http://濡� �떆�옉�븯�뀛�빞�빀�땲�떎)
+                                                            </div>
+                                                        </div>
+                                                        <div ng-switch-when="TEL">
+                                                            <input type="text"
+                                                                   class="form-control input-sm"
+                                                                   name="item_{{$index}}"
+                                                                   ng-model="customField.useValues"
+                                                                   kr-input
+                                                                   ng-pattern="/^\d{2,3}-\d{3,4}-\d{4}$/"
+                                                                   placeholder="�뿰�씫泥� �삎�떇留� �엯�젰 媛��뒫�빀�땲�떎."
+                                                                   autocomplete="off">
+                                                            <div ng-if="issueSearchForm['item_'+ $index].$error.pattern" class="help-block form-text text-danger"
+                                                                 translate="common.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                                                            </div>
                                                         </div>
 
                                                         <div ng-switch-default>
@@ -336,8 +453,8 @@
 
                             <!--    �슦痢�  -->
                             <div class="col-5" >
-                                <span class="issue-detail-label" style="position: relative; left: 2.8rem; bottom: 5px"><span style="color: #0a7cf8">�뾾</span> �븯�쐞 �씠�뒋 �닲湲곌린</span>
-                                <label class='switch' style="left: 3.3rem"><input type='checkbox' ng-model='vm.hideDownIssue' ng-click='fn.getPageList(0)'>
+                                <span class="issue-detail-label" ng-if="vm.listMode === 0" style="position: relative; left: 2.8rem; bottom: 5px"><span style="color: #0a7cf8">�뾾</span> �븯�쐞 �씠�뒋 �닲湲곌린</span>
+                                <label class='switch' ng-if="vm.listMode === 0" style="left: 3.3rem"><input type='checkbox' ng-model='vm.hideDownIssue' ng-click='fn.getPageList(0)'>
                                     <span class='slider round'></span>
                                 </label>
                                 <span class="issue-detail-label" style="position: relative; left: 5.8rem; bottom: 5px"><span style="color: #0a7cf8">�뾾</span> �셿猷� �씠�뒋 �닲湲곌린</span>
@@ -355,12 +472,12 @@
                                         </button>
                                         <div aria-labelledby="dropdownMenuButton2" class="dropdown-menu left-menu"
                                              x-placement="bottom-start" >
-                                            <a class="dropdown-item cursor" form-submit="issueListForm" make-search-conditions="fn.makeSearchConditions()"> <span translate="common.downloadExcel">�뿊�� �떎�슫濡쒕뱶</span></a>
+                                            <a class="dropdown-item cursor" form-submit="issueListForm" make-search-conditions="fn.makeSearchConditions()"> <span translate="common.allDownloadExcel">�뿊�� �떎�슫濡쒕뱶</span></a>
 
                                             <a class="dropdown-item cursor" ng-click="fn.importExcel()"> <span translate="common.importExcel">Excel Import</span></a>
                                             <a class="dropdown-item cursor" ng-click="fn.modifyMultiIssueStatus()"> <span translate="common.updateIssueStatus">�씠�뒋 �긽�깭 蹂�寃�</span></a>
                                             <a class="dropdown-item cursor" ng-click="fn.addIssueTableConfig()"> <span translate="issue.settingTableDisplay">�뀒�씠釉� �몴�떆 �꽕�젙</span></a>
-                                            <a class="dropdown-item cursor" ng-click="fn.removes()"> <span translate="common.delete">�궘�젣</span></a>
+                                            <a class="dropdown-item cursor" ng-click="fn.removes()"> <span translate="common.selectDelete">�궘�젣</span></a>
                                         </div>
                                     </div>
                                 </form>

--
Gitblit v1.8.0