36c5868e by 夏齐

Merge remote-tracking branch 'origin/master'

2 parents 486e911e c13c0a62
...@@ -78,4 +78,4 @@ ...@@ -78,4 +78,4 @@
78 "type": "git", 78 "type": "git",
79 "url": "git+https://github.com/PanJiaChen/vue-element-admin.git" 79 "url": "git+https://github.com/PanJiaChen/vue-element-admin.git"
80 } 80 }
81 }
...\ No newline at end of file ...\ No newline at end of file
81 }
......
...@@ -10,6 +10,15 @@ export function addSysNotice (data) { ...@@ -10,6 +10,15 @@ export function addSysNotice (data) {
10 }) 10 })
11 } 11 }
12 12
13 //编辑系统通知
14 export function updateSysNotice (data) {
15 return request({
16 url: SERVER.SERVERAPI + '/rest/system/sysNotice/updateSysNotice',
17 method: 'post',
18 data
19 })
20 }
21
13 // 获取通知列表 22 // 获取通知列表
14 export function getSysNoticeList (data) { 23 export function getSysNoticeList (data) {
15 return request({ 24 return request({
......
...@@ -90,6 +90,14 @@ export default { ...@@ -90,6 +90,14 @@ export default {
90 padding: 3px !important; 90 padding: 3px !important;
91 } 91 }
92 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
93 /deep/.el-calendar__header { 101 /deep/.el-calendar__header {
94 padding: 8px 15px; 102 padding: 8px 15px;
95 } 103 }
...@@ -141,9 +149,9 @@ export default { ...@@ -141,9 +149,9 @@ export default {
141 } 149 }
142 150
143 /**本月周末设置为红色*/ 151 /**本月周末设置为红色*/
144 .el-calendar-table .current:nth-last-child(-n+2) .solar { 152 /* .el-calendar-table .current:nth-last-child(-n+2) .solar {
145 color: red; 153 color: red;
146 } 154 } */
147 155
148 /**本月农历设置为灰色*/ 156 /**本月农历设置为灰色*/
149 .el-calendar-table .current .lunar { 157 .el-calendar-table .current .lunar {
......
...@@ -53,17 +53,6 @@ const defaultCallback = action => { ...@@ -53,17 +53,6 @@ const defaultCallback = action => {
53 callback(action); 53 callback(action);
54 } 54 }
55 } 55 }
56 if (currentMsg.resolve) {
57 if (action === 'confirm') {
58 if (instance.showInput) {
59 currentMsg.resolve({ value: instance.inputValue, action });
60 } else {
61 currentMsg.resolve(action);
62 }
63 } else if (currentMsg.reject && (action === 'cancel' || action === 'close')) {
64 currentMsg.reject(action);
65 }
66 }
67 } 56 }
68 }; 57 };
69 58
...@@ -120,7 +109,7 @@ const showNextMsg = () => { ...@@ -120,7 +109,7 @@ const showNextMsg = () => {
120 } 109 }
121 }; 110 };
122 111
123 const MessageBox = function(options, callback) { 112 const MessageBox = function (options, callback) {
124 if (Vue.prototype.$isServer) return; 113 if (Vue.prototype.$isServer) return;
125 if (typeof options === 'string' || isVNode(options)) { 114 if (typeof options === 'string' || isVNode(options)) {
126 options = { 115 options = {
...@@ -158,7 +147,7 @@ MessageBox.setDefaults = defaults => { ...@@ -158,7 +147,7 @@ MessageBox.setDefaults = defaults => {
158 MessageBox.defaults = defaults; 147 MessageBox.defaults = defaults;
159 }; 148 };
160 149
161 MessageBox.alert = (message, title, options) => { 150 MessageBox.alert = (title, message, options) => {
162 if (typeof title === 'object') { 151 if (typeof title === 'object') {
163 options = title; 152 options = title;
164 title = ''; 153 title = '';
......
1 <template> 1 <template>
2 <transition name="msgbox-fade"> 2 <transition name="msgbox-fade">
3 <div class="el-message-box__wrapper" tabindex="-1" 3 <div class="el-message-box__wrapper" tabindex="-1" v-show="visible" @click.self="handleWrapperClick" role="dialog"
4 v-show="visible" @click.self="handleWrapperClick" role="dialog"
5 aria-modal="true" :aria-label="title || 'dialog'"> 4 aria-modal="true" :aria-label="title || 'dialog'">
6 <div class="el-message-box" :class="[customClass, center && 'el-message-box--center']"> 5 <div class="el-message-box" :class="[customClass, center && 'el-message-box--center']">
7 <div class="el-message-box__content"> 6 <div class="el-message-box__content">
8 <slot> 7 <div class="el-message-box__container">
9 <p>{{ message }}</p> 8 <div v-if="title !== ''" class="message-title">标题:{{ title }}</div>
10 </slot> 9 <div v-if="message !== ''" class="richText" v-html="message"></div>
10 </div>
11 </div> 11 </div>
12 <div class="el-message-box__btns"> 12 <div class="el-message-box__btns">
13 <el-button :loading="cancelButtonLoading" :class="[cancelButtonClasses]" :round="roundButton" size="small" 13 <el-button :loading="cancelButtonLoading" :class="[cancelButtonClasses]" :round="roundButton" size="small"
...@@ -23,6 +23,8 @@ ...@@ -23,6 +23,8 @@
23 <script type="text/babel"> 23 <script type="text/babel">
24 import Popup from 'element-ui/src/utils/popup'; 24 import Popup from 'element-ui/src/utils/popup';
25 import Locale from 'element-ui/src/mixins/locale'; 25 import Locale from 'element-ui/src/mixins/locale';
26 import ElInput from 'element-ui/packages/input';
27 import ElButton from 'element-ui/packages/button';
26 import { addClass, removeClass } from 'element-ui/src/utils/dom'; 28 import { addClass, removeClass } from 'element-ui/src/utils/dom';
27 import { t } from 'element-ui/src/locale'; 29 import { t } from 'element-ui/src/locale';
28 import Dialog from 'element-ui/src/utils/aria-dialog'; 30 import Dialog from 'element-ui/src/utils/aria-dialog';
...@@ -37,6 +39,7 @@ let typeMap = { ...@@ -37,6 +39,7 @@ let typeMap = {
37 39
38 export default { 40 export default {
39 mixins: [Popup, Locale], 41 mixins: [Popup, Locale],
42
40 props: { 43 props: {
41 modal: { 44 modal: {
42 default: true 45 default: true
...@@ -66,6 +69,12 @@ export default { ...@@ -66,6 +69,12 @@ export default {
66 type: Boolean 69 type: Boolean
67 } 70 }
68 }, 71 },
72
73 components: {
74 ElInput,
75 ElButton
76 },
77
69 computed: { 78 computed: {
70 icon () { 79 icon () {
71 const { type, iconClass } = this; 80 const { type, iconClass } = this;
...@@ -187,11 +196,6 @@ export default { ...@@ -187,11 +196,6 @@ export default {
187 visible (val) { 196 visible (val) {
188 if (val) { 197 if (val) {
189 this.uid++; 198 this.uid++;
190 if (this.$type === 'alert' || this.$type === 'confirm') {
191 this.$nextTick(() => {
192 this.$refs.confirm.$el.focus();
193 });
194 }
195 this.focusAfterClosed = document.activeElement; 199 this.focusAfterClosed = document.activeElement;
196 messageBox = new Dialog(this.$el, this.focusAfterClosed, this.getFirstFocus()); 200 messageBox = new Dialog(this.$el, this.focusAfterClosed, this.getFirstFocus());
197 } 201 }
...@@ -263,15 +267,20 @@ export default { ...@@ -263,15 +267,20 @@ export default {
263 } 267 }
264 }; 268 };
265 </script> 269 </script>
266 <style scoped lang="scss"> 270 <style scoped>
267 .el-message-box__wrapper { 271 /deep/.el-message-box {
268 background: none; 272 width: 500px;
273 max-height: 95%;
269 } 274 }
270 .el-message-box { 275
271 border: none; 276 /deep/.message-title {
277 font-size: 18px;
278 font-weight: 700;
279 margin-bottom: 5px;
272 } 280 }
273 .el-message-box__content { 281
274 min-height: 150px; 282 /deep/.el-message-box__content img {
275 padding-top: 30px; 283 width: 100%;
284 height: 100%;
276 } 285 }
277 </style> 286 </style>
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -8,7 +8,9 @@ ...@@ -8,7 +8,9 @@
8 <div ref="back" class="back"> 8 <div ref="back" class="back">
9 <div ref="text" class="text" @mouseover="mouseOver" @mouseleave="mouseLeave"> 9 <div ref="text" class="text" @mouseover="mouseOver" @mouseleave="mouseLeave">
10 <p v-for="(item, index) in noticeList" :key="index"> 10 <p v-for="(item, index) in noticeList" :key="index">
11 {{ item.title }} 11 <span> {{ item.noticeTitle }}</span>
12 <span class="noticePublishTime">{{ item.noticePublishTime }}</span>
13 <el-button type="text" @click="handleNotice(item)" style="color:#F56C6C;font-size: 14px;">[点击查看]</el-button>
12 </p> 14 </p>
13 </div> 15 </div>
14 </div> 16 </div>
...@@ -34,7 +36,22 @@ export default { ...@@ -34,7 +36,22 @@ export default {
34 secondAnimationTime: '', // 状态二动画效果 36 secondAnimationTime: '', // 状态二动画效果
35 }; 37 };
36 }, 38 },
39 watch: {
40 noticeList: {
41 handler (newName, oldName) {
42 let that = this
43 this.Listener();
44 setTimeout(res => {
45 that.getData();
46 }, 100);
47 },
48 deep: true
49 }
50 },
37 methods: { 51 methods: {
52 handleNotice (item) {
53 this.$alertMes(item.noticeTitle, item.noticeContent)
54 },
38 // 获取数据 55 // 获取数据
39 getData () { 56 getData () {
40 let style = document.styleSheets[0]; 57 let style = document.styleSheets[0];
...@@ -53,7 +70,7 @@ export default { ...@@ -53,7 +70,7 @@ export default {
53 ); 70 );
54 setTimeout(res => { 71 setTimeout(res => {
55 this.changeState(); 72 this.changeState();
56 }, 1000); 73 }, 300);
57 }, 74 },
58 // 用速度计算时间(想要保持速度一样,2种状态时间不同需算出) 75 // 用速度计算时间(想要保持速度一样,2种状态时间不同需算出)
59 ComputationTime () { 76 ComputationTime () {
...@@ -89,12 +106,6 @@ export default { ...@@ -89,12 +106,6 @@ export default {
89 let text = this.$refs.text; 106 let text = this.$refs.text;
90 text.style.animationPlayState = '' 107 text.style.animationPlayState = ''
91 } 108 }
92 },
93 mounted () {
94 this.Listener();
95 setTimeout(res => {
96 this.getData();
97 }, 100);
98 } 109 }
99 }; 110 };
100 </script> 111 </script>
...@@ -104,7 +115,6 @@ export default { ...@@ -104,7 +115,6 @@ export default {
104 align-items: center; 115 align-items: center;
105 width: 100%; 116 width: 100%;
106 height: 28px; 117 height: 28px;
107 line-height: 28px;
108 background: rgba(0, 0, 0, 0.1); 118 background: rgba(0, 0, 0, 0.1);
109 119
110 .icon { 120 .icon {
...@@ -132,7 +142,11 @@ export default { ...@@ -132,7 +142,11 @@ export default {
132 display: flex; 142 display: flex;
133 143
134 p { 144 p {
135 margin-right: 10px; 145 margin-right: 80px;
146 display: flex;
147 align-items: center;
148 height: 28px;
149 line-height: 28px;
136 } 150 }
137 } 151 }
138 } 152 }
......
...@@ -90,6 +90,14 @@ export default { ...@@ -90,6 +90,14 @@ export default {
90 padding: 3px !important; 90 padding: 3px !important;
91 } 91 }
92 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
93 /deep/.el-calendar__header { 101 /deep/.el-calendar__header {
94 padding: 8px 15px; 102 padding: 8px 15px;
95 } 103 }
...@@ -141,9 +149,9 @@ export default { ...@@ -141,9 +149,9 @@ export default {
141 } 149 }
142 150
143 /**本月周末设置为红色*/ 151 /**本月周末设置为红色*/
144 .el-calendar-table .current:nth-last-child(-n+2) .solar { 152 /* .el-calendar-table .current:nth-last-child(-n+2) .solar {
145 color: red; 153 color: red;
146 } 154 } */
147 155
148 /**本月农历设置为灰色*/ 156 /**本月农历设置为灰色*/
149 .el-calendar-table .current .lunar { 157 .el-calendar-table .current .lunar {
......
...@@ -9,12 +9,10 @@ ...@@ -9,12 +9,10 @@
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 <el-dropdown class="avatar-container right-menu-item hover-effect" @command="handleCommand"> 12 <div class="avatar-wrapper right-menu-item hover-effect">
13 <div class="avatar-wrapper"> 13 <img :src="avatar + '?imageView2/1/w/80/h/80'" class="user-avatar" />
14 <img :src="avatar + '?imageView2/1/w/80/h/80'" class="user-avatar" /> 14 <span style="margin-left: 10px;">{{ name }}</span>
15 <span style="margin-left: 10px;">{{ name }}</span> 15 </div>
16 </div>
17 </el-dropdown>
18 16
19 <svg-icon class="shutdown" icon-class='shutdown' /> 17 <svg-icon class="shutdown" icon-class='shutdown' />
20 </div> 18 </div>
...@@ -23,8 +21,11 @@ ...@@ -23,8 +21,11 @@
23 </div> 21 </div>
24 </template> 22 </template>
25 <script> 23 <script>
26 import NoticeBar from '@/components/NoticeBar/index'
27 import { mapGetters } from 'vuex' 24 import { mapGetters } from 'vuex'
25 import NoticeBar from '@/components/NoticeBar/index'
26 import {
27 getHomeNoticeList
28 } from "@/api/home.js"
28 export default { 29 export default {
29 components: { 30 components: {
30 NoticeBar 31 NoticeBar
...@@ -35,20 +36,20 @@ export default { ...@@ -35,20 +36,20 @@ export default {
35 data () { 36 data () {
36 return { 37 return {
37 logo: require('../../image/logo.png'), 38 logo: require('../../image/logo.png'),
38 noticeList: [ 39 noticeList: []
39 {
40 title: '6666666666666666666'
41 },
42 {
43 title: '3333333333333333333'
44 },
45 {
46 title: '6666666666666666666'
47 }
48 ]
49 } 40 }
50 }, 41 },
42 created () {
43 this.queryNoticeList()
44 },
51 methods: { 45 methods: {
46 queryNoticeList () {
47 getHomeNoticeList().then(res => {
48 if (res.result) {
49 this.noticeList = res.result.noticeList
50 }
51 })
52 },
52 themeChange (val) { 53 themeChange (val) {
53 this.$store.dispatch('app/updateTheme', val) 54 this.$store.dispatch('app/updateTheme', val)
54 }, 55 },
...@@ -220,27 +221,25 @@ export default { ...@@ -220,27 +221,25 @@ export default {
220 } 221 }
221 } 222 }
222 223
223 .avatar-container { 224 .avatar-wrapper {
224 .avatar-wrapper { 225 position: relative;
225 position: relative; 226 display: flex;
226 display: flex; 227 height: 40px;
227 height: 40px; 228 align-items: center;
228 align-items: center;
229 229
230 .user-avatar { 230 .user-avatar {
231 cursor: pointer; 231 cursor: pointer;
232 width: 35px; 232 width: 35px;
233 height: 35px; 233 height: 35px;
234 border-radius: 50%; 234 border-radius: 50%;
235 } 235 }
236 236
237 .el-icon-caret-bottom { 237 .el-icon-caret-bottom {
238 cursor: pointer; 238 cursor: pointer;
239 position: absolute; 239 position: absolute;
240 right: -15px; 240 right: -15px;
241 top: 17px; 241 top: 17px;
242 font-size: 12px; 242 font-size: 12px;
243 }
244 } 243 }
245 } 244 }
246 } 245 }
......
...@@ -27,7 +27,7 @@ import store from './store' ...@@ -27,7 +27,7 @@ import store from './store'
27 import router from './router' 27 import router from './router'
28 import _ from 'lodash' 28 import _ from 'lodash'
29 29
30 import VueQuillEditor from 'vue-quill-editor'//调用编辑器 30 import VueQuillEditor from 'vue-quill-editor'//调用编辑器
31 // 样式 31 // 样式
32 import 'quill/dist/quill.core.css' 32 import 'quill/dist/quill.core.css'
33 import 'quill/dist/quill.snow.css' 33 import 'quill/dist/quill.snow.css'
......
...@@ -325,8 +325,7 @@ aside { ...@@ -325,8 +325,7 @@ aside {
325 } 325 }
326 326
327 .allow, 327 .allow,
328 .prohibit 328 .prohibit .suspend {
329 .suspend {
330 position: relative; 329 position: relative;
331 margin: 0 auto; 330 margin: 0 auto;
332 text-align: left; 331 text-align: left;
...@@ -380,6 +379,7 @@ aside { ...@@ -380,6 +379,7 @@ aside {
380 height: 5px; 379 height: 5px;
381 border-radius: 50%; 380 border-radius: 50%;
382 } 381 }
382
383 //错误日志样式 后期超优化 383 //错误日志样式 后期超优化
384 .item-cwnr { 384 .item-cwnr {
385 white-space: pre-wrap; 385 white-space: pre-wrap;
...@@ -389,4 +389,8 @@ aside { ...@@ -389,4 +389,8 @@ aside {
389 overflow-wrap: break-word; 389 overflow-wrap: break-word;
390 -webkit-line-clamp: 3; 390 -webkit-line-clamp: 3;
391 -webkit-box-orient: vertical; 391 -webkit-box-orient: vertical;
392 }
393
394 .item-cwnr img {
395 height: 30px;
392 } 396 }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
14 top: $headerHeight; 14 top: $headerHeight;
15 bottom: 0; 15 bottom: 0;
16 left: 0; 16 left: 0;
17 z-index: 1001; 17 z-index: 80;
18 background-color: $subMenuBg; 18 background-color: $subMenuBg;
19 // overflow: hidden; 19 // overflow: hidden;
20 20
......
...@@ -19,16 +19,14 @@ ...@@ -19,16 +19,14 @@
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 <vue-seamless-scroll :data="noticeList" :class-option="classOption"> 22 <ul>
23 <ul> 23 <li v-for="(item, index) in noticeList" :key="index" @click="handleNotice(item)" class="flexst pointer">
24 <li v-for="(item, index) in noticeList" :key="index" @click="handleNotice" class="flexst pointer"> 24 <p class="list-title">{{ item.noticeTitle }}</p>
25 <p class="list-title">{{ item.noticeTitle }}</p> 25 <p class="marginZL15">{{ item.noticePublishTime.substring(0, 10) }}</p>
26 <p class="marginZL15">{{ item.createtime.substring(0, 10) }}</p> 26 <p v-if="item.userBrowse == '1'" style="color:red">未读</p>
27 <p v-if="item.userBrowse == '1'" style="color:red">未读</p> 27 <p v-else>已读</p>
28 <p v-else>已读</p> 28 </li>
29 </li> 29 </ul>
30 </ul>
31 </vue-seamless-scroll>
32 </el-card> 30 </el-card>
33 </el-col> 31 </el-col>
34 </el-row> 32 </el-row>
...@@ -150,25 +148,17 @@ export default { ...@@ -150,25 +148,17 @@ export default {
150 year: '1996', 148 year: '1996',
151 value: 31056 149 value: 31056
152 }], 150 }],
151 // 系统通知
152 noticeData: {
153
154 },
153 noticeList: [], 155 noticeList: [],
154 todoList: [], 156 todoList: [],
155 doneList: [], 157 doneList: [],
156 policyList: [] 158 policyList: [],
159
157 } 160 }
158 }, 161 },
159 // 计算属性 类似于data概念
160 computed: {
161 classOption () {
162 return {
163 step: 0.5, // 数值越大速度滚动越快
164 limitMoveNum: 2, // 开始无缝滚动的数据量 this.dataList.length
165 hoverStop: true, // 是否开启鼠标悬停stop
166 direction: 1, // 0向下 1向上 2向左 3向右
167 openWatch: true, // 开启数据实时监控刷新dom
168 singleHeight: 0, // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1
169 };
170 },
171 },
172 mounted () { 162 mounted () {
173 this.buildChart(); 163 this.buildChart();
174 this.queryTodoList(); 164 this.queryTodoList();
...@@ -184,7 +174,7 @@ export default { ...@@ -184,7 +174,7 @@ export default {
184 queryTodoList () { 174 queryTodoList () {
185 getHomeTodoList().then(res => { 175 getHomeTodoList().then(res => {
186 if (res.result) { 176 if (res.result) {
187 this.todoList = res.result.slice(0, 5) 177 this.todoList = res.result
188 } 178 }
189 }) 179 })
190 }, 180 },
...@@ -202,9 +192,9 @@ export default { ...@@ -202,9 +192,9 @@ export default {
202 if (res.result) { 192 if (res.result) {
203 this.noticeList = res.result.noticeList 193 this.noticeList = res.result.noticeList
204 this.noticeList.forEach(item => { 194 this.noticeList.forEach(item => {
205 item.createtime = this._timedate(item.createtime) 195 item.noticePublishTime = this._timedate(item.noticePublishTime)
206 }) 196 })
207 this.policyList = res.result.policyList.slice(0, 5) 197 this.policyList = res.result.policyList
208 } 198 }
209 }) 199 })
210 }, 200 },
...@@ -252,9 +242,8 @@ export default { ...@@ -252,9 +242,8 @@ export default {
252 chart.line().position('year*value').size(2).shape('smooth'); 242 chart.line().position('year*value').size(2).shape('smooth');
253 chart.render(); 243 chart.render();
254 }, 244 },
255 handleNotice () { 245 handleNotice (item) {
256 this.$alertMes('9999999999') 246 this.$alertMes(item.noticeTitle, item.noticeContent)
257 //setReadStatus({'bsmNotice':bsmNotice})
258 } 247 }
259 } 248 }
260 } 249 }
......
...@@ -81,6 +81,12 @@ export default { ...@@ -81,6 +81,12 @@ export default {
81 }; 81 };
82 }, 82 },
83 created () { 83 created () {
84 var qllx = this.$route.query.sqywbm.substr(0,3)
85 if(qllx == 'A09'){
86 this.title = '土地经营权登记信息'
87 }else{
88 this.title = '农用地使用权登记信息'
89 }
84 this.loadData(); 90 this.loadData();
85 }, 91 },
86 methods: { 92 methods: {
......
...@@ -25,7 +25,6 @@ ...@@ -25,7 +25,6 @@
25 </template> 25 </template>
26 26
27 <script> 27 <script>
28 import '@/styles/package/theme/index.scss'
29 import { addSysNotice } from "@/api/notice.js" 28 import { addSysNotice } from "@/api/notice.js"
30 import { upload } from "@/api/system.js" 29 import { upload } from "@/api/system.js"
31 export default { 30 export default {
......
1 <template> 1 <template>
2 <dialogBox title="新增系统通知" @submitForm="submitForm" saveButton="保存" :isFullscreen="false" width="60%" 2 <dialogBox :title="title" @submitForm="submitForm" saveButton="保存" :isFullscreen="false" width="50%"
3 @closeDialog="closeDialog" v-model="value"> 3 @closeDialog="closeDialog" v-model="value" :isButton="isButtonFlag">
4 <el-form ref="ruleForm" :model="ruleForm" label-width="100px" :rules="rules"> 4 <el-form ref="ruleForm" :model="ruleForm" label-width="100px" :rules="rules">
5 <el-row> 5 <el-row>
6 <el-col :span="12"> 6 <el-col :span="24">
7 <el-form-item label="通知标题:" prop="noticeTitle"> 7 <el-form-item label="通知标题:" prop="noticeTitle">
8 <el-input v-model="ruleForm.noticeTitle"></el-input> 8 <el-input v-model="ruleForm.noticeTitle" class="width100"></el-input>
9 </el-form-item> 9 </el-form-item>
10 </el-col> 10 </el-col>
11 </el-row> 11 </el-row>
12 <el-row> 12 <el-row>
13 <el-col :span="12"> 13 <el-col :span="24">
14 <el-form-item label="通知来源:" prop="noticeSource"> 14 <el-form-item label="通知来源:" prop="noticeSource">
15 <el-input v-model="ruleForm.noticeSource"></el-input> 15 <el-input v-model="ruleForm.noticeSource" class="width100"></el-input>
16 </el-form-item> 16 </el-form-item>
17 </el-col> 17 </el-col>
18 </el-row> 18 </el-row>
19 <el-row> 19 <el-row>
20 <el-col :span="24"> 20 <el-form-item label="通知内容:" prop="noticeContent">
21 <el-form-item label="通知内容:" prop="noticeContent"> 21 <quill-editor v-model="ruleForm.noticeContent" class="editor ql-editor" ref="myQuillEditor"
22 <quill-editor 22 :options="editorOption" @blur="onEditorBlur($event)" @focus="onEditorFocus($event)"
23 v-model="ruleForm.noticeContent" 23 @change="onEditorChange($event)" @ready="onEditorReady($event)"></quill-editor>
24 ref="myQuillEditor" 24 </el-form-item>
25 :options="editorOption"
26 @blur="onEditorBlur($event)"
27 @focus="onEditorFocus($event)"
28 @change="onEditorChange($event)"
29 @ready="onEditorReady($event)"
30 >
31 </quill-editor>
32 <!-- <el-input v-model="ruleForm.noticeContent" type="textarea" :rows="16"></el-input> -->
33 </el-form-item>
34 </el-col>
35 </el-row> 25 </el-row>
36 <el-row> 26 <!-- <el-row>
37 <el-col :span="8"> 27 <el-col :span="8">
38 <el-form-item label="附件:" prop="noticeFileUrl"> 28 <el-form-item label="附件:" prop="noticeFileUrl">
39 <el-upload action="" multiple :auto-upload="false" :limit="1" 29 <el-upload action multiple :auto-upload="false" :limit="1" :on-change="handleChange"
40 :on-change="handleChange" :before-upload="beforeUpload"> 30 :before-upload="beforeUpload">
41 <el-button icon="el-icon-upload" type="primary">上传</el-button> 31 <el-button icon="el-icon-upload" type="primary">上传</el-button>
42 <div slot="tip" class="el-upload__tip">文件大小不超过20MB</div> 32 <div slot="tip" class="el-upload__tip">文件大小不超过20MB</div>
43 </el-upload> 33 </el-upload>
44 </el-form-item> 34 </el-form-item>
45 </el-col> 35 </el-col>
46 </el-row> 36 </el-row> -->
37 <!-- 隐藏上传按钮 用于代替触发富文本上传事件 -->
47 <div v-show="false"> 38 <div v-show="false">
48 <el-upload action="" multiple :auto-upload="false" 39 <el-upload action multiple :auto-upload="false" :on-change="RichTexthandleChange" :before-upload="beforeUpload"
49 :on-change="RichTexthandleChange" :before-upload="beforeUpload" class="richUpload"> 40 class="richUpload">
50 <el-button icon="el-icon-upload" type="primary">上传</el-button> 41 <el-button icon="el-icon-upload" type="primary">上传</el-button>
51 <div slot="tip" class="el-upload__tip">文件大小不超过20MB</div> 42 <div slot="tip" class="el-upload__tip">文件大小不超过20MB</div>
52 </el-upload> 43 </el-upload>
53 </div> 44 </div>
54 </el-form> 45 </el-form>
...@@ -56,35 +47,37 @@ ...@@ -56,35 +47,37 @@
56 </template> 47 </template>
57 48
58 <script> 49 <script>
59 import { addSysNotice } from "@/api/notice.js" 50 import { addSysNotice,updateSysNotice } from "@/api/notice.js";
60 import { upload } from "@/api/system.js" 51 import { upload } from "@/api/system.js";
61 import { quillEditor } from "vue-quill-editor"; 52 import { quillEditor } from "vue-quill-editor";
62 export default { 53 export default {
63 props: { 54 props: {
64 value: { type: Boolean, default: false }, 55 value: { type: Boolean, default: false },
56 isButtonFlag: { type: Boolean, default: true },
57 title: {type:String, default: '新增系统通知'}
65 }, 58 },
66 components: { quillEditor }, 59 components: { quillEditor },
67 data () { 60 data () {
68 return { 61 return {
69 ruleForm: { 62 ruleForm: {
70 noticeTitle: '', 63 noticeTitle: "",
71 noticeContent: '', 64 noticeContent: "",
72 noticeFileUrl: '', 65 noticeFileUrl: "",
73 noticeSource: '', 66 noticeSource: "",
74 noticeType: '1' 67 noticeType: "1"
75 }, 68 },
76 rules: { 69 rules: {
77 noticeTitle: [ 70 noticeTitle: [
78 { required: true, message: '请输入通知标题', trigger: 'blur' } 71 { required: true, message: "请输入通知标题", trigger: "blur" }
79 ], 72 ],
80 noticeContent: [ 73 noticeContent: [
81 { required: true, message: '请输入通知内容', trigger: 'blur' } 74 { required: true, message: "请输入通知内容", trigger: "blur" }
82 ], 75 ],
83 noticeSource: [ 76 noticeSource: [
84 { required: true, message: '请输入通知来源', trigger: 'blur' } 77 { required: true, message: "请输入通知来源", trigger: "blur" }
85 ] 78 ]
86 }, 79 },
87 // 富文本编辑器配置 80 // 富文本编辑器配置
88 editorOption: { 81 editorOption: {
89 theme: "snow", // or 'bubble' 82 theme: "snow", // or 'bubble'
90 modules: { 83 modules: {
...@@ -97,66 +90,72 @@ export default { ...@@ -97,66 +90,72 @@ export default {
97 [{ script: "sub" }, { script: "super" }], // 上标/下标 90 [{ script: "sub" }, { script: "super" }], // 上标/下标
98 [{ indent: "-1" }, { indent: "+1" }], // 缩进 91 [{ indent: "-1" }, { indent: "+1" }], // 缩进
99 [{ direction: "rtl" }], // 文本方向 92 [{ direction: "rtl" }], // 文本方向
100 [{ size: ['small', false, 'large', 'huge'] }], // 字体大小 93 [{ size: ["small", false, "large", "huge"] }], // 字体大小
101 [{ header: [1, 2, 3, 4, 5, 6] }], // 标题 94 [{ header: [1, 2, 3, 4, 5, 6] }], // 标题
102 [{ color: [] }, { background: [] }], // 字体颜色、字体背景颜色 95 [{ color: [] }, { background: [] }], // 字体颜色、字体背景颜色
103 // [{ font: ['songti'] }], // 字体种类 96 // [{ font: ['songti'] }], // 字体种类
104 [{ align: [] }], // 对齐方式 97 [{ align: [] }], // 对齐方式
105 ["clean"], // 清除文本格式 98 ["clean"], // 清除文本格式
106 ["image", "video"], // 链接、图片、视频 99 ["image", "video"] // 链接、图片、视频
107 ], 100 ],
108 handlers: { 101 handlers: {
109 image: function(value) { 102 image: function (value) {
110 if (value) { 103 if (value) {
111 // 用upload的点击事件代替文本编辑器的图片上传事件 104 // 用upload的点击事件代替文本编辑器的图片上传事件
112 document.querySelector('.richUpload input').click(); 105 document.querySelector(".richUpload input").click();
113 } else { 106 } else {
114 this.quill.format('image', false); 107 this.quill.format("image", false);
115 }
116 } 108 }
109 }
117 } 110 }
118 } 111 }
119 }, 112 },
120 placeholder: "请输入正文", 113 placeholder: "请输入正文"
121 }, 114 }
122 } 115 };
123 }, 116 },
124 mounted() { 117 watch: {
125 // 自定义粘贴图片功能 118 value (val) {
126 let quill = this.$refs.myQuillEditor.quill; 119 if (val) {
127 quill.root.addEventListener("paste",evt => { 120 let that = this
128 console.log(1111); 121 this.$nextTick(() => {
129 if (evt.clipboardData && evt.clipboardData.files &&evt.clipboardData.files.length) { 122 //创建富文本粘贴事件监听
130 console.log(2222); 123 let quill = this.$refs.myQuillEditor.quill;
131 evt.preventDefault(); 124 this.$forceUpdate();
132 [].forEach.call(evt.clipboardData.files, file => { 125 quill.root.addEventListener(
133 console.log(33333); 126 "paste",
134 if (!file.type.match(/^image\/(gif|jpe?g|a?png|bmp)/i)) { 127 evt => {
135 return; 128 if (
136 } 129 evt.clipboardData &&
137 console.log(4444); 130 evt.clipboardData.files &&
138 this.RichTexthandleChange(File); 131 evt.clipboardData.files.length
139 }); 132 ) {
140 } 133 evt.preventDefault();
141 }, 134 [].forEach.call(evt.clipboardData.files, file => {
142 false 135 if (!file.type.match(/^image\/(gif|jpe?g|a?png|bmp)/i)) {
143 ); 136 return;
137 }
138 that.clipboardPictureChange(file);
139 });
140 }
141 },
142 false
143 );
144 });
145 }
146 }
144 }, 147 },
148 mounted () {},
145 methods: { 149 methods: {
146 submitForm () { 150 submitForm () {
147 let that = this; 151 let that = this;
148 that.$refs.ruleForm.validate(valid => { 152 that.$refs.ruleForm.validate(valid => {
149 if (valid) { 153 if (valid) {
150 addSysNotice(this.ruleForm).then(res => { 154 if(that.ruleForm.bsmNotice){
151 if (res.code == 200) { 155 that.editNotice();
152 this.$message.success('保存成功') 156 }else{
153 this.$emit("input", false); 157 that.addNotice();
154 this.resetRuleForm(); 158 }
155 this.$parent.queryClick();
156 } else {
157 this.$message.error(res.message)
158 }
159 })
160 } else { 159 } else {
161 // console.log('error submit!!'); 160 // console.log('error submit!!');
162 return false; 161 return false;
...@@ -168,27 +167,69 @@ export default { ...@@ -168,27 +167,69 @@ export default {
168 this.$emit("input", false); 167 this.$emit("input", false);
169 this.resetRuleForm(); 168 this.resetRuleForm();
170 }, 169 },
171 // 170 //新增通知
171 addNotice(){
172 addSysNotice(this.ruleForm).then(res => {
173 if (res.code == 200) {
174 this.$message.success("保存成功");
175 this.$emit("input", false);
176 this.resetRuleForm();
177 this.$parent.queryClick();
178 } else {
179 this.$message.error(res.message);
180 }
181 });
182 },
183 //编辑通知
184 editNotice(){
185 updateSysNotice(this.ruleForm).then(res => {
186 if (res.code == 200) {
187 this.$message.success("编辑成功");
188 this.$emit("input", false);
189 this.resetRuleForm();
190 this.$parent.queryClick();
191 } else {
192 this.$message.error(res.message);
193 }
194 });
195 },
196 //重置表单
172 resetRuleForm () { 197 resetRuleForm () {
173 this.$refs['ruleForm'].resetFields(); 198 this.ruleForm = {
174 this.ruleForm.noticeType = '1' 199 noticeTitle: "",
200 noticeContent: "",
201 noticeFileUrl: "",
202 noticeSource: "",
203 noticeType: "1"
204 }
205 this.isButtonFlag = true;
175 }, 206 },
176 beforeUpload (file) { 207 beforeUpload (file) {
177 return true 208 return true;
178 }, 209 },
179 //附件上传事件 210 //附件上传事件
180 async handleChange (file) { 211 async handleChange (file) {
181 var formdata = new FormData(); 212 var formdata = new FormData();
182 formdata.append("file", file.raw); 213 formdata.append("file", file.raw);
183 upload(formdata).then(res => { 214 upload(formdata).then(res => {
184 this.ruleForm.noticeFileUrl = res.message 215 this.ruleForm.noticeFileUrl = res.message;
185 }) 216 });
186 }, 217 },
187 //富文本图片上传事件 218 //富文本图片上传事件
188 async RichTexthandleChange (file) { 219 RichTexthandleChange (file) {
220 this.uploadPicture(file.raw)
221 },
222 //图片粘贴事件
223 clipboardPictureChange (file) {
224 this.uploadPicture(file)
225 },
226 getDetailInfo(item){
227 this.ruleForm = item
228 },
229 uploadPicture (file) {
189 let that = this; 230 let that = this;
190 var formdata = new FormData(); 231 var formdata = new FormData();
191 formdata.append("file", file.raw); 232 formdata.append("file", file);
192 upload(formdata).then(res => { 233 upload(formdata).then(res => {
193 //editor对象 234 //editor对象
194 const quill = that.$refs.myQuillEditor.quill; 235 const quill = that.$refs.myQuillEditor.quill;
...@@ -196,41 +237,48 @@ export default { ...@@ -196,41 +237,48 @@ export default {
196 // 获取光标所在位置 237 // 获取光标所在位置
197 const length = quill.selection.savedRange.index; 238 const length = quill.selection.savedRange.index;
198 // 插入图片 239 // 插入图片
199 quill.insertEmbed(length, 'image', res.message); 240 quill.insertEmbed(length, "image", res.message);
200 // 调整光标到最后 241 // 调整光标到最后
201 quill.setSelection(length + 1); 242 quill.setSelection(length + 1);
202 //that.quillUpdateImg = false; 243 //that.quillUpdateImg = false;
203 }) 244 });
204 }, 245 },
205 onSubmit() { 246 onSubmit () {
206 //console.log("submit!"); 247 //console.log("submit!");
207 }, 248 },
208 // 失去焦点事件 249 // 失去焦点事件
209 onEditorBlur(quill) { 250 onEditorBlur (quill) {
210 //console.log("editor blur!", quill); 251 //console.log("editor blur!", quill);
211 }, 252 },
212 // 获得焦点事件 253 // 获得焦点事件
213 onEditorFocus(quill) { 254 onEditorFocus (quill) {
214 //console.log("editor focus!", quill); 255 //console.log("editor focus!", quill);
215 }, 256 },
216 // 准备富文本编辑器 257 // 准备富文本编辑器
217 onEditorReady(quill) { 258 onEditorReady (quill) {
218 //console.log("editor ready!", quill); 259 //console.log("editor ready!", quill);
219 }, 260 },
220 // 内容改变事件 261 // 内容改变事件
221 onEditorChange({ quill, html, text }) { 262 onEditorChange ({ quill, html, text }) {
222 //console.log("editor change!", quill, html, text); 263 //console.log("editor change!", quill, html, text);
223 //this.content = html; 264 //this.content = html;
224 }, 265 }
225 } 266 }
226 } 267 };
227 </script> 268 </script>
228 <style scoped lang="scss"> 269 <style scoped lang="scss">
229 // .ql-editor{ 270 .quill-editor {
230 // height:500px; 271 padding: 0;
231 // } 272 }
232 /deep/.ql-editor { 273
233 padding: 0px; 274 .ql-editor {
234 height: 500px; 275 height: auto !important;
235 } 276 }
277
278 /deep/.ql-container {
279 padding: 0;
280 max-height: 400px;
281 min-height: 160px;
282 overflow-y: scroll;
283 }
236 </style> 284 </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 <!-- <span v-html="formData.item.noticeContent"></span> -->
13 <quill-editor class="ql-editor"
14 v-model="formData.item.noticeContent"
15 ref="myQuillEditor"
16 :options="editorOption"
17 >
18 </quill-editor>
19 <!-- <el-input type="textarea" :rows="20" v-model="formData.item.noticeContent"></el-input> -->
20 </el-col>
21 </el-row>
22 <el-row :gutter="8">
23 <el-col :span="24" class="margin-top-middle">
24 附件:
25 <div @click="handleView(formData.item.noticeFileUrl)" class="pointer">{{ formData.item.noticeFileName }}</div>
26 </el-col>
27 </el-row>
28 </div>
29 </template>
30 <script>
31 import { quillEditor } from "vue-quill-editor";
32 export default {
33 components: { quillEditor },
34 data () {
35 return {
36 // 富文本编辑器配置
37 editorOption: {
38 theme: "snow", // or 'bubble'
39 placeholder: "请输入正文",
40 },
41 };
42 },
43 components: {},
44 props: {
45 formData: {
46 type: Object,
47 default: () => { }
48 },
49 },
50 created () {
51 console.log(this.formData);
52 },
53 computed: {
54
55 },
56
57 methods: {
58
59 },
60 };
61 </script>
62 <style scoped lang='scss'>
63 .margin-top-middle {
64 margin-top: 10px
65 }
66 /deep/.ql-editor {
67 padding: 0px;
68 }
69 </style>
...\ No newline at end of file ...\ No newline at end of file
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
33 :data="tableData.data"> 33 :data="tableData.data">
34 </lb-table> 34 </lb-table>
35 </div> 35 </div>
36 <addDialog ref="addDialog" v-model="isDialog" /> 36 <addDialog ref="addDialog" v-model="isDialog" :isButtonFlag="isButtonFlag" :title="dialogTitle"/>
37 </div> 37 </div>
38 </template> 38 </template>
39 <script> 39 <script>
...@@ -52,7 +52,8 @@ export default { ...@@ -52,7 +52,8 @@ export default {
52 data () { 52 data () {
53 return { 53 return {
54 isDialog: false, 54 isDialog: false,
55 viewDialog: false, 55 isButtonFlag: true,
56 dialogTitle: '',
56 ruleForm: { 57 ruleForm: {
57 noticeTitle: '', 58 noticeTitle: '',
58 noticeStatus: '' 59 noticeStatus: ''
...@@ -83,7 +84,17 @@ export default { ...@@ -83,7 +84,17 @@ export default {
83 }) 84 })
84 }, 85 },
85 //打开新增弹窗 86 //打开新增弹窗
86 openDialog () { 87 openDialog (item) {
88 if (item) {
89 this.$nextTick(() => {
90 this.isButtonFlag = false;
91 this.$refs.addDialog.getDetailInfo(item);
92 this.dialogTitle = '系统通知详情'
93 })
94 }else{
95 this.isButtonFlag = true;
96 this.dialogTitle = '新增系统通知'
97 }
87 this.isDialog = true; 98 this.isDialog = true;
88 }, 99 },
89 //删除 100 //删除
...@@ -152,16 +163,18 @@ export default { ...@@ -152,16 +163,18 @@ export default {
152 }); 163 });
153 }); 164 });
154 }, 165 },
166 //编辑通知
167 editNotice(item) {
168 this.$nextTick(() => {
169 this.isButtonFlag = true;
170 this.$refs.addDialog.getDetailInfo(item);
171 this.dialogTitle = '编辑系统通知'
172 this.isDialog = true;
173 })
174 },
155 downloadFile (item) { 175 downloadFile (item) {
156 const href = item.noticeFileUrl 176 const href = item.noticeFileUrl
157 window.open(href, '_blank'); 177 window.open(href, '_blank');
158 },
159 viewDetail (e) {
160 this.$popup("错误日志", "system/xttz/components/viewDialog", {
161 formData: {
162 item: e
163 }
164 })
165 } 178 }
166 }, 179 },
167 }; 180 };
......
...@@ -26,29 +26,37 @@ class data extends filter { ...@@ -26,29 +26,37 @@ class data extends filter {
26 label: "通知标题", 26 label: "通知标题",
27 }, 27 },
28 { 28 {
29 prop: "noticeSource",
30 label: "通知来源",
31 },
32 {
29 label: "通知内容", 33 label: "通知内容",
30 render: (h, scope) => { 34 render: (h, scope) => {
31 return <div class="item-cwnr">{scope.row.noticeContent}</div> 35 return <div class="item-cwnr" domPropsInnerHTML={scope.row.noticeContent}></div>
32 } 36 }
33 }, 37 },
34 { 38 {
35 prop: "noticeFileName", 39 prop: "noticeFileName",
36 label: "通知附件", 40 label: "通知附件",
37 render: (h, scope) => { 41 render: (h, scope) => {
38 return <div class="pointer" onClick={() => { vm.downloadFile(scope.row) }}>{scope.row.noticeFileName}</div> 42 return <div class="pointer" onClick={() => { vm.downloadFile(scope.row) }}>{scope.row.noticeFileName}</div>
39 } 43 }
40 }, 44 },
41 { 45 {
42 label: "发布状态", 46 label: "发布状态",
43 width: '80', 47 width: '80',
44 render: (h, scope) => { 48 render: (h, scope) => {
45 switch (scope.row.noticeStatus) { 49 switch (scope.row.noticeStatus) {
46 case '1': 50 case '1':
47 return <div class='prohibit'>未发布</div> 51 return <div class='prohibit'>未发布</div>
48 case '2': 52 case '2':
49 return <div class='allow'>已发布</div> 53 return <div class='allow'>已发布</div>
50 }
51 } 54 }
55 }
56 },
57 {
58 prop: "noticePublishTime",
59 label: "发布时间",
52 }, 60 },
53 { 61 {
54 prop: "creater", 62 prop: "creater",
...@@ -67,14 +75,15 @@ class data extends filter { ...@@ -67,14 +75,15 @@ class data extends filter {
67 switch (scope.row.noticeStatus) { 75 switch (scope.row.noticeStatus) {
68 case '1': 76 case '1':
69 return <div> 77 return <div>
78 <el-button type="text" icon="el-icon-view" onClick={() => { vm.openDialog(scope.row) }}>查看</el-button>
79 <el-button type="text" icon="el-icon-edit" onClick={() => { vm.editNotice(scope.row) }}>编辑</el-button>
70 <el-button type="text" icon="el-icon-edit-outline" onClick={() => { vm.toPublish(scope.row) }}>发布</el-button> 80 <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> 81 <el-button type="text" icon="el-icon-delete" onClick={() => { vm.delNotice(scope.row) }}>删除</el-button>
73 </div> 82 </div>
74 case '2': 83 case '2':
75 return <div> 84 return <div>
76 <el-button type="text" onClick={() => { vm.viewDetail(scope.row) }}>查看</el-button> 85 <el-button type="text" icon="el-icon-view" onClick={() => { vm.openDialog(scope.row) }}>查看</el-button>
77 <el-button type="text" icon="el-icon-edit-outline" onClick={() => { vm.toUnPublish(scope.row) }}>撤销通知</el-button> 86 <el-button type="text" icon="el-icon-edit-outline" onClick={() => { vm.toUnPublish(scope.row) }}>撤销通知</el-button>
78 </div> 87 </div>
79 } 88 }
80 } 89 }
......
1 <template> 1 <template>
2 <dialogBox title="申请人信息" width="60%" isMain v-model="myValue" :isFullscreen="false" @submitForm="submitForm" 2 <dialogBox
3 @closeDialog="closeDialog"> 3 title="申请人信息"
4 <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px"> 4 width="60%"
5 isMain
6 v-model="myValue"
7 :isFullscreen="false"
8 @submitForm="submitForm"
9 @closeDialog="closeDialog"
10 >
11 <el-form
12 :model="ruleForm"
13 :rules="rules"
14 ref="ruleForm"
15 label-width="120px"
16 >
5 <el-row> 17 <el-row>
6 <el-col :span="8"> 18 <el-col :span="8">
7 <el-form-item label="权利人类型" prop="sqrlx"> 19 <el-form-item label="权利人类型" prop="sqrlx">
8 <el-select clearable v-model="ruleForm.sqrlx" class="width100" placeholder="请选择"> 20 <el-select
9 <el-option v-for="item in dictData['A36']" :key="item.dcode" :label="item.dname" :value="item.dcode"> 21 clearable
22 v-model="ruleForm.sqrlx"
23 class="width100"
24 placeholder="请选择"
25 >
26 <el-option
27 v-for="item in dictData['A36']"
28 :key="item.dcode"
29 :label="item.dname"
30 :value="item.dcode"
31 >
10 </el-option> 32 </el-option>
11 </el-select> 33 </el-select>
12 </el-form-item> 34 </el-form-item>
...@@ -18,8 +40,18 @@ ...@@ -18,8 +40,18 @@
18 </el-col> 40 </el-col>
19 <el-col :span="8"> 41 <el-col :span="8">
20 <el-form-item label="证件种类" prop="zjzl"> 42 <el-form-item label="证件种类" prop="zjzl">
21 <el-select clearable v-model="ruleForm.zjzl" class="width100" placeholder="请选择"> 43 <el-select
22 <el-option v-for="item in dictData['A30']" :key="item.dcode" :label="item.dname" :value="item.dcode"> 44 clearable
45 v-model="ruleForm.zjzl"
46 class="width100"
47 placeholder="请选择"
48 >
49 <el-option
50 v-for="item in dictData['A30']"
51 :key="item.dcode"
52 :label="item.dname"
53 :value="item.dcode"
54 >
23 </el-option> 55 </el-option>
24 </el-select> 56 </el-select>
25 </el-form-item> 57 </el-form-item>
...@@ -38,8 +70,18 @@ ...@@ -38,8 +70,18 @@
38 </el-col> 70 </el-col>
39 <el-col :span="8"> 71 <el-col :span="8">
40 <el-form-item label="性别"> 72 <el-form-item label="性别">
41 <el-select clearable v-model="ruleForm.xb" class="width100" placeholder="请选择"> 73 <el-select
42 <el-option v-for="item in dictData['A43']" :key="item.dcode" :label="item.dname" :value="item.dcode"> 74 clearable
75 v-model="ruleForm.xb"
76 class="width100"
77 placeholder="请选择"
78 >
79 <el-option
80 v-for="item in dictData['A43']"
81 :key="item.dcode"
82 :label="item.dname"
83 :value="item.dcode"
84 >
43 </el-option> 85 </el-option>
44 </el-select> 86 </el-select>
45 </el-form-item> 87 </el-form-item>
...@@ -120,8 +162,18 @@ ...@@ -120,8 +162,18 @@
120 </el-col> 162 </el-col>
121 <el-col :span="8"> 163 <el-col :span="8">
122 <el-form-item label="代理人证件类型"> 164 <el-form-item label="代理人证件类型">
123 <el-select clearable v-model="ruleForm.dlrzjlx" class="width100" placeholder="请选择"> 165 <el-select
124 <el-option v-for="item in dictData['A30']" :key="item.dcode" :label="item.dname" :value="item.dcode"> 166 clearable
167 v-model="ruleForm.dlrzjlx"
168 class="width100"
169 placeholder="请选择"
170 >
171 <el-option
172 v-for="item in dictData['A30']"
173 :key="item.dcode"
174 :label="item.dname"
175 :value="item.dcode"
176 >
125 </el-option> 177 </el-option>
126 </el-select> 178 </el-select>
127 </el-form-item> 179 </el-form-item>
...@@ -138,74 +190,64 @@ ...@@ -138,74 +190,64 @@
138 </dialogBox> 190 </dialogBox>
139 </template> 191 </template>
140 <script> 192 <script>
141 import { mapGetters } from 'vuex' 193 import { mapGetters } from "vuex";
142 export default { 194 export default {
143 props: { 195 props: {
144 value: { type: Boolean, default: false }, 196 value: { type: Boolean, default: false },
145 details: { type: Object, default: {} } 197 details: { type: Object, default: {} },
146 }, 198 },
147 computed: { 199 computed: {
148 ...mapGetters(["dictData"]), 200 ...mapGetters(["dictData"]),
149 }, 201 },
150 data () { 202 data() {
151 return { 203 return {
152 myValue: this.value, 204 myValue: this.value,
153 ruleForm: { 205 ruleForm: {
154 sqrlx: '', 206 sqrlx: "",
155 sqrmc: '', 207 sqrmc: "",
156 zjzl: '', 208 zjzl: "",
157 zjh: '', 209 zjh: "",
158 dh: '', 210 dh: "",
159 xb: '', 211 xb: "",
160 frmc: '', 212 frmc: "",
161 gjdq: '', 213 gjdq: "",
162 szss: '', 214 szss: "",
163 dz: '', 215 dz: "",
164 yb: '', 216 yb: "",
165 fzjg: '', 217 fzjg: "",
166 dzyj: '', 218 dzyj: "",
167 qlbl: '', 219 qlbl: "",
168 gzdw: '', 220 gzdw: "",
169 dljg: '', 221 dljg: "",
170 dlrxm: '', 222 dlrxm: "",
171 dlrzjlx: '', 223 dlrzjlx: "",
172 dlrzjh: '' 224 dlrzjh: "",
173 }, 225 },
174 rules: { 226 rules: {
175 sqrlx: [ 227 sqrlx: [{ required: true, message: "权利人类型", trigger: "change" }],
176 { required: true, message: '权利人类型', trigger: 'change' } 228 sqrmc: [{ required: true, message: "姓名/名称", trigger: "blur" }],
177 ], 229 zjzl: [{ required: true, message: "证件种类", trigger: "change" }],
178 sqrmc: [ 230 zjh: [{ required: true, message: "证件号", trigger: "blur" }],
179 { required: true, message: '姓名/名称', trigger: 'blur' } 231 },
180 ], 232 };
181 zjzl: [
182 { required: true, message: '证件种类', trigger: 'change' }
183 ],
184 zjh: [
185 { required: true, message: '证件号', trigger: 'blur' }
186 ]
187 }
188 }
189 }, 233 },
190 watch: { 234 watch: {
191 value (val) { 235 value(val) {
192 this.myValue = _.cloneDeep(val) 236 this.myValue = _.cloneDeep(val);
193 }, 237 },
194 details: { 238 details: {
195 handler: function (val, oldVal) { 239 handler: function (val, oldVal) {
196 this.ruleForm = val 240 this.ruleForm = val;
197 }, 241 },
198 deep: true 242 deep: true,
199 } 243 },
200 }, 244 },
201 methods: { 245 methods: {
202 closeDialog () { 246 closeDialog() {
203 this.$emit("input", false); 247 this.$emit("input", false);
204 this.$refs['ruleForm'].resetFields(); 248 this.$refs["ruleForm"].resetFields();
205 }, 249 },
206 submitForm () { 250 submitForm() {
207 this.$emit("input", false);
208 this.$emit("updateDetail", _.cloneDeep(this.ruleForm));
209 // this.$refs['ruleForm'].validate((valid) => { 251 // this.$refs['ruleForm'].validate((valid) => {
210 // if (valid) { 252 // if (valid) {
211 // this.$message({ 253 // this.$message({
...@@ -217,9 +259,18 @@ export default { ...@@ -217,9 +259,18 @@ export default {
217 // this.$message.error('请完善必填项'); 259 // this.$message.error('请完善必填项');
218 // } 260 // }
219 // }) 261 // })
220 } 262
221 } 263 this.$refs.ruleForm.validate((valid) => {
222 } 264 if (valid) {
265 this.$emit("input", false);
266 this.$emit("updateDetail", _.cloneDeep(this.ruleForm));
267 } else {
268 return false;
269 }
270 });
271 },
272 },
273 };
223 </script> 274 </script>
224 <style scoped lang="scss"> 275 <style scoped lang="scss">
225 .submit-button { 276 .submit-button {
......
...@@ -39,6 +39,9 @@ export function getForm(tabName, djywbm) { ...@@ -39,6 +39,9 @@ export function getForm(tabName, djywbm) {
39 case "diyaqSlxx": 39 case "diyaqSlxx":
40 form = require("@/views/ywbl/diyaq/slxx.vue"); 40 form = require("@/views/ywbl/diyaq/slxx.vue");
41 break; 41 break;
42 case "diyaqSlxx200":
43 form = require("@/views/ywbl/diyaq/slxx200.vue");
44 break;
42 case "clxx": 45 case "clxx":
43 form = require("@/views/workflow/components/clxx.vue"); 46 form = require("@/views/workflow/components/clxx.vue");
44 break; 47 break;
......
...@@ -304,6 +304,7 @@ export default { ...@@ -304,6 +304,7 @@ export default {
304 Init(formdata).then((res) => { 304 Init(formdata).then((res) => {
305 if (res.code === 200 && res.result) { 305 if (res.code === 200 && res.result) {
306 this.ruleForm = res.result; 306 this.ruleForm = res.result;
307 this.ruleForm.diyaq.sfczjzhxz="0";
307 } 308 }
308 }); 309 });
309 }, 310 },
......
1 <template>
2 <!-- 受理信息 -->
3 <div class="slxx">
4 <el-form
5 :model="ruleForm"
6 :rules="rules"
7 ref="ruleForm"
8 :label-position="flag ? 'top' : ''"
9 :inline="flag"
10 label-width="140px"
11 >
12 <div class="slxx_con">
13 <div class="slxx_title title-block">
14 受理信息200
15 <div class="triangle"></div>
16 </div>
17 <el-row :gutter="10">
18 <el-col :span="8">
19 <el-form-item :class="flag ? 'marginBot0' : ''" label="业务号:">
20 <el-input disabled v-model="ruleForm.slywxx.ywh"></el-input>
21 </el-form-item>
22 </el-col>
23 <el-col :span="8">
24 <el-form-item :class="flag ? 'marginBot0' : ''" label="受理人员:">
25 <el-input disabled v-model="ruleForm.slywxx.slry"></el-input>
26 </el-form-item>
27 </el-col>
28 <el-col :span="8">
29 <el-form-item :class="flag ? 'marginBot0' : ''" label="受理时间:">
30 <el-input disabled v-model="ruleForm.slywxx.slsj"></el-input>
31 </el-form-item>
32 </el-col>
33 </el-row>
34 <el-row :gutter="10">
35 <el-col :span="8">
36 <el-form-item
37 :class="flag ? 'marginBot0' : ''"
38 label="权利类型:"
39 prop="qllx"
40 >
41 <el-input disabled v-model="ruleForm.slywxx.qllxmc"></el-input>
42 </el-form-item>
43 </el-col>
44 <el-col :span="8">
45 <el-form-item
46 :class="flag ? 'marginBot0' : ''"
47 label="登记类型:"
48 prop="djlx"
49 >
50 <el-input disabled v-model="ruleForm.slywxx.djlxmc"></el-input>
51 </el-form-item>
52 </el-col>
53 <el-col :span="8">
54 <el-form-item
55 :class="flag ? 'marginBot0' : ''"
56 label="登记情形:"
57 prop="djqx"
58 >
59 <el-input disabled v-model="ruleForm.slywxx.djqxmc"></el-input>
60 </el-form-item>
61 </el-col>
62 </el-row>
63 <div class="slxx_title title-block">
64 抵押不动产情况
65 <div class="triangle"></div>
66 </div>
67
68 <el-row :gutter="10">
69 <el-col :span="8">
70 <el-form-item :class="flag ? 'marginBot0' : ''" label="权利人:">
71 <el-input disabled v-model="ruleForm.qlxxold.qlrmc"></el-input>
72 </el-form-item>
73 </el-col>
74 <el-col :span="8">
75 <el-form-item :class="flag ? 'marginBot0' : ''" label="证件号:">
76 <el-input disabled v-model="ruleForm.qlxxold.qlrzjhm"></el-input>
77 </el-form-item>
78 </el-col>
79 <el-col :span="8">
80 <el-form-item :class="flag ? 'marginBot0' : ''" label="证件种类:">
81 <el-input disabled v-model="ruleForm.qlxxold.qlrzjzl"></el-input>
82 </el-form-item>
83 </el-col>
84 </el-row>
85 <el-row :gutter="10">
86 <el-col :span="8">
87 <el-form-item
88 :class="flag ? 'marginBot0' : ''"
89 label="不动产权证号:"
90 >
91 <el-input disabled v-model="ruleForm.slywxx.ybdcqzsh"></el-input>
92 </el-form-item>
93 </el-col>
94 <el-col :span="16">
95 <el-form-item :class="flag ? 'marginBot0' : ''" label="坐落:">
96 <el-input disabled v-model="ruleForm.qlxxold.zl"></el-input>
97 </el-form-item>
98 </el-col>
99 </el-row>
100 <el-row :gutter="10">
101 <el-col :span="8">
102 <el-form-item :class="flag ? 'marginBot0' : ''" label="用途:">
103 <el-input disabled v-model="ruleForm.qlxxold.ytmc"></el-input>
104 </el-form-item>
105 </el-col>
106 <el-col :span="8">
107 <el-form-item
108 :class="flag ? 'marginBot0' : ''"
109 label="不动产单元号:"
110 >
111 <el-input disabled v-model="ruleForm.qlxxold.bdcdyh"></el-input>
112 </el-form-item>
113 </el-col>
114 <el-col :span="8">
115 <el-form-item :class="flag ? 'marginBot0' : ''" label="面积:">
116 <el-input disabled v-model="ruleForm.qlxxold.mj"></el-input>
117 </el-form-item>
118 </el-col>
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-radio-group disabled v-model="ruleForm.diyaq.dyfs">
131 <el-radio label="1">一般抵押</el-radio>
132 <el-radio label="2">最高额抵押</el-radio>
133 </el-radio-group>
134 </el-form-item>
135 </el-col>
136 <el-col :span="16">
137 <el-form-item
138 :class="flag ? 'marginBot0' : ''"
139 label="是否存在禁止或者限制转让抵押不动产的约定:"
140 label-width="350px"
141 >
142 <el-radio-group v-model="ruleForm.diyaq.sfczjzhxz">
143 <el-radio label="1">启用</el-radio>
144 <el-radio label="0">禁用</el-radio>
145 </el-radio-group>
146 </el-form-item>
147 </el-col>
148 </el-row>
149
150 <el-row :gutter="10">
151 <el-col :span="8" v-show="ruleForm.diyaq.dyfs==1">
152 <el-form-item
153 :class="flag ? 'marginBot0' : ''"
154 label="被担保主债权数额:"
155 >
156 <el-input v-model="ruleForm.diyaq.bdbzzqse"></el-input>
157 </el-form-item>
158 </el-col>
159
160 <el-col :span="8" v-show="ruleForm.diyaq.dyfs==2">
161 <el-form-item
162 :class="flag ? 'marginBot0' : ''"
163 label="最高债权额:"
164 >
165 <el-input v-model="ruleForm.diyaq.zgzqse"></el-input>
166 </el-form-item>
167 </el-col>
168
169 <el-col :span="8">
170 <el-form-item
171 :class="flag ? 'marginBot0' : ''"
172 label="债务履行起始时间:"
173 >
174 <el-date-picker v-model="ruleForm.diyaq.zwlxqssj" type="date">
175 </el-date-picker>
176 </el-form-item>
177 </el-col>
178 <el-col :span="8">
179 <el-form-item
180 :class="flag ? 'marginBot0' : ''"
181 label="债务履行结束时间:"
182 >
183 <el-date-picker v-model="ruleForm.diyaq.zwlxjssj" type="date">
184 </el-date-picker>
185 </el-form-item>
186 </el-col>
187 </el-row>
188
189
190 <el-row>
191 <el-col :span="24">
192 <el-form-item :class="flag ? 'marginBot0' : ''" label="担保范围:">
193 <el-input v-model="ruleForm.diyaq.dbfw"></el-input>
194 </el-form-item>
195 </el-col>
196 </el-row>
197 <el-row>
198 <el-col :span="24">
199 <el-form-item :class="flag ? 'marginBot0' : ''" label="最高债权确定事实和数额:" label-width="200px">
200 <el-input v-model="ruleForm.diyaq.zgzqqdss"></el-input>
201 </el-form-item>
202 </el-col>
203 </el-row>
204 <el-row >
205 <el-col>
206 <el-form-item :class="flag ? 'marginBot0' : ''" label="附记:" prop="fj">
207 <el-input type="textarea" v-model="ruleForm.diyaq.fj" :disabled="$route.query.viewtype==1"></el-input>
208 </el-form-item>
209 </el-col>
210 </el-row>
211
212 <div class="slxx_title title-block">
213 抵押权人信息
214 <div class="triangle"></div>
215 </div>
216 <el-row :gutter="10">
217 <el-col :span="14">
218 <el-form-item :class="flag ? 'marginBot0' : ''" label="共有方式:">
219 <el-radio-group
220 :disabled="$route.query.viewtype == 1"
221 v-model="ruleForm.slywxx.gyfs"
222 >
223 <el-radio label="0">单独所有</el-radio>
224 <el-radio label="1">共同共有</el-radio>
225 <el-radio label="2">按份所有</el-radio>
226 <el-radio label="3">其它共有</el-radio>
227 </el-radio-group>
228 </el-form-item>
229 </el-col>
230 <el-col :span="5" v-show="ruleForm.gyfs == '2'">
231 <el-form-item
232 :class="flag ? 'marginBot0' : ''"
233 label="是否分别持证:"
234 >
235 <el-radio-group v-model="ruleForm.slywxx.sffbcz">
236 <el-radio label="1"></el-radio>
237 <el-radio label="0"></el-radio>
238 </el-radio-group>
239 </el-form-item>
240 </el-col>
241 <el-col :span="5" v-show="ruleForm.gyfs == '2'">
242 <el-form-item :class="flag ? 'marginBot0' : ''" label="持证人:">
243 <el-select v-model="ruleForm.czr" placeholder="持证人">
244 <el-option
245 v-for="item in czrOptions"
246 :key="item.value"
247 :label="item.label"
248 :value="item.value"
249 >
250 </el-option>
251 </el-select>
252 </el-form-item>
253 </el-col>
254 </el-row>
255 <InformationTable
256 :tableData="ruleForm.qlrList"
257 @upDateQlrxxList="upDateQlrxxList"
258 :viewtype="$route.query.viewtype"
259 :gyfs="ruleForm.slywxx.gyfs"
260 />
261 <div class="slxx_title title-block">
262 抵押人信息
263 <div class="triangle"></div>
264 </div>
265 <InformationTable
266 :tableData="ruleForm.ywrList"
267 @upDateQlrxxList="upDateYwrxxList"
268 :viewtype="$route.query.viewtype"
269 />
270
271 <div class="slxx_title title-block">
272 登记原因
273 <div class="triangle"></div>
274 </div>
275 <el-row :gutter="10">
276 <el-col>
277 <el-form-item :class="flag ? 'marginBot0' : ''" label="登记原因:" prop="djyy">
278 <el-input class="textArea" type="textarea" :disabled="$route.query.viewtype==1" v-model="ruleForm.diyaq.djyy">
279 </el-input>
280 </el-form-item>
281 </el-col>
282 </el-row>
283
284 </div>
285 <el-row class="btn" v-if="!$route.query.viewtype">
286 <el-form-item :class="flag ? 'marginBot0' : ''">
287 <el-button type="primary" @click="onSubmitClick()">保存</el-button>
288 </el-form-item>
289 </el-row>
290 </el-form>
291 </div>
292 </template>
293 <script>
294 import InformationTable from "@/views/workflow/components/InformationTable";
295 import { Init, saveData } from "@/api/diyaqFlow.js";
296 import { mapGetters } from "vuex";
297 export default {
298 async created() {
299 this.propsParam = this.$attrs;
300 var formdata = new FormData();
301 formdata.append("bsmSldy", this.propsParam.bsmSldy);
302 formdata.append("bsmSlsq", this.$route.query.bsmSlsq);
303 formdata.append("djlx", this.propsParam.djlx);
304 Init(formdata).then((res) => {
305 if (res.code === 200 && res.result) {
306 this.ruleForm = res.result;
307 this.ruleForm.diyaq.sfczjzhxz="0";
308 }
309 });
310 },
311 components: { InformationTable },
312 computed: {
313 ...mapGetters(["dictData", "flag"]),
314 },
315 data() {
316 return {
317 disabled: true,
318 czrOptions: [],
319 ruleForm: {
320 slywxx: {},
321 qlxxold: {},
322 diyaq: {},
323 gyfs: "",
324 },
325 //传递参数
326 propsParam: {},
327 rules: {},
328 };
329 },
330 methods: {
331 // list(bsmSldy) {
332 // Init({
333 // bsmSldy: bsmSldy.split(","),
334 // }).then((res) => {
335 // if (res.code === 200 && res.result) {
336 // this.ruleForm = {
337 // ...res.result,
338 // ...res.result.zdjbxxdatas,
339 // ...res.result.qlxxdatas,
340 // ...res.result.jsydsyqdatas,
341 // };
342 // }
343 // });
344 // },
345 onSubmitClick() {
346 saveData(this.ruleForm).then((res) => {
347 if (res.code === 200) {
348 this.$message({
349 showClose: true,
350 message: "保存成功!",
351 type: "success",
352 });
353 } else {
354 this.$message({
355 showClose: true,
356 message: res.message,
357 type: "error",
358 });
359 }
360 });
361 },
362
363 // 更新权利人信息
364 upDateQlrxxList(val) {
365 this.ruleForm.qlrList = _.cloneDeep(val);
366 },
367 // 更新义务人信息
368 upDateYwrxxList(val) {
369 this.ruleForm.ywrList = _.cloneDeep(val);
370 },
371 },
372 };
373 </script>
374 <style scoped lang='scss'>
375 @import "~@/styles/public.scss";
376 @import "~@/styles/slxx/slxx.scss";
377 </style>
...@@ -166,6 +166,7 @@ export default { ...@@ -166,6 +166,7 @@ export default {
166 }); 166 });
167 }, 167 },
168 handleSelectionChange(val) { 168 handleSelectionChange(val) {
169 debugger;
169 val.forEach((item, index) => { 170 val.forEach((item, index) => {
170 item.bsmSsql = item.bsmQlxx; 171 item.bsmSsql = item.bsmQlxx;
171 item.ybdcqzsh = item.bdcqzh; 172 item.ybdcqzsh = item.bdcqzh;
......
...@@ -157,6 +157,7 @@ export default { ...@@ -157,6 +157,7 @@ export default {
157 message: "发起申请成功", 157 message: "发起申请成功",
158 type: "success", 158 type: "success",
159 }); 159 });
160 debugger;
160 if (!this.isJump) { 161 if (!this.isJump) {
161 this.jump(res.result, this.djywbm); 162 this.jump(res.result, this.djywbm);
162 } else { 163 } else {
...@@ -168,6 +169,7 @@ export default { ...@@ -168,6 +169,7 @@ export default {
168 }); 169 });
169 }, 170 },
170 handleSelectionChange(val) { 171 handleSelectionChange(val) {
172 debugger;
171 val.forEach((item, index) => { 173 val.forEach((item, index) => {
172 item.bsmSsql = item.bsmQlxx; 174 item.bsmSsql = item.bsmQlxx;
173 item.ybdcqzsh = item.bdcqzh; 175 item.ybdcqzsh = item.bdcqzh;
......
...@@ -65,7 +65,7 @@ class data extends filter { ...@@ -65,7 +65,7 @@ class data extends filter {
65 }, 65 },
66 { 66 {
67 prop: "mj", 67 prop: "mj",
68 label: "农用地面积(㎡)", 68 label: "面积(㎡)",
69 }, 69 },
70 { 70 {
71 prop: "qlsdfsmc", 71 prop: "qlsdfsmc",
......
...@@ -15,11 +15,15 @@ export function queueDjywmc (djywbm) { ...@@ -15,11 +15,15 @@ export function queueDjywmc (djywbm) {
15 vm = "fwsyq"; 15 vm = "fwsyq";
16 break; 16 break;
17 case "A23100"://农用地使用权(首次登记) 17 case "A23100"://农用地使用权(首次登记)
18 case "A09100"://土地经营权(首次登记)
18 vm = "nydsyq100"; 19 vm = "nydsyq100";
19 break; 20 break;
20 case "A23200": 21 case "A23200":
21 case "A23300": 22 case "A23300":
22 case "A23400": 23 case "A23400":
24 case "A09200":
25 case "A09300":
26 case "A09400":
23 vm = "nydsyq200"; 27 vm = "nydsyq200";
24 break; 28 break;
25 case "A05200": 29 case "A05200":
......