Merge branch 'master' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web
Showing
25 changed files
with
1080 additions
and
133 deletions
... | @@ -34,9 +34,9 @@ export function Init (data) { | ... | @@ -34,9 +34,9 @@ export function Init (data) { |
34 | }) | 34 | }) |
35 | } | 35 | } |
36 | // 受理信息保存 | 36 | // 受理信息保存 |
37 | export function saveData (data) { | 37 | export function saveData (data) { |
38 | return request({ | 38 | return request({ |
39 | url: SERVER.SERVERAPI + '/rest/ywbl/jsydsyqlr/saveData', | 39 | url: SERVER.SERVERAPI + '/rest/ywbl/dyaq/saveData', |
40 | method: 'post', | 40 | method: 'post', |
41 | data | 41 | data |
42 | }) | 42 | }) | ... | ... |
src/api/home.js
0 → 100644
1 | import request from '@/utils/request' | ||
2 | import SERVER from './config' | ||
3 | |||
4 | // 获取首页通知公告列表 | ||
5 | export function getHomeNoticeList () { | ||
6 | return request({ | ||
7 | url: SERVER.SERVERAPI + '/rest/workBench/getHomeNoticeList', | ||
8 | method: 'get' | ||
9 | }) | ||
10 | } | ||
11 | |||
12 | // 获取首页待办事项 | ||
13 | export function getHomeTodoList () { | ||
14 | return request({ | ||
15 | url: SERVER.SERVERAPI + '/rest/workBench/getHomeTodoList', | ||
16 | method: 'get' | ||
17 | }) | ||
18 | } | ||
19 | |||
20 | //获取首页已办事项 | ||
21 | export function getHomeDoneList () { | ||
22 | return request({ | ||
23 | url: SERVER.SERVERAPI + '/rest/workBench/getHomeDoneList', | ||
24 | method: 'get' | ||
25 | }) | ||
26 | } |
src/api/notice.js
0 → 100644
1 | import request from '@/utils/request' | ||
2 | import SERVER from './config' | ||
3 | |||
4 | // 新增系统通知 | ||
5 | export function addSysNotice (data) { | ||
6 | return request({ | ||
7 | url: SERVER.SERVERAPI + '/rest/system/sysNotice/addSysNotice', | ||
8 | method: 'post', | ||
9 | data | ||
10 | }) | ||
11 | } | ||
12 | |||
13 | // 获取通知列表 | ||
14 | export function getSysNoticeList (data) { | ||
15 | return request({ | ||
16 | url: SERVER.SERVERAPI + '/rest/system/sysNotice/getSysNoticeList', | ||
17 | method: 'post', | ||
18 | data | ||
19 | }) | ||
20 | } | ||
21 | |||
22 | //获取法律法规列表 | ||
23 | export function getSysPolicyList (data) { | ||
24 | return request({ | ||
25 | url: SERVER.SERVERAPI + '/rest/system/sysNotice/getSysPolicyList', | ||
26 | method: 'post', | ||
27 | data | ||
28 | }) | ||
29 | } | ||
30 | |||
31 | //删除系统通知 | ||
32 | export function deleteSysNotice (params) { | ||
33 | return request({ | ||
34 | url: SERVER.SERVERAPI + '/rest/system/sysNotice/deleteSysNotice', | ||
35 | method: 'get', | ||
36 | params: params | ||
37 | }) | ||
38 | } | ||
39 | |||
40 | //发布通知 | ||
41 | export function publishNotice (params) { | ||
42 | return request({ | ||
43 | url: SERVER.SERVERAPI + '/rest/system/sysNotice/publishNotice', | ||
44 | method: 'get', | ||
45 | params: params | ||
46 | }) | ||
47 | } | ||
48 | |||
49 | //取消发布通知 | ||
50 | export function unPublishNotice (params) { | ||
51 | return request({ | ||
52 | url: SERVER.SERVERAPI + '/rest/system/sysNotice/unPublishNotice', | ||
53 | method: 'get', | ||
54 | params: params | ||
55 | }) | ||
56 | } | ||
57 | |||
58 | //设置已读状态 | ||
59 | export function setReadStatus (params) { | ||
60 | return request({ | ||
61 | url: SERVER.SERVERAPI + '/rest/system/sysNotice/setReadStatus', | ||
62 | method: 'get', | ||
63 | params: params | ||
64 | }) | ||
65 | } |
1 | import request from '@/utils/request' | 1 | import request from '@/utils/request' |
2 | import SERVER from './config' | 2 | import SERVER from './config' |
3 | |||
4 | // 上传单个文件 | ||
5 | export function upload (data) { | ||
6 | return request({ | ||
7 | url: SERVER.SERVERAPI + '/rest/file/upload', | ||
8 | method: 'post', | ||
9 | data | ||
10 | }) | ||
11 | } | ||
12 | |||
3 | /* | 13 | /* |
4 | 系统管理 | 14 | 系统管理 |
5 | 申请业务规则API-根据条件进行列表查询 | 15 | 申请业务规则API-根据条件进行列表查询 | ... | ... |
... | @@ -9,7 +9,6 @@ export default { | ... | @@ -9,7 +9,6 @@ export default { |
9 | Vue.component('lbTable', LbTable); | 9 | Vue.component('lbTable', LbTable); |
10 | Vue.component('Theme', Theme); | 10 | Vue.component('Theme', Theme); |
11 | Vue.prototype.$popup = Popup.install; | 11 | Vue.prototype.$popup = Popup.install; |
12 | Vue.prototype.$popupClose = Popup.close; | ||
13 | Vue.prototype.$alertMes = MessageBox.alert; | 12 | Vue.prototype.$alertMes = MessageBox.alert; |
14 | } | 13 | } |
15 | } | 14 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -16,11 +16,5 @@ Popup.install = function (title, editItem, data, formData) { | ... | @@ -16,11 +16,5 @@ Popup.install = function (title, editItem, data, formData) { |
16 | instance.isShow = true | 16 | instance.isShow = true |
17 | }) | 17 | }) |
18 | } | 18 | } |
19 | Popup.close = function () { | ||
20 | let instance = new PopupBox().$mount() | ||
21 | Vue.nextTick(() => { | ||
22 | instance.isShow = false | ||
23 | }) | ||
24 | } | ||
25 | 19 | ||
26 | export default Popup | 20 | export default Popup | ... | ... |
... | @@ -58,13 +58,13 @@ export default { | ... | @@ -58,13 +58,13 @@ export default { |
58 | setTimeout(() => { | 58 | setTimeout(() => { |
59 | if (this.btnShow) { | 59 | if (this.btnShow) { |
60 | if (this.height == 'auto') { | 60 | if (this.height == 'auto') { |
61 | this.contentHeight = (this.$refs.contentRef.offsetHeight + 20) + 'px' | 61 | this.contentHeight = (this.$refs.contentRef.offsetHeight) + 'px' |
62 | } else { | 62 | } else { |
63 | this.contentHeight = this.height | 63 | this.contentHeight = this.height |
64 | } | 64 | } |
65 | } else { | 65 | } else { |
66 | if (this.height == 'auto') { | 66 | if (this.height == 'auto') { |
67 | this.contentHeight = (this.$refs.contentRef.offsetHeight + 20) + 'px' | 67 | this.contentHeight = (this.$refs.contentRef.offsetHeight) + 'px' |
68 | } else { | 68 | } else { |
69 | this.contentHeight = this.height | 69 | this.contentHeight = this.height |
70 | } | 70 | } | ... | ... |
... | @@ -261,6 +261,22 @@ export const asyncRoutes = [ | ... | @@ -261,6 +261,22 @@ export const asyncRoutes = [ |
261 | name: 'dymbgl', | 261 | name: 'dymbgl', |
262 | meta: { title: '打印模板管理' } | 262 | meta: { title: '打印模板管理' } |
263 | }, | 263 | }, |
264 | { | ||
265 | path: 'xttz', | ||
266 | id: '95', | ||
267 | parentId: '9', | ||
268 | component: () => import('@/views/system/xttz/xttz.vue'), | ||
269 | name: 'xttz', | ||
270 | meta: { title: '系统通知' } | ||
271 | }, | ||
272 | { | ||
273 | path: 'flfg', | ||
274 | id: '96', | ||
275 | parentId: '9', | ||
276 | component: () => import('@/views/system/flfg/flfg.vue'), | ||
277 | name: 'flfg', | ||
278 | meta: { title: '法律法规' } | ||
279 | }, | ||
264 | ] | 280 | ] |
265 | }, | 281 | }, |
266 | { | 282 | { | ... | ... |
... | @@ -20,21 +20,18 @@ export default { | ... | @@ -20,21 +20,18 @@ export default { |
20 | handleSizeChange (val) { | 20 | handleSizeChange (val) { |
21 | this.pageData.currentPage = 1 | 21 | this.pageData.currentPage = 1 |
22 | this.pageData.pageSize = val | 22 | this.pageData.pageSize = val |
23 | if (this.fetchData) { | 23 | this.queryClick() |
24 | this.fetchData() | ||
25 | } | ||
26 | if (this.queryClick) { | ||
27 | this.queryClick() | ||
28 | } | ||
29 | }, | 24 | }, |
30 | handleCurrentChange (val) { | 25 | handleCurrentChange (val) { |
31 | this.pageData.currentPage = val | 26 | this.pageData.currentPage = val |
32 | if (this.fetchData) { | 27 | if (this.fetchData) { |
33 | this.fetchData() | 28 | this.fetchData() |
34 | } | 29 | } |
30 | console.log('this.queryClick,', this.queryClick, 'this.fetchData', this.fetchData); | ||
35 | if (this.queryClick) { | 31 | if (this.queryClick) { |
36 | this.queryClick() | 32 | this.queryClick() |
37 | } | 33 | } |
34 | console.log(val, this.pageData.currentPage, 'this.pageDatathis.pageData'); | ||
38 | }, | 35 | }, |
39 | handleDel () { | 36 | handleDel () { |
40 | let deleteAfterPage = Math.ceil((this.tableData.total - 1) / this.pageData.pageSize) | 37 | let deleteAfterPage = Math.ceil((this.tableData.total - 1) / this.pageData.pageSize) | ... | ... |
... | @@ -76,5 +76,21 @@ | ... | @@ -76,5 +76,21 @@ |
76 | .home-right { | 76 | .home-right { |
77 | padding-left: 4px; | 77 | padding-left: 4px; |
78 | width: 30%; | 78 | width: 30%; |
79 | |||
80 | .list-title { | ||
81 | overflow: hidden; | ||
82 | text-overflow: ellipsis; | ||
83 | white-space: nowrap; | ||
84 | } | ||
85 | |||
86 | ul { | ||
87 | li { | ||
88 | line-height: 36px; | ||
89 | |||
90 | p { | ||
91 | white-space: nowrap; | ||
92 | } | ||
93 | } | ||
94 | } | ||
79 | } | 95 | } |
80 | } | 96 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -14,16 +14,17 @@ | ... | @@ -14,16 +14,17 @@ |
14 | </el-card> | 14 | </el-card> |
15 | </el-col> | 15 | </el-col> |
16 | <el-col :span="12"> | 16 | <el-col :span="12"> |
17 | <el-card shadow="hover"> | 17 | <el-card shadow="hover" style="height:245px"> |
18 | <div slot="header" class="flexst"> | 18 | <div slot="header" class="flexst"> |
19 | <h5 class="title">通知公告</h5> | 19 | <h5 class="title">系统通知</h5> |
20 | <i class="el-icon-s-unfold pointer"></i> | 20 | <i class="el-icon-s-unfold pointer"></i> |
21 | </div> | 21 | </div> |
22 | <ul> | 22 | <ul> |
23 | <li v-for="(item, index) in notice" :key="index" @click="handleNotice" class="flexst pointer"> | 23 | <li v-for="(item, index) in noticeList" :key="index" @click="handleNotice" class="flexst pointer"> |
24 | <p class="list-title">{{ item.title }}</p> | 24 | <p class="list-title">{{ item.noticeTitle }}</p> |
25 | <p class="marginZL15">{{ item.date }}</p> | 25 | <p class="marginZL15">{{ item.createtime }}</p> |
26 | <p>{{ item.state }}</p> | 26 | <p v-if="item.userBrowse == '1'" style="color:red">未读</p> |
27 | <p v-else>已读</p> | ||
27 | </li> | 28 | </li> |
28 | </ul> | 29 | </ul> |
29 | </el-card> | 30 | </el-card> |
... | @@ -31,29 +32,29 @@ | ... | @@ -31,29 +32,29 @@ |
31 | </el-row> | 32 | </el-row> |
32 | <el-row :gutter="8" class="marginTop10"> | 33 | <el-row :gutter="8" class="marginTop10"> |
33 | <el-col :span="12"> | 34 | <el-col :span="12"> |
34 | <el-card shadow="hover"> | 35 | <el-card shadow="hover" style="height:280px"> |
35 | <div slot="header" class="flexst"> | 36 | <div slot="header" class="flexst"> |
36 | <h5 class="title">待办事项</h5> | 37 | <h5 class="title">待办事项</h5> |
37 | <i class="el-icon-s-unfold pointer"></i> | 38 | <i class="el-icon-s-unfold pointer"></i> |
38 | </div> | 39 | </div> |
39 | <ul> | 40 | <ul> |
40 | <li v-for="(item, index) in toList" :key="index" class="flexst"> | 41 | <li v-for="(item, index) in todoList" :key="index" class="flexst"> |
41 | <p class="right15">{{ item.date }}</p> | 42 | <p class="right15">{{ item.dealTime }}</p> |
42 | <p class="list-title">{{ item.title }}</p> | 43 | <p class="list-title">{{ item.dealBusiness }} ({{item.dealStep+ '环节'}})</p> |
43 | </li> | 44 | </li> |
44 | </ul> | 45 | </ul> |
45 | </el-card> | 46 | </el-card> |
46 | </el-col> | 47 | </el-col> |
47 | <el-col :span="12"> | 48 | <el-col :span="12"> |
48 | <el-card shadow="hover"> | 49 | <el-card shadow="hover" style="height:280px"> |
49 | <div slot="header" class="flexst"> | 50 | <div slot="header" class="flexst"> |
50 | <h5 class="title">法律法规</h5> | 51 | <h5 class="title">法律法规</h5> |
51 | <i class="el-icon-s-unfold pointer"></i> | 52 | <i class="el-icon-s-unfold pointer"></i> |
52 | </div> | 53 | </div> |
53 | <ul> | 54 | <ul> |
54 | <li v-for="(item, index) in mailList" @click="handleView" :key="index" class="flexst pointer"> | 55 | <li v-for="(item, index) in policyList" @click="handleView(item.noticeFileUrl)" :key="index" class="flexst pointer"> |
55 | <p class="right15">{{ item.date }}</p> | 56 | <p class="right15">{{ item.noticeTitle }}</p> |
56 | <p class="list-title">{{ item.title }}</p> | 57 | <p class="list-title">{{ item.createtime }}</p> |
57 | </li> | 58 | </li> |
58 | </ul> | 59 | </ul> |
59 | </el-card> | 60 | </el-card> |
... | @@ -67,7 +68,16 @@ | ... | @@ -67,7 +68,16 @@ |
67 | <div class="home-right"> | 68 | <div class="home-right"> |
68 | <calendar /> | 69 | <calendar /> |
69 | <el-card shadow="hover" class="marginTop10"> | 70 | <el-card shadow="hover" class="marginTop10"> |
70 | 鼠标悬浮时显示 | 71 | <div slot="header" class="flexst"> |
72 | <h5 class="title">动态信息</h5> | ||
73 | <i class="el-icon-s-unfold pointer"></i> | ||
74 | </div> | ||
75 | <ul> | ||
76 | <li v-for="(item, index) in doneList" :key="index" class="flexst"> | ||
77 | <p class="right15">{{ item.dealTime }}</p> | ||
78 | <p class="list-title">{{ item.dealBusiness }} ({{item.dealStep+ '环节'}})</p> | ||
79 | </li> | ||
80 | </ul> | ||
71 | </el-card> | 81 | </el-card> |
72 | </div> | 82 | </div> |
73 | </div> | 83 | </div> |
... | @@ -75,6 +85,8 @@ | ... | @@ -75,6 +85,8 @@ |
75 | <script> | 85 | <script> |
76 | import * as G2 from '@antv/g2' | 86 | import * as G2 from '@antv/g2' |
77 | import calendar from '@/components/Calendar/index' | 87 | import calendar from '@/components/Calendar/index' |
88 | import { getHomeNoticeList, getHomeTodoList, getHomeDoneList } from "@/api/home.js"; | ||
89 | import { setReadStatus } from "@/api/notice.js"; | ||
78 | export default { | 90 | export default { |
79 | name: 'home', | 91 | name: 'home', |
80 | components: { calendar }, | 92 | components: { calendar }, |
... | @@ -137,77 +149,48 @@ export default { | ... | @@ -137,77 +149,48 @@ export default { |
137 | year: '1996', | 149 | year: '1996', |
138 | value: 31056 | 150 | value: 31056 |
139 | }], | 151 | }], |
140 | notice: [ | 152 | noticeList: [], |
141 | { | 153 | todoList: [], |
142 | title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗', | 154 | doneList: [], |
143 | date: '2022-12', | 155 | policyList: [] |
144 | state: '未读' | ||
145 | }, | ||
146 | { | ||
147 | title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗', | ||
148 | date: '2022-12', | ||
149 | state: '未读' | ||
150 | }, | ||
151 | { | ||
152 | title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗', | ||
153 | date: '2022-12', | ||
154 | state: '未读' | ||
155 | }, | ||
156 | { | ||
157 | title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗', | ||
158 | date: '2022-12', | ||
159 | state: '未读' | ||
160 | }, | ||
161 | ], | ||
162 | toList: [ | ||
163 | { | ||
164 | title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗', | ||
165 | date: '2022-12', | ||
166 | }, | ||
167 | { | ||
168 | title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗', | ||
169 | date: '2022-12', | ||
170 | } | ||
171 | , | ||
172 | { | ||
173 | title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗', | ||
174 | date: '2022-12', | ||
175 | } | ||
176 | , | ||
177 | { | ||
178 | title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗', | ||
179 | date: '2022-12', | ||
180 | } | ||
181 | ], | ||
182 | mailList: [ | ||
183 | { | ||
184 | title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗', | ||
185 | date: '2022-12', | ||
186 | }, | ||
187 | { | ||
188 | title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗', | ||
189 | date: '2022-12', | ||
190 | }, | ||
191 | { | ||
192 | title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗', | ||
193 | date: '2022-12', | ||
194 | } | ||
195 | , | ||
196 | { | ||
197 | title: '坚持以人民为中心发展推进解决房地产历史遗房地产历史遗', | ||
198 | date: '2022-12', | ||
199 | } | ||
200 | ] | ||
201 | } | 156 | } |
202 | }, | 157 | }, |
203 | mounted () { | 158 | mounted () { |
204 | this.buildChart(); | 159 | this.buildChart(); |
160 | this.queryTodoList(); | ||
161 | this.queryDoneList(); | ||
162 | this.queryNoticeList(); | ||
205 | }, | 163 | }, |
206 | methods: { | 164 | methods: { |
207 | handleView () { | 165 | handleView (pdfUrl) { |
208 | const href = 'http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf' | 166 | const href = pdfUrl |
209 | window.open(href, '_blank'); | 167 | window.open(href, '_blank'); |
210 | }, | 168 | }, |
169 | //获取待办事项列表 | ||
170 | queryTodoList(){ | ||
171 | getHomeTodoList().then(res => { | ||
172 | if(res.result){ | ||
173 | this.todoList = res.result | ||
174 | } | ||
175 | }) | ||
176 | }, | ||
177 | //获取已办事项列表 | ||
178 | queryDoneList(){ | ||
179 | getHomeDoneList().then(res => { | ||
180 | if(res.result){ | ||
181 | this.doneList = res.result | ||
182 | } | ||
183 | }) | ||
184 | }, | ||
185 | //获取通知列表 | ||
186 | queryNoticeList(){ | ||
187 | getHomeNoticeList().then(res => { | ||
188 | if(res.result){ | ||
189 | this.noticeList = res.result.noticeList | ||
190 | this.policyList = res.result.policyList | ||
191 | } | ||
192 | }) | ||
193 | }, | ||
211 | buildChart () { | 194 | buildChart () { |
212 | let height = document.getElementById("mountNodeCon").offsetHeight - 20 | 195 | let height = document.getElementById("mountNodeCon").offsetHeight - 20 |
213 | var chart = new G2.Chart({ | 196 | var chart = new G2.Chart({ |
... | @@ -240,6 +223,7 @@ export default { | ... | @@ -240,6 +223,7 @@ export default { |
240 | }, | 223 | }, |
241 | handleNotice () { | 224 | handleNotice () { |
242 | this.$alertMes('9999999999') | 225 | this.$alertMes('9999999999') |
226 | //setReadStatus({'bsmNotice':bsmNotice}) | ||
243 | } | 227 | } |
244 | } | 228 | } |
245 | } | 229 | } | ... | ... |
1 | <template> | ||
2 | <dialogBox title="新增法律法规" @submitForm="submitForm" saveButton="保存" :isFullscreen="false" width="50%" | ||
3 | @closeDialog="closeDialog" v-model="value"> | ||
4 | <el-form ref="ruleForm" :model="ruleForm" label-width="100px" :rules="rules"> | ||
5 | <el-row> | ||
6 | <el-col :span="12"> | ||
7 | <el-form-item label="标题:" prop="noticeTitle"> | ||
8 | <el-input v-model="ruleForm.noticeTitle"></el-input> | ||
9 | </el-form-item> | ||
10 | </el-col> | ||
11 | </el-row> | ||
12 | <el-row> | ||
13 | <el-col :span="8"> | ||
14 | <el-form-item label="附件:" prop="noticeFileUrl"> | ||
15 | <el-upload action="" :file-list="fileList" multiple :auto-upload="false" :limit="1" | ||
16 | :on-change="handleChange" :before-upload="beforeUpload"> | ||
17 | <el-button icon="el-icon-upload" type="primary">上传</el-button> | ||
18 | <div slot="tip" class="el-upload__tip">支持上传doc、docx、xls、xlsx、pdf文件,大小不超过20MB</div> | ||
19 | </el-upload> | ||
20 | </el-form-item> | ||
21 | </el-col> | ||
22 | </el-row> | ||
23 | </el-form> | ||
24 | </dialogBox> | ||
25 | </template> | ||
26 | |||
27 | <script> | ||
28 | import '@/styles/package/theme/index.scss' | ||
29 | import { addSysNotice} from "@/api/notice.js" | ||
30 | import { upload} from "@/api/system.js" | ||
31 | export default { | ||
32 | props: { | ||
33 | value: { type: Boolean, default: false }, | ||
34 | }, | ||
35 | data () { | ||
36 | return { | ||
37 | ruleForm: { | ||
38 | noticeTitle: '', | ||
39 | noticeContent: '', | ||
40 | noticeFileUrl: '', | ||
41 | noticeType: '2' | ||
42 | }, | ||
43 | rules: { | ||
44 | noticeTitle: [ | ||
45 | { required: true, message: '请输入法律法规标题', trigger: 'blur' } | ||
46 | ] | ||
47 | }, | ||
48 | } | ||
49 | }, | ||
50 | |||
51 | methods: { | ||
52 | submitForm () { | ||
53 | let that = this; | ||
54 | that.$refs.ruleForm.validate(valid => { | ||
55 | if (valid) { | ||
56 | addSysNotice(this.ruleForm).then(res => { | ||
57 | if (res.code == 200) { | ||
58 | this.$message.success('保存成功') | ||
59 | this.$emit("input", false); | ||
60 | this.$parent.queryClick(); | ||
61 | } else { | ||
62 | this.$message.error(res.message) | ||
63 | }}) | ||
64 | } else { | ||
65 | // console.log('error submit!!'); | ||
66 | return false; | ||
67 | } | ||
68 | }); | ||
69 | }, | ||
70 | //关闭窗口 | ||
71 | closeDialog () { | ||
72 | this.$emit("input", false); | ||
73 | this.resetRuleForm(); | ||
74 | }, | ||
75 | // | ||
76 | resetRuleForm(){ | ||
77 | this.$refs['ruleForm'].resetFields(); | ||
78 | this.ruleForm.noticeType = '2' | ||
79 | }, | ||
80 | beforeUpload (file) { | ||
81 | return true; | ||
82 | }, | ||
83 | async handleChange (file) { | ||
84 | var formdata = new FormData(); | ||
85 | formdata.append("file", file.raw); | ||
86 | upload(formdata).then(res => { | ||
87 | this.ruleForm.noticeFileUrl = res.message | ||
88 | }) | ||
89 | }, | ||
90 | } | ||
91 | } | ||
92 | </script> | ||
93 | <style scoped lang="scss"> | ||
94 | @import "~@/styles/public.scss"; | ||
95 | </style> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/system/flfg/flfg.vue
0 → 100644
1 | <template> | ||
2 | <div class="from-clues"> | ||
3 | <!-- 表单部分 --> | ||
4 | <div class="from-clues-header"> | ||
5 | <el-form :model="ruleForm" @submit.native.prevent label-width="80px"> | ||
6 | <el-row> | ||
7 | <el-col :span="5"> | ||
8 | <el-form-item label="标题"> | ||
9 | <el-input v-model="ruleForm.noticeTitle" @clear="queryClick()" clearable placeholder="法律法规"></el-input> | ||
10 | </el-form-item> | ||
11 | </el-col> | ||
12 | <el-col :span="19" class="btnColRight"> | ||
13 | <el-form-item> | ||
14 | <el-button type="primary" native-type="submit" @click="queryClick()">查询</el-button> | ||
15 | <el-button type="primary" @click="openDialog()">新增</el-button> | ||
16 | </el-form-item> | ||
17 | </el-col> | ||
18 | </el-row> | ||
19 | </el-form> | ||
20 | </div> | ||
21 | <!-- 表格 --> | ||
22 | <div class="from-clues-content"> | ||
23 | <lb-table :page-size="pageData.size" border :current-page.sync="pageData.current" :total="tableData.total" | ||
24 | @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns" | ||
25 | :data="tableData.data"> | ||
26 | </lb-table> | ||
27 | </div> | ||
28 | <addDialog ref="addDialog" v-model="isDialog" /> | ||
29 | </div> | ||
30 | </template> | ||
31 | <script> | ||
32 | import table from "@/utils/mixin/table"; | ||
33 | import { datas, sendThis } from "./flfgdata"; | ||
34 | import { getSysPolicyList,deleteSysNotice } from "@/api/notice.js" | ||
35 | import addDialog from "./components/addDialog.vue"; | ||
36 | export default { | ||
37 | name: "xttz", | ||
38 | components: { addDialog}, | ||
39 | mixins: [table], | ||
40 | mounted () { | ||
41 | sendThis(this); | ||
42 | this.queryClick() | ||
43 | }, | ||
44 | data () { | ||
45 | return { | ||
46 | isDialog: false, | ||
47 | viewDialog: false, | ||
48 | ruleForm: { | ||
49 | noticeTitle: '' | ||
50 | }, | ||
51 | tableData: { | ||
52 | total: 0, | ||
53 | columns: datas.columns(), | ||
54 | data: [], | ||
55 | }, | ||
56 | isDiglog: false | ||
57 | } | ||
58 | }, | ||
59 | methods: { | ||
60 | // 列表渲染接口 | ||
61 | queryClick () { | ||
62 | this.$startLoading() | ||
63 | getSysPolicyList({ ...this.ruleForm, ...this.pageData }, { 'target': '#flfgLoading' }).then(res => { | ||
64 | if (res.code === 200) { | ||
65 | this.$endLoading() | ||
66 | let { total, records } = res.result | ||
67 | this.tableData.total = total; | ||
68 | this.tableData.data = records | ||
69 | } | ||
70 | }) | ||
71 | }, | ||
72 | //打开新增弹窗 | ||
73 | openDialog() { | ||
74 | this.isDialog = true; | ||
75 | }, | ||
76 | downloadFile(item){ | ||
77 | const href = item.noticeFileUrl | ||
78 | window.open(href, '_blank'); | ||
79 | }, | ||
80 | //删除 | ||
81 | delNotice(item){ | ||
82 | this.$confirm('是否确定删除', '提示', { | ||
83 | confirmButtonText: '确定', | ||
84 | cancelButtonText: '取消', | ||
85 | type: 'warning' | ||
86 | }).then(() => { | ||
87 | deleteSysNotice({ "bsmNotice": item.bsmNotice }).then(res => { | ||
88 | if (res.code == 200) { | ||
89 | this.$message.success('删除成功') | ||
90 | this.queryClick(); | ||
91 | } else { | ||
92 | this.$message.error(res.message) | ||
93 | } | ||
94 | }) | ||
95 | }).catch(() => { | ||
96 | this.$message({ | ||
97 | type: 'info', | ||
98 | message: '已取消删除' | ||
99 | }); | ||
100 | }); | ||
101 | }, | ||
102 | }, | ||
103 | }; | ||
104 | </script> | ||
105 | <style scoped lang="scss"> | ||
106 | @import "~@/styles/public.scss"; | ||
107 | </style> |
src/views/system/flfg/flfgdata.js
0 → 100644
1 | import filter from '@/utils/filter.js' | ||
2 | let vm = null | ||
3 | const sendThis = (_this) => { | ||
4 | vm = _this | ||
5 | } | ||
6 | class data extends filter { | ||
7 | constructor() { | ||
8 | super() | ||
9 | } | ||
10 | columns () { | ||
11 | return [ | ||
12 | { | ||
13 | label: '序号', | ||
14 | type: 'index', | ||
15 | width: '50', | ||
16 | render: (h, scope) => { | ||
17 | return ( | ||
18 | <div> | ||
19 | {(vm.pageData.currentPage - 1) * vm.pageData.pageSize + scope.$index + 1} | ||
20 | </div> | ||
21 | ) | ||
22 | } | ||
23 | }, | ||
24 | { | ||
25 | prop: "noticeTitle", | ||
26 | label: "法律法规标题", | ||
27 | }, | ||
28 | { | ||
29 | prop: "noticeFileName", | ||
30 | label: "附件", | ||
31 | render: (h, scope) => { | ||
32 | return <div class="pointer" onClick={() => { vm.downloadFile(scope.row) }}>{scope.row.noticeFileName}</div> | ||
33 | } | ||
34 | }, | ||
35 | { | ||
36 | prop: "creater", | ||
37 | width: '120', | ||
38 | label: "创建人", | ||
39 | }, | ||
40 | { | ||
41 | prop: "createtime", | ||
42 | label: "创建时间", | ||
43 | }, | ||
44 | { | ||
45 | label: '操作', | ||
46 | align: 'center', | ||
47 | fixed: 'right', | ||
48 | render: (h, scope) => { | ||
49 | return <div> | ||
50 | <el-button type="text" icon="el-icon-delete" onClick={() => { vm.delNotice(scope.row) }}>删除</el-button> | ||
51 | </div> | ||
52 | } | ||
53 | } | ||
54 | ] | ||
55 | } | ||
56 | |||
57 | ywlys () { | ||
58 | return [ | ||
59 | { value: 1, label: "办事大厅" }, | ||
60 | { value: 2, label: "微信小程序" }, | ||
61 | { value: 3, label: "法院端" }, | ||
62 | { value: 4, label: "银行端" }, | ||
63 | ] | ||
64 | } | ||
65 | |||
66 | } | ||
67 | let datas = new data() | ||
68 | export { | ||
69 | datas, | ||
70 | sendThis | ||
71 | } |
1 | <template> | ||
2 | <dialogBox title="新增系统通知" @submitForm="submitForm" saveButton="保存" :isFullscreen="false" width="50%" | ||
3 | @closeDialog="closeDialog" v-model="value"> | ||
4 | <el-form ref="ruleForm" :model="ruleForm" label-width="100px" :rules="rules"> | ||
5 | <el-row> | ||
6 | <el-col :span="12"> | ||
7 | <el-form-item label="通知标题:" prop="noticeTitle"> | ||
8 | <el-input v-model="ruleForm.noticeTitle"></el-input> | ||
9 | </el-form-item> | ||
10 | </el-col> | ||
11 | </el-row> | ||
12 | <el-row> | ||
13 | <el-col :span="24"> | ||
14 | <el-form-item label="通知内容:" prop="noticeContent"> | ||
15 | <el-input v-model="ruleForm.noticeContent" type="textarea" :rows="16"></el-input> | ||
16 | </el-form-item> | ||
17 | </el-col> | ||
18 | </el-row> | ||
19 | <el-row> | ||
20 | <el-col :span="8"> | ||
21 | <el-form-item label="附件:" prop="noticeFileUrl"> | ||
22 | <el-upload action="" :file-list="fileList" multiple :auto-upload="false" :limit="1" | ||
23 | :on-change="handleChange" :before-upload="beforeUpload"> | ||
24 | <el-button icon="el-icon-upload" type="primary">上传</el-button> | ||
25 | <div slot="tip" class="el-upload__tip">文件大小不超过20MB</div> | ||
26 | </el-upload> | ||
27 | </el-form-item> | ||
28 | </el-col> | ||
29 | </el-row> | ||
30 | </el-form> | ||
31 | </dialogBox> | ||
32 | </template> | ||
33 | |||
34 | <script> | ||
35 | import '@/styles/package/theme/index.scss' | ||
36 | import { addSysNotice} from "@/api/notice.js" | ||
37 | import { upload} from "@/api/system.js" | ||
38 | export default { | ||
39 | props: { | ||
40 | value: { type: Boolean, default: false }, | ||
41 | }, | ||
42 | data () { | ||
43 | return { | ||
44 | ruleForm: { | ||
45 | noticeTitle: '', | ||
46 | noticeContent: '', | ||
47 | noticeFileUrl: '', | ||
48 | noticeType: '1' | ||
49 | }, | ||
50 | rules: { | ||
51 | noticeTitle: [ | ||
52 | { required: true, message: '请输入通知标题', trigger: 'blur' } | ||
53 | ], | ||
54 | noticeContent: [ | ||
55 | { required: true, message: '请输入通知内容', trigger: 'blur' } | ||
56 | ] | ||
57 | }, | ||
58 | } | ||
59 | }, | ||
60 | |||
61 | methods: { | ||
62 | submitForm () { | ||
63 | let that = this; | ||
64 | that.$refs.ruleForm.validate(valid => { | ||
65 | if (valid) { | ||
66 | addSysNotice(this.ruleForm).then(res => { | ||
67 | if (res.code == 200) { | ||
68 | this.$message.success('保存成功') | ||
69 | this.$emit("input", false); | ||
70 | this.$parent.queryClick(); | ||
71 | } else { | ||
72 | this.$message.error(res.message) | ||
73 | }}) | ||
74 | } else { | ||
75 | // console.log('error submit!!'); | ||
76 | return false; | ||
77 | } | ||
78 | }); | ||
79 | }, | ||
80 | //关闭窗口 | ||
81 | closeDialog () { | ||
82 | this.$emit("input", false); | ||
83 | this.resetRuleForm(); | ||
84 | }, | ||
85 | // | ||
86 | resetRuleForm(){ | ||
87 | this.$refs['ruleForm'].resetFields(); | ||
88 | this.ruleForm.noticeType = '1' | ||
89 | }, | ||
90 | beforeUpload (file) { | ||
91 | return true | ||
92 | }, | ||
93 | async handleChange (file) { | ||
94 | var formdata = new FormData(); | ||
95 | formdata.append("file", file.raw); | ||
96 | upload(formdata).then(res => { | ||
97 | this.ruleForm.noticeFileUrl = res.message | ||
98 | }) | ||
99 | }, | ||
100 | } | ||
101 | } | ||
102 | </script> | ||
103 | <style scoped lang="scss"> | ||
104 | @import "~@/styles/public.scss"; | ||
105 | </style> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <template> | ||
2 | <div> | ||
3 | <el-row :gutter="8"> | ||
4 | <el-col :span="16"> | ||
5 | 通知标题: | ||
6 | <el-input v-model="formData.item.noticeTitle"></el-input> | ||
7 | </el-col> | ||
8 | </el-row> | ||
9 | <el-row :gutter="8"> | ||
10 | <el-col :span="24" class="margin-top-middle"> | ||
11 | 通知内容: | ||
12 | <el-input type="textarea" :rows="20" v-model="formData.item.noticeContent"></el-input> | ||
13 | </el-col> | ||
14 | </el-row> | ||
15 | <el-row :gutter="8"> | ||
16 | <el-col :span="24" class="margin-top-middle"> | ||
17 | 附件: | ||
18 | <div @click="handleView(formData.item.noticeFileUrl)" class="pointer">{{formData.item.noticeFileName}}</div> | ||
19 | </el-col> | ||
20 | </el-row> | ||
21 | </div> | ||
22 | </template> | ||
23 | <script> | ||
24 | export default { | ||
25 | data () { | ||
26 | return { | ||
27 | }; | ||
28 | }, | ||
29 | components: { }, | ||
30 | props: { | ||
31 | formData: { | ||
32 | type: Object, | ||
33 | default: () => {} | ||
34 | }, | ||
35 | }, | ||
36 | created(){ | ||
37 | console.log(this.formData); | ||
38 | }, | ||
39 | computed: { | ||
40 | |||
41 | }, | ||
42 | |||
43 | methods: { | ||
44 | |||
45 | }, | ||
46 | }; | ||
47 | </script> | ||
48 | <style scoped lang='scss'> | ||
49 | @import "~@/styles/public.scss"; | ||
50 | .margin-top-middle { | ||
51 | margin-top:10px | ||
52 | } | ||
53 | </style> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/system/xttz/xttz.vue
0 → 100644
1 | <template> | ||
2 | <div class="from-clues"> | ||
3 | <!-- 表单部分 --> | ||
4 | <div class="from-clues-header"> | ||
5 | <el-form :model="ruleForm" @submit.native.prevent label-width="80px"> | ||
6 | <el-row> | ||
7 | <el-col :span="5"> | ||
8 | <el-form-item label="通知标题"> | ||
9 | <el-input v-model="ruleForm.noticeTitle" @clear="queryClick()" clearable placeholder="通知标题"></el-input> | ||
10 | </el-form-item> | ||
11 | </el-col> | ||
12 | <el-col :span="5"> | ||
13 | <el-form-item label="通知状态"> | ||
14 | <el-select v-model="ruleForm.noticeStatus" class="width100" filterable clearable placeholder="请选择通知状态"> | ||
15 | <el-option v-for="item in noticeStatusList" :key="item.value" :label="item.label" :value="item.value"> | ||
16 | </el-option> | ||
17 | </el-select> | ||
18 | </el-form-item> | ||
19 | </el-col> | ||
20 | <el-col :span="14" class="btnColRight"> | ||
21 | <el-form-item> | ||
22 | <el-button type="primary" native-type="submit" @click="queryClick()">查询</el-button> | ||
23 | <el-button type="primary" @click="openDialog()">新增</el-button> | ||
24 | </el-form-item> | ||
25 | </el-col> | ||
26 | </el-row> | ||
27 | </el-form> | ||
28 | </div> | ||
29 | <!-- 表格 --> | ||
30 | <div class="from-clues-content"> | ||
31 | <lb-table :page-size="pageData.size" border :current-page.sync="pageData.current" :total="tableData.total" | ||
32 | @size-change="handleSizeChange" @p-current-change="handleCurrentChange" :column="tableData.columns" | ||
33 | :data="tableData.data"> | ||
34 | </lb-table> | ||
35 | </div> | ||
36 | <addDialog ref="addDialog" v-model="isDialog" /> | ||
37 | </div> | ||
38 | </template> | ||
39 | <script> | ||
40 | import table from "@/utils/mixin/table"; | ||
41 | import { datas, sendThis } from "./xttzdata"; | ||
42 | import { getSysNoticeList,deleteSysNotice,publishNotice,unPublishNotice } from "@/api/notice.js" | ||
43 | import addDialog from "./components/addDialog.vue"; | ||
44 | export default { | ||
45 | name: "xttz", | ||
46 | components: { addDialog}, | ||
47 | mixins: [table], | ||
48 | mounted () { | ||
49 | sendThis(this); | ||
50 | this.queryClick() | ||
51 | }, | ||
52 | data () { | ||
53 | return { | ||
54 | isDialog: false, | ||
55 | viewDialog: false, | ||
56 | ruleForm: { | ||
57 | noticeTitle: '', | ||
58 | noticeStatus: '' | ||
59 | }, | ||
60 | noticeStatusList: [ | ||
61 | {"label": '未发布','value':'1'}, | ||
62 | {'label': '已发布','value':'2'} | ||
63 | ], | ||
64 | tableData: { | ||
65 | total: 0, | ||
66 | columns: datas.columns(), | ||
67 | data: [], | ||
68 | }, | ||
69 | isDiglog: false | ||
70 | } | ||
71 | }, | ||
72 | methods: { | ||
73 | // 列表渲染接口 | ||
74 | queryClick () { | ||
75 | this.$startLoading() | ||
76 | getSysNoticeList({ ...this.ruleForm, ...this.pageData }, { 'target': '#xttzLoading' }).then(res => { | ||
77 | if (res.code === 200) { | ||
78 | this.$endLoading() | ||
79 | let { total, records } = res.result | ||
80 | this.tableData.total = total; | ||
81 | this.tableData.data = records | ||
82 | } | ||
83 | }) | ||
84 | }, | ||
85 | //打开新增弹窗 | ||
86 | openDialog() { | ||
87 | this.isDialog = true; | ||
88 | }, | ||
89 | //删除 | ||
90 | delNotice(item){ | ||
91 | this.$confirm('是否确定删除', '提示', { | ||
92 | confirmButtonText: '确定', | ||
93 | cancelButtonText: '取消', | ||
94 | type: 'warning' | ||
95 | }).then(() => { | ||
96 | deleteSysNotice({ "bsmNotice": item.bsmNotice }).then(res => { | ||
97 | if (res.code == 200) { | ||
98 | this.$message.success('删除成功') | ||
99 | this.queryClick(); | ||
100 | } else { | ||
101 | this.$message.error(res.message) | ||
102 | } | ||
103 | }) | ||
104 | }).catch(() => { | ||
105 | this.$message({ | ||
106 | type: 'info', | ||
107 | message: '已取消删除' | ||
108 | }); | ||
109 | }); | ||
110 | }, | ||
111 | //发布 | ||
112 | toPublish(item){ | ||
113 | this.$confirm('是否确定发布', '提示', { | ||
114 | confirmButtonText: '确定', | ||
115 | cancelButtonText: '取消', | ||
116 | type: 'warning' | ||
117 | }).then(() => { | ||
118 | publishNotice({ "bsmNotice": item.bsmNotice }).then(res => { | ||
119 | if (res.code == 200) { | ||
120 | this.$message.success('发布成功') | ||
121 | this.queryClick(); | ||
122 | } else { | ||
123 | this.$message.error(res.message) | ||
124 | } | ||
125 | }) | ||
126 | }).catch(() => { | ||
127 | this.$message({ | ||
128 | type: 'info', | ||
129 | message: '操作取消' | ||
130 | }); | ||
131 | }); | ||
132 | }, | ||
133 | //取消发布 | ||
134 | toUnPublish(item){ | ||
135 | this.$confirm('是否确定取消发布', '提示', { | ||
136 | confirmButtonText: '确定', | ||
137 | cancelButtonText: '取消', | ||
138 | type: 'warning' | ||
139 | }).then(() => { | ||
140 | unPublishNotice({ "bsmNotice": item.bsmNotice }).then(res => { | ||
141 | if (res.code == 200) { | ||
142 | this.$message.success('删除成功') | ||
143 | this.queryClick(); | ||
144 | } else { | ||
145 | this.$message.error(res.message) | ||
146 | } | ||
147 | }) | ||
148 | }).catch(() => { | ||
149 | this.$message({ | ||
150 | type: 'info', | ||
151 | message: '操作取消' | ||
152 | }); | ||
153 | }); | ||
154 | }, | ||
155 | downloadFile(item){ | ||
156 | const href = item.noticeFileUrl | ||
157 | window.open(href, '_blank'); | ||
158 | }, | ||
159 | viewDetail(e){ | ||
160 | this.$popup("错误日志", "system/xttz/components/viewDialog", { | ||
161 | formData: { | ||
162 | item: e | ||
163 | } | ||
164 | }) | ||
165 | } | ||
166 | }, | ||
167 | }; | ||
168 | </script> | ||
169 | <style scoped lang="scss"> | ||
170 | @import "~@/styles/public.scss"; | ||
171 | </style> |
src/views/system/xttz/xttzdata.js
0 → 100644
1 | import filter from '@/utils/filter.js' | ||
2 | let vm = null | ||
3 | const sendThis = (_this) => { | ||
4 | vm = _this | ||
5 | } | ||
6 | class data extends filter { | ||
7 | constructor() { | ||
8 | super() | ||
9 | } | ||
10 | columns () { | ||
11 | return [ | ||
12 | { | ||
13 | label: '序号', | ||
14 | type: 'index', | ||
15 | width: '50', | ||
16 | render: (h, scope) => { | ||
17 | return ( | ||
18 | <div> | ||
19 | {(vm.pageData.currentPage - 1) * vm.pageData.pageSize + scope.$index + 1} | ||
20 | </div> | ||
21 | ) | ||
22 | } | ||
23 | }, | ||
24 | { | ||
25 | prop: "noticeTitle", | ||
26 | label: "通知标题", | ||
27 | }, | ||
28 | { | ||
29 | label: "通知内容", | ||
30 | render: (h, scope) => { | ||
31 | return <div class="item-cwnr">{scope.row.noticeContent}</div> | ||
32 | } | ||
33 | }, | ||
34 | { | ||
35 | prop: "noticeFileName", | ||
36 | label: "通知附件", | ||
37 | render: (h, scope) => { | ||
38 | return <div class="pointer" onClick={() => { vm.downloadFile(scope.row) }}>{scope.row.noticeFileName}</div> | ||
39 | } | ||
40 | }, | ||
41 | { | ||
42 | label: "发布状态", | ||
43 | width: '80', | ||
44 | render: (h, scope) => { | ||
45 | switch (scope.row.noticeStatus) { | ||
46 | case '1': | ||
47 | return <div class='prohibit'>未发布</div> | ||
48 | case '2': | ||
49 | return <div class='allow'>已发布</div> | ||
50 | } | ||
51 | } | ||
52 | }, | ||
53 | { | ||
54 | prop: "creater", | ||
55 | width: '120', | ||
56 | label: "创建人", | ||
57 | }, | ||
58 | { | ||
59 | prop: "createtime", | ||
60 | label: "创建时间", | ||
61 | }, | ||
62 | { | ||
63 | label: '操作', | ||
64 | align: 'center', | ||
65 | fixed: 'right', | ||
66 | render: (h, scope) => { | ||
67 | switch (scope.row.noticeStatus) { | ||
68 | case '1': | ||
69 | return <div> | ||
70 | <el-button type="text" icon="el-icon-edit-outline" onClick={() => { vm.toPublish(scope.row) }}>发布</el-button> | ||
71 | <el-button type="text" onClick={() => { vm.viewDetail(scope.row) }}>查看</el-button> | ||
72 | <el-button type="text" icon="el-icon-delete" onClick={() => { vm.delNotice(scope.row) }}>删除</el-button> | ||
73 | </div> | ||
74 | case '2': | ||
75 | return <div> | ||
76 | <el-button type="text" onClick={() => { vm.viewDetail(scope.row) }}>查看</el-button> | ||
77 | <el-button type="text" icon="el-icon-edit-outline" onClick={() => { vm.toUnPublish(scope.row) }}>取消发布</el-button> | ||
78 | </div> | ||
79 | } | ||
80 | } | ||
81 | } | ||
82 | ] | ||
83 | } | ||
84 | |||
85 | ywlys () { | ||
86 | return [ | ||
87 | { value: 1, label: "办事大厅" }, | ||
88 | { value: 2, label: "微信小程序" }, | ||
89 | { value: 3, label: "法院端" }, | ||
90 | { value: 4, label: "银行端" }, | ||
91 | ] | ||
92 | } | ||
93 | |||
94 | } | ||
95 | let datas = new data() | ||
96 | export { | ||
97 | datas, | ||
98 | sendThis | ||
99 | } |
... | @@ -46,6 +46,10 @@ | ... | @@ -46,6 +46,10 @@ |
46 | </el-form-item> | 46 | </el-form-item> |
47 | </el-col> | 47 | </el-col> |
48 | </el-row> | 48 | </el-row> |
49 | <el-row style="text-align:center"> | ||
50 | <el-button type="primary" @click="onSubmit">确定</el-button> | ||
51 | <el-button>取消</el-button> | ||
52 | </el-row> | ||
49 | </el-form> | 53 | </el-form> |
50 | </div> | 54 | </div> |
51 | </template> | 55 | </template> |
... | @@ -97,12 +101,15 @@ export default { | ... | @@ -97,12 +101,15 @@ export default { |
97 | this.loadGrid(); | 101 | this.loadGrid(); |
98 | }, | 102 | }, |
99 | methods: { | 103 | methods: { |
104 | onSubmit () { | ||
105 | |||
106 | }, | ||
100 | fetchData () { }, | 107 | fetchData () { }, |
101 | //列表初始化 | 108 | //列表初始化 |
102 | loadGrid () { | 109 | loadGrid () { |
103 | getUnclaimedBdcqz({bsmSlsq:this.formData.bsmSlsq}).then(res => { | 110 | getUnclaimedBdcqz({ bsmSlsq: this.formData.bsmSlsq }).then(res => { |
104 | if (res.code === 200) { | 111 | if (res.code === 200) { |
105 | this.tableData.data = res.result; | 112 | this.tableData.data = res.result; |
106 | } | 113 | } |
107 | }) | 114 | }) |
108 | }, | 115 | }, | ... | ... |
... | @@ -2,7 +2,8 @@ export default { | ... | @@ -2,7 +2,8 @@ export default { |
2 | data () { | 2 | data () { |
3 | return { | 3 | return { |
4 | isSearch: false, | 4 | isSearch: false, |
5 | searchList: [] | 5 | searchList: [], |
6 | otherForm: {} | ||
6 | } | 7 | } |
7 | }, | 8 | }, |
8 | methods: { | 9 | methods: { |
... | @@ -10,14 +11,24 @@ export default { | ... | @@ -10,14 +11,24 @@ export default { |
10 | this.isSearch = true | 11 | this.isSearch = true |
11 | }, | 12 | }, |
12 | getSearch (val) { | 13 | getSearch (val) { |
14 | console.log(val, 222222222222); | ||
15 | this.otherForm = val | ||
13 | let obj = { ywlymc: '业务来源', qllxmc: '权利类型', djlxmc: '登记类型', ywh: '业务号', sqywmc: '申请业务名称', qlrmc: '权利人', ywrmc: '义务人', slsj: '受理时间' } | 16 | let obj = { ywlymc: '业务来源', qllxmc: '权利类型', djlxmc: '登记类型', ywh: '业务号', sqywmc: '申请业务名称', qlrmc: '权利人', ywrmc: '义务人', slsj: '受理时间' } |
14 | this.searchList = Object.entries(val).map((item) => { | 17 | this.searchList = Object.entries({ ...this.searchForm, ...val }).map((item) => { |
15 | const [name, value] = item | 18 | const [name, value] = item |
16 | if (value) return { name: obj[name], value } | 19 | if (value) return { name: obj[name], value } |
17 | }).filter(Boolean) | 20 | }).filter(Boolean) |
18 | }, | 21 | }, |
19 | hanldeCleanAll () { | 22 | hanldeCleanAll () { |
23 | this.searchForm = {} | ||
24 | this.queryForm = { | ||
25 | ywly: "", | ||
26 | qllx: "", | ||
27 | djlx: "", | ||
28 | ywh: "" | ||
29 | } | ||
20 | this.searchList = [] | 30 | this.searchList = [] |
31 | this.queryClick() | ||
21 | } | 32 | } |
22 | } | 33 | } |
23 | } | 34 | } | ... | ... |
... | @@ -71,8 +71,9 @@ export default { | ... | @@ -71,8 +71,9 @@ export default { |
71 | }, | 71 | }, |
72 | submitForm () { | 72 | submitForm () { |
73 | this.$emit('getSearch', this.ruleForm) | 73 | this.$emit('getSearch', this.ruleForm) |
74 | this.$refs['ruleForm'].resetFields() | 74 | console.log(this.ruleForm); |
75 | this.$emit('input', false) | 75 | this.$emit('input', false) |
76 | this.$refs['ruleForm'].resetFields() | ||
76 | } | 77 | } |
77 | } | 78 | } |
78 | } | 79 | } | ... | ... |
... | @@ -5,7 +5,8 @@ | ... | @@ -5,7 +5,8 @@ |
5 | <el-row> | 5 | <el-row> |
6 | <el-col :span="5"> | 6 | <el-col :span="5"> |
7 | <el-form-item label="业务来源"> | 7 | <el-form-item label="业务来源"> |
8 | <el-select v-model="queryForm.ywly" class="width100" filterable clearable placeholder="请选择业务来源"> | 8 | <el-select v-model="queryForm.ywly" class="width100" filterable |
9 | @change="handleSelect('ywly', 'ywlymc', 'ywly')" clearable placeholder="请选择业务来源"> | ||
9 | <el-option v-for="item in dictData['ywly']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | 10 | <el-option v-for="item in dictData['ywly']" :key="item.dcode" :label="item.dname" :value="item.dcode"> |
10 | </el-option> | 11 | </el-option> |
11 | </el-select> | 12 | </el-select> |
... | @@ -13,7 +14,8 @@ | ... | @@ -13,7 +14,8 @@ |
13 | </el-col> | 14 | </el-col> |
14 | <el-col :span="5"> | 15 | <el-col :span="5"> |
15 | <el-form-item label="权利类型"> | 16 | <el-form-item label="权利类型"> |
16 | <el-select v-model="queryForm.qllx" class="width100" filterable clearable placeholder="请选择权利类型"> | 17 | <el-select v-model="queryForm.qllx" class="width100" @change="handleSelect('A8', 'qllxmc', 'qllx')" |
18 | filterable clearable placeholder="请选择权利类型"> | ||
17 | <el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | 19 | <el-option v-for="item in dictData['A8']" :key="item.dcode" :label="item.dname" :value="item.dcode"> |
18 | </el-option> | 20 | </el-option> |
19 | </el-select> | 21 | </el-select> |
... | @@ -21,7 +23,8 @@ | ... | @@ -21,7 +23,8 @@ |
21 | </el-col> | 23 | </el-col> |
22 | <el-col :span="5"> | 24 | <el-col :span="5"> |
23 | <el-form-item label="登记类型"> | 25 | <el-form-item label="登记类型"> |
24 | <el-select v-model="queryForm.djlx" class="width100" filterable clearable placeholder="请选择登记类型"> | 26 | <el-select v-model="queryForm.djlx" class="width100" @change="handleSelect('A21', 'djlxmc', 'djlx')" |
27 | filterable clearable placeholder="请选择登记类型"> | ||
25 | <el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | 28 | <el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode"> |
26 | </el-option> | 29 | </el-option> |
27 | </el-select> | 30 | </el-select> |
... | @@ -86,6 +89,12 @@ export default { | ... | @@ -86,6 +89,12 @@ export default { |
86 | djlx: "", | 89 | djlx: "", |
87 | ywh: "", | 90 | ywh: "", |
88 | }, | 91 | }, |
92 | searchForm: { | ||
93 | ywlymc: '', | ||
94 | qllxmc: '', | ||
95 | djlxmc: '', | ||
96 | ywh: '' | ||
97 | }, | ||
89 | tableData: { | 98 | tableData: { |
90 | total: 0, | 99 | total: 0, |
91 | columns: datas.columns(), | 100 | columns: datas.columns(), |
... | @@ -105,9 +114,19 @@ export default { | ... | @@ -105,9 +114,19 @@ export default { |
105 | } | 114 | } |
106 | }, | 115 | }, |
107 | methods: { | 116 | methods: { |
117 | handleSelect (bs, mc, code) { | ||
118 | let that = this | ||
119 | this.dictData[bs].forEach(item => { | ||
120 | if (item.dcode == this.queryForm[code]) { | ||
121 | this.searchForm[mc] = item.dname | ||
122 | } | ||
123 | }) | ||
124 | }, | ||
108 | // 列表渲染接口 | 125 | // 列表渲染接口 |
109 | queryClick () { | 126 | queryClick () { |
110 | this.$startLoading() | 127 | this.$startLoading() |
128 | this.searchForm.ywh = this.queryForm.ywh | ||
129 | this.getSearch() | ||
111 | searchTaskToDo({ ...this.queryForm, ...this.pageData }).then(res => { | 130 | searchTaskToDo({ ...this.queryForm, ...this.pageData }).then(res => { |
112 | this.$endLoading() | 131 | this.$endLoading() |
113 | if (res.code === 200) { | 132 | if (res.code === 200) { |
... | @@ -125,8 +144,8 @@ export default { | ... | @@ -125,8 +144,8 @@ export default { |
125 | } | 144 | } |
126 | }) | 145 | }) |
127 | }, | 146 | }, |
147 | |||
128 | handelItem (index) { | 148 | handelItem (index) { |
129 | console.log(index); | ||
130 | this.searchList.splice(index, 1) | 149 | this.searchList.splice(index, 1) |
131 | }, | 150 | }, |
132 | handleSort (val) { | 151 | handleSort (val) { | ... | ... |
... | @@ -67,11 +67,7 @@ | ... | @@ -67,11 +67,7 @@ |
67 | 67 | ||
68 | <el-row :gutter="10"> | 68 | <el-row :gutter="10"> |
69 | <el-col :span="8"> | 69 | <el-col :span="8"> |
70 | <el-form-item | 70 | <el-form-item :class="flag ? 'marginBot0' : ''" label="权利人:"> |
71 | :class="flag ? 'marginBot0' : ''" | ||
72 | label="权利人:" | ||
73 | prop="qlxx.qlrmc" | ||
74 | > | ||
75 | <el-input disabled v-model="ruleForm.qlxxold.qlrmc"></el-input> | 71 | <el-input disabled v-model="ruleForm.qlxxold.qlrmc"></el-input> |
76 | </el-form-item> | 72 | </el-form-item> |
77 | </el-col> | 73 | </el-col> |
... | @@ -91,7 +87,6 @@ | ... | @@ -91,7 +87,6 @@ |
91 | <el-form-item | 87 | <el-form-item |
92 | :class="flag ? 'marginBot0' : ''" | 88 | :class="flag ? 'marginBot0' : ''" |
93 | label="不动产权证号:" | 89 | label="不动产权证号:" |
94 | prop="qlxx.bdcqzh" | ||
95 | > | 90 | > |
96 | <el-input disabled v-model="ruleForm.slywxx.ybdcqzsh"></el-input> | 91 | <el-input disabled v-model="ruleForm.slywxx.ybdcqzsh"></el-input> |
97 | </el-form-item> | 92 | </el-form-item> |
... | @@ -112,7 +107,6 @@ | ... | @@ -112,7 +107,6 @@ |
112 | <el-form-item | 107 | <el-form-item |
113 | :class="flag ? 'marginBot0' : ''" | 108 | :class="flag ? 'marginBot0' : ''" |
114 | label="不动产单元号:" | 109 | label="不动产单元号:" |
115 | prop="qlxx.bdcdyh" | ||
116 | > | 110 | > |
117 | <el-input disabled v-model="ruleForm.qlxxold.bdcdyh"></el-input> | 111 | <el-input disabled v-model="ruleForm.qlxxold.bdcdyh"></el-input> |
118 | </el-form-item> | 112 | </el-form-item> |
... | @@ -123,10 +117,92 @@ | ... | @@ -123,10 +117,92 @@ |
123 | </el-form-item> | 117 | </el-form-item> |
124 | </el-col> | 118 | </el-col> |
125 | </el-row> | 119 | </el-row> |
120 | |||
121 | <div class="slxx_title title-block"> | ||
122 | 抵押信息 | ||
123 | <div class="triangle"></div> | ||
124 | </div> | ||
125 | |||
126 | <el-row :gutter="10"> | ||
127 | <el-col :span="8"> | ||
128 | <el-form-item :class="flag ? 'marginBot0' : ''" label="抵押方式:"> | ||
129 | <el-input disabled v-model="ruleForm.slywxx.djqxmc"></el-input> | ||
130 | </el-form-item> | ||
131 | </el-col> | ||
132 | <el-col :span="16"> | ||
133 | <el-form-item | ||
134 | :class="flag ? 'marginBot0' : ''" | ||
135 | label="是否存在禁止或者限制转让抵押不动产的约定:" | ||
136 | label-width="300px" | ||
137 | > | ||
138 | <el-radio-group v-model="ruleForm.diyaq.sfczjzhxz"> | ||
139 | <el-radio label="1">启用</el-radio> | ||
140 | <el-radio label="0">禁用</el-radio> | ||
141 | </el-radio-group> | ||
142 | </el-form-item> | ||
143 | </el-col> | ||
144 | </el-row> | ||
145 | <div class="slxx_title title-block"> | ||
146 | 抵押权人信息 | ||
147 | <div class="triangle"></div> | ||
148 | </div> | ||
149 | <el-row :gutter="10"> | ||
150 | <el-col :span="14"> | ||
151 | <el-form-item :class="flag ? 'marginBot0' : ''" label="共有方式:"> | ||
152 | <el-radio-group | ||
153 | :disabled="$route.query.viewtype == 1" | ||
154 | v-model="ruleForm.slywxx.gyfs" | ||
155 | > | ||
156 | <el-radio label="1">单独所有</el-radio> | ||
157 | <el-radio label="2">共同共有</el-radio> | ||
158 | <el-radio label="3">按份所有</el-radio> | ||
159 | </el-radio-group> | ||
160 | </el-form-item> | ||
161 | </el-col> | ||
162 | <el-col :span="5" v-show="ruleForm.gyfs == '2'"> | ||
163 | <el-form-item | ||
164 | :class="flag ? 'marginBot0' : ''" | ||
165 | label="是否分别持证:" | ||
166 | > | ||
167 | <el-radio-group v-model="ruleForm.slywxx.sffbcz"> | ||
168 | <el-radio label="1">是</el-radio> | ||
169 | <el-radio label="0">否</el-radio> | ||
170 | </el-radio-group> | ||
171 | </el-form-item> | ||
172 | </el-col> | ||
173 | <el-col :span="5" v-show="ruleForm.gyfs == '2'"> | ||
174 | <el-form-item :class="flag ? 'marginBot0' : ''" label="持证人:"> | ||
175 | <el-select v-model="ruleForm.czr" placeholder="持证人"> | ||
176 | <el-option | ||
177 | v-for="item in czrOptions" | ||
178 | :key="item.value" | ||
179 | :label="item.label" | ||
180 | :value="item.value" | ||
181 | > | ||
182 | </el-option> | ||
183 | </el-select> | ||
184 | </el-form-item> | ||
185 | </el-col> | ||
186 | </el-row> | ||
187 | <InformationTable | ||
188 | :tableData="ruleForm.qlrList" | ||
189 | @upDateQlrxxList="upDateQlrxxList" | ||
190 | :viewtype="$route.query.viewtype" | ||
191 | :gyfs="ruleForm.slywxx.gyfs" | ||
192 | /> | ||
193 | <div class="slxx_title title-block"> | ||
194 | 抵押人信息 | ||
195 | <div class="triangle"></div> | ||
196 | </div> | ||
197 | <InformationTable | ||
198 | :tableData="ruleForm.ywrList" | ||
199 | @upDateQlrxxList="upDateYwrxxList" | ||
200 | :viewtype="$route.query.viewtype" | ||
201 | /> | ||
126 | </div> | 202 | </div> |
127 | <el-row class="btn" v-if="!$route.query.viewtype"> | 203 | <el-row class="btn" v-if="!$route.query.viewtype"> |
128 | <el-form-item :class="flag ? 'marginBot0' : ''"> | 204 | <el-form-item :class="flag ? 'marginBot0' : ''"> |
129 | <el-button type="primary" @click="onSubmit">保存</el-button> | 205 | <el-button type="primary" @click="onSubmitClick()">保存</el-button> |
130 | </el-form-item> | 206 | </el-form-item> |
131 | </el-row> | 207 | </el-row> |
132 | </el-form> | 208 | </el-form> |
... | @@ -134,7 +210,7 @@ | ... | @@ -134,7 +210,7 @@ |
134 | </template> | 210 | </template> |
135 | <script> | 211 | <script> |
136 | import InformationTable from "@/views/workflow/components/InformationTable"; | 212 | import InformationTable from "@/views/workflow/components/InformationTable"; |
137 | import { Init } from "@/api/diyaqFlow.js"; | 213 | import { Init,saveData } from "@/api/diyaqFlow.js"; |
138 | import { mapGetters } from "vuex"; | 214 | import { mapGetters } from "vuex"; |
139 | export default { | 215 | export default { |
140 | async created() { | 216 | async created() { |
... | @@ -156,9 +232,12 @@ export default { | ... | @@ -156,9 +232,12 @@ export default { |
156 | data() { | 232 | data() { |
157 | return { | 233 | return { |
158 | disabled: true, | 234 | disabled: true, |
235 | czrOptions: [], | ||
159 | ruleForm: { | 236 | ruleForm: { |
160 | slywxx: {}, | 237 | slywxx: {}, |
161 | qlxxold:{}, | 238 | qlxxold: {}, |
239 | diyaq: {}, | ||
240 | gyfs: "", | ||
162 | }, | 241 | }, |
163 | //传递参数 | 242 | //传递参数 |
164 | propsParam: {}, | 243 | propsParam: {}, |
... | @@ -166,27 +245,45 @@ export default { | ... | @@ -166,27 +245,45 @@ export default { |
166 | }; | 245 | }; |
167 | }, | 246 | }, |
168 | methods: { | 247 | methods: { |
169 | list(bsmSldy) { | 248 | // list(bsmSldy) { |
170 | Init({ | 249 | // Init({ |
171 | bsmSldy: bsmSldy.split(","), | 250 | // bsmSldy: bsmSldy.split(","), |
172 | }).then((res) => { | 251 | // }).then((res) => { |
173 | if (res.code === 200 && res.result) { | 252 | // if (res.code === 200 && res.result) { |
174 | this.ruleForm = { | 253 | // this.ruleForm = { |
175 | ...res.result, | 254 | // ...res.result, |
176 | ...res.result.zdjbxxdatas, | 255 | // ...res.result.zdjbxxdatas, |
177 | ...res.result.qlxxdatas, | 256 | // ...res.result.qlxxdatas, |
178 | ...res.result.jsydsyqdatas, | 257 | // ...res.result.jsydsyqdatas, |
179 | }; | 258 | // }; |
259 | // } | ||
260 | // }); | ||
261 | // }, | ||
262 | onSubmitClick() { | ||
263 | saveData(this.ruleForm).then((res) => { | ||
264 | if (res.code === 200) { | ||
265 | this.$message({ | ||
266 | showClose: true, | ||
267 | message: "保存成功!", | ||
268 | type: "success", | ||
269 | }); | ||
270 | } else { | ||
271 | this.$message({ | ||
272 | showClose: true, | ||
273 | message: res.message, | ||
274 | type: "error", | ||
275 | }); | ||
180 | } | 276 | } |
181 | }); | 277 | }); |
182 | }, | 278 | }, |
183 | onSubmit() { | 279 | |
184 | fristReg(this.ruleForm).then((res) => { | 280 | // 更新权利人信息 |
185 | if (res.code === 200 && res.result) { | 281 | upDateQlrxxList(val) { |
186 | console.log(res); | 282 | this.ruleForm.qlrList = _.cloneDeep(val); |
187 | //this.ruleForm = { ...res.result, ...res.result.zdjbxxdatas, ...res.result.qlxxdatas, ...res.result.jsydsyqdatas } | 283 | }, |
188 | } | 284 | // 更新义务人信息 |
189 | }); | 285 | upDateYwrxxList(val) { |
286 | this.ruleForm.ywrList = _.cloneDeep(val); | ||
190 | }, | 287 | }, |
191 | }, | 288 | }, |
192 | }; | 289 | }; | ... | ... |
... | @@ -82,6 +82,9 @@ export default { | ... | @@ -82,6 +82,9 @@ export default { |
82 | closeDialog () { | 82 | closeDialog () { |
83 | this.$emit("closeDialog"); | 83 | this.$emit("closeDialog"); |
84 | }, | 84 | }, |
85 | queryClick () { | ||
86 | this.fetchData() | ||
87 | }, | ||
85 | fetchData () { | 88 | fetchData () { |
86 | this.queryForm.sqywbm = this.djywbm; | 89 | this.queryForm.sqywbm = this.djywbm; |
87 | selectZdjbxx({ ...this.queryForm, ...this.pageData }).then((res) => { | 90 | selectZdjbxx({ ...this.queryForm, ...this.pageData }).then((res) => { | ... | ... |
-
Please register or sign in to post a comment