Commit 7f8519cd authored by tyn's avatar tyn

merge

parent dd17f1ef
...@@ -39,7 +39,19 @@ export const getCooperativeOwnerUnitsOptionsApi = (data) => request({ ...@@ -39,7 +39,19 @@ export const getCooperativeOwnerUnitsOptionsApi = (data) => request({
* @returns * @returns
*/ */
export const getCooperativeOwnerUnitsCountAmountApi = (data) => request({ export const getCooperativeOwnerUnitsCountAmountApi = (data) => request({
url: "/consultancy/pageSelect", url: "/consultancy/statistics",
method: "post",
data
});
/**
* 常合作集团详情 合作成员列表
* @param {*} data
* @returns
*/
export const getCooperativeGroupMemberApi = (data) => request({
url: "/consultancy/combinePage",
method: "post", method: "post",
data data
}); });
\ No newline at end of file
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
v-else-if="!tableLoading" :maxHeight="true" @handle-current-change="handleCurrentChange"> v-else-if="!tableLoading" :maxHeight="true" @handle-current-change="handleCurrentChange">
<!-- 咨询机构名称 --> <!-- 咨询机构名称 -->
<template slot="advisoryBodyName" slot-scope="{data,row}"> <template slot="advisoryBodyName" slot-scope="{data,row}">
<div v-if="row.advisoryBodyName" class="no-line-feed ">{{row.advisoryBodyName}}</div> <div v-if="row.advisoryBodyName" class="no-line-feed" @click="viewEnterprise(row)">{{row.advisoryBodyName}}</div>
<span v-else>-</span> <span v-else>-</span>
</template> </template>
<!-- 合作项目数量 --> <!-- 合作项目数量 -->
...@@ -70,6 +70,7 @@ import Skeleton from "@/components/Skeleton"; ...@@ -70,6 +70,7 @@ import Skeleton from "@/components/Skeleton";
import { getConsultingOrgEenterpriseListWithSearchApi } from "@/api/consultingOrgManagement"; import { getConsultingOrgEenterpriseListWithSearchApi } from "@/api/consultingOrgManagement";
import { queryConditionFiltering } from "@/utils"; import { queryConditionFiltering } from "@/utils";
import { v4 } from 'uuid'; import { v4 } from 'uuid';
import { encodeStr } from "@/assets/js/common";
export default { export default {
name: "cooperationDeskAccountEnterprise", name: "cooperationDeskAccountEnterprise",
components: { components: {
...@@ -140,6 +141,10 @@ export default { ...@@ -140,6 +141,10 @@ export default {
if (!row.advisoryBodyCid) return this.$message.warning("缺少咨询机构id"); if (!row.advisoryBodyCid) return this.$message.warning("缺少咨询机构id");
this.$tab.openPage(`${row.advisoryBodyName}合作明细`, `/consultingOrgManagement/detailsOfCooperation/${row.advisoryBodyCid}`); this.$tab.openPage(`${row.advisoryBodyName}合作明细`, `/consultingOrgManagement/detailsOfCooperation/${row.advisoryBodyCid}`);
}, },
// 跳转到企业详情
viewEnterprise(row) {
this.$tab.openPage(row.advisoryBodyName ? row.advisoryBodyName : "咨询机构详情", `/enterprise/${encodeStr(row.advisoryBodyCid)}`);
},
// 创建最终查询条件 // 创建最终查询条件
mergeCondition() { mergeCondition() {
const _queryParams = JSON.parse(JSON.stringify(this.queryParams)); const _queryParams = JSON.parse(JSON.stringify(this.queryParams));
......
...@@ -89,7 +89,8 @@ ...@@ -89,7 +89,8 @@
</template> --> </template> -->
<!-- 咨询机构名称 --> <!-- 咨询机构名称 -->
<template slot="advisoryBodyName" slot-scope="{data,row}"> <template slot="advisoryBodyName" slot-scope="{data,row}">
<div v-if="row.advisoryBody && row.advisoryBody.advisoryBodyName" class="no-line-feed">{{row.advisoryBody.advisoryBodyName}}</div> <div v-if="row.advisoryBody && row.advisoryBody.advisoryBodyName" class="no-line-feed" @click="viewEnterprise(row)">
{{row.advisoryBody.advisoryBodyName}}</div>
<span v-else>-</span> <span v-else>-</span>
</template> </template>
</table-list-com> </table-list-com>
...@@ -105,6 +106,7 @@ import Skeleton from "@/components/Skeleton"; ...@@ -105,6 +106,7 @@ import Skeleton from "@/components/Skeleton";
import { getConsultingOrgProjectListWithSearchApi } from "@/api/consultingOrgManagement"; import { getConsultingOrgProjectListWithSearchApi } from "@/api/consultingOrgManagement";
import { queryConditionFiltering } from "@/utils"; import { queryConditionFiltering } from "@/utils";
import { v4 } from 'uuid'; import { v4 } from 'uuid';
import { encodeStr } from "@/assets/js/common.js";
export default { export default {
name: "cooperationDeskAccountProject", name: "cooperationDeskAccountProject",
components: { components: {
...@@ -319,6 +321,10 @@ export default { ...@@ -319,6 +321,10 @@ export default {
// 查看项目详情 // 查看项目详情
viewProjectDetail(row) { viewProjectDetail(row) {
this.$tab.openPage(row.projectName, `/consultingOrgManagement/projectDetail/${row.advisoryBody?.advisoryBodyCid}?projectKey=${row.projectKey}`); this.$tab.openPage(row.projectName, `/consultingOrgManagement/projectDetail/${row.advisoryBody?.advisoryBodyCid}?projectKey=${row.projectKey}`);
},
// 跳转到企业详情
viewEnterprise(row) {
this.$tab.openPage(row.advisoryBody.advisoryBodyName ? row.advisoryBody.advisoryBodyName : "咨询机构详情", `/enterprise/${encodeStr(row.advisoryBody.advisoryBodyCid)}`);
} }
}, },
} }
......
...@@ -333,8 +333,8 @@ export default { ...@@ -333,8 +333,8 @@ export default {
getFinancial(id) { getFinancial(id) {
financial({ cid: String(id) }).then(res => { financial({ cid: String(id) }).then(res => {
if ((res.code == 200 && !res.data) || !res.data?.totalAssets) { if ((res.code == 200 && !res.data) || !res.data?.totalAssets) {
this.$set(this.sideRoute[0], "disabled", true); // 禁用商务信息
this.$set(this.sideRoute[1], "disabled", true); this.$set(this.findNodeIndex(this.sideRoute, "business"), "disabled", true);
this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute)); this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute));
} }
}); });
......
...@@ -6,9 +6,9 @@ ...@@ -6,9 +6,9 @@
<tables v-if="!isSkeleton" :indexFixed="true" :tableData="tableData" :forData="forData" :tableDataTotal="tableDataTotal" <tables v-if="!isSkeleton" :indexFixed="true" :tableData="tableData" :forData="forData" :tableDataTotal="tableDataTotal"
:queryParams="queryParams" @handle-current-change="handleCurrentChange" @sort-change="sortChange"> :queryParams="queryParams" @handle-current-change="handleCurrentChange" @sort-change="sortChange">
<!-- 业主名称 --> <!-- 业主名称 -->
<template slot="companyName" slot-scope="scope"> <template slot="counterpartCompanyName" slot-scope="scope">
<span v-if="scope.row.companyName" style="color: #0081FF;cursor: pointer;" @click="viewEnterprise(scope.row)" <span v-if="scope.row.counterpartCompanyName" style="color: #0081FF;cursor: pointer;" @click="viewEnterprise(scope.row)"
v-html="scope.row.companyName">{{scope.row.companyName}}</span> v-html="scope.row.counterpartCompanyName">{{scope.row.counterpartCompanyName}}</span>
<span v-else>-</span> <span v-else>-</span>
</template> </template>
<!-- 合作项目数量 --> <!-- 合作项目数量 -->
...@@ -71,7 +71,7 @@ export default { ...@@ -71,7 +71,7 @@ export default {
}, },
selectOptions: {}, selectOptions: {},
forData: [ forData: [
{ label: '施工单位名称', prop: 'companyName', width: '295', slot: true, showOverflowTooltip: true }, { label: '施工单位名称', prop: 'counterpartCompanyName', width: '295', slot: true, showOverflowTooltip: true },
{ label: '合作项目数量', prop: 'count', minWidth: '190', align: "right", slot: true, sortable: "custom" }, { label: '合作项目数量', prop: 'count', minWidth: '190', align: "right", slot: true, sortable: "custom" },
{ label: '最近一次合作时间', prop: 'time', minWidth: '214', sortable: "custom" }, { label: '最近一次合作时间', prop: 'time', minWidth: '214', sortable: "custom" },
{ label: '合作总金额(万元)', prop: 'amount', minWidth: '226', align: "right", sortable: "custom" }, { label: '合作总金额(万元)', prop: 'amount', minWidth: '226', align: "right", sortable: "custom" },
...@@ -118,6 +118,7 @@ export default { ...@@ -118,6 +118,7 @@ export default {
dialogIsSkeleton: true, dialogIsSkeleton: true,
dialogtableDataTotal: 0, dialogtableDataTotal: 0,
dialogTableData: [], dialogTableData: [],
statisticsData: {},
}; };
}, },
//可访问data属性 //可访问data属性
...@@ -250,6 +251,10 @@ export default { ...@@ -250,6 +251,10 @@ export default {
const res = await getCooperativeOwnerUnitsDetailApi(data); const res = await getCooperativeOwnerUnitsDetailApi(data);
this.dialogTableData = res.rows ? res.rows : []; this.dialogTableData = res.rows ? res.rows : [];
this.dialogtableDataTotal = res.total ? res.total : 0; this.dialogtableDataTotal = res.total ? res.total : 0;
const count = await getCooperativeOwnerUnitsCountAmountApi(data);
if (count.code == 200 && count.data) {
this.statisticsData = count.data;
}
} catch (error) { } catch (error) {
console.log(error); console.log(error);
} finally { } finally {
...@@ -284,14 +289,19 @@ export default { ...@@ -284,14 +289,19 @@ export default {
const res = await getCooperativeOwnerUnitsDetailApi(data); const res = await getCooperativeOwnerUnitsDetailApi(data);
this.dialogTableData = res.rows ? res.rows : []; this.dialogTableData = res.rows ? res.rows : [];
this.dialogtableDataTotal = res.total ? res.total : 0; this.dialogtableDataTotal = res.total ? res.total : 0;
const count = await getCooperativeOwnerUnitsCountAmountApi(data);
if (count.code == 200 && count.data) {
this.statisticsData = count.data;
}
} catch (error) { } catch (error) {
console.log(error); console.log(error);
} }
}, },
dialogCurrentChange(page) { dialogCurrentChange(page) {
this.dialogQueryParams.pageNum = page; this.dialogQueryParams.pageNum = page;
const params = this.createQueryCondition(this.dialogQueryParams); const params = this.createQueryCondition(this.dialogFormData);
this.dialogHandleQurey(params); const searchParams = JSON.parse(JSON.stringify({ ...params, ...this.dialogQueryParams }));
this.dialogHandleQurey(searchParams);
}, },
async dialogOPen() { async dialogOPen() {
await this.setOptions(); await this.setOptions();
...@@ -346,7 +356,7 @@ export default { ...@@ -346,7 +356,7 @@ export default {
::v-deep .cooperation-record-dialog-container { ::v-deep .cooperation-record-dialog-container {
.cooperation-record-dialog { .cooperation-record-dialog {
height: 85%; height: 60%;
position: absolute; position: absolute;
left: 50%; left: 50%;
top: 50%; top: 50%;
......
<template>
<div class="cooperative-group-container">
<head-form-new title="常合作集团" :form-data="formData" :query-params="queryParams" :total="tableDataTotal" :isExcel="true"
@handle-search="handleSearch" />
<skeleton v-if="isSkeleton" style="padding: 16px"></skeleton>
<tables v-if="!isSkeleton" :indexFixed="true" :tableData="tableData" :forData="forData" :tableDataTotal="tableDataTotal"
:queryParams="queryParams" @handle-current-change="handleCurrentChange" @sort-change="sortChange">
<!-- 业主名称 -->
<template slot="combineName" slot-scope="scope">
<span v-if="scope.row.combineName" style="color: #0081FF;cursor: pointer;" @click="viewEnterprise(scope.row)"
v-html="scope.row.combineName">{{scope.row.combineName}}</span>
<span v-else>-</span>
</template>
<!-- 合作项目数量 -->
<template slot="count" slot-scope="scope">
<span v-if="scope.row.count" style="color: #0081FF;cursor: pointer;" @click="viewProject(scope.row)">{{scope.row.count}}</span>
<span v-else>-</span>
</template>
</tables>
<el-dialog title="合作项目/工程明细" :visible.sync="cooperationRecordDialog" width="1100px" @close="dialogClose" @open="dialogOPen"
class="cooperation-record-dialog-container" custom-class="cooperation-record-dialog" :destroy-on-close="true" :close-on-click-modal="false">
<!-- tab切换栏 -->
<dsk-tab-toggle v-model="currentList" :tabs="toggleTabs" @tabToggle="tabToggle"></dsk-tab-toggle>
<div class="cooperation-record-dialog-innner">
<!-- 成员列表 -->
<template v-if="currentList == 'cooperativeMember'">
<dialog-head-form-new title="" :form-data="dialogFormData" :query-params="dialogQueryParams" :total="dialogtableDataTotal" :isExcel="false"
@handle-search="dialogHandleSearch" ref="dialogSearchFormNew" />
<skeleton v-if="dialogIsSkeleton" style="padding: 16px"></skeleton>
<!-- 列表 -->
<dialog-tables v-if="!dialogIsSkeleton" :indexFixed="true" :tableData="dialogTableData" :forData="memberForData"
:tableDataTotal="dialogtableDataTotal" :queryParams="dialogQueryParams" @handle-current-change="dialogCurrentChange"
@sort-change="dialogSortChange" :maxHeight="true">
<!-- 合作成员-->
<template slot="companyName" slot-scope="scope">
<span v-if="scope.row.companyName" style="color: #0081FF;cursor: pointer;"
v-html="scope.row.companyName">{{scope.row.companyName}}</span>
<span v-else>-</span>
</template>
</dialog-tables>
</template>
<!-- 项目列表 -->
<template v-if="currentList == 'cooperativeProject'">
<dialog-head-form-new title="" :form-data="dialogFormData" :query-params="dialogQueryParams" :total="dialogtableDataTotal" :isExcel="false"
@handle-search="dialogHandleSearch" ref="dialogSearchFormNew" />
<skeleton v-if="dialogIsSkeleton" style="padding: 16px"></skeleton>
<!-- 列表 -->
<dialog-tables v-if="!dialogIsSkeleton" :indexFixed="true" :tableData="dialogTableData" :forData="dialogForData"
:tableDataTotal="dialogtableDataTotal" :queryParams="dialogQueryParams" @handle-current-change="dialogCurrentChange"
@sort-change="dialogSortChange" :maxHeight="true">
<!-- 合作项目/工程名称-->
<template slot="projectName" slot-scope="scope">
<span v-if="scope.row.projectName" style="color: #0081FF;cursor: pointer;"
v-html="scope.row.projectName">{{scope.row.projectName}}</span>
<span v-else>-</span>
</template>
<!-- 合作成员 -->
<template slot="companyName" slot-scope="scope">
<span v-if="scope.row.companyName" style="color: #0081FF;cursor: pointer;"
v-html="scope.row.companyName">{{scope.row.companyName}}</span>
<span v-else>-</span>
</template>
<!-- 省市区 -->
<template slot="area" slot-scope="scope">
<span>{{`${scope.row.province ? scope.row.province : ""}${scope.row.province && scope.row.city ? " - " : ""}${scope.row.city ? scope.row.city : ""}${scope.row.city && scope.row.area ? " - " : ""}${scope.row.area ? scope.row.area : ""}`}}</span>
</template>
</dialog-tables>
</template>
</div>
</el-dialog>
</div>
</template>
<script>
import skeleton from '../component/skeleton';
import mixin from '@/views/detail/party-a/mixins/mixin';
import { getCooperativeOwnerUnitsListApi, getCooperativeOwnerUnitsDetailApi, getCooperativeOwnerUnitsOptionsApi, getCooperativeOwnerUnitsCountAmountApi, getCooperativeGroupMemberApi } from "@/api/consultingTransaction";
import DialogHeadFormNew from "../component/HeadFormNew";
import DialogTables from "../component/Tables";
import DskTabToggle from "@/components/DskTabToggle";
export default {
name: "cooperativeGroup",
mixins: [mixin],
components: {
skeleton,
DialogHeadFormNew,
DialogTables,
DskTabToggle
},
props: ['companyId'],
data() {
return {
currentList: "cooperativeMember",
toggleTabs: [
{
value: "cooperativeMember",
name: "成员列表",
id: this.getUid()
},
{
value: "cooperativeProject",
name: "项目列表",
id: this.getUid()
}
],
queryParams: {
companyId: this.companyId,
pageNum: 1,
pageSize: 10,
companyType: 3,
sort: ""
},
selectOptions: {},
forData: [
{ label: '集团名称', prop: 'combineName', width: '295', slot: true, showOverflowTooltip: true },
{ label: '合作项目数量', prop: 'count', minWidth: '190', align: "right", slot: true, sortable: "custom" },
{ label: '最近一次合作时间', prop: 'time', minWidth: '214', sortable: "custom" },
{ label: '合作总金额(万元)', prop: 'amount', minWidth: '226', align: "right", sortable: "custom" },
],
formData: [
{ type: 4, fieldName: 'businessTypes', value: '', placeholder: '咨询机构业务', options: [], uid: this.getUid() },
{ type: 4, fieldName: 'counterpartCompanyRoles', value: '', placeholder: '合作项目类型', options: [], uid: this.getUid() },
{ type: 4, fieldName: 'projectTypes', value: '', placeholder: '合作工程类型', options: [], uid: this.getUid() },
{ type: 5, fieldName: 'time', value: '', placeholder: '合作频率', startTime: 'beginTime', endTime: 'endTime', uid: this.getUid() },
{ type: 6, fieldName: 'money', value: '', placeholder: '合作金额', uid: this.getUid() },
{ type: 3, fieldName: 'keyword', value: '', placeholder: '请输入', uid: this.getUid() },
],
//列表
tableLoading: false,
tableData: [],
tableDataTotal: 0,
isSkeleton: true,
// 合作项目详情弹窗
cooperationRecordDialog: false,
dialogQueryParams: {
companyId: "",
pageNum: 1,
pageSize: 10,
companyType: 3,
sort: ""
},
memberForData: [
{ label: '合作成员', prop: 'companyName', width: '351', slot: true, showOverflowTooltip: true },
{ label: '合作次数', prop: 'count ', minWidth: '223', align: "right", slot: true, sortable: "custom" },
{ label: '最近一次合作时间', prop: 'time', minWidth: '214', sortable: "custom" },
{ label: '合作总金额(万元)', prop: 'amount', minWidth: '226', align: "right", sortable: "custom" },
],
dialogForData: [
{ label: '合作项目/工程名称', prop: 'projectName', width: '182', slot: true, showOverflowTooltip: true },
{ label: '合作成员', prop: 'companyName', width: '110', slot: true, showOverflowTooltip: true },
{ label: '合作时间', prop: 'time', width: '93', sortable: "custom" },
{ label: '集团成员身份', prop: 'role', width: '122' },
{ label: '咨询机构承担角色', prop: 'agencyBusinessType', width: '122' },
{ label: '项目类型', prop: 'counterpartRole', minWidth: '74' },
{ label: '工程类型', prop: 'projectType', minWidth: '74' },
{ label: '项目/工程金额(万元)', prop: 'amount', width: '164', sortable: "custom", align: "right", },
{ label: '项目地区', prop: 'area', width: '245', slot: true },
],
dialogFormData: [
{ type: 4, fieldName: 'businessTypes', value: '', placeholder: '咨询机构业务', options: [], uid: this.getUid() },
{ type: 4, fieldName: 'counterpartCompanyRoles', value: '', placeholder: '合作项目类型', options: [], uid: this.getUid() },
{ type: 4, fieldName: 'projectTypes', value: '', placeholder: '合作工程类型', options: [], uid: this.getUid() },
{ type: 5, fieldName: 'time', value: '', placeholder: '合作频率', startTime: 'beginTime', endTime: 'endTime', uid: this.getUid() },
{ type: 3, fieldName: 'keyword', value: '', placeholder: '请输入', uid: this.getUid() },
],
dialogIsSkeleton: true,
dialogtableDataTotal: 0,
dialogTableData: [],
statisticsData: {},
};
},
//可访问data属性
created() {
this.initDetail();
},
//计算集
computed: {
},
//方法集
methods: {
async initDetail() {
try {
await this.setOptions(true);
await this.handleQuery();
} catch (error) {
}
},
async setOptions(flag) {
try {
const options = await getCooperativeOwnerUnitsOptionsApi({ companyId: this.queryParams.companyId });
if (options.code == 200 && options.data) {
for (const key in options.data) {
options.data[key] = options.data[key].map(item => ({ name: item, value: item }));
}
this.selectOptions = options.data;
const optionsKey = [["businessType", "businessTypes"], ["counterpartCompanyRole", "counterpartCompanyRoles"], ["projectType", "projectTypes"]];
optionsKey.forEach(([key, value]) => {
flag ? this.$set(this.formData.find(formItem => value == formItem.fieldName), "options", this.selectOptions[key]) : null;
this.$set(this.dialogFormData.find(formItem => value == formItem.fieldName), "options", this.selectOptions[key]);
});
}
} catch (error) {
console.log(error);
}
},
// 创建列表查询条件
createQueryCondition(form) {
/**
* @type {Array<{
* fieldName : string;
* value : any
* }>}
*/
const paramsArray = JSON.parse(JSON.stringify(form));
const params = {};
// 处理查询参数
paramsArray.forEach(item => {
// 有效参数
if ((item.value && item.value != "0" && !Array.isArray(item.value)) || item?.value?.length) {
// 多选
if (["businessTypes", "counterpartCompanyRoles", "projectTypes"].includes(item.fieldName)) {
params[item.fieldName] = item.value;
}
// 时间处理
if (item.fieldName == "time") {
params["beginTime"] = item.value[0];
params["endTime"] = item.value[1];
}
// 金额处理
if (item.fieldName == "money") {
params["minAmount"] = item.value[0] ? item.value[0] : "";
params["maxAmount"] = item.value[1] ? item.value[1] : "";
}
// 搜索关键词处理
if (item.fieldName == "keyword" && item?.value.trim()) {
params["keyword"] = item.value;
}
}
});
return params;
},
// 查询
async handleSearch() {
const params = this.createQueryCondition(this.formData);
this.queryParams.pageNum = 1;
const searchParams = JSON.parse(JSON.stringify({ ...params, ...this.queryParams }));
this.handleQuery(searchParams);
},
async handleQuery(params) {
try {
let data = params ? params : this.queryParams;
this.isSkeleton = true;
const res = await getCooperativeOwnerUnitsListApi(data);
this.tableData = res.rows ? res.rows : [];
this.tableDataTotal = res.total ? res.total : 0;
} catch (error) {
console.log(error);
} finally {
this.isSkeleton = false;
}
},
viewEnterprise(row) {
},
async sortChange({ column, order, prop }) {
let sort = null;
switch (prop) {
case "time":
order == "ascending" ? sort = 4 : sort = 3;
break;
case "amount":
order == "ascending" ? sort = 2 : sort = 1;
break;
default:
break;
}
if (!order) sort = "";
this.queryParams.sort = sort;
try {
let data = this.queryParams;
const res = await getCooperativeOwnerUnitsListApi(data);
this.tableData = res.rows ? res.rows : [];
this.tableDataTotal = res.total ? res.total : 0;
} catch (error) {
console.log(error);
}
},
viewProject(row) {
this.dialogQueryParams.companyId = row.companyId;
this.cooperationRecordDialog = true;
},
async dialogHandleQurey(params) {
try {
let data = params ? params : this.dialogQueryParams;
this.dialogIsSkeleton = true;
const res = currentList == "cooperativeMember" ? await getCooperativeGroupMemberApi(data) : await getCooperativeOwnerUnitsDetailApi(data);
this.dialogTableData = res.rows ? res.rows : [];
this.dialogtableDataTotal = res.total ? res.total : 0;
const count = await getCooperativeOwnerUnitsCountAmountApi(data);
if (count.code == 200 && count.data) {
this.statisticsData = count.data;
}
} catch (error) {
console.log(error);
} finally {
this.dialogIsSkeleton = false;
}
},
dialogHandleSearch(v) {
const params = this.createQueryCondition(this.dialogFormData);
this.dialogQueryParams.pageNum = 1;
const searchParams = JSON.parse(JSON.stringify({ ...params, ...this.dialogQueryParams }));
this.dialogHandleQurey(searchParams);
},
async dialogSortChange({ column, order, prop }) {
let sort = null;
switch (prop) {
case "count":
order == "ascending" ? sort = 6 : sort = 5;
break;
case "time":
order == "ascending" ? sort = 4 : sort = 3;
break;
case "amount":
order == "ascending" ? sort = 2 : sort = 1;
break;
default:
break;
}
if (!order) sort = "";
this.dialogQueryParams.sort = sort;
try {
let data = this.dialogQueryParams;
const res = currentList == "cooperativeMember" ? await getCooperativeGroupMemberApi(data) : await getCooperativeOwnerUnitsDetailApi(data);
this.dialogTableData = res.rows ? res.rows : [];
this.dialogtableDataTotal = res.total ? res.total : 0;
const count = await getCooperativeOwnerUnitsCountAmountApi(data);
if (count.code == 200 && count.data) {
this.statisticsData = count.data;
}
} catch (error) {
console.log(error);
}
},
dialogCurrentChange(page) {
this.dialogQueryParams.pageNum = page;
const params = this.createQueryCondition(this.dialogFormData);
const searchParams = JSON.parse(JSON.stringify({ ...params, ...this.dialogQueryParams }));
this.dialogHandleQurey(searchParams);
},
async dialogOPen() {
await this.setOptions();
await this.dialogHandleQurey();
},
dialogClose() {
const data = this.$options.data.call(this);
this.dialogQueryParams = data.dialogQueryParams;
this.dialogFormData = data.dialogFormData;
this.dialogtableDataTotal = data.dialogtableDataTotal;
this.dialogTableData = data.dialogTableData;
},
// 切换tab
tabToggle() {
}
},
}
</script>
<style lang="scss" scoped>
.cooperative-group-container {
background: #ffffff;
border-radius: 4px;
padding: 16px;
input {
border: 1px solid #efefef;
}
::v-deep .el-form-item {
margin-right: 8px !important;
}
.query-box {
margin: 10px 0 20px;
}
.cell-span {
display: inline-block;
position: relative;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;
cursor: pointer;
> span {
display: inline-block;
width: 37px;
position: absolute;
right: 0;
bottom: 0;
background-color: #fff;
z-index: 1;
}
}
@import "@/assets/styles/search-common.scss";
::v-deep .cooperation-record-dialog-container {
.cooperation-record-dialog {
height: 60%;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
border-radius: 4px;
margin: 0px !important;
display: flex;
flex-direction: column;
.el-dialog__header {
padding: 20px;
height: 56px;
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
border-bottom: 1px solid #eeeeee;
.el-dialog__title {
color: #232323;
font-weight: bold;
line-height: 16px;
}
.el-dialog__headerbtn {
position: static;
width: 16px;
height: 16px;
}
}
.el-dialog__body {
height: calc(100% - 56px);
padding: 0px;
.cooperation-record-dialog-innner {
width: 100%;
height: calc(100% - 48px);
padding: 24px 20px;
box-sizing: border-box;
.Tables {
height: calc(100% - 40px);
}
}
}
.el-table-horizontal-scrollbar {
display: none !important;
}
}
}
}
</style>
...@@ -118,6 +118,7 @@ export default { ...@@ -118,6 +118,7 @@ export default {
dialogIsSkeleton: true, dialogIsSkeleton: true,
dialogtableDataTotal: 0, dialogtableDataTotal: 0,
dialogTableData: [], dialogTableData: [],
statisticsData: {}
}; };
}, },
//可访问data属性 //可访问data属性
...@@ -250,6 +251,10 @@ export default { ...@@ -250,6 +251,10 @@ export default {
const res = await getCooperativeOwnerUnitsDetailApi(data); const res = await getCooperativeOwnerUnitsDetailApi(data);
this.dialogTableData = res.rows ? res.rows : []; this.dialogTableData = res.rows ? res.rows : [];
this.dialogtableDataTotal = res.total ? res.total : 0; this.dialogtableDataTotal = res.total ? res.total : 0;
const count = await getCooperativeOwnerUnitsCountAmountApi(data);
if (count.code == 200 && count.data) {
this.statisticsData = count.data;
}
} catch (error) { } catch (error) {
console.log(error); console.log(error);
} finally { } finally {
...@@ -284,14 +289,19 @@ export default { ...@@ -284,14 +289,19 @@ export default {
const res = await getCooperativeOwnerUnitsDetailApi(data); const res = await getCooperativeOwnerUnitsDetailApi(data);
this.dialogTableData = res.rows ? res.rows : []; this.dialogTableData = res.rows ? res.rows : [];
this.dialogtableDataTotal = res.total ? res.total : 0; this.dialogtableDataTotal = res.total ? res.total : 0;
const count = await getCooperativeOwnerUnitsCountAmountApi(data);
if (count.code == 200 && count.data) {
this.statisticsData = count.data;
}
} catch (error) { } catch (error) {
console.log(error); console.log(error);
} }
}, },
dialogCurrentChange(page) { dialogCurrentChange(page) {
this.dialogQueryParams.pageNum = page; this.dialogQueryParams.pageNum = page;
const params = this.createQueryCondition(this.dialogQueryParams); const params = this.createQueryCondition(this.dialogFormData);
this.dialogHandleQurey(params); const searchParams = JSON.parse(JSON.stringify({ ...params, ...this.dialogQueryParams }));
this.dialogHandleQurey(searchParams);
}, },
async dialogOPen() { async dialogOPen() {
await this.setOptions(); await this.setOptions();
...@@ -346,7 +356,7 @@ export default { ...@@ -346,7 +356,7 @@ export default {
::v-deep .cooperation-record-dialog-container { ::v-deep .cooperation-record-dialog-container {
.cooperation-record-dialog { .cooperation-record-dialog {
height: 85%; height: 60%;
position: absolute; position: absolute;
left: 50%; left: 50%;
top: 50%; top: 50%;
......
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
<!-- 2、常合作施工单位 --> <!-- 2、常合作施工单位 -->
<cooperative-construction-unit v-if="currentPath.pathName=='cooperativeConstructionUnit'" <cooperative-construction-unit v-if="currentPath.pathName=='cooperativeConstructionUnit'"
:company-id="companyId"></cooperative-construction-unit> :company-id="companyId"></cooperative-construction-unit>
<!-- 3、常合作集团 -->
<cooperative-group v-if="currentPath.pathName=='cooperativeGroup'" :company-id="companyId"></cooperative-group>
<!-- 投诚分析 --> <!-- 投诚分析 -->
<RegionalEconomies v-if="currentPath.pathName=='regionalEconomies'" :company-id="companyId" :companyInfo="companyInfo" /> <RegionalEconomies v-if="currentPath.pathName=='regionalEconomies'" :company-id="companyId" :companyInfo="companyInfo" />
<LandAcquisition v-if="currentPath.pathName=='landAcquisition'" :company-id="companyId" /> <LandAcquisition v-if="currentPath.pathName=='landAcquisition'" :company-id="companyId" />
...@@ -115,6 +117,7 @@ import Hiscontract from "./dealings/hiscontract"; //业务往来-历史发包 ...@@ -115,6 +117,7 @@ import Hiscontract from "./dealings/hiscontract"; //业务往来-历史发包
import Bidrecords from "./dealings/bidrecords"; //业务往来-开标记录 import Bidrecords from "./dealings/bidrecords"; //业务往来-开标记录
import CooperativeOwnerUnits from "@/views/detail/party-a/consultingTransaction/cooperativeOwnerUnits"; //咨询业务往来 常合作业主单位 import CooperativeOwnerUnits from "@/views/detail/party-a/consultingTransaction/cooperativeOwnerUnits"; //咨询业务往来 常合作业主单位
import CooperativeConstructionUnit from "@/views/detail/party-a/consultingTransaction/cooperativeConstructionUnit"; //咨询业务往来 常合作施工单位 import CooperativeConstructionUnit from "@/views/detail/party-a/consultingTransaction/cooperativeConstructionUnit"; //咨询业务往来 常合作施工单位
import CooperativeGroup from "@/views/detail/party-a/consultingTransaction/cooperativeGroup"; //咨询业务往来 常合作集团
import LandAcquisition from "./urbanLnvestment/landAcquisition"; //投诚分析-城投拿地 import LandAcquisition from "./urbanLnvestment/landAcquisition"; //投诚分析-城投拿地
import RegionalEconomies from "./urbanLnvestment/regionalEconomies"; //投诚分析-区域经济 import RegionalEconomies from "./urbanLnvestment/regionalEconomies"; //投诚分析-区域经济
import SameRegion from "./urbanLnvestment/sameRegion"; //投诚分析-同地区城投 import SameRegion from "./urbanLnvestment/sameRegion"; //投诚分析-同地区城投
...@@ -185,7 +188,8 @@ export default { ...@@ -185,7 +188,8 @@ export default {
ConsultingAgencyCooperation, ConsultingAgencyCooperation,
AccessCondition, AccessCondition,
CooperationRecord, CooperationRecord,
CooperativeConstructionUnit CooperativeConstructionUnit,
CooperativeGroup
}, },
data() { data() {
return { return {
...@@ -286,7 +290,7 @@ export default { ...@@ -286,7 +290,7 @@ export default {
this.companyId = data; this.companyId = data;
await this.$nextTick(); await this.$nextTick();
this.listenSider(); this.listenSider();
// await this.getStatistic(); await this.getStatistic();
await this.handleQuery(); await this.handleQuery();
await this.association(this.$route.query.customerId); await this.association(this.$route.query.customerId);
this.$refs.sidebar.getFinancial(data); this.$refs.sidebar.getFinancial(data);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment