01431511 by renchao@pashanhoo.com

Merge branch 'dev'

2 parents 0f62fe97 5b753536
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-07-20 10:22:20 4 * @LastEditTime: 2023-07-25 16:06:03
5 --> 5 -->
6 <template> 6 <template>
7 <label class="el-checkbox" :class="[ 7 <label class="el-checkbox" :class="[
...@@ -46,9 +46,7 @@ ...@@ -46,9 +46,7 @@
46 default: '' 46 default: ''
47 } 47 }
48 }, 48 },
49
50 componentName: 'ElCheckbox', 49 componentName: 'ElCheckbox',
51
52 data () { 50 data () {
53 return { 51 return {
54 selfModel: false, 52 selfModel: false,
...@@ -56,7 +54,6 @@ ...@@ -56,7 +54,6 @@
56 isLimitExceeded: false 54 isLimitExceeded: false
57 }; 55 };
58 }, 56 },
59
60 computed: { 57 computed: {
61 model: { 58 model: {
62 /** 59 /**
...@@ -129,7 +126,6 @@ ...@@ -129,7 +126,6 @@
129 store () { 126 store () {
130 return this._checkboxGroup ? this._checkboxGroup.value : this.value; 127 return this._checkboxGroup ? this._checkboxGroup.value : this.value;
131 }, 128 },
132
133 /** 129 /**
134 * @description: isLimitDisabled 130 * @description: isLimitDisabled
135 * @author: renchao 131 * @author: renchao
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-25 16:10:17
5 -->
1 <template> 6 <template>
2 <transition name="el-loading-fade" @after-leave="handleAfterLeave"> 7 <transition name="el-loading-fade" @after-leave="handleAfterLeave">
3 <div v-show="visible" class="el-loading-mask" :style="{ backgroundColor: background || '' }" 8 <div v-show="visible" class="el-loading-mask" :style="{ backgroundColor: background || '' }"
...@@ -9,9 +14,8 @@ ...@@ -9,9 +14,8 @@
9 </div> 14 </div>
10 </transition> 15 </transition>
11 </template> 16 </template>
12
13 <script> 17 <script>
14 export default { 18 export default {
15 data () { 19 data () {
16 return { 20 return {
17 text: null, 21 text: null,
...@@ -22,7 +26,6 @@ export default { ...@@ -22,7 +26,6 @@ export default {
22 customClass: '' 26 customClass: ''
23 }; 27 };
24 }, 28 },
25
26 methods: { 29 methods: {
27 handleAfterLeave () { 30 handleAfterLeave () {
28 this.$emit('after-leave'); 31 this.$emit('after-leave');
...@@ -31,15 +34,15 @@ export default { ...@@ -31,15 +34,15 @@ export default {
31 this.text = text; 34 this.text = text;
32 } 35 }
33 } 36 }
34 }; 37 };
35 </script> 38 </script>
36 <style scoped lang="scss"> 39 <style scoped lang="scss">
37 .el-loading-spinner { 40 .el-loading-spinner {
38 margin-top: -100px !important; 41 margin-top: -100px !important;
39 42
40 .img { 43 .img {
41 width: 80px; 44 width: 80px;
42 height: 80px; 45 height: 80px;
43 } 46 }
44 } 47 }
45 </style> 48 </style>
...\ No newline at end of file ...\ No newline at end of file
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-25 16:10:08
5 -->
1 <template> 6 <template>
2 <transition name="fade"> 7 <transition name="fade">
3 <!--主要内容--> 8 <!--主要内容-->
...@@ -18,7 +23,7 @@ ...@@ -18,7 +23,7 @@
18 </transition> 23 </transition>
19 </template> 24 </template>
20 <script> 25 <script>
21 export default { 26 export default {
22 props: { 27 props: {
23 noticeList: { 28 noticeList: {
24 type: Array, 29 type: Array,
...@@ -133,10 +138,10 @@ export default { ...@@ -133,10 +138,10 @@ export default {
133 text.style.animationPlayState = '' 138 text.style.animationPlayState = ''
134 } 139 }
135 } 140 }
136 }; 141 };
137 </script> 142 </script>
138 <style lang="scss" scoped> 143 <style lang="scss" scoped>
139 .noticebar { 144 .noticebar {
140 display: flex; 145 display: flex;
141 align-items: center; 146 align-items: center;
142 width: 100%; 147 width: 100%;
...@@ -176,5 +181,5 @@ export default { ...@@ -176,5 +181,5 @@ export default {
176 } 181 }
177 } 182 }
178 } 183 }
179 } 184 }
180 </style> 185 </style>
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-25 16:09:59
5 -->
1 <template> 6 <template>
2 <div style="width: 100%;height: 100%"> 7 <div style="width: 100%;height: 100%">
3 <vue-photo-zoom-pro :width="bigWidth" :url="url" :type="type" :scale="scale" :out-show="showType" 8 <vue-photo-zoom-pro :width="bigWidth" :url="url" :type="type" :scale="scale" :out-show="showType"
...@@ -5,7 +10,6 @@ ...@@ -5,7 +10,6 @@
5 </vue-photo-zoom-pro> 10 </vue-photo-zoom-pro>
6 </div> 11 </div>
7 </template> 12 </template>
8
9 <script> 13 <script>
10 import vuePhotoZoomPro from '@/components/PhotoZoom/vue-photo-zoom-pro' 14 import vuePhotoZoomPro from '@/components/PhotoZoom/vue-photo-zoom-pro'
11 export default { 15 export default {
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-25 16:06:21
5 -->
1 <template> 6 <template>
2 <transition name="msgbox-fade" v-if="myShow"> 7 <transition name="msgbox-fade" v-if="myShow">
3 <div class="ls-mask" v-loading="loading"> 8 <div class="ls-mask" v-loading="loading">
...@@ -21,7 +26,7 @@ ...@@ -21,7 +26,7 @@
21 </transition> 26 </transition>
22 </template> 27 </template>
23 <script> 28 <script>
24 export default { 29 export default {
25 name: 'index', 30 name: 'index',
26 data () { 31 data () {
27 return { 32 return {
...@@ -123,10 +128,10 @@ export default { ...@@ -123,10 +128,10 @@ export default {
123 this.$el.parentNode.removeChild(this.$el); 128 this.$el.parentNode.removeChild(this.$el);
124 } 129 }
125 } 130 }
126 } 131 }
127 </script> 132 </script>
128 <style scoped lang="scss" > 133 <style scoped lang="scss" >
129 .ls-mask { 134 .ls-mask {
130 width: 100%; 135 width: 100%;
131 height: 100%; 136 height: 100%;
132 z-index: 2000; 137 z-index: 2000;
...@@ -134,10 +139,9 @@ export default { ...@@ -134,10 +139,9 @@ export default {
134 left: 0; 139 left: 0;
135 top: 0; 140 top: 0;
136 background: rgba(0, 0, 0, 0.3); 141 background: rgba(0, 0, 0, 0.3);
142 }
137 143
138 } 144 .ls-mask-window {
139
140 .ls-mask-window {
141 background: white; 145 background: white;
142 position: relative; 146 position: relative;
143 left: 50%; 147 left: 50%;
...@@ -146,32 +150,32 @@ export default { ...@@ -146,32 +150,32 @@ export default {
146 transform: translate(-50%, -50%); 150 transform: translate(-50%, -50%);
147 border-radius: 5px; 151 border-radius: 5px;
148 overflow: hidden; 152 overflow: hidden;
149 } 153 }
150 154
151 .ls-mask-window b { 155 .ls-mask-window b {
152 padding-left: 5px; 156 padding-left: 5px;
153 } 157 }
154 158
155 .ls-title { 159 .ls-title {
156 padding: 16px; 160 padding: 16px;
157 color: #ffffff; 161 color: #ffffff;
158 font-size: 16px; 162 font-size: 16px;
159 background: linear-gradient(3deg, #409EFF, #a7cbee); 163 background: linear-gradient(3deg, #409eff, #a7cbee);
160 } 164 }
161 165
162 .ls-title .svg-icon { 166 .ls-title .svg-icon {
163 font-size: 18px; 167 font-size: 18px;
164 } 168 }
165 169
166 .mask-content { 170 .mask-content {
167 padding: 20px; 171 padding: 20px;
168 width: 100%; 172 width: 100%;
169 min-height: 30%; 173 min-height: 30%;
170 max-height: 90vh; 174 max-height: 90vh;
171 overflow-y: scroll; 175 overflow-y: scroll;
172 } 176 }
173 177
174 .ls-mask-footer { 178 .ls-mask-footer {
175 height: 50px; 179 height: 50px;
176 display: flex; 180 display: flex;
177 justify-content: center; 181 justify-content: center;
...@@ -183,19 +187,18 @@ export default { ...@@ -183,19 +187,18 @@ export default {
183 border-bottom-left-radius: 5px; 187 border-bottom-left-radius: 5px;
184 border-bottom-right-radius: 5px; 188 border-bottom-right-radius: 5px;
185 overflow: hidden; 189 overflow: hidden;
186 } 190 }
187
188 191
189 /deep/.closeStyle { 192 /deep/.closeStyle {
190 position: absolute; 193 position: absolute;
191 top: 13px; 194 top: 13px;
192 right: 26px; 195 right: 26px;
193 font-size: 24px; 196 font-size: 24px;
194 cursor: pointer; 197 cursor: pointer;
195 color: #409EFF; 198 color: #409eff;
196 } 199 }
197 200
198 /deep/.el-loading-mask { 201 /deep/.el-loading-mask {
199 background: none; 202 background: none;
200 } 203 }
201 </style> 204 </style>
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-25 16:08:30
5 -->
1 <template> 6 <template>
2 <transition name="msgbox-fade"> 7 <transition name="msgbox-fade">
3 <div class="ls-mask" v-if="myShow"> 8 <div class="ls-mask" v-if="myShow">
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-25 16:08:55
5 -->
1 <!--显示svg文件图标--> 6 <!--显示svg文件图标-->
2 <template> 7 <template>
3 <div v-if="isExternal" :style="styleExternalIcon" class="svg-external-icon svg-icon" v-on="$listeners" /> 8 <div v-if="isExternal" :style="styleExternalIcon" class="svg-external-icon svg-icon" v-on="$listeners" />
...@@ -5,12 +10,11 @@ ...@@ -5,12 +10,11 @@
5 <use :xlink:href="iconName" /> 10 <use :xlink:href="iconName" />
6 </svg> 11 </svg>
7 </template> 12 </template>
8
9 <script> 13 <script>
10 // doc: https://panjiachen.github.io/vue-element-admin-site/feature/component/svg-icon.html#usage 14 // doc: https://panjiachen.github.io/vue-element-admin-site/feature/component/svg-icon.html#usage
11 import { isExternal } from '@/utils/validate' 15 import { isExternal } from '@/utils/validate'
12 16
13 export default { 17 export default {
14 name: 'SvgIcon', 18 name: 'SvgIcon',
15 props: { 19 props: {
16 iconClass: { 20 iconClass: {
...@@ -23,41 +27,41 @@ export default { ...@@ -23,41 +27,41 @@ export default {
23 } 27 }
24 }, 28 },
25 computed: { 29 computed: {
26 isExternal() { 30 isExternal () {
27 return isExternal(this.iconClass) 31 return isExternal(this.iconClass)
28 }, 32 },
29 iconName() { 33 iconName () {
30 return `#icon-${this.iconClass}` 34 return `#icon-${this.iconClass}`
31 }, 35 },
32 svgClass() { 36 svgClass () {
33 if (this.className) { 37 if (this.className) {
34 return 'svg-icon ' + this.className 38 return 'svg-icon ' + this.className
35 } else { 39 } else {
36 return 'svg-icon' 40 return 'svg-icon'
37 } 41 }
38 }, 42 },
39 styleExternalIcon() { 43 styleExternalIcon () {
40 return { 44 return {
41 mask: `url(${this.iconClass}) no-repeat 50% 50%`, 45 mask: `url(${this.iconClass}) no-repeat 50% 50%`,
42 '-webkit-mask': `url(${this.iconClass}) no-repeat 50% 50%` 46 '-webkit-mask': `url(${this.iconClass}) no-repeat 50% 50%`
43 } 47 }
44 } 48 }
45 } 49 }
46 } 50 }
47 </script> 51 </script>
48 52
49 <style scoped> 53 <style scoped>
50 .svg-icon { 54 .svg-icon {
51 width: 1em; 55 width: 1em;
52 height: 1em; 56 height: 1em;
53 vertical-align: -0.15em; 57 vertical-align: -0.15em;
54 fill: currentColor; 58 fill: currentColor;
55 overflow: hidden; 59 overflow: hidden;
56 } 60 }
57 61
58 .svg-external-icon { 62 .svg-external-icon {
59 background-color: currentColor; 63 background-color: currentColor;
60 mask-size: cover!important; 64 mask-size: cover !important;
61 display: inline-block; 65 display: inline-block;
62 } 66 }
63 </style> 67 </style>
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-25 16:09:09
5 -->
1 <template> 6 <template>
2 <el-color-picker v-model="theme" 7 <el-color-picker v-model="theme"
3 :predefine="['#409EFF', '#1890ff', '#304156', '#212121', '#11a983', '#13c2c2', '#6959CD', '#f5222d',]" 8 :predefine="['#409EFF', '#1890ff', '#304156', '#212121', '#11a983', '#13c2c2', '#6959CD', '#f5222d',]"
...@@ -5,10 +10,10 @@ ...@@ -5,10 +10,10 @@
5 </template> 10 </template>
6 11
7 <script> 12 <script>
8 const version = require('element-ui/package.json').version // element-ui version from node_modules 13 const version = require('element-ui/package.json').version // element-ui version from node_modules
9 const ORIGINAL_THEME = '#409EFF' // default color 14 const ORIGINAL_THEME = '#409EFF' // default color
10 15
11 export default { 16 export default {
12 data () { 17 data () {
13 return { 18 return {
14 chalk: '', // content of theme-chalk css 19 chalk: '', // content of theme-chalk css
...@@ -169,22 +174,22 @@ export default { ...@@ -169,22 +174,22 @@ export default {
169 return clusters 174 return clusters
170 } 175 }
171 } 176 }
172 } 177 }
173 </script> 178 </script>
174 179
175 <style> 180 <style>
176 .theme-message, 181 .theme-message,
177 .theme-picker-dropdown { 182 .theme-picker-dropdown {
178 z-index: 99999 !important; 183 z-index: 99999 !important;
179 } 184 }
180 185
181 .theme-picker .el-color-picker__trigger { 186 .theme-picker .el-color-picker__trigger {
182 height: 26px !important; 187 height: 26px !important;
183 width: 26px !important; 188 width: 26px !important;
184 padding: 2px; 189 padding: 2px;
185 } 190 }
186 191
187 .theme-picker-dropdown .el-color-dropdown__link-btn { 192 .theme-picker-dropdown .el-color-dropdown__link-btn {
188 display: none; 193 display: none;
189 } 194 }
190 </style> 195 </style>
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-25 16:08:48
5 -->
1 <template> 6 <template>
2 <el-image-viewer :on-close="closeViewer" :url-list="urlList"> 7 <el-image-viewer :on-close="closeViewer" :url-list="urlList">
3 </el-image-viewer> 8 </el-image-viewer>
4 </template> 9 </template>
5 <script> 10 <script>
6 import ElImageViewer from 'element-ui/packages/image/src/image-viewer' 11 import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
7 export default { 12 export default {
8 components: { 13 components: {
9 ElImageViewer, 14 ElImageViewer,
10 }, 15 },
...@@ -90,11 +95,11 @@ export default { ...@@ -90,11 +95,11 @@ export default {
90 xhr.send() 95 xhr.send()
91 }, 96 },
92 }, 97 },
93 } 98 }
94 </script> 99 </script>
95 100
96 <style lang="scss" scoped> 101 <style lang="scss" scoped>
97 /deep/ .el-image-viewer__close { 102 /deep/ .el-image-viewer__close {
98 color: #ffffff; 103 color: #ffffff;
99 } 104 }
100 </style> 105 </style>
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-25 16:09:44
5 -->
1 <template> 6 <template>
2 <transition name="msgbox-fade"> 7 <transition name="msgbox-fade">
3 <div class="ls-mask" v-if="myShow"> 8 <div class="ls-mask" v-if="myShow">
......
1 <!--
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-07-25 16:10:52
5 -->
1 <template> 6 <template>
2 <div class="app-wrapper"> 7 <div class="app-wrapper">
3 <navbar /> 8 <navbar />
...@@ -11,10 +16,10 @@ ...@@ -11,10 +16,10 @@
11 </div> 16 </div>
12 </template> 17 </template>
13 <script> 18 <script>
14 import { AppMain, Navbar, Sidebar, TagsView } from './components' 19 import { AppMain, Navbar, Sidebar, TagsView } from './components'
15 import ResizeMixin from './mixin/ResizeHandler' 20 import ResizeMixin from './mixin/ResizeHandler'
16 import { mapState } from 'vuex' 21 import { mapState } from 'vuex'
17 export default { 22 export default {
18 name: 'Layout', 23 name: 'Layout',
19 components: { 24 components: {
20 AppMain, 25 AppMain,
...@@ -30,12 +35,12 @@ export default { ...@@ -30,12 +35,12 @@ export default {
30 fixedHeader: state => state.settings.fixedHeader 35 fixedHeader: state => state.settings.fixedHeader
31 }) 36 })
32 } 37 }
33 } 38 }
34 </script> 39 </script>
35 <style lang="scss" scoped> 40 <style lang="scss" scoped>
36 @import "~@/styles/mixin.scss"; 41 @import "~@/styles/mixin.scss";
37 42
38 .app-wrapper { 43 .app-wrapper {
39 @include clearfix; 44 @include clearfix;
40 position: relative; 45 position: relative;
41 height: 100%; 46 height: 100%;
...@@ -45,9 +50,9 @@ export default { ...@@ -45,9 +50,9 @@ export default {
45 position: fixed; 50 position: fixed;
46 top: 0; 51 top: 0;
47 } 52 }
48 } 53 }
49 54
50 .drawer-bg { 55 .drawer-bg {
51 background: #000; 56 background: #000;
52 opacity: 0.3; 57 opacity: 0.3;
53 width: 100%; 58 width: 100%;
...@@ -55,15 +60,15 @@ export default { ...@@ -55,15 +60,15 @@ export default {
55 height: 100%; 60 height: 100%;
56 position: absolute; 61 position: absolute;
57 z-index: 999; 62 z-index: 999;
58 } 63 }
59 64
60 .fixed-header { 65 .fixed-header {
61 width: 100%; 66 width: 100%;
62 transition: width 0.28s; 67 transition: width 0.28s;
63 } 68 }
64 69
65 .el-dropdown-menu--small { 70 .el-dropdown-menu--small {
66 padding: 0; 71 padding: 0;
67 width: 5px; 72 width: 5px;
68 } 73 }
69 </style> 74 </style>
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-07-24 09:39:34 4 * @LastEditTime: 2023-07-25 16:15:39
5 --> 5 -->
6 <template> 6 <template>
7 <div class="container"> 7 <div class="container">
...@@ -158,7 +158,6 @@ ...@@ -158,7 +158,6 @@
158 this.fresh++; 158 this.fresh++;
159 //获取单元对应的所有表单信息 159 //获取单元对应的所有表单信息
160 this.tabList = res.result; 160 this.tabList = res.result;
161 console.log(res.result, 'res.result');
162 //默认加载第一个表单信息 161 //默认加载第一个表单信息
163 let arr = res.result.filter(item => item.defaultForm) 162 let arr = res.result.filter(item => item.defaultForm)
164 if (arr.length > 0) { 163 if (arr.length > 0) {
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-06-09 16:55:31 4 * @LastEditTime: 2023-07-25 16:15:46
5 --> 5 -->
6 <template> 6 <template>
7 <div class="container"> 7 <div class="container">
...@@ -125,7 +125,13 @@ ...@@ -125,7 +125,13 @@
125 //获取单元对应的所有表单信息 125 //获取单元对应的所有表单信息
126 this.tabList = res.result; 126 this.tabList = res.result;
127 //默认加载第一个表单信息 127 //默认加载第一个表单信息
128 //默认加载第一个表单信息
129 let arr = res.result.filter(item => item.defaultForm)
130 if (arr.length > 0) {
131 this.tabName = arr[0].value;
132 } else {
128 this.tabName = res.result[0].value; 133 this.tabName = res.result[0].value;
134 }
129 this.ableOperation = this.tabList[0].ableOperation 135 this.ableOperation = this.tabList[0].ableOperation
130 //批量操作无分屏按钮 136 //批量操作无分屏按钮
131 if (index != null) { 137 if (index != null) {
......