Merge branch 'master' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web
Showing
22 changed files
with
239 additions
and
510 deletions
| ... | @@ -2,18 +2,6 @@ import request from '@/utils/request' | ... | @@ -2,18 +2,6 @@ import request from '@/utils/request' |
| 2 | import SERVER from './config' | 2 | import SERVER from './config' |
| 3 | 3 | ||
| 4 | /* | 4 | /* |
| 5 | 业务办理-选择单元-查询宗地基本信息 | ||
| 6 | */ | ||
| 7 | export function selectZdjbxx (data) { | ||
| 8 | return request({ | ||
| 9 | url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectZdjbxx', | ||
| 10 | method: 'post', | ||
| 11 | data | ||
| 12 | }) | ||
| 13 | } | ||
| 14 | |||
| 15 | |||
| 16 | /* | ||
| 17 | 业务办理-选择单元-查询建设用地、宅基地信息 | 5 | 业务办理-选择单元-查询建设用地、宅基地信息 |
| 18 | */ | 6 | */ |
| 19 | export function selectJsydQlxx (data) { | 7 | export function selectJsydQlxx (data) { |
| ... | @@ -24,29 +12,6 @@ export function selectJsydQlxx (data) { | ... | @@ -24,29 +12,6 @@ export function selectJsydQlxx (data) { |
| 24 | }) | 12 | }) |
| 25 | } | 13 | } |
| 26 | 14 | ||
| 27 | /* | ||
| 28 | 业务办理-选择单元-查询自然幢信息 | ||
| 29 | */ | ||
| 30 | export function selectZrz (data) { | ||
| 31 | return request({ | ||
| 32 | url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectZrz', | ||
| 33 | method: 'post', | ||
| 34 | data | ||
| 35 | }) | ||
| 36 | } | ||
| 37 | |||
| 38 | /* | ||
| 39 | 业务办理-选择单元-查询户信息 | ||
| 40 | */ | ||
| 41 | export function selectH (data) { | ||
| 42 | return request({ | ||
| 43 | url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectH', | ||
| 44 | method: 'post', | ||
| 45 | data | ||
| 46 | }) | ||
| 47 | } | ||
| 48 | |||
| 49 | |||
| 50 | // 获取自然幢下其他户 | 15 | // 获取自然幢下其他户 |
| 51 | export function selectOtherH (data) { | 16 | export function selectOtherH (data) { |
| 52 | return request({ | 17 | return request({ |
| ... | @@ -67,17 +32,6 @@ export function selectOtherH (data) { | ... | @@ -67,17 +32,6 @@ export function selectOtherH (data) { |
| 67 | // showLoading: true | 32 | // showLoading: true |
| 68 | // }) | 33 | // }) |
| 69 | // } | 34 | // } |
| 70 | |||
| 71 | /* | ||
| 72 | 业务办理-选择权利信息-根据条件进行列表查询 | ||
| 73 | */ | ||
| 74 | export function selectQlxx (data) { | ||
| 75 | return request({ | ||
| 76 | url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectQlxx', | ||
| 77 | method: 'post', | ||
| 78 | data | ||
| 79 | }) | ||
| 80 | } | ||
| 81 | /* | 35 | /* |
| 82 | 业务办理-选择抵押权信息-根据条件进行列表查询 | 36 | 业务办理-选择抵押权信息-根据条件进行列表查询 |
| 83 | */ | 37 | */ |
| ... | @@ -117,11 +71,3 @@ export function choiceBdcdy (data) { | ... | @@ -117,11 +71,3 @@ export function choiceBdcdy (data) { |
| 117 | }) | 71 | }) |
| 118 | } | 72 | } |
| 119 | 73 | ||
| 120 | // 业务办理-选择农用地信息-根据条件进行列表查询 | ||
| 121 | export function selectNydsyqQlxx (data) { | ||
| 122 | return request({ | ||
| 123 | url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectNydsyqQlxx', | ||
| 124 | method: 'post', | ||
| 125 | data | ||
| 126 | }) | ||
| 127 | } | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -164,7 +164,7 @@ export function selectOtherH (data) { | ... | @@ -164,7 +164,7 @@ export function selectOtherH (data) { |
| 164 | } | 164 | } |
| 165 | 165 | ||
| 166 | // 认领任务 | 166 | // 认领任务 |
| 167 | export function claimTask (bsmSlsq,bestepid) { | 167 | export function claimTask (bsmSlsq, bestepid) { |
| 168 | return request({ | 168 | return request({ |
| 169 | url: SERVER.SERVERAPI + '/rest/business/workFlow/claimTask?bsmSlsq=' + bsmSlsq + '&bestepid=' + bestepid, | 169 | url: SERVER.SERVERAPI + '/rest/business/workFlow/claimTask?bsmSlsq=' + bsmSlsq + '&bestepid=' + bestepid, |
| 170 | method: 'get', | 170 | method: 'get', |
| ... | @@ -172,9 +172,50 @@ export function claimTask (bsmSlsq,bestepid) { | ... | @@ -172,9 +172,50 @@ export function claimTask (bsmSlsq,bestepid) { |
| 172 | } | 172 | } |
| 173 | 173 | ||
| 174 | // 取消认领任务 | 174 | // 取消认领任务 |
| 175 | export function unClaimTask (bsmSlsq,bestepid) { | 175 | export function unClaimTask (bsmSlsq, bestepid) { |
| 176 | return request({ | 176 | return request({ |
| 177 | url: SERVER.SERVERAPI + '/rest/business/workFlow/unClaimTask?bsmSlsq=' + bsmSlsq + '&bestepid=' + bestepid, | 177 | url: SERVER.SERVERAPI + '/rest/business/workFlow/unClaimTask?bsmSlsq=' + bsmSlsq + '&bestepid=' + bestepid, |
| 178 | method: 'get', | 178 | method: 'get', |
| 179 | }) | 179 | }) |
| 180 | } | ||
| 181 | |||
| 182 | // 业务办理-选择农用地信息-根据条件进行列表查询 | ||
| 183 | export function selectNydsyqQlxx (data) { | ||
| 184 | return request({ | ||
| 185 | url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectNydsyqQlxx', | ||
| 186 | method: 'post', | ||
| 187 | data | ||
| 188 | }) | ||
| 189 | } | ||
| 190 | |||
| 191 | /* | ||
| 192 | 业务办理-选择单元-查询宗地基本信息 | ||
| 193 | */ | ||
| 194 | export function selectZdjbxx (data) { | ||
| 195 | return request({ | ||
| 196 | url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectZdjbxx', | ||
| 197 | method: 'post', | ||
| 198 | data | ||
| 199 | }) | ||
| 200 | } | ||
| 201 | /* | ||
| 202 | 业务办理-选择单元-查询自然幢信息 | ||
| 203 | */ | ||
| 204 | export function selectZrz (data) { | ||
| 205 | return request({ | ||
| 206 | url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectZrz', | ||
| 207 | method: 'post', | ||
| 208 | data | ||
| 209 | }) | ||
| 210 | } | ||
| 211 | |||
| 212 | /* | ||
| 213 | 业务办理-选择单元-查询户信息 | ||
| 214 | */ | ||
| 215 | export function selectH (data) { | ||
| 216 | return request({ | ||
| 217 | url: SERVER.SERVERAPI + '/rest/ywbl/ywsq/selectH', | ||
| 218 | method: 'post', | ||
| 219 | data | ||
| 220 | }) | ||
| 180 | } | 221 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
src/components/Calendar/calendar.js
deleted
100644 → 0
This diff is collapsed.
Click to expand it.
src/components/Calendar/index.vue
deleted
100644 → 0
| 1 | |||
| 2 | <template> | ||
| 3 | <el-calendar v-model="date"> | ||
| 4 | <template slot="dateCell" slot-scope="{date, data}"> | ||
| 5 | <div :class="{ selected: isSelected(date, data) }"> | ||
| 6 | <div class="solar">{{ data.day.split('-')[2] }}</div> | ||
| 7 | <div class="lunar" :class="{ festival: isFestival(date, data) }">{{ solarToLunar(date, data) }}</div> | ||
| 8 | </div> | ||
| 9 | </template> | ||
| 10 | </el-calendar> | ||
| 11 | </template> | ||
| 12 | |||
| 13 | <script> | ||
| 14 | import calendar from './calendar' | ||
| 15 | export default { | ||
| 16 | name: 'calendar', | ||
| 17 | data () { | ||
| 18 | return { | ||
| 19 | date: new Date(), | ||
| 20 | // 根据selectedDates设置选中日期 | ||
| 21 | selectedDates: [] | ||
| 22 | } | ||
| 23 | }, | ||
| 24 | methods: { | ||
| 25 | // 是否选中日期 | ||
| 26 | isSelected: function (slotDate, slotData) { | ||
| 27 | return this.selectedDates.includes(slotData.day) | ||
| 28 | }, | ||
| 29 | // 是否节假日 | ||
| 30 | isFestival (slotDate, slotData) { | ||
| 31 | let solarDayArr = slotData.day.split('-'); | ||
| 32 | let lunarDay = calendar.solar2lunar(solarDayArr[0], solarDayArr[1], solarDayArr[2]) | ||
| 33 | |||
| 34 | // 公历节日\农历节日\农历节气 | ||
| 35 | let festAndTerm = []; | ||
| 36 | festAndTerm.push(lunarDay.festival == null ? '' : ' ' + lunarDay.festival) | ||
| 37 | festAndTerm.push(lunarDay.lunarFestival == null ? '' : '' + lunarDay.lunarFestival) | ||
| 38 | festAndTerm.push(lunarDay.Term == null ? '' : '' + lunarDay.Term) | ||
| 39 | festAndTerm = festAndTerm.join('') | ||
| 40 | |||
| 41 | return festAndTerm != '' | ||
| 42 | }, | ||
| 43 | // 公历转农历 | ||
| 44 | solarToLunar (slotDate, slotData) { | ||
| 45 | let solarDayArr = slotData.day.split('-'); | ||
| 46 | let lunarDay = calendar.solar2lunar(solarDayArr[0], solarDayArr[1], solarDayArr[2]) | ||
| 47 | |||
| 48 | // 农历日期 | ||
| 49 | let lunarMD = lunarDay.IMonthCn + lunarDay.IDayCn | ||
| 50 | |||
| 51 | // 公历节日\农历节日\农历节气 | ||
| 52 | let festAndTerm = []; | ||
| 53 | festAndTerm.push(lunarDay.festival == null ? '' : ' ' + lunarDay.festival) | ||
| 54 | festAndTerm.push(lunarDay.lunarFestival == null ? '' : '' + lunarDay.lunarFestival) | ||
| 55 | festAndTerm.push(lunarDay.Term == null ? '' : '' + lunarDay.Term) | ||
| 56 | festAndTerm = festAndTerm.join('') | ||
| 57 | |||
| 58 | return festAndTerm == '' ? lunarMD : festAndTerm | ||
| 59 | } | ||
| 60 | } | ||
| 61 | } | ||
| 62 | </script> | ||
| 63 | |||
| 64 | <style scoped> | ||
| 65 | /**隐藏上一月、本月、下一月*/ | ||
| 66 | .el-calendar__button-group { | ||
| 67 | display: none; | ||
| 68 | } | ||
| 69 | |||
| 70 | /deep/.el-calendar__body { | ||
| 71 | padding: 8px; | ||
| 72 | } | ||
| 73 | |||
| 74 | /deep/.el-calendar-table .el-calendar-day { | ||
| 75 | height: auto; | ||
| 76 | padding: 5px; | ||
| 77 | } | ||
| 78 | |||
| 79 | /**月份居中*/ | ||
| 80 | .el-calendar__title { | ||
| 81 | width: 100%; | ||
| 82 | text-align: center; | ||
| 83 | } | ||
| 84 | |||
| 85 | /deep/.el-calendar-table thead th { | ||
| 86 | padding: 0 0 6px 0 !important; | ||
| 87 | } | ||
| 88 | |||
| 89 | /deep/.el-calendar-day { | ||
| 90 | padding: 3px !important; | ||
| 91 | } | ||
| 92 | |||
| 93 | /deep/.el-calendar-table td.is-today { | ||
| 94 | font-weight: 700; | ||
| 95 | } | ||
| 96 | |||
| 97 | /deep/.el-calendar-table td.is-selected { | ||
| 98 | background-color: rgb(179, 216, 255); | ||
| 99 | } | ||
| 100 | |||
| 101 | /deep/.el-calendar__header { | ||
| 102 | padding: 8px 15px; | ||
| 103 | } | ||
| 104 | |||
| 105 | /**日期div的样式*/ | ||
| 106 | .el-calendar-table tr td:first-child { | ||
| 107 | border-left: 0px; | ||
| 108 | } | ||
| 109 | |||
| 110 | .el-calendar-table td { | ||
| 111 | min-height: 110px; | ||
| 112 | min-width: 110px; | ||
| 113 | border-right: 0px; | ||
| 114 | } | ||
| 115 | |||
| 116 | .el-calendar-table td.is-selected { | ||
| 117 | background-color: white; | ||
| 118 | } | ||
| 119 | |||
| 120 | .el-calendar-table .el-calendar-day { | ||
| 121 | padding: 0px; | ||
| 122 | text-align: center; | ||
| 123 | } | ||
| 124 | |||
| 125 | .el-calendar-table .el-calendar-day>div { | ||
| 126 | text-align: center | ||
| 127 | } | ||
| 128 | |||
| 129 | /**日期div的样式-公历*/ | ||
| 130 | .el-calendar-table .el-calendar-day>div .solar { | ||
| 131 | text-align: center; | ||
| 132 | margin-top: 3px; | ||
| 133 | } | ||
| 134 | |||
| 135 | /**日期div的样式-农历*/ | ||
| 136 | .el-calendar-table .el-calendar-day>div .lunar { | ||
| 137 | padding-top: 5px; | ||
| 138 | font-size: 12px; | ||
| 139 | text-align: center; | ||
| 140 | margin-bottom: 5px; | ||
| 141 | } | ||
| 142 | |||
| 143 | /**日期div的样式-选中*/ | ||
| 144 | .el-calendar-table .el-calendar-day>div.selected { | ||
| 145 | background-color: #fef2f2; | ||
| 146 | border: 3px solid #fb0; | ||
| 147 | border-radius: 20px; | ||
| 148 | text-align: center | ||
| 149 | } | ||
| 150 | |||
| 151 | /**本月周末设置为红色*/ | ||
| 152 | /* .el-calendar-table .current:nth-last-child(-n+2) .solar { | ||
| 153 | color: red; | ||
| 154 | } */ | ||
| 155 | |||
| 156 | /**本月农历设置为灰色*/ | ||
| 157 | .el-calendar-table .current .lunar { | ||
| 158 | color: #606266; | ||
| 159 | font-size: 12px; | ||
| 160 | } | ||
| 161 | |||
| 162 | /**本月农历节日设置为红色*/ | ||
| 163 | .el-calendar-table .current .lunar.festival { | ||
| 164 | color: red; | ||
| 165 | } | ||
| 166 | |||
| 167 | .el-calendar-table td { | ||
| 168 | border-right: none !important; | ||
| 169 | } | ||
| 170 | |||
| 171 | /**禁用点击效果*/ | ||
| 172 | /*.el-calendar-table td {*/ | ||
| 173 | /*pointer-events: none;*/ | ||
| 174 | /*}*/ | ||
| 175 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/components/calendar/calendar.js
deleted
100644 → 0
This diff is collapsed.
Click to expand it.
src/components/calendar/index.vue
deleted
100644 → 0
| 1 | |||
| 2 | <template> | ||
| 3 | <el-calendar v-model="date"> | ||
| 4 | <template slot="dateCell" slot-scope="{date, data}"> | ||
| 5 | <div :class="{ selected: isSelected(date, data) }"> | ||
| 6 | <div class="solar">{{ data.day.split('-')[2] }}</div> | ||
| 7 | <div class="lunar" :class="{ festival: isFestival(date, data) }">{{ solarToLunar(date, data) }}</div> | ||
| 8 | </div> | ||
| 9 | </template> | ||
| 10 | </el-calendar> | ||
| 11 | </template> | ||
| 12 | |||
| 13 | <script> | ||
| 14 | import calendar from './calendar' | ||
| 15 | export default { | ||
| 16 | name: 'calendar', | ||
| 17 | data () { | ||
| 18 | return { | ||
| 19 | date: new Date(), | ||
| 20 | // 根据selectedDates设置选中日期 | ||
| 21 | selectedDates: [] | ||
| 22 | } | ||
| 23 | }, | ||
| 24 | methods: { | ||
| 25 | // 是否选中日期 | ||
| 26 | isSelected: function (slotDate, slotData) { | ||
| 27 | return this.selectedDates.includes(slotData.day) | ||
| 28 | }, | ||
| 29 | // 是否节假日 | ||
| 30 | isFestival (slotDate, slotData) { | ||
| 31 | let solarDayArr = slotData.day.split('-'); | ||
| 32 | let lunarDay = calendar.solar2lunar(solarDayArr[0], solarDayArr[1], solarDayArr[2]) | ||
| 33 | |||
| 34 | // 公历节日\农历节日\农历节气 | ||
| 35 | let festAndTerm = []; | ||
| 36 | festAndTerm.push(lunarDay.festival == null ? '' : ' ' + lunarDay.festival) | ||
| 37 | festAndTerm.push(lunarDay.lunarFestival == null ? '' : '' + lunarDay.lunarFestival) | ||
| 38 | festAndTerm.push(lunarDay.Term == null ? '' : '' + lunarDay.Term) | ||
| 39 | festAndTerm = festAndTerm.join('') | ||
| 40 | |||
| 41 | return festAndTerm != '' | ||
| 42 | }, | ||
| 43 | // 公历转农历 | ||
| 44 | solarToLunar (slotDate, slotData) { | ||
| 45 | let solarDayArr = slotData.day.split('-'); | ||
| 46 | let lunarDay = calendar.solar2lunar(solarDayArr[0], solarDayArr[1], solarDayArr[2]) | ||
| 47 | |||
| 48 | // 农历日期 | ||
| 49 | let lunarMD = lunarDay.IMonthCn + lunarDay.IDayCn | ||
| 50 | |||
| 51 | // 公历节日\农历节日\农历节气 | ||
| 52 | let festAndTerm = []; | ||
| 53 | festAndTerm.push(lunarDay.festival == null ? '' : ' ' + lunarDay.festival) | ||
| 54 | festAndTerm.push(lunarDay.lunarFestival == null ? '' : '' + lunarDay.lunarFestival) | ||
| 55 | festAndTerm.push(lunarDay.Term == null ? '' : '' + lunarDay.Term) | ||
| 56 | festAndTerm = festAndTerm.join('') | ||
| 57 | |||
| 58 | return festAndTerm == '' ? lunarMD : festAndTerm | ||
| 59 | } | ||
| 60 | } | ||
| 61 | } | ||
| 62 | </script> | ||
| 63 | |||
| 64 | <style scoped> | ||
| 65 | /**隐藏上一月、本月、下一月*/ | ||
| 66 | .el-calendar__button-group { | ||
| 67 | display: none; | ||
| 68 | } | ||
| 69 | |||
| 70 | /deep/.el-calendar__body { | ||
| 71 | padding: 8px; | ||
| 72 | } | ||
| 73 | |||
| 74 | /deep/.el-calendar-table .el-calendar-day { | ||
| 75 | height: auto; | ||
| 76 | padding: 5px; | ||
| 77 | } | ||
| 78 | |||
| 79 | /**月份居中*/ | ||
| 80 | .el-calendar__title { | ||
| 81 | width: 100%; | ||
| 82 | text-align: center; | ||
| 83 | } | ||
| 84 | |||
| 85 | /deep/.el-calendar-table thead th { | ||
| 86 | padding: 0 0 6px 0 !important; | ||
| 87 | } | ||
| 88 | |||
| 89 | /deep/.el-calendar-day { | ||
| 90 | padding: 3px !important; | ||
| 91 | } | ||
| 92 | |||
| 93 | /deep/.el-calendar-table td.is-today { | ||
| 94 | font-weight: 700; | ||
| 95 | } | ||
| 96 | |||
| 97 | /deep/.el-calendar-table td.is-selected { | ||
| 98 | background-color: rgb(179, 216, 255); | ||
| 99 | } | ||
| 100 | |||
| 101 | /deep/.el-calendar__header { | ||
| 102 | padding: 8px 15px; | ||
| 103 | } | ||
| 104 | |||
| 105 | /**日期div的样式*/ | ||
| 106 | .el-calendar-table tr td:first-child { | ||
| 107 | border-left: 0px; | ||
| 108 | } | ||
| 109 | |||
| 110 | .el-calendar-table td { | ||
| 111 | min-height: 110px; | ||
| 112 | min-width: 110px; | ||
| 113 | border-right: 0px; | ||
| 114 | } | ||
| 115 | |||
| 116 | .el-calendar-table td.is-selected { | ||
| 117 | background-color: white; | ||
| 118 | } | ||
| 119 | |||
| 120 | .el-calendar-table .el-calendar-day { | ||
| 121 | padding: 0px; | ||
| 122 | text-align: center; | ||
| 123 | } | ||
| 124 | |||
| 125 | .el-calendar-table .el-calendar-day>div { | ||
| 126 | text-align: center | ||
| 127 | } | ||
| 128 | |||
| 129 | /**日期div的样式-公历*/ | ||
| 130 | .el-calendar-table .el-calendar-day>div .solar { | ||
| 131 | text-align: center; | ||
| 132 | margin-top: 3px; | ||
| 133 | } | ||
| 134 | |||
| 135 | /**日期div的样式-农历*/ | ||
| 136 | .el-calendar-table .el-calendar-day>div .lunar { | ||
| 137 | padding-top: 5px; | ||
| 138 | font-size: 12px; | ||
| 139 | text-align: center; | ||
| 140 | margin-bottom: 5px; | ||
| 141 | } | ||
| 142 | |||
| 143 | /**日期div的样式-选中*/ | ||
| 144 | .el-calendar-table .el-calendar-day>div.selected { | ||
| 145 | background-color: #fef2f2; | ||
| 146 | border: 3px solid #fb0; | ||
| 147 | border-radius: 20px; | ||
| 148 | text-align: center | ||
| 149 | } | ||
| 150 | |||
| 151 | /**本月周末设置为红色*/ | ||
| 152 | /* .el-calendar-table .current:nth-last-child(-n+2) .solar { | ||
| 153 | color: red; | ||
| 154 | } */ | ||
| 155 | |||
| 156 | /**本月农历设置为灰色*/ | ||
| 157 | .el-calendar-table .current .lunar { | ||
| 158 | color: #606266; | ||
| 159 | font-size: 12px; | ||
| 160 | } | ||
| 161 | |||
| 162 | /**本月农历节日设置为红色*/ | ||
| 163 | .el-calendar-table .current .lunar.festival { | ||
| 164 | color: red; | ||
| 165 | } | ||
| 166 | |||
| 167 | .el-calendar-table td { | ||
| 168 | border-right: none !important; | ||
| 169 | } | ||
| 170 | |||
| 171 | /**禁用点击效果*/ | ||
| 172 | /*.el-calendar-table td {*/ | ||
| 173 | /*pointer-events: none;*/ | ||
| 174 | /*}*/ | ||
| 175 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -9,10 +9,17 @@ | ... | @@ -9,10 +9,17 @@ |
| 9 | </div> | 9 | </div> |
| 10 | <div class="right-menu"> | 10 | <div class="right-menu"> |
| 11 | <svg-icon class="function" icon-class='function' /> | 11 | <svg-icon class="function" icon-class='function' /> |
| 12 | <div class="avatar-wrapper right-menu-item hover-effect"> | 12 | <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover" @command="handleCommand"> |
| 13 | <img :src="avatar + '?imageView2/1/w/80/h/80'" class="user-avatar" /> | 13 | <div class="avatar-wrapper"> |
| 14 | <span style="margin-left: 10px;">{{ name }}</span> | 14 | <span style="padding-right:10px">{{ name }}</span> |
| 15 | </div> | 15 | <img :src="avatar + '?imageView2/1/w/80/h/80'" class="user-avatar" /> |
| 16 | <!-- <i class="el-icon-caret-bottom" /> --> | ||
| 17 | </div> | ||
| 18 | <el-dropdown-menu slot="dropdown"> | ||
| 19 | <el-dropdown-item command="a">个人中心</el-dropdown-item> | ||
| 20 | </el-dropdown-menu> | ||
| 21 | </el-dropdown> | ||
| 22 | |||
| 16 | 23 | ||
| 17 | <svg-icon class="shutdown" icon-class='shutdown' /> | 24 | <svg-icon class="shutdown" icon-class='shutdown' /> |
| 18 | </div> | 25 | </div> |
| ... | @@ -60,11 +67,6 @@ export default { | ... | @@ -60,11 +67,6 @@ export default { |
| 60 | if (command == 'a') { | 67 | if (command == 'a') { |
| 61 | //个人中心 | 68 | //个人中心 |
| 62 | this.$router.push({ name: 'personal' }) | 69 | this.$router.push({ name: 'personal' }) |
| 63 | } else if (command == 'f') { | ||
| 64 | // 退出 | ||
| 65 | this.$store.dispatch('user/logout') | ||
| 66 | this.$router.push(`/login?redirect=${this.$route.fullPath}`) | ||
| 67 | window.sessionStorage.clear() | ||
| 68 | } | 70 | } |
| 69 | } | 71 | } |
| 70 | } | 72 | } | ... | ... |
| ... | @@ -38,13 +38,7 @@ export const constantRoutes = [ | ... | @@ -38,13 +38,7 @@ export const constantRoutes = [ |
| 38 | name: 'workFrameView', | 38 | name: 'workFrameView', |
| 39 | hidden: true, | 39 | hidden: true, |
| 40 | meta: { title: '发起申请' } | 40 | meta: { title: '发起申请' } |
| 41 | } | 41 | }, |
| 42 | ] | ||
| 43 | /** | ||
| 44 | * asyncRoutes | ||
| 45 | * the routes that need to be dynamically loaded based on user roles | ||
| 46 | */ | ||
| 47 | export const asyncRoutes = [ | ||
| 48 | { | 42 | { |
| 49 | path: '/', | 43 | path: '/', |
| 50 | component: Layout, | 44 | component: Layout, |
| ... | @@ -59,6 +53,12 @@ export const asyncRoutes = [ | ... | @@ -59,6 +53,12 @@ export const asyncRoutes = [ |
| 59 | } | 53 | } |
| 60 | ] | 54 | ] |
| 61 | }, | 55 | }, |
| 56 | ] | ||
| 57 | /** | ||
| 58 | * asyncRoutes | ||
| 59 | * the routes that need to be dynamically loaded based on user roles | ||
| 60 | */ | ||
| 61 | export const asyncRoutes = [ | ||
| 62 | { | 62 | { |
| 63 | path: '/ywbl', | 63 | path: '/ywbl', |
| 64 | id: '2', | 64 | id: '2', | ... | ... |
| ... | @@ -20,7 +20,8 @@ const actions = { | ... | @@ -20,7 +20,8 @@ const actions = { |
| 20 | return new Promise(resolve => { | 20 | return new Promise(resolve => { |
| 21 | // 将权限菜单数组转成路由树数据结构 | 21 | // 将权限菜单数组转成路由树数据结构 |
| 22 | let permission_tree = asyncRouter(getMenuInfo) | 22 | let permission_tree = asyncRouter(getMenuInfo) |
| 23 | commit('SET_ROUTES', permission_tree) | 23 | const mergeResult = _.cloneDeep(constantRoutes).concat(permission_tree); |
| 24 | commit('SET_ROUTES', mergeResult) | ||
| 24 | resolve(permission_tree) | 25 | resolve(permission_tree) |
| 25 | }) | 26 | }) |
| 26 | }, | 27 | }, | ... | ... |
| ... | @@ -6,7 +6,7 @@ export default function filterAsyncRouter (routers) { | ... | @@ -6,7 +6,7 @@ export default function filterAsyncRouter (routers) { |
| 6 | } else { | 6 | } else { |
| 7 | item.children = filterAsyncRouter(item.children) | 7 | item.children = filterAsyncRouter(item.children) |
| 8 | } | 8 | } |
| 9 | item.path = JSON.parse(item.metadata).path | 9 | item.path = JSON.parse(item.metadata).path ? JSON.parse(item.metadata).path : '/' |
| 10 | if (!item.parentId) { | 10 | if (!item.parentId) { |
| 11 | item.component = Layout | 11 | item.component = Layout |
| 12 | } else { | 12 | } else { | ... | ... |
| ... | @@ -34,11 +34,18 @@ service.interceptors.request.use( | ... | @@ -34,11 +34,18 @@ service.interceptors.request.use( |
| 34 | service.interceptors.response.use( | 34 | service.interceptors.response.use( |
| 35 | response => { | 35 | response => { |
| 36 | /** | 36 | /** |
| 37 | * 对响应数据判断: | 37 | * 对响应数据判断: |
| 38 | * 如果成功返回数据,就通过return把数据返出去 | 38 | * 如果成功返回数据,就通过return把数据返出去 |
| 39 | * 如果请求不成功,就在拦截器这里统一处理(组件的代码就不用关注错误的情况了) | 39 | * 如果请求不成功,就在拦截器这里统一处理(组件的代码就不用关注错误的情况了) |
| 40 | */ | 40 | */ |
| 41 | if (response.status == 200) { | 41 | if (response.status == 200) { |
| 42 | if (response.data.code == 500) { | ||
| 43 | Message({ | ||
| 44 | message: response.data.message, | ||
| 45 | type: 'error', | ||
| 46 | duration: 5 * 1000 | ||
| 47 | }) | ||
| 48 | } | ||
| 42 | return response.data; | 49 | return response.data; |
| 43 | } else { | 50 | } else { |
| 44 | handleErrorData(response.data); | 51 | handleErrorData(response.data); | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <dialogBox title="配置常办项目" @submitForm="submitForm" saveButton="保存" :isFullscreen="false" width="50%" | 2 | <dialogBox title="配置常办项目" @submitForm="submitForm" saveButton="保存" :isFullscreen="false" width="50%" |
| 3 | @closeDialog="closeDialog" v-model="value"> | 3 | @closeDialog="closeDialog" v-model="value"> |
| 4 | <el-form ref="ruleForm" :model="ruleForm" label-width="100px" > | 4 | <el-form ref="ruleForm" :model="ruleForm" label-width="100px"> |
| 5 | <el-tree | 5 | <el-tree :data="projectList" show-checkbox node-key="id" ref="tree" default-expand-all :props="defaultProps" |
| 6 | :data="projectList" | 6 | @check-change="handleClick"></el-tree> |
| 7 | show-checkbox | ||
| 8 | node-key="id" | ||
| 9 | ref="tree" | ||
| 10 | check-strictly | ||
| 11 | :highlight-current='true' | ||
| 12 | :check-on-click-node="true" | ||
| 13 | :accordion="true" | ||
| 14 | :props="defaultProps" | ||
| 15 | :default-expand-all="true" | ||
| 16 | @check-change="handleClick" | ||
| 17 | ></el-tree> | ||
| 18 | </el-form> | 7 | </el-form> |
| 19 | </dialogBox> | 8 | </dialogBox> |
| 20 | </template> | 9 | </template> |
| 21 | <script> | 10 | <script> |
| 22 | import { getMenuInfo} from "@/api/user.js"; | 11 | import { getMenuInfo } from "@/api/user.js"; |
| 23 | import { saveFrequentProjectsList } from "@/api/home.js"; | 12 | import { saveFrequentProjectsList } from "@/api/home.js"; |
| 24 | export default { | 13 | export default { |
| 25 | props: { | 14 | props: { |
| 26 | value: { type: Boolean, default: false }, | 15 | value: { type: Boolean, default: false }, |
| 27 | bindItem: {type:Array, default: []} | 16 | bindItem: { type: Array, default: [] } |
| 28 | }, | 17 | }, |
| 29 | data () { | 18 | data () { |
| 30 | return { | 19 | return { |
| ... | @@ -36,60 +25,64 @@ export default { | ... | @@ -36,60 +25,64 @@ export default { |
| 36 | defaultProps: { | 25 | defaultProps: { |
| 37 | children: "children", | 26 | children: "children", |
| 38 | label: "name", | 27 | label: "name", |
| 39 | disabled:function(data,node){ | 28 | disabled: function (data, node) { |
| 40 | if(data.children && data.children.length > 0){ | 29 | if (data.children && data.children.length > 0) { |
| 41 | return true | 30 | return true |
| 42 | }else{ | 31 | } else { |
| 43 | return false | 32 | return false |
| 44 | } | 33 | } |
| 45 | } | 34 | } |
| 46 | }, | 35 | }, |
| 47 | uniqueValue:''//最后拿到的唯一选择的moduldCode值,相当于id | 36 | uniqueValue: ''//最后拿到的唯一选择的moduldCode值,相当于id |
| 48 | } | 37 | } |
| 49 | }, | 38 | }, |
| 50 | mounted () { | 39 | mounted () { |
| 51 | this.queryClick() | 40 | this.queryClick() |
| 52 | this.dealCheckedItem(); | 41 | this.dealCheckedItem(); |
| 53 | }, | 42 | }, |
| 54 | methods: { | 43 | methods: { |
| 55 | submitForm () { | 44 | submitForm () { |
| 56 | var checkedNodes = this.$refs.tree.getCheckedNodes(); | 45 | var checkedNodes = this.$refs.tree.getCheckedNodes(); |
| 57 | if(checkedNodes.length > 6){ | 46 | if (checkedNodes.length > 6) { |
| 58 | this.$message.error("最多选择6个项目!"); | 47 | this.$message.error("最多选择6个项目!"); |
| 59 | return | 48 | return |
| 49 | } | ||
| 50 | saveFrequentProjectsList(checkedNodes).then(res => { | ||
| 51 | if (res.code == 200) { | ||
| 52 | this.$parent.queryProjectList(); | ||
| 53 | this.$message.success("保存成功"); | ||
| 54 | this.$emit("input", false); | ||
| 55 | } else { | ||
| 56 | this.$message.error(res.message); | ||
| 60 | } | 57 | } |
| 61 | saveFrequentProjectsList(checkedNodes).then(res => { | 58 | }) |
| 62 | if(res.code == 200){ | ||
| 63 | this.$parent.queryProjectList(); | ||
| 64 | this.$message.success("保存成功"); | ||
| 65 | this.$emit("input", false); | ||
| 66 | }else{ | ||
| 67 | this.$message.error(res.message); | ||
| 68 | } | ||
| 69 | }) | ||
| 70 | }, | 59 | }, |
| 71 | queryClick(){ | 60 | queryClick () { |
| 72 | getMenuInfo().then(res => { | 61 | getMenuInfo().then(res => { |
| 73 | this.projectList = res.result | 62 | this.projectList = res.result |
| 74 | }) | 63 | }) |
| 75 | }, | 64 | }, |
| 76 | dealCheckedItem(){ | 65 | dealCheckedItem () { |
| 77 | }, | 66 | }, |
| 78 | //关闭窗口 | 67 | //关闭窗口 |
| 79 | closeDialog () { | 68 | closeDialog () { |
| 80 | this.$emit("input", false); | 69 | this.$emit("input", false); |
| 81 | }, | 70 | }, |
| 82 | //节点选择状态发生改变时 | 71 | //节点选择状态发生改变时 |
| 83 | handleClick(data,checked, node){ | 72 | handleClick (data, checked, node) { |
| 84 | var checkedNodes = this.$refs.tree.getCheckedNodes(); | 73 | var checkedNodes = this.$refs.tree.getCheckedNodes(); |
| 85 | if(checked){ | 74 | if (checked) { |
| 86 | checkedNodes.push(data); | 75 | checkedNodes.push(data); |
| 87 | } | 76 | } |
| 88 | this.$refs.tree.setCheckedNodes(checkedNodes); | 77 | this.$refs.tree.setCheckedNodes(checkedNodes); |
| 89 | console.log(this.$refs.tree.getCheckedNodes()); | 78 | console.log(this.$refs.tree.getCheckedNodes()); |
| 90 | }, | 79 | }, |
| 91 | } | 80 | } |
| 92 | } | 81 | } |
| 93 | </script> | 82 | </script> |
| 94 | <style scoped lang='scss'> | 83 | <style scoped lang='scss'> |
| 84 | /deep/.el-tree-node.is-expanded>.el-tree-node__children { | ||
| 85 | display: flex; | ||
| 86 | flex-wrap: wrap; | ||
| 87 | } | ||
| 95 | </style> | 88 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -14,7 +14,7 @@ | ... | @@ -14,7 +14,7 @@ |
| 14 | 14 | ||
| 15 | li { | 15 | li { |
| 16 | width: 32.5%; | 16 | width: 32.5%; |
| 17 | height: 118px; | 17 | height: 90px; |
| 18 | @include flex-center; | 18 | @include flex-center; |
| 19 | flex-direction: column; | 19 | flex-direction: column; |
| 20 | color: #fff; | 20 | color: #fff; |
| ... | @@ -58,6 +58,7 @@ | ... | @@ -58,6 +58,7 @@ |
| 58 | width: 75%; | 58 | width: 75%; |
| 59 | } | 59 | } |
| 60 | 60 | ||
| 61 | |||
| 61 | ul { | 62 | ul { |
| 62 | li { | 63 | li { |
| 63 | line-height: 36px; | 64 | line-height: 36px; |
| ... | @@ -71,12 +72,14 @@ | ... | @@ -71,12 +72,14 @@ |
| 71 | 72 | ||
| 72 | .box-mountNode { | 73 | .box-mountNode { |
| 73 | flex: 1; | 74 | flex: 1; |
| 74 | height: calc(100% - 510px); | 75 | height: calc(100% - 490px); |
| 75 | } | 76 | } |
| 76 | 77 | ||
| 77 | .home-right { | 78 | .home-right { |
| 78 | padding-left: 4px; | 79 | padding-left: 4px; |
| 79 | width: 30%; | 80 | width: 30%; |
| 81 | display: flex; | ||
| 82 | flex-direction: column; | ||
| 80 | 83 | ||
| 81 | .list-title { | 84 | .list-title { |
| 82 | overflow: hidden; | 85 | overflow: hidden; |
| ... | @@ -84,6 +87,16 @@ | ... | @@ -84,6 +87,16 @@ |
| 84 | white-space: nowrap; | 87 | white-space: nowrap; |
| 85 | } | 88 | } |
| 86 | 89 | ||
| 90 | #loginTime { | ||
| 91 | height: 100%; | ||
| 92 | padding-bottom: 90px; | ||
| 93 | } | ||
| 94 | |||
| 95 | .dynamicInfo { | ||
| 96 | flex: 1; | ||
| 97 | height: 100%; | ||
| 98 | } | ||
| 99 | |||
| 87 | ul { | 100 | ul { |
| 88 | li { | 101 | li { |
| 89 | line-height: 36px; | 102 | line-height: 36px; | ... | ... |
| ... | @@ -3,14 +3,14 @@ | ... | @@ -3,14 +3,14 @@ |
| 3 | <div class="home-left"> | 3 | <div class="home-left"> |
| 4 | <el-row :gutter="8"> | 4 | <el-row :gutter="8"> |
| 5 | <el-col :span="12"> | 5 | <el-col :span="12"> |
| 6 | <el-card shadow="hover" :body-style="{ padding: '0' }" style="height:302px"> | 6 | <el-card shadow="hover" :body-style="{ padding: '0' }" style="height:260px"> |
| 7 | <div slot="header" class="flexst"> | 7 | <div slot="header" class="flexst"> |
| 8 | <h5 class="title">常办项目</h5> | 8 | <h5 class="title">常办项目</h5> |
| 9 | <el-button type="primary" @click="setFrequencyProject()">配置常办</el-button> | 9 | <el-button type="primary" @click="setFrequencyProject()">配置常办</el-button> |
| 10 | </div> | 10 | </div> |
| 11 | <ul class="workbench flexst"> | 11 | <ul class="workbench flexst"> |
| 12 | <li v-for="(item, index) in projectList" class="pointer" :key="index" | 12 | <li v-for="(item, index) in projectList" class="pointer" :key="index" |
| 13 | :style="{ backgroundColor: newsListData[index] }"> | 13 | :style="{ backgroundColor: newsListColor[index] }"> |
| 14 | <i class="el-icon-s-claim"></i> | 14 | <i class="el-icon-s-claim"></i> |
| 15 | {{ item.name }} | 15 | {{ item.name }} |
| 16 | </li> | 16 | </li> |
| ... | @@ -18,12 +18,12 @@ | ... | @@ -18,12 +18,12 @@ |
| 18 | </el-card> | 18 | </el-card> |
| 19 | </el-col> | 19 | </el-col> |
| 20 | <el-col :span="12"> | 20 | <el-col :span="12"> |
| 21 | <el-card shadow="hover" style="height:302px"> | 21 | <el-card shadow="hover" style="height:260px"> |
| 22 | <div slot="header" class="flexst"> | 22 | <div slot="header" class="flexst"> |
| 23 | <h5 class="title">系统通知</h5> | 23 | <h5 class="title">系统通知</h5> |
| 24 | <el-popover placement="right" width="50" trigger="hover"> | 24 | <el-popover placement="right" width="50" trigger="hover"> |
| 25 | <ul class="pointer"> | 25 | <ul class="pointer"> |
| 26 | <li @click="$store.dispatch('tagsView/addView', moreNotice)">查看更多</li> | 26 | <li @click="$store.dispatch('tagsView/addView', moreNotice)">查看更多</li> |
| 27 | </ul> | 27 | </ul> |
| 28 | <i class="el-icon-s-unfold pointer" slot="reference"></i> | 28 | <i class="el-icon-s-unfold pointer" slot="reference"></i> |
| 29 | </el-popover> | 29 | </el-popover> |
| ... | @@ -41,7 +41,7 @@ | ... | @@ -41,7 +41,7 @@ |
| 41 | </el-row> | 41 | </el-row> |
| 42 | <el-row :gutter="8" class="marginTop10"> | 42 | <el-row :gutter="8" class="marginTop10"> |
| 43 | <el-col :span="12"> | 43 | <el-col :span="12"> |
| 44 | <el-card shadow="hover" style="height:247px"> | 44 | <el-card shadow="hover" style="height:215px"> |
| 45 | <div slot="header" class="flexst"> | 45 | <div slot="header" class="flexst"> |
| 46 | <h5 class="title">待办事项</h5> | 46 | <h5 class="title">待办事项</h5> |
| 47 | <i class="el-icon-s-unfold pointer"></i> | 47 | <i class="el-icon-s-unfold pointer"></i> |
| ... | @@ -55,12 +55,12 @@ | ... | @@ -55,12 +55,12 @@ |
| 55 | </el-card> | 55 | </el-card> |
| 56 | </el-col> | 56 | </el-col> |
| 57 | <el-col :span="12"> | 57 | <el-col :span="12"> |
| 58 | <el-card shadow="hover" style="height:247px"> | 58 | <el-card shadow="hover" style="height:215px"> |
| 59 | <div slot="header" class="flexst"> | 59 | <div slot="header" class="flexst"> |
| 60 | <h5 class="title">政策法规</h5> | 60 | <h5 class="title">政策法规</h5> |
| 61 | <el-popover placement="right" width="50" trigger="hover"> | 61 | <el-popover placement="right" width="50" trigger="hover"> |
| 62 | <ul class="pointer"> | 62 | <ul class="pointer"> |
| 63 | <li @click="$store.dispatch('tagsView/addView', moreNotice)">查看更多</li> | 63 | <li @click="$store.dispatch('tagsView/addView', moreNotice)">查看更多</li> |
| 64 | </ul> | 64 | </ul> |
| 65 | <i class="el-icon-s-unfold pointer" slot="reference"></i> | 65 | <i class="el-icon-s-unfold pointer" slot="reference"></i> |
| 66 | </el-popover> | 66 | </el-popover> |
| ... | @@ -81,36 +81,66 @@ | ... | @@ -81,36 +81,66 @@ |
| 81 | </el-card> | 81 | </el-card> |
| 82 | </div> | 82 | </div> |
| 83 | <div class="home-right"> | 83 | <div class="home-right"> |
| 84 | <calendar /> | 84 | <el-card shadow="hover"> |
| 85 | <el-card shadow="hover" class="marginTop10" style="height:345px"> | 85 | <div slot="header" class="flexst"> |
| 86 | <h5 class="title">用户登录时间</h5> | ||
| 87 | </div> | ||
| 88 | <div id="loginTime"></div> | ||
| 89 | </el-card> | ||
| 90 | <el-card class="marginTop10" shadow="hover"> | ||
| 86 | <div slot="header" class="flexst"> | 91 | <div slot="header" class="flexst"> |
| 87 | <h5 class="title">动态信息</h5> | 92 | <h5 class="title">动态信息</h5> |
| 88 | <i class="el-icon-s-unfold pointer"></i> | 93 | <i class="el-icon-s-unfold pointer"></i> |
| 89 | </div> | 94 | </div> |
| 90 | <ul> | 95 | <ul> |
| 91 | <li v-for="(item, index) in doneList" :key="index" class="flexst"> | 96 | <li v-for="(item, index) in doneList" :key="index" class="flexst dynamicInfo"> |
| 92 | <p class="right15">{{ item.dealTime.substring(0, 10) }}</p> | 97 | <p class="right15">{{ item.dealTime.substring(0, 10) }}</p> |
| 93 | <p class="list-title">{{ item.dealBusiness }} ({{ item.dealStep + '环节' }})</p> | 98 | <p class="list-title">{{ item.dealBusiness }} ({{ item.dealStep + '环节' }})</p> |
| 94 | </li> | 99 | </li> |
| 95 | </ul> | 100 | </ul> |
| 96 | </el-card> | 101 | </el-card> |
| 97 | </div> | 102 | </div> |
| 98 | <addDialog ref="addProject" v-model="projectDialog" :bindItem="projectList"/> | 103 | <addDialog ref="addProject" v-model="projectDialog" :bindItem="projectList" /> |
| 99 | </div> | 104 | </div> |
| 100 | </template> | 105 | </template> |
| 101 | <script> | 106 | <script> |
| 102 | import * as G2 from '@antv/g2' | 107 | import * as G2 from '@antv/g2' |
| 103 | import calendar from '@/components/Calendar/index' | ||
| 104 | import vueSeamlessScroll from "vue-seamless-scroll" | 108 | import vueSeamlessScroll from "vue-seamless-scroll" |
| 105 | import { getHomeNoticeList, getHomeTodoList, getHomeDoneList,getHomeFrequentProjects } from "@/api/home.js"; | 109 | import { getHomeNoticeList, getHomeTodoList, getHomeDoneList, getHomeFrequentProjects } from "@/api/home.js"; |
| 106 | import { setReadStatus } from "@/api/notice.js"; | 110 | import { setReadStatus } from "@/api/notice.js"; |
| 107 | import addDialog from "./components/addProject.vue"; | 111 | import addDialog from "./components/addProject.vue"; |
| 108 | export default { | 112 | export default { |
| 109 | name: 'home', | 113 | name: 'home', |
| 110 | components: { calendar, vueSeamlessScroll,addDialog }, | 114 | components: { vueSeamlessScroll, addDialog }, |
| 111 | data () { | 115 | data () { |
| 112 | return { | 116 | return { |
| 113 | newsListData: ['#61AEFF','#43DEB3','#F3C143','#F09936','#9C92FF','#589FFF',], | 117 | listData: [ |
| 118 | { | ||
| 119 | icon: '', | ||
| 120 | title: '任务' | ||
| 121 | }, | ||
| 122 | { | ||
| 123 | icon: '', | ||
| 124 | title: '邮件' | ||
| 125 | }, | ||
| 126 | { | ||
| 127 | icon: '', | ||
| 128 | title: '消息' | ||
| 129 | }, | ||
| 130 | { | ||
| 131 | icon: '', | ||
| 132 | title: '日历' | ||
| 133 | }, | ||
| 134 | { | ||
| 135 | icon: '', | ||
| 136 | title: '常用功能' | ||
| 137 | }, | ||
| 138 | { | ||
| 139 | icon: '', | ||
| 140 | title: '申请' | ||
| 141 | } | ||
| 142 | ], | ||
| 143 | newsListColor: ['#61AEFF', '#43DEB3', '#F3C143', '#F09936', '#9C92FF', '#589FFF',], | ||
| 114 | chartData: [{ | 144 | chartData: [{ |
| 115 | year: '1991', | 145 | year: '1991', |
| 116 | value: 15468 | 146 | value: 15468 |
| ... | @@ -145,12 +175,13 @@ export default { | ... | @@ -145,12 +175,13 @@ export default { |
| 145 | fullPath: '/system/xttz/xttzview', | 175 | fullPath: '/system/xttz/xttzview', |
| 146 | name: '系统通知', | 176 | name: '系统通知', |
| 147 | path: '/system/xttz/xttzview', | 177 | path: '/system/xttz/xttzview', |
| 148 | meta: { title: '系统通知' } | 178 | meta: { title: '系统通知' } |
| 149 | }, | 179 | }, |
| 150 | } | 180 | } |
| 151 | }, | 181 | }, |
| 152 | mounted () { | 182 | mounted () { |
| 153 | this.buildChart();//构建图标 | 183 | this.buildChart();//构建图标 |
| 184 | this.loginTimeChart() | ||
| 154 | this.queryTodoList();//获取待办列表 | 185 | this.queryTodoList();//获取待办列表 |
| 155 | this.queryDoneList();//获取已办列表 | 186 | this.queryDoneList();//获取已办列表 |
| 156 | this.queryNoticeList();//获取通知、法律法规列表 | 187 | this.queryNoticeList();//获取通知、法律法规列表 |
| ... | @@ -190,10 +221,12 @@ export default { | ... | @@ -190,10 +221,12 @@ export default { |
| 190 | }) | 221 | }) |
| 191 | }, | 222 | }, |
| 192 | //获取常办项目列表 | 223 | //获取常办项目列表 |
| 193 | queryProjectList(){ | 224 | queryProjectList () { |
| 194 | getHomeFrequentProjects().then(res => { | 225 | getHomeFrequentProjects().then(res => { |
| 195 | if(res.result){ | 226 | if (res.result && res.result.length > 0) { |
| 196 | this.projectList = res.result | 227 | this.projectList = res.result |
| 228 | } else { | ||
| 229 | this.projectList = this.listData | ||
| 197 | } | 230 | } |
| 198 | }) | 231 | }) |
| 199 | }, | 232 | }, |
| ... | @@ -241,13 +274,62 @@ export default { | ... | @@ -241,13 +274,62 @@ export default { |
| 241 | chart.line().position('year*value').size(2).shape('smooth'); | 274 | chart.line().position('year*value').size(2).shape('smooth'); |
| 242 | chart.render(); | 275 | chart.render(); |
| 243 | }, | 276 | }, |
| 277 | loginTimeChart () { | ||
| 278 | var data = [{ | ||
| 279 | item: '用户1', | ||
| 280 | count: 40, | ||
| 281 | percent: 0.4 | ||
| 282 | }, { | ||
| 283 | item: '用户2', | ||
| 284 | count: 21, | ||
| 285 | percent: 0.21 | ||
| 286 | }, { | ||
| 287 | item: '用户3', | ||
| 288 | count: 17, | ||
| 289 | percent: 0.17 | ||
| 290 | }] | ||
| 291 | var chart = new G2.Chart({ | ||
| 292 | container: 'loginTime', | ||
| 293 | height: 260 | ||
| 294 | }); | ||
| 295 | chart.source(data, { | ||
| 296 | percent: { | ||
| 297 | formatter: function formatter (val) { | ||
| 298 | val = val * 100 + '小时'; | ||
| 299 | return val; | ||
| 300 | } | ||
| 301 | } | ||
| 302 | }); | ||
| 303 | chart.coord('theta'); | ||
| 304 | chart.tooltip({ | ||
| 305 | showTitle: false | ||
| 306 | }); | ||
| 307 | chart.interval().position('percent').color('item').label('percent', { | ||
| 308 | offset: -40, | ||
| 309 | textStyle: { | ||
| 310 | textAlign: 'center', | ||
| 311 | shadowBlur: 2, | ||
| 312 | shadowColor: 'rgba(0, 0, 0, .45)' | ||
| 313 | } | ||
| 314 | }).tooltip('item*percent', function (item, percent) { | ||
| 315 | percent = percent * 100 + '小时'; | ||
| 316 | return { | ||
| 317 | name: item, | ||
| 318 | value: percent | ||
| 319 | }; | ||
| 320 | }).style({ | ||
| 321 | lineWidth: 1, | ||
| 322 | stroke: '#fff' | ||
| 323 | }); | ||
| 324 | chart.forceFit(); | ||
| 325 | chart.render(); | ||
| 326 | }, | ||
| 244 | //跳转到更多通知列表页面 | 327 | //跳转到更多通知列表页面 |
| 245 | jumpToMoreNotice(){ | 328 | jumpToMoreNotice () { |
| 246 | console.log(this.$route); | 329 | console.log(this.$route); |
| 247 | |||
| 248 | }, | 330 | }, |
| 249 | //配置常办项目 | 331 | //配置常办项目 |
| 250 | setFrequencyProject(){ | 332 | setFrequencyProject () { |
| 251 | this.projectDialog = true; | 333 | this.projectDialog = true; |
| 252 | }, | 334 | }, |
| 253 | handleNotice (item) { | 335 | handleNotice (item) { | ... | ... |
| ... | @@ -73,7 +73,7 @@ import searchBox from '../components/search.vue' | ... | @@ -73,7 +73,7 @@ import searchBox from '../components/search.vue' |
| 73 | import table from "@/utils/mixin/table" | 73 | import table from "@/utils/mixin/table" |
| 74 | import searchMin from "../components/mixin/index" | 74 | import searchMin from "../components/mixin/index" |
| 75 | import { datas, sendThis } from "./dbxdata" | 75 | import { datas, sendThis } from "./dbxdata" |
| 76 | import { searchTaskToDo, deleteFlow, claimTask } from "@/api/ywbl.js" | 76 | import { searchTaskToDo, deleteFlow, claimTask } from "@/api/ywbl" |
| 77 | export default { | 77 | export default { |
| 78 | name: "dbx", | 78 | name: "dbx", |
| 79 | components: { searchBox }, | 79 | components: { searchBox }, | ... | ... |
| ... | @@ -74,7 +74,7 @@ import { mapGetters } from 'vuex' | ... | @@ -74,7 +74,7 @@ import { mapGetters } from 'vuex' |
| 74 | import searchMin from "../components/mixin/index" | 74 | import searchMin from "../components/mixin/index" |
| 75 | import table from "@/utils/mixin/table" | 75 | import table from "@/utils/mixin/table" |
| 76 | import { datas, sendThis } from "./ybxdata" | 76 | import { datas, sendThis } from "./ybxdata" |
| 77 | import { searchTaskDone } from "@/api/ywbl.js" | 77 | import { searchTaskDone } from "@/api/ywbl" |
| 78 | import searchBox from '../components/search.vue' | 78 | import searchBox from '../components/search.vue' |
| 79 | export default { | 79 | export default { |
| 80 | name: "ybx", | 80 | name: "ybx", | ... | ... |
| ... | @@ -72,8 +72,7 @@ | ... | @@ -72,8 +72,7 @@ |
| 72 | import { datas, sendThis } from "../javascript/fwsyq.js"; | 72 | import { datas, sendThis } from "../javascript/fwsyq.js"; |
| 73 | import table from "@/utils/mixin/table"; | 73 | import table from "@/utils/mixin/table"; |
| 74 | import jump from "@/views/ywbl/ywsq/components/mixin/jump"; | 74 | import jump from "@/views/ywbl/ywsq/components/mixin/jump"; |
| 75 | import { selectScBdcdy, startBusinessFlow, choiceBdcdy, selectOtherH } from "@/api/ywbl.js"; | 75 | import { selectScBdcdy, startBusinessFlow, choiceBdcdy, selectOtherH, selectZrz, selectH } from "@/api/ywbl.js"; |
| 76 | import { selectZrz, selectH } from "@/api/selectQlxx.js"; | ||
| 77 | export default { | 76 | export default { |
| 78 | mixins: [table, jump], | 77 | mixins: [table, jump], |
| 79 | props: { | 78 | props: { | ... | ... |
| ... | @@ -44,8 +44,7 @@ import { datas, sendThis } from "../javascript/jsydsyq100.js"; | ... | @@ -44,8 +44,7 @@ import { datas, sendThis } from "../javascript/jsydsyq100.js"; |
| 44 | import { defaultParameters } from "../javascript/publicDefaultPar.js"; | 44 | import { defaultParameters } from "../javascript/publicDefaultPar.js"; |
| 45 | import table from "@/utils/mixin/table"; | 45 | import table from "@/utils/mixin/table"; |
| 46 | import jump from "../components/mixin/jump"; | 46 | import jump from "../components/mixin/jump"; |
| 47 | import { startBusinessFlow } from "@/api/ywbl.js"; | 47 | import { startBusinessFlow, selectZdjbxx } from "@/api/ywbl.js"; |
| 48 | import { selectZdjbxx } from "@/api/selectQlxx.js"; | ||
| 49 | export default { | 48 | export default { |
| 50 | mixins: [table, jump], | 49 | mixins: [table, jump], |
| 51 | props: { | 50 | props: { | ... | ... |
| ... | @@ -58,8 +58,7 @@ import { datas, sendThis } from "../javascript/jsydsyq200.js"; | ... | @@ -58,8 +58,7 @@ import { datas, sendThis } from "../javascript/jsydsyq200.js"; |
| 58 | import { defaultParameters } from "../javascript/publicDefaultPar.js"; | 58 | import { defaultParameters } from "../javascript/publicDefaultPar.js"; |
| 59 | import table from "@/utils/mixin/table"; | 59 | import table from "@/utils/mixin/table"; |
| 60 | import jump from "../components/mixin/jump"; | 60 | import jump from "../components/mixin/jump"; |
| 61 | import { startBusinessFlow } from "@/api/ywbl.js"; | 61 | import { startBusinessFlow, selectJsydQlxx } from "@/api/ywbl.js"; |
| 62 | import { selectJsydQlxx } from "@/api/selectQlxx.js"; | ||
| 63 | export default { | 62 | export default { |
| 64 | mixins: [table, jump], | 63 | mixins: [table, jump], |
| 65 | props: { | 64 | props: { | ... | ... |
| ... | @@ -44,8 +44,7 @@ import { datas, sendThis } from "../javascript/nydsyq100.js"; | ... | @@ -44,8 +44,7 @@ import { datas, sendThis } from "../javascript/nydsyq100.js"; |
| 44 | import { defaultParameters } from "../javascript/publicDefaultPar.js"; | 44 | import { defaultParameters } from "../javascript/publicDefaultPar.js"; |
| 45 | import table from "@/utils/mixin/table"; | 45 | import table from "@/utils/mixin/table"; |
| 46 | import jump from "../components/mixin/jump"; | 46 | import jump from "../components/mixin/jump"; |
| 47 | import { startBusinessFlow } from "@/api/ywbl.js"; | 47 | import { startBusinessFlow, selectZdjbxx } from "@/api/ywbl.js"; |
| 48 | import { selectZdjbxx } from "@/api/selectQlxx.js"; | ||
| 49 | export default { | 48 | export default { |
| 50 | mixins: [table, jump], | 49 | mixins: [table, jump], |
| 51 | props: { | 50 | props: { | ... | ... |
| ... | @@ -44,8 +44,7 @@ import { datas, sendThis } from "../javascript/jsydsyq200.js"; | ... | @@ -44,8 +44,7 @@ import { datas, sendThis } from "../javascript/jsydsyq200.js"; |
| 44 | import { defaultParameters } from "../javascript/publicDefaultPar.js"; | 44 | import { defaultParameters } from "../javascript/publicDefaultPar.js"; |
| 45 | import table from "@/utils/mixin/table"; | 45 | import table from "@/utils/mixin/table"; |
| 46 | import jump from "../components/mixin/jump"; | 46 | import jump from "../components/mixin/jump"; |
| 47 | import { startBusinessFlow } from "@/api/ywbl.js"; | 47 | import { startBusinessFlow, selectNydsyqQlxx } from "@/api/ywbl.js"; |
| 48 | import { selectNydsyqQlxx } from "@/api/selectQlxx.js"; | ||
| 49 | export default { | 48 | export default { |
| 50 | mixins: [table, jump], | 49 | mixins: [table, jump], |
| 51 | props: { | 50 | props: { | ... | ... |
-
Please register or sign in to post a comment