jufubao-admin-library 1.1.120 → 1.1.121

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. package/library/viewModules/viewsCorporateActivities/viewsCorporateActivities/components/PeopleManage.vue +1 -0
  2. package/library/viewModules/viewsDynamicForm/viewsDynamicForm/components/dialogUser.vue +31 -14
  3. package/library/viewModules/viewsMaterial/viewsMaterial/common/common.scss +22 -12
  4. package/library/viewModules/viewsMaterial/viewsMaterial/common/platform.scss +2 -4
  5. package/library/viewModules/viewsMaterial/viewsMaterial/components/CusUpload.vue +13 -10
  6. package/library/viewModules/viewsMaterial/viewsMaterial/components/dialogSearch.vue +319 -0
  7. package/library/viewModules/viewsMaterial/viewsMaterial/components/form.vue +2 -4
  8. package/library/viewModules/viewsMaterial/viewsMaterial/components/list.vue +2 -2
  9. package/library/viewModules/viewsMaterial/viewsMaterial/components/search.vue +4 -8
  10. package/library/viewModules/viewsMaterial/viewsMaterial/dialog/component/company.vue +95 -57
  11. package/library/viewModules/viewsMaterial/viewsMaterial/dialog/component/detail.vue +232 -116
  12. package/library/viewModules/viewsMaterial/viewsMaterial/dialog/component/menu.vue +5 -1
  13. package/library/viewModules/viewsMaterial/viewsMaterial/dialog/component/my.vue +110 -58
  14. package/library/viewModules/viewsMaterial/viewsMaterial/dialog/component/platform.vue +176 -74
  15. package/library/viewModules/viewsMaterial/viewsMaterial/dialog/component/selects.vue +41 -19
  16. package/library/viewModules/viewsMaterial/viewsMaterial/dialog/component/share.vue +89 -56
  17. package/library/viewModules/viewsMaterial/viewsMaterial/dialogMaterial.vue +93 -26
  18. package/library/viewModules/viewsMaterial/viewsMaterial/material.vue +2 -2
  19. package/library/viewModules/viewsMaterial/viewsMaterial/mixins/handleMaterial.js +45 -36
  20. package/package.json +1 -1
