|
|
@@ -25,7 +25,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
-import { useRouter } from "vue-router";
|
|
|
+import { useRouter, useRoute } from "vue-router";
|
|
|
import api from "@/api";
|
|
|
import QueryForm from "../../components/queryForm.vue";
|
|
|
import FilterDialog from "../../components/filterDialog.vue";
|
|
|
@@ -36,6 +36,7 @@ import PageInfo from "@/api/types/agreementTypes";
|
|
|
import { ElMessage } from "element-plus";
|
|
|
|
|
|
const router = useRouter();
|
|
|
+const route = useRoute();
|
|
|
const userStore = useUserStore();
|
|
|
const isShow = ref(false);
|
|
|
|
|
|
@@ -145,20 +146,45 @@ const queryFormRes = ref();
|
|
|
const routerKey = ref("contactPersonDataManageDetail");
|
|
|
const defaultList = ref();
|
|
|
const pageHiddenList = ref([]); //页面不显示的数据
|
|
|
+const isFilterFrom = ref(); //主页面查询条件且在过滤中不存在
|
|
|
const initDefaultList = async () => {
|
|
|
const { data } = await api.manageApi.getSearchDefaultList({
|
|
|
routerKey: routerKey.value,
|
|
|
userId: phone,
|
|
|
});
|
|
|
- listOption.queryFormFields = data.filter((e) => e.showFlag);
|
|
|
|
|
|
- pageHiddenList.value = data.filter((e) => !e.showFlag);
|
|
|
- defaultList.value = data.map((e) => e.id);
|
|
|
+ const queryParamsMap = route.query;
|
|
|
+ const processedData = data.map((item) => {
|
|
|
+ if (queryParamsMap.hasOwnProperty(item.key)) {
|
|
|
+ return { ...item, defaultValue: queryParamsMap[item.key] };
|
|
|
+ }
|
|
|
+ return item;
|
|
|
+ });
|
|
|
+
|
|
|
+ let filterFrom = {};
|
|
|
+ processedData.map((item) => {
|
|
|
+ filterFrom[item.key] = item.defaultValue;
|
|
|
+ });
|
|
|
+ isFilterFrom.value = getUniqueProperties(queryParamsMap, filterFrom);
|
|
|
+
|
|
|
+ listOption.queryFormFields = processedData.filter((e) => e.showFlag);
|
|
|
+ pageHiddenList.value = processedData.filter((e) => !e.showFlag);
|
|
|
+ defaultList.value = processedData.map((e) => e.id);
|
|
|
selectedKeys.value = defaultList.value;
|
|
|
queryFormRes.value = queryFormRef.value?.initDefaultSaveForm();
|
|
|
queryList();
|
|
|
};
|
|
|
|
|
|
+const getUniqueProperties = (obj1, obj2) => {
|
|
|
+ const uniqueProps = {};
|
|
|
+ Object.keys(obj1).forEach((key) => {
|
|
|
+ if (!(key in obj2) || obj2[key] == undefined) {
|
|
|
+ uniqueProps[key] = obj1[key];
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return uniqueProps;
|
|
|
+};
|
|
|
+
|
|
|
//删除
|
|
|
const filterDialogRef = ref();
|
|
|
const delSelect = (id) => {
|
|
|
@@ -222,7 +248,7 @@ const query = (item) => {
|
|
|
//数据查询
|
|
|
const tableData = ref([]);
|
|
|
const queryList = async () => {
|
|
|
- let query = { ...queryFormRes.value };
|
|
|
+ let query = { ...queryFormRes.value, ...isFilterFrom.value };
|
|
|
const { data } = await api.manageApi.contactPersonDataManageDetailPageList({
|
|
|
pageNo: pageInfo.value.pageNum,
|
|
|
pageSize: pageInfo.value.pageSize,
|
|
|
@@ -248,17 +274,19 @@ function getList(item: PageInfo) {
|
|
|
|
|
|
//导出
|
|
|
const downloadFile = async () => {
|
|
|
- let query = { ...queryFormRes.value };
|
|
|
- const { data, msg } = await api.manageApi.contactPersonDataManageDetailToTask({
|
|
|
- pageNo: pageInfo.value.pageNum,
|
|
|
- pageSize: pageInfo.value.pageSize,
|
|
|
- routerKey: routerKey.value,
|
|
|
- userId: phone,
|
|
|
- orderType: globalSortKey.value
|
|
|
- ? globalSortKey.value + " " + globalSortOrder.value
|
|
|
- : "",
|
|
|
- ...query,
|
|
|
- });
|
|
|
+ let query = { ...queryFormRes.value, ...isFilterFrom.value };
|
|
|
+ const { data, msg } = await api.manageApi.contactPersonDataManageDetailToTask(
|
|
|
+ {
|
|
|
+ pageNo: pageInfo.value.pageNum,
|
|
|
+ pageSize: pageInfo.value.pageSize,
|
|
|
+ routerKey: routerKey.value,
|
|
|
+ userId: phone,
|
|
|
+ orderType: globalSortKey.value
|
|
|
+ ? globalSortKey.value + " " + globalSortOrder.value
|
|
|
+ : "",
|
|
|
+ ...query,
|
|
|
+ }
|
|
|
+ );
|
|
|
ElMessage({
|
|
|
message: msg,
|
|
|
type: "success",
|