@lambo-design/workflow-approve 1.0.0-beta.50 → 1.0.0-beta.52

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": "@lambo-design/workflow-approve",
3
- "version": "1.0.0-beta.50",
3
+ "version": "1.0.0-beta.52",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "author": "lambo",
@@ -1,14 +1,23 @@
1
1
  <template>
2
2
  <div style="min-height: 300px;">
3
- <Select v-model="countersignersTagsData"
3
+ <div v-if="organTree.userMap && Object.keys(organTree.userMap).length > 0" class="searchable-select-wrapper">
4
+ <Select v-model="countersignersTagsData"
4
5
  filterable multiple
5
6
  @on-change="organChange($event)"
6
7
  class="custom-select"
7
- >
8
- <Option v-for="(value, key) in organTree.userMap" :key="key" :value="`${key},${value}`" :label="value">
8
+ >
9
+ <Option v-for="(value, key) in organTree.userMap" :key="key" :value="`${key},${value.split('(')[0]}`" :label="value.split('(')[0]">
9
10
  <span>{{ value }}</span>
10
11
  </Option>
11
12
  </Select>
13
+ <Icon type="ios-search" class="search-icon" />
14
+ </div>
15
+ <Tag v-else v-for="(item, index) in countersignersTagsData" :key="item.id" closable
16
+ @on-close="closeTags(index, item)"
17
+ size="large">
18
+ {{ item.split(',')[1] }}
19
+ </Tag>
20
+
12
21
  <div class="cont">
13
22
  <div
14
23
  class="contLeftTwo">
@@ -159,13 +168,13 @@ export default {
159
168
  let userList = users.split(',')
160
169
  if (users && userList.length > 0) {
161
170
  userList.forEach(item => {
162
- let [userId, userName] = item.split(':');
163
- let userStr = `${userId},${userName}`;
171
+ let [userId, userName] = item.split(':')
172
+ let userStr = `${userId},${userName}`
164
173
  self.selectedData.push(userStr)
165
174
  self.treeUserValue.push(userStr)
166
175
  self.selectedKeys.push(userStr)
167
176
  if (!self.countersignersTagsData.includes(userStr)) {
168
- self.countersignersTagsData.push(userStr);
177
+ self.countersignersTagsData.push(userStr)
169
178
  }
170
179
  self.userNum = '1'
171
180
  })
@@ -173,9 +182,9 @@ export default {
173
182
  },
174
183
 
175
184
  organChange(event) {
176
- this.countersignersTagsData = [...event]; // 直接同步
177
- this.treeUserValue = [...event]; // 保持一致
178
- this.selectedKeys = [...event];
185
+ this.countersignersTagsData = [...event] // 直接同步
186
+ this.treeUserValue = [...event] // 保持一致
187
+ this.selectedKeys = [...event]
179
188
 
180
189
  },
181
190
 
@@ -266,6 +275,7 @@ export default {
266
275
  }
267
276
  })
268
277
  }
278
+ self.organTreeRedis(self.permScope, self.readingRange)
269
279
  },
270
280
 
271
281
  getOrganTreeByProType(row, permScope, organTreeType) {
@@ -361,40 +371,36 @@ export default {
361
371
  } else {
362
372
  //对于流程类型中没有规定人员范围但规定组织范围的情况
363
373
  self.readingRange = await this.getOrganTreeByProType(row, row.substring(2, row.indexOf(',')), organTreeType)
374
+ self.organTreeRedis(this.permScope, self.readingRange)
364
375
  }
365
376
 
366
377
  },
367
378
 
