@leevan/jtui 2.0.38 → 2.0.40

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leevan/jtui",
3
- "version": "2.0.38",
3
+ "version": "2.0.40",
4
4
  "scripts": {
5
5
  "serve": "vue-cli-service serve",
6
6
  "build": "vue-cli-service build",
@@ -32,7 +32,7 @@
32
32
  "dependencies": {
33
33
  "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0",
34
34
  "@vue/babel-preset-jsx": "^1.1.2",
35
- "axios": "^0.19.2",
35
+ "axios": "^1.7.9",
36
36
  "core-js": "^3.6.4",
37
37
  "echarts": "^4.2.1",
38
38
  "element-ui": "^2.15.14",
@@ -15,11 +15,11 @@
15
15
  <el-radio-button label="or">或者</el-radio-button>
16
16
  </el-radio-group>
17
17
 
18
- <span :style="{ marginLeft: index === 0 && viewData.length > 1 ? '189px' : 0 }" @click="getData">查询类型</span>
19
- <el-select @change="typeChange(arguments, im)" size="mini" popper-class="max-height-popper search-base-slt"
20
- v-model="im.search_type" placeholder="请选择">
21
- <el-option v-for="(item, index) in options_type"
22
- :key="index" :label="item.srname"
18
+ <span :style="{ marginLeft: index === 0 && viewData.length > 1 ? '189px' : 0 }"
19
+ @click="getData">查询类型</span>
20
+ <el-select @change="typeChange(arguments, im)" size="mini"
21
+ popper-class="max-height-popper search-base-slt" v-model="im.search_type" placeholder="请选择">
22
+ <el-option v-for="(item, index) in options_type" :key="index" :label="item.srname"
23
23
  :value="item.rootpath">
24
24
  </el-option>
25
25
  </el-select>
@@ -45,24 +45,29 @@
45
45
  </div>
46
46
 
47
47
  <div style="display:inline-block" v-if="im.status == 5">
48
- <el-cascader-multi ref="type5Ref" style="margin-left:15px;width:300px" size="mini" collapse-tags
48
+ <!-- <el-cascader-multi ref="type5Ref" style="margin-left:15px;width:300px" size="mini" collapse-tags
49
49
  show-leaf-label :is-two-dimension-value="false" v-model="im.model_5.cascader"
50
- :data="im.formConfig_5"> </el-cascader-multi>
50
+ :data="im.formConfig_5"> </el-cascader-multi> -->
51
+ <el-cascader size="mini" v-if="im.active_type && im.active_type.cascade_uri" :props="props_load_5(im)" style="height: 30px;margin-left: 10px;"
52
+ ref="type5Ref" collapse-tags placeholder="请选择" :show-all-levels="false"
53
+ v-model="im.model_5.cascader" />
54
+ <el-cascader v-else size="mini" style="height: 30px;margin-left: 10px;" ref="type5Ref" collapse-tags
55
+ placeholder="请选择" :show-all-levels="false" v-model="im.model_5.cascader" :props="{ multiple: true }"
56
+ :options="im.formConfig_5">
57
+ </el-cascader>
51
58
  </div>
52
59
 
53
60
  <div style="display:inline-block;margin-left:12px;position:relative;"
54
61
  v-if="im.status == 3 || im.status == 4 || im.status == 7">
55
62
  <el-checkbox-group size="mini" v-model="im.stations">
56
- <el-checkbox-button v-for="(item, index) in im.checkboxData" :key="index"
57
- :label="item.value">{{ item.label }}</el-checkbox-button>
63
+ <el-checkbox-button v-for="(item, index) in im.checkboxData" :key="index" :label="item.value">{{
64
+ item.label }}</el-checkbox-button>
58
65
  </el-checkbox-group>
59
66
  </div>
60
67
 
61
- <div style="display:inline-block;margin-left:12px;position:relative;"
62
- v-if="im.status == 9">
63
- <tree-select v-model="im.stations" :activeType="im.active_type"
64
- :baseUrl="listuri"
65
- :checked="im.checkboxData"/>
68
+ <div style="display:inline-block;margin-left:12px;position:relative;" v-if="im.status == 9">
69
+ <tree-select v-model="im.stations" :activeType="im.active_type" :baseUrl="listuri"
70
+ :checked="im.checkboxData" />
66
71
  </div>
67
72
 
68
73
  <div class="st-btns" v-show="options_type.length > 1 && options_type[0].value !== 'All'">
@@ -75,12 +80,12 @@
75
80
 
76
81
  <script>
77
82
  import TreeSelect from './tree-select.vue'
78
- import ElCascaderMulti from './el-cascader-multi/src/multi-cascader/multi-cascader.vue'
83
+ // import ElCascaderMulti from './el-cascader-multi/src/multi-cascader/multi-cascader.vue'
79
84
  export default {
80
- name:'search-type',
81
- components:{
85
+ name: 'search-type',
86
+ components: {
82
87
  TreeSelect,
83
- ElCascaderMulti
88
+ // ElCascaderMulti
84
89
  },
85
90
  props: {
86
91
  options_type: {
@@ -280,8 +285,8 @@ export default {
280
285
  im.stations = result.selected;
281
286
  im.formConfig_4[0].remoteMethod = (query) => (this.remoteMethod(query, im, result))
282
287
  im.checkboxData = result.enumlists;
283
- }else if(result.invlbz === '9') {
284
- if(result.selected){
288
+ } else if (result.invlbz === '9') {
289
+ if (result.selected) {
285
290
  im.checkboxData = result.selected;
286
291
  im.stations = result.selected;
287
292
  }
@@ -408,7 +413,7 @@ export default {
408
413
  })
409
414
  }
410
415
  case '9': {
411
- if(item.stations.length === 0){
416
+ if (item.stations.length === 0) {
412
417
  return false
413
418
  }
414
419
  let casParam;
@@ -435,6 +440,39 @@ export default {
435
440
  invalue: data
436
441
  });
437
442
  im.formConfig_4[0].options = res1;
443
+ },
444
+ props_load_5(im) {
445
+ return {
446
+ lazy: true,
447
+ multiple: true,
448
+ lazyLoad: async (node, resolve) => {
449
+ const { level, data: res } = node
450
+ if (level === 0) {
451
+ resolve(im.active_type.cascade_root.map((item) => ({
452
+ label: item.name,
453
+ leaf: item.path === "-" || !item.path,
454
+ path: item.path,
455
+ value: item.id,
456
+ other: item,
457
+ })))
458
+ } else {
459
+ if (res.path === "-" || !res.path) {
460
+ resolve();
461
+ return;
462
+ }
463
+ const { data } = await this.$axios.post(im.active_type.cascade_uri + res.path)
464
+ resolve(
465
+ data.map((item) => ({
466
+ label: item.name,
467
+ leaf: item.path === "-" || !item.path,
468
+ path: item.path,
469
+ value: item.id,
470
+ other: item,
471
+ }))
472
+ );
473
+ }
474
+ }
475
+ }
438
476
  }
439
477
  }
440
478
  }
@@ -443,8 +481,8 @@ export default {
443
481
  <style lang="scss" scoped>
444
482
  span {
445
483
  padding: 0 12px;
446
- color:#666666;
447
- font-size:14px;
484
+ color: #666666;
485
+ font-size: 14px;
448
486
  }
449
487
 
450
488
  .st-btns {
@@ -497,12 +535,13 @@ span {
497
535
  .search-tb .el-select__tags .el-tag .el-icon-close {
498
536
  top: -5px;
499
537
  }
500
- .search-base-slt{
501
- z-index:99999 !important;
538
+
539
+ .search-base-slt {
540
+ z-index: 99999 !important;
502
541
  }
503
542
  </style>
504
543
  <style lang="scss">
505
544
  .max-height-popper .el-select-dropdown__wrap {
506
- max-height: 540px;
545
+ max-height: 540px;
507
546
  }
508
547
  </style>