e356a395 by 蔡俊立
2 parents 087710a0 281f94ae
...@@ -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
......
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
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 }
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
5 <!--顶部栏--> 5 <!--顶部栏-->
6 <el-header class="home_header"> 6 <el-header class="home_header">
7 <span class="home_title"> 7 <span class="home_title">
8
9 </span> 8 </span>
10 </el-header> 9 </el-header>
11 <el-container > 10 <el-container >
......
...@@ -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: {
......