commit
This commit is contained in:
@@ -21,10 +21,7 @@ import org.nutz.ioc.aop.Aop;
|
|||||||
import org.nutz.ioc.loader.annotation.Inject;
|
import org.nutz.ioc.loader.annotation.Inject;
|
||||||
import org.nutz.ioc.loader.annotation.IocBean;
|
import org.nutz.ioc.loader.annotation.IocBean;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -88,7 +85,7 @@ public class SysDataUnitPullServiceImpl extends BaseServiceImpl<Sys_unit> implem
|
|||||||
// 拉取过来的数据,全部的单位,一万四千多条,这里只保留 “部门类”
|
// 拉取过来的数据,全部的单位,一万四千多条,这里只保留 “部门类”
|
||||||
List<JSONObject> data = jsonBody.getJSONArray("data").stream()
|
List<JSONObject> data = jsonBody.getJSONArray("data").stream()
|
||||||
.map(o -> (JSONObject) o)
|
.map(o -> (JSONObject) o)
|
||||||
.filter(row -> StrUtil.isNotBlank(row.getStr("bmlb")))
|
.filter(row -> StrUtil.isNotBlank(row.getStr("bmlb")) && Objects.equals("隶属部门类", row.getStr("bmlb")))
|
||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
Map<String, String> api2db = Arrays.stream(Api2UnitFiledMap.values())
|
Map<String, String> api2db = Arrays.stream(Api2UnitFiledMap.values())
|
||||||
|
|||||||
+49
@@ -236,6 +236,54 @@ layout("/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
parseSuggestUnits(suggestUnits) {
|
||||||
|
if (!suggestUnits) return []
|
||||||
|
if (Array.isArray(suggestUnits)) {
|
||||||
|
return suggestUnits.map(v => (v || '').toString().trim()).filter(Boolean)
|
||||||
|
}
|
||||||
|
const text = suggestUnits.toString().trim()
|
||||||
|
if (!text) return []
|
||||||
|
try {
|
||||||
|
const parsed = JSON.parse(text)
|
||||||
|
if (Array.isArray(parsed)) {
|
||||||
|
return parsed.map(v => (v || '').toString().trim()).filter(Boolean)
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
}
|
||||||
|
return text.split(/[,,、]/).map(v => v.trim()).filter(Boolean)
|
||||||
|
},
|
||||||
|
mapSuggestUnitsToIds(suggestUnits) {
|
||||||
|
const unitValues = this.parseSuggestUnits(suggestUnits)
|
||||||
|
if (!unitValues.length || !this.underTakeOptions.length) return []
|
||||||
|
const result = []
|
||||||
|
unitValues.forEach(unitVal => {
|
||||||
|
const matched = this.underTakeOptions.find(item => item.id === unitVal || item.name === unitVal)
|
||||||
|
if (matched && !result.includes(matched.id)) {
|
||||||
|
result.push(matched.id)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return result
|
||||||
|
},
|
||||||
|
ensureUnderTakeOptions() {
|
||||||
|
if (this.underTakeOptions && this.underTakeOptions.length) {
|
||||||
|
return Promise.resolve()
|
||||||
|
}
|
||||||
|
return this.$axios.post("/platform/proposal/common/listUnderTake").then((res) => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.underTakeOptions = res.data || []
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
loadSuggestUnitsToUndertake(proposalId) {
|
||||||
|
return this.ensureUnderTakeOptions().then(() => {
|
||||||
|
return this.$axios.post("/platform/proposal/common/proposalInfo", {id: proposalId}).then((res) => {
|
||||||
|
if (res.code !== 0) return
|
||||||
|
const suggestUnitIds = this.mapSuggestUnitsToIds(res?.data?.suggestUnits)
|
||||||
|
this.$set(this.formData, "tf_masterUnitId", suggestUnitIds[0] || null)
|
||||||
|
this.$set(this.formData, "tf_slaveUnitIds", suggestUnitIds.slice(1))
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
mergeClose() {
|
mergeClose() {
|
||||||
this.doSearch()
|
this.doSearch()
|
||||||
this.$refs.guava.index()
|
this.$refs.guava.index()
|
||||||
@@ -261,6 +309,7 @@ layout("/layouts/platform.html"){
|
|||||||
tf_masterUnitId: null,
|
tf_masterUnitId: null,
|
||||||
tf_slaveUnitIds: []
|
tf_slaveUnitIds: []
|
||||||
}
|
}
|
||||||
|
this.loadSuggestUnitsToUndertake(row.id)
|
||||||
this.$refs.proposalInfoRef.onOpen(row)
|
this.$refs.proposalInfoRef.onOpen(row)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user