-
-
+
+ filterable
+ style="width: 220px"
+ >
+
+
-
+
{
- this.deptList = this.handleTree(response.data, "deptId")
+ const { deptId, ...deptListQuery } = this.queryParams
+ listDept(deptListQuery).then(response => {
+ let raw = response.data || []
+ if (deptId != null && deptId !== "") {
+ const rootId = Number(deptId)
+ raw = raw.filter(d => this.deptRowInSubtree(d, rootId))
+ }
+ this.deptList = this.handleTree(raw, "deptId")
this.loading = false
})
},
+ deptRowInSubtree(d, rootId) {
+ if (d.deptId != null && Number(d.deptId) === rootId) {
+ return true
+ }
+ if (!d.ancestors) {
+ return false
+ }
+ return String(d.ancestors)
+ .split(",")
+ .filter(Boolean)
+ .map(s => Number(s))
+ .includes(rootId)
+ },
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children
diff --git a/admin-ui/src/views/ai/groupchargeorder/index.vue b/admin-ui/src/views/ai/groupchargeorder/index.vue
index ebfb6ad..0d8a664 100644
--- a/admin-ui/src/views/ai/groupchargeorder/index.vue
+++ b/admin-ui/src/views/ai/groupchargeorder/index.vue
@@ -9,13 +9,21 @@
@keyup.enter.native="handleQuery"
/>
-
-
+
+ filterable
+ style="width: 220px"
+ >
+
+
@@ -138,9 +146,11 @@ import {
addGroupChargeOrder,
updateGroupChargeOrder
} from "@/api/ai/groupChargeOrder"
+import secondLevelDeptFilter from "@/mixins/secondLevelDeptFilter"
export default {
name: "GroupChargeOrder",
+ mixins: [secondLevelDeptFilter],
data() {
return {
loading: true,
@@ -154,7 +164,7 @@ export default {
pageNum: 1,
pageSize: 10,
orderNum: null,
- deptName: null,
+ deptId: null,
orderType: null
},
form: {},
@@ -181,6 +191,7 @@ export default {
}
},
created() {
+ this.loadSecondLevelDeptOptions()
this.getList()
},
methods: {
diff --git a/admin-ui/src/views/ai/order/index.vue b/admin-ui/src/views/ai/order/index.vue
index 368f9dd..a9d3c32 100644
--- a/admin-ui/src/views/ai/order/index.vue
+++ b/admin-ui/src/views/ai/order/index.vue
@@ -18,13 +18,21 @@
@keyup.enter.native="handleQuery"
/>
-
-
+
+ filterable
+ style="width: 220px"
+ >
+
+
import { listOrder } from "@/api/ai/order"
+import secondLevelDeptFilter from "@/mixins/secondLevelDeptFilter"
export default {
name: "TeamChargeOrder",
+ mixins: [secondLevelDeptFilter],
data() {
return {
loading: true,
@@ -162,13 +172,14 @@ export default {
orderNum: null,
thirdPartyOrderNum: null,
userName: null,
- deptName: null,
+ deptId: null,
orderType: null,
status: null
}
}
},
created() {
+ this.loadSecondLevelDeptOptions()
this.initDefaultDateRange()
this.getList()
},
diff --git a/admin-ui/src/views/ai/record/index.vue b/admin-ui/src/views/ai/record/index.vue
index c8a80cc..a3a7ec1 100644
--- a/admin-ui/src/views/ai/record/index.vue
+++ b/admin-ui/src/views/ai/record/index.vue
@@ -10,14 +10,21 @@
@keyup.enter.native="handleQuery"
/>
-
-
+
+ filterable
+ style="width: 220px"
+ >
+
+
@@ -93,9 +100,11 @@