368
- // closeTags(index, info) {
369
- // let type = info.split(',')[1]
370
- // let data = info.split(',')[0]
371
- // this.readingRangeScPerDel(index, data)
372
- // },
373
-
374
- // //权限范围人员单条删除
375
- // readingRangeScPerDel(res, info) {
376
- // let self = this
377
- // console.log(this.treeUserValue,"treeUserValue")
378
- // console.log(info,"info")
379
- // let index = this.treeUserValue.findIndex(item => {
380
- // return item === info
381
- // })
382
- // if (index !== -1) {
383
- // self.treeUserValue = self.treeUserValue.filter((_, i) => i !== index)
384
- // self.selectedKeys = self.selectedKeys.filter((_, i) => i !== index)
385
- // // self.selectedKeys.splice(index, 1)
386
- // }
387
- // let orgList = []
388
- // let organList = []
389
- // orgList.push(info)
390
- // info = info.replace(',', ':')
391
- // self.countersignersTagsData.forEach(organ => {
392
- // if (organ.indexOf(info) == -1) {
393
- // organList.push(organ)
394
- // }
395
- // })
396
- // self.countersignersTagsData = organList
397
- // },
379
+ closeTags(index, info) {
380
+ this.readingRangeScPerDel(index, info)
381
+ },
382
+
383
+ //权限范围人员单条删除
384
+ readingRangeScPerDel(res, info) {
385
+ let self = this
386
+ let index = this.treeUserValue.findIndex(item => {
387
+ return item === info
388
+ })
389
+ if (index !== -1) {
390
+ self.treeUserValue = self.treeUserValue.filter((_, i) => i !== index)
391
+ self.selectedKeys = self.selectedKeys.filter((_, i) => i !== index)
392
+ // self.selectedKeys.splice(index, 1)
393
+ }
394
+ let orgList = []
395
+ let organList = []
396
+ orgList.push(info)
397
+ self.countersignersTagsData.forEach(organ => {
398
+ if (organ.indexOf(info) == -1) {
399
+ organList.push(organ)
400
+ }
401
+ })
402
+ self.countersignersTagsData = organList
403
+ },
398
404
 
