Merge branch 'master' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web
Showing
16 changed files
with
217 additions
and
214 deletions
... | @@ -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 | } | ... | ... |
... | @@ -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,15 @@ export default { | ... | @@ -263,15 +267,15 @@ 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/.message-title { |
268 | background: none; | 272 | font-size: 18px; |
269 | } | 273 | font-weight: 700; |
270 | .el-message-box { | 274 | margin-bottom: 5px; |
271 | border: none; | ||
272 | } | 275 | } |
273 | .el-message-box__content { | 276 | |
274 | min-height: 150px; | 277 | /deep/.el-message-box__content img { |
275 | padding-top: 30px; | 278 | width: 100%; |
279 | height: 100%; | ||
276 | } | 280 | } |
277 | </style> | 281 | </style> |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -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> |
... | @@ -220,27 +218,25 @@ export default { | ... | @@ -220,27 +218,25 @@ export default { |
220 | } | 218 | } |
221 | } | 219 | } |
222 | 220 | ||
223 | .avatar-container { | 221 | .avatar-wrapper { |
224 | .avatar-wrapper { | 222 | position: relative; |
225 | position: relative; | 223 | display: flex; |
226 | display: flex; | 224 | height: 40px; |
227 | height: 40px; | 225 | align-items: center; |
228 | align-items: center; | ||
229 | 226 | ||
230 | .user-avatar { | 227 | .user-avatar { |
231 | cursor: pointer; | 228 | cursor: pointer; |
232 | width: 35px; | 229 | width: 35px; |
233 | height: 35px; | 230 | height: 35px; |
234 | border-radius: 50%; | 231 | border-radius: 50%; |
235 | } | 232 | } |
236 | 233 | ||
237 | .el-icon-caret-bottom { | 234 | .el-icon-caret-bottom { |
238 | cursor: pointer; | 235 | cursor: pointer; |
239 | position: absolute; | 236 | position: absolute; |
240 | right: -15px; | 237 | right: -15px; |
241 | top: 17px; | 238 | top: 17px; |
242 | font-size: 12px; | 239 | font-size: 12px; |
243 | } | ||
244 | } | 240 | } |
245 | } | 241 | } |
246 | } | 242 | } | ... | ... |
... | @@ -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.createtime.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 | }, |
... | @@ -204,7 +194,7 @@ export default { | ... | @@ -204,7 +194,7 @@ export default { |
204 | this.noticeList.forEach(item => { | 194 | this.noticeList.forEach(item => { |
205 | item.createtime = this._timedate(item.createtime) | 195 | item.createtime = this._timedate(item.createtime) |
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="新增系统通知" @submitForm="submitForm" saveButton="保存" :isFullscreen="false" width="50%" |
3 | @closeDialog="closeDialog" v-model="value"> | 3 | @closeDialog="closeDialog" v-model="value"> |
4 | <el-form ref="ruleForm" :model="ruleForm" label-width="100px" :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> |
... | @@ -45,10 +35,10 @@ | ... | @@ -45,10 +35,10 @@ |
45 | </el-col> | 35 | </el-col> |
46 | </el-row> | 36 | </el-row> |
47 | <div v-show="false"> | 37 | <div v-show="false"> |
48 | <el-upload action="" multiple :auto-upload="false" | 38 | <el-upload action multiple :auto-upload="false" :on-change="RichTexthandleChange" :before-upload="beforeUpload" |
49 | :on-change="RichTexthandleChange" :before-upload="beforeUpload" class="richUpload"> | 39 | class="richUpload"> |
50 | <el-button icon="el-icon-upload" type="primary">上传</el-button> | 40 | <el-button icon="el-icon-upload" type="primary">上传</el-button> |
51 | <div slot="tip" class="el-upload__tip">文件大小不超过20MB</div> | 41 | <div slot="tip" class="el-upload__tip">文件大小不超过20MB</div> |
52 | </el-upload> | 42 | </el-upload> |
53 | </div> | 43 | </div> |
54 | </el-form> | 44 | </el-form> |
... | @@ -56,35 +46,35 @@ | ... | @@ -56,35 +46,35 @@ |
56 | </template> | 46 | </template> |
57 | 47 | ||
58 | <script> | 48 | <script> |
59 | import { addSysNotice } from "@/api/notice.js" | 49 | import { addSysNotice } from "@/api/notice.js"; |
60 | import { upload } from "@/api/system.js" | 50 | import { upload } from "@/api/system.js"; |
61 | import { quillEditor } from "vue-quill-editor"; | 51 | import { quillEditor } from "vue-quill-editor"; |
62 | export default { | 52 | export default { |
63 | props: { | 53 | props: { |
64 | value: { type: Boolean, default: false }, | 54 | value: { type: Boolean, default: false } |
65 | }, | 55 | }, |
66 | components: { quillEditor }, | 56 | components: { quillEditor }, |
67 | data () { | 57 | data () { |
68 | return { | 58 | return { |
69 | ruleForm: { | 59 | ruleForm: { |
70 | noticeTitle: '', | 60 | noticeTitle: "", |
71 | noticeContent: '', | 61 | noticeContent: "", |
72 | noticeFileUrl: '', | 62 | noticeFileUrl: "", |
73 | noticeSource: '', | 63 | noticeSource: "", |
74 | noticeType: '1' | 64 | noticeType: "1" |
75 | }, | 65 | }, |
76 | rules: { | 66 | rules: { |
77 | noticeTitle: [ | 67 | noticeTitle: [ |
78 | { required: true, message: '请输入通知标题', trigger: 'blur' } | 68 | { required: true, message: "请输入通知标题", trigger: "blur" } |
79 | ], | 69 | ], |
80 | noticeContent: [ | 70 | noticeContent: [ |
81 | { required: true, message: '请输入通知内容', trigger: 'blur' } | 71 | { required: true, message: "请输入通知内容", trigger: "blur" } |
82 | ], | 72 | ], |
83 | noticeSource: [ | 73 | noticeSource: [ |
84 | { required: true, message: '请输入通知来源', trigger: 'blur' } | 74 | { required: true, message: "请输入通知来源", trigger: "blur" } |
85 | ] | 75 | ] |
86 | }, | 76 | }, |
87 | // 富文本编辑器配置 | 77 | // 富文本编辑器配置 |
88 | editorOption: { | 78 | editorOption: { |
89 | theme: "snow", // or 'bubble' | 79 | theme: "snow", // or 'bubble' |
90 | modules: { | 80 | modules: { |
... | @@ -97,51 +87,62 @@ export default { | ... | @@ -97,51 +87,62 @@ export default { |
97 | [{ script: "sub" }, { script: "super" }], // 上标/下标 | 87 | [{ script: "sub" }, { script: "super" }], // 上标/下标 |
98 | [{ indent: "-1" }, { indent: "+1" }], // 缩进 | 88 | [{ indent: "-1" }, { indent: "+1" }], // 缩进 |
99 | [{ direction: "rtl" }], // 文本方向 | 89 | [{ direction: "rtl" }], // 文本方向 |
100 | [{ size: ['small', false, 'large', 'huge'] }], // 字体大小 | 90 | [{ size: ["small", false, "large", "huge"] }], // 字体大小 |
101 | [{ header: [1, 2, 3, 4, 5, 6] }], // 标题 | 91 | [{ header: [1, 2, 3, 4, 5, 6] }], // 标题 |
102 | [{ color: [] }, { background: [] }], // 字体颜色、字体背景颜色 | 92 | [{ color: [] }, { background: [] }], // 字体颜色、字体背景颜色 |
103 | // [{ font: ['songti'] }], // 字体种类 | 93 | // [{ font: ['songti'] }], // 字体种类 |
104 | [{ align: [] }], // 对齐方式 | 94 | [{ align: [] }], // 对齐方式 |
105 | ["clean"], // 清除文本格式 | 95 | ["clean"], // 清除文本格式 |
106 | ["image", "video"], // 链接、图片、视频 | 96 | ["image", "video"] // 链接、图片、视频 |
107 | ], | 97 | ], |
108 | handlers: { | 98 | handlers: { |
109 | image: function(value) { | 99 | image: function (value) { |
110 | if (value) { | 100 | if (value) { |
111 | // 用upload的点击事件代替文本编辑器的图片上传事件 | 101 | // 用upload的点击事件代替文本编辑器的图片上传事件 |
112 | document.querySelector('.richUpload input').click(); | 102 | document.querySelector(".richUpload input").click(); |
113 | } else { | 103 | } else { |
114 | this.quill.format('image', false); | 104 | this.quill.format("image", false); |
115 | } | ||
116 | } | 105 | } |
106 | } | ||
117 | } | 107 | } |
118 | } | 108 | } |
119 | }, | 109 | }, |
120 | placeholder: "请输入正文", | 110 | placeholder: "请输入正文" |
121 | }, | 111 | } |
122 | } | 112 | }; |
123 | }, | 113 | }, |
124 | mounted() { | 114 | watch: { |
125 | // 自定义粘贴图片功能 | 115 | value (val) { |
126 | let quill = this.$refs.myQuillEditor.quill; | 116 | if (val) { |
127 | quill.root.addEventListener("paste",evt => { | 117 | let that = this |
128 | console.log(1111); | 118 | this.$nextTick(() => { |
129 | if (evt.clipboardData && evt.clipboardData.files &&evt.clipboardData.files.length) { | 119 | //创建富文本粘贴事件监听 |
130 | console.log(2222); | 120 | let quill = this.$refs.myQuillEditor.quill; |
131 | evt.preventDefault(); | 121 | this.$forceUpdate(); |
132 | [].forEach.call(evt.clipboardData.files, file => { | 122 | quill.root.addEventListener( |
133 | console.log(33333); | 123 | "paste", |
134 | if (!file.type.match(/^image\/(gif|jpe?g|a?png|bmp)/i)) { | 124 | evt => { |
135 | return; | 125 | if ( |
136 | } | 126 | evt.clipboardData && |
137 | console.log(4444); | 127 | evt.clipboardData.files && |
138 | this.RichTexthandleChange(File); | 128 | evt.clipboardData.files.length |
139 | }); | 129 | ) { |
140 | } | 130 | evt.preventDefault(); |
141 | }, | 131 | [].forEach.call(evt.clipboardData.files, file => { |
142 | false | 132 | if (!file.type.match(/^image\/(gif|jpe?g|a?png|bmp)/i)) { |
143 | ); | 133 | return; |
134 | } | ||
135 | that.clipboardPictureChange(file); | ||
136 | }); | ||
137 | } | ||
138 | }, | ||
139 | false | ||
140 | ); | ||
141 | }); | ||
142 | } | ||
143 | } | ||
144 | }, | 144 | }, |
145 | mounted () { }, | ||
145 | methods: { | 146 | methods: { |
146 | submitForm () { | 147 | submitForm () { |
147 | let that = this; | 148 | let that = this; |
... | @@ -149,14 +150,14 @@ export default { | ... | @@ -149,14 +150,14 @@ export default { |
149 | if (valid) { | 150 | if (valid) { |
150 | addSysNotice(this.ruleForm).then(res => { | 151 | addSysNotice(this.ruleForm).then(res => { |
151 | if (res.code == 200) { | 152 | if (res.code == 200) { |
152 | this.$message.success('保存成功') | 153 | this.$message.success("保存成功"); |
153 | this.$emit("input", false); | 154 | this.$emit("input", false); |
154 | this.resetRuleForm(); | 155 | this.resetRuleForm(); |
155 | this.$parent.queryClick(); | 156 | this.$parent.queryClick(); |
156 | } else { | 157 | } else { |
157 | this.$message.error(res.message) | 158 | this.$message.error(res.message); |
158 | } | 159 | } |
159 | }) | 160 | }); |
160 | } else { | 161 | } else { |
161 | // console.log('error submit!!'); | 162 | // console.log('error submit!!'); |
162 | return false; | 163 | return false; |
... | @@ -170,25 +171,32 @@ export default { | ... | @@ -170,25 +171,32 @@ export default { |
170 | }, | 171 | }, |
171 | // | 172 | // |
172 | resetRuleForm () { | 173 | resetRuleForm () { |
173 | this.$refs['ruleForm'].resetFields(); | 174 | this.$refs["ruleForm"].resetFields(); |
174 | this.ruleForm.noticeType = '1' | 175 | this.ruleForm.noticeType = "1"; |
175 | }, | 176 | }, |
176 | beforeUpload (file) { | 177 | beforeUpload (file) { |
177 | return true | 178 | return true; |
178 | }, | 179 | }, |
179 | //附件上传事件 | 180 | //附件上传事件 |
180 | async handleChange (file) { | 181 | async handleChange (file) { |
181 | var formdata = new FormData(); | 182 | var formdata = new FormData(); |
182 | formdata.append("file", file.raw); | 183 | formdata.append("file", file.raw); |
183 | upload(formdata).then(res => { | 184 | upload(formdata).then(res => { |
184 | this.ruleForm.noticeFileUrl = res.message | 185 | this.ruleForm.noticeFileUrl = res.message; |
185 | }) | 186 | }); |
186 | }, | 187 | }, |
187 | //富文本图片上传事件 | 188 | //富文本图片上传事件 |
188 | async RichTexthandleChange (file) { | 189 | RichTexthandleChange (file) { |
190 | this.uploadPicture(file.raw) | ||
191 | }, | ||
192 | //图片粘贴事件 | ||
193 | clipboardPictureChange (file) { | ||
194 | this.uploadPicture(file) | ||
195 | }, | ||
196 | uploadPicture (file) { | ||
189 | let that = this; | 197 | let that = this; |
190 | var formdata = new FormData(); | 198 | var formdata = new FormData(); |
191 | formdata.append("file", file.raw); | 199 | formdata.append("file", file); |
192 | upload(formdata).then(res => { | 200 | upload(formdata).then(res => { |
193 | //editor对象 | 201 | //editor对象 |
194 | const quill = that.$refs.myQuillEditor.quill; | 202 | const quill = that.$refs.myQuillEditor.quill; |
... | @@ -196,41 +204,48 @@ export default { | ... | @@ -196,41 +204,48 @@ export default { |
196 | // 获取光标所在位置 | 204 | // 获取光标所在位置 |
197 | const length = quill.selection.savedRange.index; | 205 | const length = quill.selection.savedRange.index; |
198 | // 插入图片 | 206 | // 插入图片 |
199 | quill.insertEmbed(length, 'image', res.message); | 207 | quill.insertEmbed(length, "image", res.message); |
200 | // 调整光标到最后 | 208 | // 调整光标到最后 |
201 | quill.setSelection(length + 1); | 209 | quill.setSelection(length + 1); |
202 | //that.quillUpdateImg = false; | 210 | //that.quillUpdateImg = false; |
203 | }) | 211 | }); |
204 | }, | 212 | }, |
205 | onSubmit() { | 213 | onSubmit () { |
206 | //console.log("submit!"); | 214 | //console.log("submit!"); |
207 | }, | 215 | }, |
208 | // 失去焦点事件 | 216 | // 失去焦点事件 |
209 | onEditorBlur(quill) { | 217 | onEditorBlur (quill) { |
210 | //console.log("editor blur!", quill); | 218 | //console.log("editor blur!", quill); |
211 | }, | 219 | }, |
212 | // 获得焦点事件 | 220 | // 获得焦点事件 |
213 | onEditorFocus(quill) { | 221 | onEditorFocus (quill) { |
214 | //console.log("editor focus!", quill); | 222 | //console.log("editor focus!", quill); |
215 | }, | 223 | }, |
216 | // 准备富文本编辑器 | 224 | // 准备富文本编辑器 |
217 | onEditorReady(quill) { | 225 | onEditorReady (quill) { |
218 | //console.log("editor ready!", quill); | 226 | //console.log("editor ready!", quill); |
219 | }, | 227 | }, |
220 | // 内容改变事件 | 228 | // 内容改变事件 |
221 | onEditorChange({ quill, html, text }) { | 229 | onEditorChange ({ quill, html, text }) { |
222 | //console.log("editor change!", quill, html, text); | 230 | //console.log("editor change!", quill, html, text); |
223 | //this.content = html; | 231 | //this.content = html; |
224 | }, | 232 | } |
225 | } | 233 | } |
226 | } | 234 | }; |
227 | </script> | 235 | </script> |
228 | <style scoped lang="scss"> | 236 | <style scoped lang="scss"> |
229 | // .ql-editor{ | 237 | .quill-editor { |
230 | // height:500px; | 238 | padding: 0; |
231 | // } | 239 | } |
232 | /deep/.ql-editor { | 240 | |
233 | padding: 0px; | 241 | .ql-editor { |
234 | height: 500px; | 242 | height: auto !important; |
235 | } | 243 | } |
244 | |||
245 | /deep/.ql-container { | ||
246 | padding: 0; | ||
247 | max-height: 400px; | ||
248 | min-height: 160px; | ||
249 | overflow-y: scroll; | ||
250 | } | ||
236 | </style> | 251 | </style> |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -9,14 +9,9 @@ | ... | @@ -9,14 +9,9 @@ |
9 | <el-row :gutter="8"> | 9 | <el-row :gutter="8"> |
10 | <el-col :span="24" class="margin-top-middle"> | 10 | <el-col :span="24" class="margin-top-middle"> |
11 | 通知内容: | 11 | 通知内容: |
12 | <!-- <span v-html="formData.item.noticeContent"></span> --> | 12 | <quill-editor class="ql-editor" v-model="formData.item.noticeContent" ref="myQuillEditor" |
13 | <quill-editor class="ql-editor" | 13 | :options="editorOption"> |
14 | v-model="formData.item.noticeContent" | 14 | </quill-editor> |
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> | 15 | </el-col> |
21 | </el-row> | 16 | </el-row> |
22 | <el-row :gutter="8"> | 17 | <el-row :gutter="8"> |
... | @@ -30,10 +25,10 @@ | ... | @@ -30,10 +25,10 @@ |
30 | <script> | 25 | <script> |
31 | import { quillEditor } from "vue-quill-editor"; | 26 | import { quillEditor } from "vue-quill-editor"; |
32 | export default { | 27 | export default { |
33 | components: { quillEditor }, | 28 | components: { quillEditor }, |
34 | data () { | 29 | data () { |
35 | return { | 30 | return { |
36 | // 富文本编辑器配置 | 31 | // 富文本编辑器配置 |
37 | editorOption: { | 32 | editorOption: { |
38 | theme: "snow", // or 'bubble' | 33 | theme: "snow", // or 'bubble' |
39 | placeholder: "请输入正文", | 34 | placeholder: "请输入正文", |
... | @@ -63,7 +58,8 @@ export default { | ... | @@ -63,7 +58,8 @@ export default { |
63 | .margin-top-middle { | 58 | .margin-top-middle { |
64 | margin-top: 10px | 59 | margin-top: 10px |
65 | } | 60 | } |
61 | |||
66 | /deep/.ql-editor { | 62 | /deep/.ql-editor { |
67 | padding: 0px; | 63 | padding: 0px; |
68 | } | 64 | } |
69 | </style> | 65 | </style> |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -53,6 +53,7 @@ export default { | ... | @@ -53,6 +53,7 @@ export default { |
53 | return { | 53 | return { |
54 | isDialog: false, | 54 | isDialog: false, |
55 | viewDialog: false, | 55 | viewDialog: false, |
56 | |||
56 | ruleForm: { | 57 | ruleForm: { |
57 | noticeTitle: '', | 58 | noticeTitle: '', |
58 | noticeStatus: '' | 59 | noticeStatus: '' | ... | ... |
... | @@ -28,27 +28,27 @@ class data extends filter { | ... | @@ -28,27 +28,27 @@ class data extends filter { |
28 | { | 28 | { |
29 | label: "通知内容", | 29 | label: "通知内容", |
30 | render: (h, scope) => { | 30 | render: (h, scope) => { |
31 | return <div class="item-cwnr">{scope.row.noticeContent}</div> | 31 | return <div class="item-cwnr" domPropsInnerHTML={scope.row.noticeContent}></div> |
32 | } | 32 | } |
33 | }, | 33 | }, |
34 | { | 34 | { |
35 | prop: "noticeFileName", | 35 | prop: "noticeFileName", |
36 | label: "通知附件", | 36 | label: "通知附件", |
37 | render: (h, scope) => { | 37 | render: (h, scope) => { |
38 | return <div class="pointer" onClick={() => { vm.downloadFile(scope.row) }}>{scope.row.noticeFileName}</div> | 38 | return <div class="pointer" onClick={() => { vm.downloadFile(scope.row) }}>{scope.row.noticeFileName}</div> |
39 | } | 39 | } |
40 | }, | 40 | }, |
41 | { | 41 | { |
42 | label: "发布状态", | 42 | label: "发布状态", |
43 | width: '80', | 43 | width: '80', |
44 | render: (h, scope) => { | 44 | render: (h, scope) => { |
45 | switch (scope.row.noticeStatus) { | 45 | switch (scope.row.noticeStatus) { |
46 | case '1': | 46 | case '1': |
47 | return <div class='prohibit'>未发布</div> | 47 | return <div class='prohibit'>未发布</div> |
48 | case '2': | 48 | case '2': |
49 | return <div class='allow'>已发布</div> | 49 | return <div class='allow'>已发布</div> |
50 | } | ||
51 | } | 50 | } |
51 | } | ||
52 | }, | 52 | }, |
53 | { | 53 | { |
54 | prop: "creater", | 54 | prop: "creater", |
... | @@ -72,9 +72,9 @@ class data extends filter { | ... | @@ -72,9 +72,9 @@ class data extends filter { |
72 | <el-button type="text" icon="el-icon-delete" onClick={() => { vm.delNotice(scope.row) }}>删除</el-button> | 72 | <el-button type="text" icon="el-icon-delete" onClick={() => { vm.delNotice(scope.row) }}>删除</el-button> |
73 | </div> | 73 | </div> |
74 | case '2': | 74 | case '2': |
75 | return <div> | 75 | return <div> |
76 | <el-button type="text" onClick={() => { vm.viewDetail(scope.row) }}>查看</el-button> | 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> | 77 | <el-button type="text" icon="el-icon-edit-outline" onClick={() => { vm.toUnPublish(scope.row) }}>撤销通知</el-button> |
78 | </div> | 78 | </div> |
79 | } | 79 | } |
80 | } | 80 | } | ... | ... |
... | @@ -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": | ... | ... |
-
Please register or sign in to post a comment