Merge remote-tracking branch 'origin/master'
Showing
26 changed files
with
853 additions
and
379 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 | } | ... | ... |
| ... | @@ -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 | }, | ... | ... |
src/views/ywbl/diyaq/slxx200.vue
0 → 100644
| 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; | ... | ... |
| ... | @@ -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