@@ -251,6 +251,7 @@ export default {
251
251
  tipsformet: '上传文件格式:@imageType@,不超过@size@MB.<a style="color:#409EFF" href="https://img.jufubao.cn/xlsx/mobile_user.xlsx">模版下载</a>',
252
252
  type: ['docx', 'doc', 'xlsx'],
253
253
  styleType: 'one', //其值:one=>单文件上传 auth=>证件正反面上传 list=>多文件上传
254
+ showType: 'name', //其值:name=>显示文件名 url=>显示路径
254
255
  uploadType: 'aliyun', //''=>API服务上传 qiniu=>七牛云OSS上传 aliyun=> 阿里云OSS上传
255
256
  size: 5, //5M
256
257
  action: 'aliyun',
@@ -51,6 +51,9 @@
51
51
  @onApiSuccessUrl="handleApiSuccessUrl"
52
52
  @onGetParamsAndHeader="handlePrivateGetParamsAndHeader"
53
53
  >
54
+ <template slot="download" slot-scope="scope">
55
+ <el-link :style="{marginLeft:scope.width}" type="primary" @click="handleDown">点击下载模板</el-link>
56
+ </template>
54
57
  </xd-base-dynamic-field>
55
58
  </div>
56
59
  <div slot="btn" class="xd-dialog__box-footer">
@@ -169,22 +172,33 @@ export default {
169
172
  console.log(params, "initForm")
170
173
  this.listForm = [
171
174
  {
172
- label: "请上传文件:",
173
- ele: "xd-saas-upload-file",
175
+ label: '', //label
176
+ ele: 'slot', //package 名称
177
+ slot: 'download',
178
+ },
179
+ {
180
+ label: "文件:",
181
+ ele: "xd-upload",
174
182
  valueKey: "path_file",
175
- value: null,
176
- defaultValue: params.path_file ? { url: params.path_file} : null,
177
- setting: {
178
- type: ['xls', 'xlsx', 'csv'],
179
- },
180
- handleCustom: (action) => {
181
- console.log("action", action);
182
- if(action == 'download'){
183
- window.open(this.download,'_self');
184
- }
185
- },
183
+ value: {},
184
+ defaultValue: {},
185
+ slot: false,
186
+ elinputClassName: "input40",
187
+ tipsformet: "上传文件格式:@imageType@,不超过@size@MB.",
188
+ type: ["xls", "xlsx", "csv"],
189
+ styleType: "one",
190
+ showType:'name', //显示类型 name:名称 url:地址
191
+ uploadType: "aliyun",
192
+ size: 5,
193
+ action: "aliyun",
194
+ sort: true,
195
+ maxlen: 100,
186
196
  rules: [
187
- { required: true, message: "请上传文件", trigger: ["blur", "change"] },
197
+ {
198
+ required: true,
199
+ message: "请上传文件",
200
+ trigger: ["blur", "change"],
201
+ },
188
202
  ],
189
203
  },
190
204
  {
@@ -213,6 +227,9 @@ export default {
213
227
  handleCancelUpload(){
214
228
  this.dialogFormShow = false;
215
229
  },
230
+ handleDown() {
231
+ window.open(this.download,'_self');
232
+ },
216
233
  handleConfirmUpload(){
217
234
  this.$refs.poster.submit().then(res => {
218
235
  console.log("res", this.listValue)
@@ -17,8 +17,9 @@
17
17
 
18
18
  .material {
19
19
  flex: 1;
20
- margin-left: 20px;
20
+ margin-left: 15px;
21
21
  padding-top: 30px;
22
+ margin-right: 15px;
22
23
 
23
24
  &-wrap {
24
25
  height: 560px;
@@ -47,31 +48,32 @@
47
48
  display: flex;
48
49
  flex-wrap: nowrap;
49
50
 
50
- .el-button {
51
+ & > .el-button {
51
52
  margin-left: 15px;
52
53
  }
53
54
  }
54
55
  }
55
56
 
56
57
  &-list {
57
- margin-top: 20px;
58
58
  display: flex;
59
59
  flex-wrap: wrap;
60
- max-height: 460px;
61
- min-height: 460px;
62
60
  overflow-y: auto;
61
+ margin-bottom: 10px;
62
+ justify-content: flex-start;
63
+ align-content: flex-start;
63
64
 
64
65
  &-item {
65
- margin-right: 30px;
66
- margin-bottom: 16px;
66
+ margin-right: 15px;
67
+ margin-bottom: 15px;
67
68
  position: relative;
68
- width: 110px;
69
+ width: 127px;
69
70
  cursor: pointer;
70
71
 
71
72
  &-img {
72
73
  width: 110px;
73
74
  height: 110px;
74
75
  background: #f6f7f9;
76
+ margin: 0 auto;
75
77
  display: flex;
76
78
  flex-direction: column;
77
79
  justify-content: center;
@@ -80,9 +82,10 @@
80
82
  }
81
83
 
82
84
  &-name {
85
+ width: 110px;
83
86
  font-size: 16px;
84
87
  color: #666;
85
- margin: 12px 0;
88
+ margin: 12px auto;
86
89
  text-align: left;
87
90
  overflow: hidden;
88
91
  text-overflow: ellipsis;
@@ -94,6 +97,13 @@
94
97
  color: #999;
95
98
  }
96
99
  }
100
+
101
+ &.c5 .material-list-item:nth-child(5n) {
102
+ margin-right: 0;
103
+ }
104
+ &.c7 .material-list-item:nth-child(7n) {
105
+ margin-right: 0;
106
+ }
97
107
  }
98
108
 
99
109
  .active {
@@ -122,8 +132,8 @@
122
132
  }
123
133
 
124
134
  .el-empty {
125
- height: 480px;
126
- min-height: 480px;
135
+ height: 100%;
136
+ width: 100%;
127
137
  display: flex;
128
138
  justify-content: center;
129
139
  align-items: center;
@@ -131,4 +141,4 @@
131
141
  text-align: center;
132
142
  box-sizing: border-box;
133
143
  padding: 40px 0;
134
- }
144
+ }
@@ -1,7 +1,5 @@
1
1
  .platform-wrap {
2
- height: 570px;
3
- overflow-y: auto;
4
- margin-left: 20px;
2
+ height: 100%;
5
3
  }
6
4
 
7
5
  .platform-header {
@@ -101,4 +99,4 @@
101
99
  left: 31%;
102
100
  transform: translate(-50%, -50%);
103
101
  }
104
- }
102
+ }
@@ -7,8 +7,8 @@
7
7
  <slot :image="oneItem">
8
8
  <el-button size="small" type="primary" :disabled="disabled">{{uploadName}}</el-button>
9
9
  </slot>
10
- <div v-if="(oneItem && (oneItem.path || oneItem.url)) && !disabled " class="xd-upload__one-btn-del" @click.stop="delOne()">
11
- <i v-if="item['slot'] || isShowDel" class="el-icon-delete"></i>
10
+ <div v-if="isShowDel && (oneItem && (oneItem.path || oneItem.url)) && !disabled " class="xd-upload__one-btn-del" @click.stop="delOne()">
11
+ <i v-if="item['slot']" class="el-icon-delete"></i>
12
12
  </div>
13
13
  <div class="xd-upload__disabled" v-if="disabled"></div>
14
14
  </div>
@@ -61,7 +61,7 @@
61
61
  :disabled="isBtnMaterialMore || disabled"
62
62
  @click="isDialogShow=true"
63
63
  >{{materialBtnName}}</el-button></div>
64
- <div v-if="showtype" slot="tip" class="xd-upload__tip">
64
+ <div v-if="showType" slot="tip" class="xd-upload__tip">
65
65
  <slot name="tip"><span v-html="tooltip"></span></slot>
66
66
  </div>
67
67
  </div>
@@ -95,13 +95,13 @@
95
95
  <slot :image="oneItem">
96
96
  <el-button size="small" type="primary" :disabled="disabled">{{uploadName}}</el-button>
97
97
  </slot>
98
- <div v-if="(oneItem && (oneItem.path || oneItem.url)) && !disabled " class="xd-upload__one-btn-del" @click.stop="delOne()">
98
+ <div v-if="isShowDel && (oneItem && (oneItem.path || oneItem.url)) && !disabled " class="xd-upload__one-btn-del" @click.stop="delOne()">
99
99
  <i v-if="item['slot']" class="el-icon-delete"></i>
100
100
  </div>
101
101
  <div class="xd-upload__disabled" v-if="disabled"></div>
102
102
  </div>
103
103
  </el-upload>
104
- <div v-if="showtype" slot="tip" class="xd-upload__tip">
104
+ <div v-if="showType" slot="tip" class="xd-upload__tip">
105
105
  <slot name="tip"><span v-html="tooltip"></span></slot>
106
106
  </div>
107
107
  </template>
@@ -177,7 +177,7 @@
177
177
  </div>
178
178
  </el-upload>
179
179
  </div>
180
- <div v-if="showtype" slot="tip" class="xd-upload__tip">
180
+ <div v-if="showType" slot="tip" class="xd-upload__tip">
181
181
  <slot name="tip"><span v-html="tooltip"></span></slot>
182
182
  </div>
183
183
  </div>
@@ -257,7 +257,7 @@
257
257
  </div>
258
258
  </el-upload>
259
259
  <el-upload
260
- v-else
260
+ v-else
261
261
  :disabled="disabled"
262
262
  class="xd-upload__list-ele"
263
263
  ref="xd-upload__list"
@@ -281,7 +281,7 @@
281
281
  <div class="xd-upload__disabled" v-if="disabled&&!isRealse"></div>
282
282
  </div>
283
283
  </el-upload>
284
- <div v-if="showtype" slot="tip" class="xd-upload__tip">
284
+ <div v-if="showType" slot="tip" class="xd-upload__tip">
285
285
  <slot name="tip"><span v-html="tooltip"></span></slot>
286
286
  </div>
287
287
  </div>
@@ -367,7 +367,7 @@
367
367
  /**
368
368
  * @description 是否显示提示语
369
369
  */
370
- showtype: {
370
+ showType: {
371
371
  type: Boolean,
372
372
  default: false
373
373
  },
@@ -1058,6 +1058,9 @@
1058
1058
  if(this.$xdHelper.isEmpty(this.defaultValue)) this.update('', 'init');
1059
1059
  else this.update(this.$xdHelper.cloneDeep(this.defaultValue), 'init');
1060
1060
  }
1061
+ else if(this.$xdHelper.checkVarType(this.defaultValue) === 'string' && this.defaultValue.length > 0){
1062
+ this.update({url: this.defaultValue}, 'init');
1063
+ }
1061
1064
  else {
1062
1065
  this.update('', 'init');
1063
1066
  }
@@ -1342,7 +1345,7 @@
1342
1345
  &__tip {
1343
1346
  font-size: 10px;
1344
1347
  padding-top: 10px;
1345
- line-height: 24px;
1348
+ line-height: 16px;
1346
1349
  }
1347
1350
 
1348
1351
  &__one {
@@ -0,0 +1,319 @@
1
+ <template>
2
+ <div class="search" v-if="options.length > 0">
3
+ <div class="search-wrap">
4
+ <div class="cus-options">
5
+ <div class="search-options">
6
+ <div
7
+ class="search-options-group"
8
+ v-for="(item, index) in searchOptions"
9
+ :key="index"
10
+ >
11
+ <div class="search-options-group-label">{{ item.label }}</div>
12
+ <div class="search-options-group-content">
13
+ <div
14
+ :class="{ active: isActive(option.value, item.value) }"
15
+ class="search-options-group-item"
16
+ v-for="(option, oindex) in item.children"
17
+ :key="oindex"
18
+ @click="handleChoseOption(option.value, item.value)"
19
+ >{{ option.label }}</div>
20
+ </div>
21
+ </div>
22
+ </div>
23
+ <div v-if="options.length > 1" class="show">
24
+ <xd-font-icon
25
+ @click="handleClick"
26
+ v-if="isFold"
27
+ icon="iconjiantou_you"
28
+ class="rotateDown"
29
+ ></xd-font-icon>
30
+ <xd-font-icon
31
+ @click="handleClick"
32
+ v-else
33
+ icon="iconjiantou_you"
34
+ class="rotateUp"
35
+ ></xd-font-icon>
36
+ </div>
37
+ </div>
38
+
39
+ </div>
40
+ </div>
41
+ </template>
42
+
43
+ <script>
44
+ import XdFontIcon from "@/components/XdFontIcon.vue";
45
+ export default {
46
+ name: "search",
47
+ props: {
48
+ options: {
49
+ type: Array,
50
+ default: () => [],
51
+ },
52
+ statusList: {
53
+ type: Array,
54
+ default: () => [],
55
+ },
56
+ isDialog: {
57
+ type: Boolean,
58
+ default: false,
59
+ },
60
+ isShowStatus: {
61
+ type: Boolean,
62
+ default: true,
63
+ },
64
+ },
65
+ components: {
66
+ XdFontIcon,
67
+ },
68
+ watch: {
69
+ isFold(n, o) {
70
+ if (n) {
71
+ let arr = this.$xdHelper.cloneDeep(this.options);
72
+ this.searchOptions = arr.splice(0, 1);
73
+ } else {
74
+ this.searchOptions = this.$xdHelper.cloneDeep(this.options);
75
+ }
76
+ },
77
+ file_name(n, o) {
78
+ this.handleUpdate();
79
+ },
80
+ status(n, o) {
81
+ this.handleUpdate();
82
+ },
83
+ specs: {
84
+ handler(n, o) {
85
+ this.handleUpdate();
86
+ },
87
+ deep: true,
88
+ },
89
+ },
90
+ data() {
91
+ return {
92
+ searchOptions: [],
93
+ searchStatusList: [],
94
+ isFold: false,
95
+ specs: [],
96
+ status: "",
97
+ };
98
+ },
99
+ created() {
100
+ if (this.options && this.options.length > 0) {
101
+ if (this.options.length > 1) {
102
+ this.isFold = true;
103
+ }
104
+ this.searchOptions = this.$xdHelper.cloneDeep(this.options);
105
+ this.searchOptions.map((item) => {
106
+ this.specs.push({
107
+ spec_key: item.value,
108
+ spec_value: ["all"],
109
+ });
110
+ });
111
+ } else {
112
+ this.searchOptions = [];
113
+ this.specs = [];
114
+ }
115
+ if (this.statusList && this.statusList.length > 0) {
116
+ this.searchStatusList = this.$xdHelper.cloneDeep(this.statusList);
117
+ if (this.isDialog) {
118
+ this.status = "Y";
119
+ } else {
120
+ this.status = "all";
121
+ }
122
+ } else {
123
+ this.searchStatusList = [];
124
+ this.status = "";
125
+ }
126
+ this.handleUpdate();
127
+ this.handleSearch("search");
128
+ },
129
+ mounted() {
130
+ this.$nextTick(()=>{
131
+ this.$emit('onChange');
132
+ })
133
+ },
134
+ methods: {
135
+ handleClick(){
136
+ this.isFold = !this.isFold;
137
+ this.$nextTick(()=>{
138
+ this.$emit('onChange');
139
+ })
140
+ },
141
+ isActive(value, key) {
142
+ let flag = this.specs.find((item) => item.spec_key === key);
143
+ if (flag) {
144
+ return flag.spec_value.includes(value);
145
+ } else {
146
+ return false;
147
+ }
148
+ },
149
+ handleReset() {
150
+ this.file_name = "";
151
+ this.specs = [];
152
+ this.options.map((item) => {
153
+ this.specs.push({
154
+ spec_key: item.value,
155
+ spec_value: ["all"],
156
+ });
157
+ });
158
+ if (this.isDialog) {
159
+ this.status = "Y";
160
+ } else {
161
+ this.status = "all";
162
+ }
163
+ this.handleSearch("reset");
164
+ },
165
+ handleChoseStatus(value) {
166
+ this.status = value;
167
+ this.handleSearch("search");
168
+ },
169
+
170
+ handleChoseOption(value, key) {
171
+ // 查找specs数组中是否存在spec_key为key的元素
172
+ let flag = this.specs.find((item) => item.spec_key === key);
173
+ // 如果存在
174
+ if (flag) {
175
+ // 如果flag.spec_value中包含value
176
+ if (flag.spec_value.includes(value)) {
177
+ // 将value从flag.spec_value中移除
178
+ flag.spec_value = flag.spec_value.filter((item) => item !== value);
179
+ // 如果flag.spec_value为空
180
+ if (flag.spec_value.length === 0) {
181
+ // 将flag从specs数组中移除
182
+ this.specs = this.specs.filter((item) => item.spec_key !== key);
183
+ }
184
+ } else {
185
+ // 如果value的值为"all",则将flag.spec_value设置为["all"],并返回
186
+ if (value === "all") {
187
+ flag.spec_value = ["all"];
188
+ } else {
189
+ // 如果flag.spec_value中包含"all",则将"all"从flag.spec_value中移除
190
+ if (flag.spec_value.includes("all")) {
191
+ flag.spec_value = flag.spec_value.filter(
192
+ (item) => item !== "all"
193
+ );
194
+ }
195
+ // 将value添加到flag.spec_value中
196
+ flag.spec_value.push(value);
197
+ }
198
+ }
199
+ } else {
200
+ // 如果specs数组中不存在spec_key为key的元素,则将key和value添加到specs数组中
201
+ this.specs.push({
202
+ spec_key: key,
203
+ spec_value: [value],
204
+ });
205
+ }
206
+ this.handleSearch("search");
207
+ },
208
+ handleSearch(action) {
209
+ let params = {
210
+ specs: this.specs,
211
+ status: this.status,
212
+ };
213
+ this.$emit("onSearch", { action, params });
214
+ },
215
+ handleUpdate() {
216
+ let params = {
217
+ file_name: this.file_name,
218
+ specs: this.specs,
219
+ status: this.status,
220
+ };
221
+ this.$emit("input", params);
222
+ },
223
+ },
224
+ };
225
+ </script>
226
+
227
+ <style scoped lang="scss">
228
+ .search {
229
+ // min-height: 130px;
230
+ &-wrap {
231
+ }
232
+ &-input {
233
+ display: flex;
234
+ justify-content: flex-end;
235
+ span {
236
+ color: #333333;
237
+ font-size: 14px;
238
+ }
239
+ }
240
+ &-options {
241
+ flex: 1;
242
+ &-group {
243
+ display: flex;
244
+ align-items: baseline;
245
+ &-content {
246
+ display: flex;
247
+ flex-wrap: wrap;
248
+ }
249
+ &-label {
250
+ color: #333333;
251
+ font-size: 14px;
252
+ flex-shrink: 0;
253
+ width: 70px;
254
+ white-space: nowrap; /* 确保文本在一行内显示 */
255
+ overflow: hidden; /* 超出容器部分的文本隐藏 */
256
+ text-overflow: ellipsis; /* 使用省略号显示文本的溢出部分 */
257
+ }
258
+ &-item {
259
+ margin-right: 12px;
260
+ margin-bottom: 10px;
261
+ border-radius: 4px;
262
+ border: 1px solid #dfdfdf;
263
+ padding: 6px 12px 4px 12px;
264
+ color: #333;
265
+ font-size: 12px;
266
+ cursor: pointer;
267
+ flex-shrink: 0;
268
+ }
269
+ }
270
+ }
271
+ }
272
+ .cus-options {
273
+ display: flex;
274
+ justify-content: flex-start;
275
+ align-items: flex-end;
276
+ align-content: flex-end;
277
+ margin-bottom: 10px;
278
+ border-bottom: 1px solid #eee;
279
+
280
+ .show {
281
+ flex-shrink: 0;
282
+ margin-left: 10px;
283
+ }
284
+ }
285
+
286
+ .rotateDown {
287
+ transform: rotate(90deg);
288
+ background: #f5f5f5;
289
+ color: #999;
290
+ font-size: 10px;
291
+ padding: 3px;
292
+ border-radius: 5px;
293
+ cursor: pointer;
294
+ }
295
+ .rotateUp {
296
+ transform: rotate(-90deg);
297
+ background: #f5f5f5;
298
+ color: #999;
299
+ font-size: 10px;
300
+ padding: 4px;
301
+ border-radius: 5px;
302
+ cursor: pointer;
303
+ }
304
+ .active {
305
+ border: 1px solid #409eff;
306
+ color: #409eff;
307
+ }
308
+ .show {
309
+ display: flex;
310
+ justify-content: space-between;
311
+ background: #fff;
312
+ align-items: center;
313
+ margin-bottom: 10px;
314
+ &-text {
315
+ font-size: 14px;
316
+ color: #cccccc;
317
+ }
318
+ }
319
+ </style>
@@ -76,9 +76,7 @@
76
76
  v-for="(option, oindex) in item.children"
77
77
  :key="oindex"
78
78
  @click="handleChoseOption(option.value, item.value)"
79
- >
80
- {{ option.label }}
81
- </div>
79
+ >{{ option.label }}</div>
82
80
  </div>
83
81
  </div>
84
82
  </div>
@@ -320,4 +318,4 @@ export default {
320
318
  color: #409eff;
321
319
  background: #ecf5ff;
322
320
  }
323
- </style>
321
+ </style>
@@ -52,7 +52,7 @@ export default {
52
52
  if (this.list && this.list.length > 0) {
53
53
  this.materialList = this.$xdHelper.cloneDeep(this.list);
54
54
  this.materialList = this.materialList.map((item) => {
55
- item.file_url = `${this.getImageFullPath(item.file_url)}&time=${new Date().getTime()}`;
55
+ item.file_url = `${this.getImageFullPath(item.file_url, 'size4')}&time=${new Date().getTime()}`;
56
56
  return item;
57
57
  });
58
58
  }
@@ -102,4 +102,4 @@ export default {
102
102
  }
103
103
  }
104
104
  }
105
- </style>
105
+ </style>
@@ -10,7 +10,7 @@
10
10
  >
11
11
  <div
12
12
  v-if="isShowStatus"
13
- style="margin-top: 0px"
13
+ style="margin-top: 0"
14
14
  class="search-options-group"
15
15
  >
16
16
  <div class="search-options-group-label">状态</div>
@@ -20,9 +20,7 @@
20
20
  v-for="(item, index) in searchStatusList"
21
21
  :key="index"
22
22
  @click="handleChoseStatus(item.value)"
23
- >
24
- {{ item.label }}
25
- </div>
23
+ >{{ item.label }}</div>
26
24
  </div>
27
25
  <div class="search-input">
28
26
  <div>
@@ -35,9 +33,7 @@
35
33
  </div>
36
34
  <div>
37
35
  <el-button @click="handleReset">重置</el-button>
38
- <el-button @click="handleSearch('search')" type="primary"
39
- >搜索</el-button
40
- >
36
+ <el-button @click="handleSearch('search')" type="primary">搜索</el-button>
41
37
  </div>
42
38
  </div>
43
39
  </div>
@@ -340,4 +336,4 @@ export default {
340
336
  color: #cccccc;
341
337
  }
342
338
  }
343
- </style>
339
+ </style>