399
405
  selectUserChange(node) {
400
406
  let self = this
@@ -551,73 +557,61 @@ export default {
551
557
 
552
558
  // 人员选中
553
559
  getReadingRangeUser(row) {
554
- let self = this;
555
- self.userNum = '2';
560
+ let self = this
561
+ self.userNum = '2'
556
562
  if (row.length > self.selectedKeys.length) {
557
563
  // 用户选择了新人员
558
- self.treeUserValue = row;
559
- self.selectedKeys = row;
564
+ self.treeUserValue = row
565
+ self.selectedKeys = row
560
566
 
561
- let index = row.length - 1;
562
- let organName = row[index];
567
+ let index = row.length - 1
568
+ let organName = row[index]
563
569
 
564
570
  if (!self.countersignersTagsData.includes(organName)) {
565
- self.countersignersTagsData.push(organName);
571
+ self.countersignersTagsData.push(organName)
566
572
  }
567
573
 
568
- self.organChange(self.countersignersTagsData);
574
+ self.organChange(self.countersignersTagsData)
569
575
 
570
576
  } else if (row.length < self.selectedKeys.length) {
571
577
  // 用户取消了选择
572
- let diff = self.selectedKeys.find(item => !row.includes(item));
578
+ let diff = self.selectedKeys.find(item => !row.includes(item))
573
579
 
574
580
  // 从 countersignersTagsData 中移除取消的用户
575
581
  if (diff) {
576
- self.countersignersTagsData = self.countersignersTagsData.filter(item => item !== diff);
577
- self.selectedKeys = row; // 更新选中数据
582
+ self.countersignersTagsData = self.countersignersTagsData.filter(item => item !== diff)
583
+ self.selectedKeys = row // 更新选中数据
578
584
  }
579
585
  }
580
586
  },
581
587
 
582
588
  //数据初始化?
583
589
  organTreeRedis(row, readingRange) {
584
- const user = sessionStorage.getItem('userInfo')
585
- const jsonArray = JSON.parse(user)
586
- if (row == 'undefined' || row == 'all') {
587
-
588
- ajax.get(this.smartFlowServerContext + '/manage/processDesign/getOrgan?orgId=' + (jsonArray.organId)
589
- ).then(resp => {
590
- if (resp.data.code === '200') {
591
- this.organTree = resp.data.data
592
- }
593
- })
594
- } else {
595
- let organIds =[]
590
+ let organIds = []
591
+ if (readingRange.length > 0) {
596
592
  readingRange[0].forEach(item => {
597
593
  organIds.push(item.organId)
598
594
  })
599
- console.log(organIds)
600
- ajax.get(this.smartFlowServerContext + '/manage/user/getAllUsersInfo', {
601
- params: {
602
- organIds: organIds.join(','),
603
- permScopeList: row,
604
- orgTreeType: this.organTreeType
605
- }
595
+ }
596
+
597
+ ajax.get(this.smartFlowServerContext + '/manage/user/getAllUsersInfo', {
598
+ params: {
599
+ organIds: organIds.join(','),
600
+ permScopeList: row,
601
+ orgTreeType: this.organTreeType
606
602
  }
607
- ).then(resp => {
608
- if (resp.data.code === '200') {
609
- for (let key in resp.data.data) {
610
- const dataArr = [[key, resp.data.data[key]]]
611
- for (let i = 0; i < dataArr.length; i++) {
612
- const [key, value] = dataArr[i]
613
- this.$set(this.organTree.userMap, key, value)
614
- }
615
- }
616
- console.log(this.organTree.userMap,"userMap")
603
+ }
604
+ ).then(resp => {
605
+ if (resp.data.code === '200') {
606
+ for (let key in resp.data.data) {
607
+ const dataArr = [[key, resp.data.data[key]]]
608
+ for (let i = 0; i < dataArr.length; i++) {
609
+ const [key, value] = dataArr[i]
610
+ this.$set(this.organTree.userMap, key, value)
611
+ }
617
612
  }
618
- })
619
-
620
- }
613
+ }
614
+ })
621
615
 
622
616
  },
623
617
 
@@ -695,7 +689,6 @@ export default {
695
689
  watch: {
696
690
  countersignersTagsData: {
697
691
  handler(newVal, oldVal) {
698
- console.log("countersignersTagsData",newVal)
699
692
  let organ = []
700
693
  let names = []
701
694
  let organs = []
@@ -770,9 +763,10 @@ export default {
770
763
  }
771
764
 
772
765
  .contLeft {
773
- flex: 0 0 40%;
774
- z-index: 1;
775
- margin-right: 10px
766
+ flex: 1; /* 让右侧自适应剩余空间 */
767
+ margin-top: 34px; /* 您原本的33.98px可改为34px */
768
+ min-height: 350px;
769
+ overflow: auto; /* 可选,若内容过长也可滚动 */
776
770
  }
777
771
 
778
772
  .contRight {
@@ -793,49 +787,69 @@ export default {
793
787
  }
794
788
 
795
789
  .contLeftTwo {
796
- flex: 0 0 50%;
797
- z-index: 1;
790
+ flex: none; /* 改为none,这样不按照flex比例缩放 */
791
+ width: 250px; /* 固定宽度或max-width */
798
792
  margin-right: 10px;
793
+ overflow: auto; /* 当内容超过300px宽时出现滚动条 */
799
794
  }
800
795
 
801
- .contRightTwo {
802
- flex: 0 0 49%;
803
- margin-top: 30px;
804
- }
805
796
 
806
797
  /deep/ .ivu-checkbox-input {
807
798
  width: 136px;
808
799
  }
809
- /deep/.custom-select .ivu-select {
810
- height: 80px; /* 控制总体高度 */
800
+
801
+ /deep/ .custom-select {
802
+ width: 100% !important;
803
+ }
804
+
805
+ /deep/ .custom-select .ivu-select {
806
+ height: 80px; /* 控制总体高度 */
811
807
  min-height: 80px;
812
- line-height: normal; /* 避免行高过大导致居中 */
808
+ line-height: normal; /* 避免行高过大导致居中 */
813
809
  box-sizing: border-box;
814
810
  }
815
811
 
816
- /deep/.custom-select .ivu-select-input {
812
+ /deep/ .custom-select .ivu-select-input {
817
813
  height: auto !important;
818
814
  line-height: normal !important;
819
815
  padding: 0 !important;
820
816
  margin-top: 0 !important;
817
+
821
818
  }
822
819
 
823
- /deep/.custom-select .ivu-select-selection {
820
+ /deep/ .custom-select .ivu-select-selection {
824
821
  display: flex !important;
825
822
  flex-wrap: wrap !important;
826
823
  align-items: flex-start !important;
827
- height: 80px; /* 与上面的高度一致 */
824
+ height: 80px; /* 与上面的高度一致 */
828
825
  padding: 8px !important;
829
826
  line-height: normal !important;
830
827
  overflow-y: auto;
831
828
  }
832
829
 
833
- /deep/.custom-select .ivu-select-selection__choice {
830
+ /deep/ .custom-select .ivu-select-selection__choice {
834
831
  margin: 0 5px 5px 0;
835
- vertical-align: top;}
832
+ vertical-align: top;
833
+ }
836
834
 
837
835
  /* 可选:调整下拉箭头的位置 */
838
- /deep/.custom-select .ivu-select-arrow {
836
+ /deep/ .custom-select .ivu-select-arrow {
839
837
  display: none;
840
838
  }
839
+ .searchable-select-wrapper {
840
+ position: relative;
841
+ display: inline-block;
842
+ width: 100%;
843
+ }
844
+
845
+ .search-icon {
846
+ position: absolute;
847
+ top: 50%;
848
+ right: 10px;
849
+ zoom: 120%;
850
+ transform: translateY(100%);
851
+ color: #999; /* 根据需要调整图标颜色 */
852
+ pointer-events: none; /* 确保点击图标不会影响选择操作 */
853
+ }
854
+
841
855
  </style>