Commit b19a9046 authored by tianhongyang's avatar tianhongyang

工具类 过滤参数

parent 771481f3
import request from '@/utils/request'
import request from '@/utils/request';
// id解密
export const idRemark = (data) => {
......@@ -6,29 +6,38 @@ export const idRemark = (data) => {
url: '/enterprise/remark',
method: 'post',
data: data
})
}
});
};
// 认领用户
export const claim= function claim(param) {
export const claim = function claim(param) {
return request({
url: '/customer/claim',
method: 'post',
data: param
})
}
});
};
// 历史客户认领
export const historyClaim= function historyClaim(name) {
export const historyClaim = function historyClaim(name) {
return request({
url: '/customer/historyClaim/'+name,
url: '/customer/historyClaim/' + name,
method: 'Put',
})
}
});
};
//获取大司空open 插件访问token
export function dskAccessToken() {
return request({
url: '/system/config/dsk/accessToken',
method: 'get',
})
});
}
/**
* 获取地区
* @returns {Array<object>}
*/
export const getAreaListApi = () => request({
url: "/area/all",
method: "get"
});
import request from '@/utils/request';
/**
* 咨询机构合作台账 查询列表 以及 查询参数
* 咨询机构合作台账 查询项目列表 以及 查询参数
* @param {object} params
* @returns
*/
......@@ -9,4 +9,26 @@ export const getConsultingOrgProjectListWithSearchApi = (params) => request({
url: "/advisory/body/getProjectList",
method: "get",
params
});
/**
* 咨询机构合作台账 查询企业列表 以及 查询参数
* @param {object} params
* @returns
*/
export const getConsultingOrgEenterpriseListWithSearchApi = (params) => request({
url: "/advisory/body/getAdvisoryBodyList",
method: "get",
params
});
/**
* 咨询机构合作台账 查询企业列表 以及 查询参数
* @param {object} params
* @returns
*/
export const getConsultingOrgEenterpriseDetailWithSearchApi = (params) => request({
url: "/advisory/body/getCooperateProjectDetailList",
method: "get",
params
});
\ No newline at end of file
......@@ -3,8 +3,8 @@
<div class="table-item">
<el-table v-if="tableDataTotal>0" class="fixed-table" :class="headerFixed ? 'headerFixed':''" v-loading="tableLoading" :data="tableData"
element-loading-text="Loading" ref="tableRef" border fit highlight-current-row :default-sort="defaultSort?defaultSort:{}"
@sort-change="sortChange" @selection-change="selectionChange" :cell-class-name="cellClassName" :cell-style="cellStyle" :height="height"
:maxHeight="maxHeight" v-sticky-header="stickyHeader">
@sort-change="sortChange" @selection-change="selectionChange" :cell-class-name="cellClassName" :cell-style="cellStyle"
:row-class-name="rowClassName" :row-style="rowStyle" :height="height" :maxHeight="maxHeight" v-sticky-header="stickyHeader">
<el-table-column type="selection" :width="needSelection.width ? needSelection.width : '38px'" v-if="needSelection.flag"
:fixed="needSelection.fixed" :align="needSelection.align" :show-overflow-tooltip="needSelection.showOverflowTooltip">
</el-table-column>
......@@ -98,11 +98,19 @@ export default {
},
cellClassName: {
type: Function,
default: () => () => { }
default: () => { }
},
cellStyle: {
type: Function,
default: () => () => { }
default: () => { }
},
rowClassName: {
type: Function,
default: () => { }
},
rowStyle: {
type: Function,
default: () => { }
},
// 吸顶偏移量
stickyHeader: {
......@@ -208,7 +216,7 @@ export default {
.table-list-com-ins {
::v-deep .table-item {
.no-line-feed {
display: inline-block;
display: block;
color: #0081ff;
cursor: pointer;
width: 100%;
......@@ -243,21 +251,16 @@ export default {
}
.el-table {
.cell {
height: 21px;
&.el-tooltip {
height: 21px;
}
}
/* .cell {
display: flex;
align-items: center;
} */
}
}
::v-deep .el-table__body tr.current-row > td.el-table__cell {
background-color: #ffffff;
}
/*::v-deep .el-table__fixed{
height: calc(100% - 16px) !important;
}*/
::v-deep .el-table__row {
&:nth-child(even) {
......@@ -277,7 +280,7 @@ export default {
}
}
}
::v-deep .el-table th.el-table__cell.is-leaf,
::v-deep .el-table td.el-table__cell {
border-bottom: 1px solid #e6eaf1;
......
......@@ -10,7 +10,7 @@ NProgress.configure({ showSpinner: false });
const whiteList = ['/login', '/register'];
router.beforeEach((to, from, next) => {
router.beforeEach(async (to, from, next) => {
NProgress.start();
if (getToken()) {
// tab页签title
......@@ -26,20 +26,21 @@ router.beforeEach((to, from, next) => {
if (store.getters.roles.length === 0) {
isRelogin.show = true;
// 判断当前用户是否已拉取完user_info信息
store.dispatch('GetInfo').then(() => {
try {
await store.dispatch('GetInfo');
// 拉取地区信息
await store.dispatch("getArea");
isRelogin.show = false;
store.dispatch('GenerateRoutes').then(accessRoutes => {
// 根据roles权限生成可访问的路由表
router.addRoutes(accessRoutes); // 动态添加可访问路由表
next({ ...to, replace: true }); // hack方法 确保addRoutes已完成
});
}).catch(err => {
store.dispatch('LogOut').then(() => {
Message.error(err);
sessionStorage.removeItem('views');
next({ path: '/' });
});
});
const accessRoutes = await store.dispatch('GenerateRoutes');
// 根据roles权限生成可访问的路由表
router.addRoutes(accessRoutes); // 动态添加可访问路由表
next({ ...to, replace: true }); // hack方法 确保addRoutes已完成
} catch (error) {
await store.dispatch('LogOut');
Message.error(error);
sessionStorage.removeItem('views');
next({ path: '/' });
}
} else {
next();
}
......
import { login, logout, getInfo } from '@/api/login';
import { getAreaListApi } from "@/api/common";
import { getToken, setToken, removeToken, setTenantid } from '@/utils/auth';
const user = {
......@@ -10,6 +11,7 @@ const user = {
permissions: [],
userId: '',
phonenumber: '',
areaArrayList: []
},
mutations: {
......@@ -33,6 +35,9 @@ const user = {
},
SET_USERPHONE: (state, phonenumber) => {
state.phonenumber = phonenumber;
},
SET_AREA_LIST(state, payload) {
state.areaArrayList = payload ? payload : [];
}
},
......@@ -78,6 +83,18 @@ const user = {
});
},
// 获取地区信息
async getArea({ commit, state }) {
try {
const areaList = await getAreaListApi();
if (areaList.code == 200) {
commit("SET_AREA_LIST", areaList.data);
return areaList;
}
return [];
} catch (error) { }
},
// 退出系统
LogOut({ commit, state }) {
return new Promise((resolve, reject) => {
......
......@@ -602,7 +602,7 @@ export function queryConditionFiltering(params) {
const key = keys[index];
if (_temp.hasOwnProperty(key)) {
// 数组内部不处理 外部处理
if (_temp[key] instanceof Array) {
if (_temp[key] instanceof Array && _temp[key]?.length) {
result[key] = _temp[key];
continue;
}
......
<template>
<div class="details-of-cooperation default-layout-container">
<div class="default-layout-container-inner">
<div class="consulting-search-form">
<!-- 表单 -->
<el-form :model="form" ref="form" :rules="rules" label-width="84px" class="el-search-form-public">
<div class="each-line">
<el-form-item label="项目地区">
<el-input v-model="form.provinceName" placeholder="请输入咨询机构名称" clearable></el-input>
</el-form-item>
<el-form-item label="项目承接类型">
<el-select v-model="form.isinvestproject" placeholder="请选择" clearable>
<el-option v-for="item in projectTypeOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="工程类型大类">
<el-select v-model="form.projectType1" placeholder="请选择" clearable>
<el-option v-for="item in projectTypeOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</div>
<div class="each-line special-line">
<el-form-item label="工程类别明细">
<el-select v-model="form.projectType" placeholder="请选择" clearable>
<el-option v-for="item in engineeringCategoryDetailOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="关键字搜索">
<el-input v-model="form.projectName" placeholder="请输入" clearable></el-input>
</el-form-item>
<!-- 查询重置 -->
<div class="consulting-search-form-btn">
<el-button type="primary" @click="searchForm(true)" class="search-btn">查询</el-button>
<el-button @click="resetForm" class="reset-btn">重置</el-button>
</div>
</div>
</el-form>
</div>
<!-- 列表容器 -->
<div class="search-result-list-container">
<div class="search-result-head-container">
<div class="result-head-left">
<div class="result-list-total">{{total}}</div>
</div>
<div class="result-head-right"></div>
</div>
<skeleton v-if="tableLoading"></skeleton>
<!-- table 列表 -->
<table-list-com ref="tableContainer" :tableData="tableDataList" :formColum="formColum" :tableDataTotal="total" :queryParams="queryParams"
v-else-if="!tableLoading" :height="'100%'" @handle-current-change="handleCurrentChange">
<!-- 项目列表 -->
<template slot="projectName" slot-scope="{data,row}">
<div v-if="row.projectName" class="no-line-feed ">{{row.projectName}}</div>
<span v-else>-</span>
</template>
</table-list-com>
</div>
</div>
</div>
</template>
<script>
import TableListCom from "@/components/TableListCom";
import Skeleton from "@/components/Skeleton";
import { getConsultingOrgEenterpriseDetailWithSearchApi } from "@/api/consultingOrgManagement";
import { queryConditionFiltering } from "@/utils";
import { v4 } from 'uuid';
export default {
name: "detailsOfCooperation",
components: {
TableListCom,
Skeleton
},
data() {
return {
form: {
// 项目地区
provinceName: "",
// 承接项目类型
isinvestproject: "",
// 工程类型大类
projectType1: "",
// 工程类别明细
projectType: "",
// 项目关键字搜索
projectName: ""
},
tableLoading: false,
fixedPropsKey: ["staticSerialNumber", "advisoryBodyName"],
// 列表表头
formColum: [
{ label: '序号', prop: "staticSerialNumber", type: "index", lock: true, fixed: false, uid: v4() },
{ label: '咨询机构名称', prop: 'advisoryBodyName', width: "198px", lock: true, fixed: false, slot: true, uid: v4(), showOverflowTooltip: true },
{ label: '最近一次合作时间', prop: 'lastCooperateTime', width: "201px", uid: v4() },
{ label: '经营状态', prop: 'businessStatus', width: "74px", uid: v4() },
{ label: '法定代表人', prop: 'corporatePerson', width: "86px", uid: v4() },
{ label: '注册资本', prop: 'regCapital', width: "107px", uid: v4() },
{ label: '注册地区', prop: 'regArea', width: "149px", uid: v4() },
{ label: '成立日期', prop: 'registeredDate', width: "97px", uid: v4() },
{ label: '经营范围', prop: 'businessScope', width: "417px", uid: v4() },
{ label: '合作项目数量', prop: 'cooperateProjectCount', width: "98px", uid: v4(), slot: true },
],
queryParams: {
pageSize: 20,
pageNum: 1,
// 咨询机构ID
advisoryBodyId: "",
},
tableDataList: [],
total: 0,
rules: {
},
projectTypeOptions: [],
engineeringCategoryOptions: [
{
value: "1",
label: "测试1"
},
{
value: "2",
label: "测试2"
}
],
engineeringCategoryDetailOptions: [
{
value: "1",
label: "测试1"
},
{
value: "2",
label: "测试2"
}
]
};
},
//可访问data属性
created() {
this.init();
},
beforeDestroy() {
this.removeScrollXListen();
},
//计算集
computed: {
},
//方法集
methods: {
async init() {
try {
// if (!this.$routes?.params?.advisoryBodyId) return this.$message.error("缺少咨询机构Id");
// this.queryParams.advisoryBodyId = !this.$routes?.params?.advisoryBodyId;
await this.getList(this.queryParams);
} catch (error) {
}
},
// 创建最终查询条件
mergeCondition() {
const _queryParams = JSON.parse(JSON.stringify(this.queryParams));
// 过滤条件
const _form = queryConditionFiltering(this.form);
// 处理时间
if (_form?.cooperationTime?.length) {
_form.projectStartTime = _form?.projectCreateTime[0];
_form.projectEndTime = _form?.projectCreateTime[1];
}
delete _form.cooperationTime;
return { ..._queryParams, ..._form };
},
searchForm(defaultPage = false) {
// 查询按钮从第一页查询
if (defaultPage) {
this.queryParams.pageNum = 1;
this.queryParams.pageSize = 20;
}
this.getList(this.mergeCondition());
},
resetForm() {
const defaultValue = this.$options.data.call(this);
this.form = defaultValue.form;
this.queryParams = defaultValue.queryParams;
this.getList(this.queryParams);
},
async getList(params) {
try {
this.tableLoading = true;
const result = await getConsultingOrgEenterpriseDetailWithSearchApi(params);
if (result.code == 200) {
this.tableDataList = result.rows ? result.rows : [];
this.total = result.total ? result.total : 0;
} else {
this.$message.error(result.msg);
}
console.log(result);
} catch (error) {
} finally {
this.tableLoading = false;
await this.$nextTick();
this.total ? this.$refs.tableContainer.$refs.tableRef.doLayout() : null;
this.listenScrollX();
}
},
// 表头设置变化
async settingChange(use) {
try {
this.formColum = use;
} catch (error) {
}
},
handleCurrentChange(page) {
this.queryParams.pageNum = page;
this.searchForm();
},
async listenScrollX() {
try {
await this.$nextTick();
const scrollContainer = document.querySelector(".cooperation-desk-account-enterprise .el-table__body-wrapper");
if (scrollContainer) {
scrollContainer.removeEventListener("scroll", this.listenHandler, false);
scrollContainer.addEventListener("scroll", this.listenHandler, false);
}
} catch (error) {
}
},
removeScrollXListen() {
const scrollContainer = document.querySelector(".cooperation-desk-account-enterprise .el-table__body-wrapper");
if (scrollContainer) {
scrollContainer.removeEventListener("scroll", this.listenHandler, false);
}
},
listenHandler(e) {
const { target } = e;
if (target) {
const flag = target.scrollLeft > 0 ? true : false;
this.formColum.forEach(item => this.fixedPropsKey.includes(item.prop) ? item.fixed = flag : null);
}
}
},
}
</script>
<style lang="scss" scoped>
.details-of-cooperation {
.default-layout-container-inner {
.consulting-search-form {
background: #fff;
padding: 16px;
border-radius: 4px;
box-sizing: border-box;
@import "@/assets/styles/el-search-form-public.scss";
.special-line {
display: flex;
align-items: center;
.el-form-item {
margin-bottom: 0px;
}
}
.consulting-search-form-btn {
width: 364px;
display: inline-flex;
align-items: center;
justify-content: flex-end;
.el-button {
height: 32px;
line-height: 32px;
text-align: center;
padding: 0px 16px;
box-sizing: border-box;
border-radius: 4px;
&.search-btn {
background: #0081ff;
border-color: #0081ff;
}
&.reset-btn {
border: 1px solid #dcdfe6;
color: rgba(35, 35, 35, 0.8);
background: #fff;
margin-left: 12px;
}
}
}
}
.search-result-list-container {
margin-top: 16px;
background: #fff;
border-radius: 4px;
padding: 16px;
box-sizing: border-box;
height: calc(100% - 128px);
@import "@/assets/styles/search-result-list-public.scss";
::v-deep .table-list-com-ins {
height: calc(100% - 80px);
margin-top: 16px;
.pagination-box {
padding: 0px;
margin-top: 16px;
}
}
}
}
}
</style>
<template>
<div class="cooperation-desk-account-enterprise">
<div class="cooperation-desk-account-enterprise">
<div class="consulting-search-form">
<el-form :model="form" ref="form" :rules="rules" label-width="84px" class="el-search-form-public">
<div class="each-line">
<el-form-item label="咨询机构名称">
<el-input v-model="form.advisoryBodyName" placeholder="请输入咨询机构名称" clearable></el-input>
</el-form-item>
<el-form-item label="最近合作时间">
<el-date-picker v-model="form.cooperationTime" type="daterange" range-separator="至" start-placeholder="年/月/日" end-placeholder="年/月/日"
format="yyyy/MM/dd" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="经营范围">
<el-input v-model="form.businessScope" placeholder="请输入经营范围" clearable></el-input>
</el-form-item>
</div>
</el-form>
<!-- 查询重置 -->
<div class="consulting-search-form-btn">
<el-button type="primary" @click="searchForm(true)" class="search-btn">查询</el-button>
<el-button @click="resetForm" class="reset-btn">重置</el-button>
</div>
</div>
<!-- 列表容器 -->
<div class="search-result-list-container">
<div class="search-result-head-container">
<div class="result-head-left">
<div class="result-list-total">{{total}}</div>
</div>
<div class="result-head-right"></div>
</div>
<skeleton v-if="tableLoading"></skeleton>
<!-- table 列表 -->
<table-list-com ref="tableContainer" :tableData="tableDataList" :formColum="formColum" :tableDataTotal="total" :queryParams="queryParams"
v-else-if="!tableLoading" :height="'100%'" @handle-current-change="handleCurrentChange">
<!-- 咨询机构名称 -->
<template slot="advisoryBodyName" slot-scope="{data,row}">
<div v-if="row.advisoryBodyName" class="no-line-feed ">{{row.advisoryBodyName}}</div>
<span v-else>-</span>
</template>
<!-- 合作项目数量 -->
<template slot="cooperateProjectCount" slot-scope="{data,row}">
<div v-if="row.cooperateProjectCount" class="no-line-feed ">{{row.cooperateProjectCount}}</div>
<span v-else>-</span>
</template>
</table-list-com>
</div>
</div>
</template>
<script>
import TableListCom from "@/components/TableListCom";
import Skeleton from "@/components/Skeleton";
import { getConsultingOrgEenterpriseListWithSearchApi } from "@/api/consultingOrgManagement";
import { queryConditionFiltering } from "@/utils";
import { v4 } from 'uuid';
export default {
name : "cooperationDeskAccountEnterprise",
data() {
return {
name: "cooperationDeskAccountEnterprise",
components: {
TableListCom,
Skeleton
},
data() {
return {
form: {
// 咨询机构名称
advisoryBodyName: "",
// 最近合作时间
cooperationTime: [],
// 合作开始时间
minLastCooperateDate: "",
// 合作结束时间
maxLastCooperateDate: "",
// 经营范围
businessScope: "",
},
tableLoading: false,
fixedPropsKey: ["staticSerialNumber", "advisoryBodyName"],
// 列表表头
formColum: [
{ label: '序号', prop: "staticSerialNumber", type: "index", lock: true, fixed: false, uid: v4() },
{ label: '咨询机构名称', prop: 'advisoryBodyName', width: "198px", lock: true, fixed: false, slot: true, uid: v4(), showOverflowTooltip: true },
{ label: '最近一次合作时间', prop: 'lastCooperateTime', width: "201px", uid: v4() },
{ label: '经营状态', prop: 'businessStatus', width: "74px", uid: v4() },
{ label: '法定代表人', prop: 'corporatePerson', width: "86px", uid: v4() },
{ label: '注册资本', prop: 'regCapital', width: "107px", uid: v4() },
{ label: '注册地区', prop: 'regArea', width: "149px", uid: v4() },
{ label: '成立日期', prop: 'registeredDate', width: "97px", uid: v4() },
{ label: '经营范围', prop: 'businessScope', width: "417px", uid: v4() },
{ label: '合作项目数量', prop: 'cooperateProjectCount', width: "98px", uid: v4(), slot: true },
],
queryParams: {
pageSize: 50,
pageNum: 1
},
tableDataList: [],
total: 0,
rules: {
},
};
},
//可访问data属性
created() {
this.init();
},
beforeDestroy() {
this.removeScrollXListen();
},
//计算集
computed: {
},
//方法集
methods: {
async init() {
try {
await this.getList(this.queryParams);
} catch (error) {
}
},
// 创建最终查询条件
mergeCondition() {
const _queryParams = JSON.parse(JSON.stringify(this.queryParams));
// 过滤条件
const _form = queryConditionFiltering(this.form);
// 处理时间
if (_form?.cooperationTime?.length) {
_form.projectStartTime = _form?.projectCreateTime[0];
_form.projectEndTime = _form?.projectCreateTime[1];
}
},
//可访问data属性
created(){
},
//计算集
computed:{
delete _form.cooperationTime;
return { ..._queryParams, ..._form };
},
searchForm(defaultPage = false) {
// 查询按钮从第一页查询
if (defaultPage) {
this.queryParams.pageNum = 1;
this.queryParams.pageSize = 50;
}
this.getList(this.mergeCondition());
},
resetForm() {
const defaultValue = this.$options.data.call(this);
this.form = defaultValue.form;
this.queryParams = defaultValue.queryParams;
this.getList(this.queryParams);
},
async getList(params) {
try {
this.tableLoading = true;
const result = await getConsultingOrgEenterpriseListWithSearchApi(params);
if (result.code == 200) {
this.tableDataList = result.rows ? result.rows : [];
this.total = result.total ? result.total : 0;
} else {
this.$message.error(result.msg);
}
console.log(result);
} catch (error) {
},
//方法集
methods:{
} finally {
this.tableLoading = false;
await this.$nextTick();
this.total ? this.$refs.tableContainer.$refs.tableRef.doLayout() : null;
this.listenScrollX();
}
},
// 表头设置变化
async settingChange(use) {
try {
this.formColum = use;
} catch (error) {
}
},
handleCurrentChange(page) {
this.queryParams.pageNum = page;
this.searchForm();
},
async listenScrollX() {
try {
await this.$nextTick();
const scrollContainer = document.querySelector(".cooperation-desk-account-enterprise .el-table__body-wrapper");
if (scrollContainer) {
scrollContainer.removeEventListener("scroll", this.listenHandler, false);
scrollContainer.addEventListener("scroll", this.listenHandler, false);
}
} catch (error) {
},
}
},
removeScrollXListen() {
const scrollContainer = document.querySelector(".cooperation-desk-account-enterprise .el-table__body-wrapper");
if (scrollContainer) {
scrollContainer.removeEventListener("scroll", this.listenHandler, false);
}
},
listenHandler(e) {
const { target } = e;
if (target) {
const flag = target.scrollLeft > 0 ? true : false;
this.formColum.forEach(item => this.fixedPropsKey.includes(item.prop) ? item.fixed = flag : null);
}
}
},
}
</script>
<style lang="scss" scoped>
.cooperation-desk-account-enterprise {
.consulting-search-form {
background: #fff;
padding: 16px;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
box-sizing: border-box;
@import "@/assets/styles/el-search-form-public.scss";
.consulting-search-form-btn {
padding-left: 96px;
box-sizing: border-box;
.el-button {
height: 32px;
line-height: 32px;
text-align: center;
padding: 0px 16px;
box-sizing: border-box;
border-radius: 4px;
&.search-btn {
background: #0081ff;
border-color: #0081ff;
}
&.reset-btn {
border: 1px solid #dcdfe6;
color: rgba(35, 35, 35, 0.8);
background: #fff;
margin-left: 12px;
}
}
}
}
.search-result-list-container {
margin-top: 16px;
background: #fff;
border-radius: 4px;
padding: 16px;
box-sizing: border-box;
height: calc(100% - 128px);
@import "@/assets/styles/search-result-list-public.scss";
::v-deep .table-list-com-ins {
height: calc(100% - 80px);
margin-top: 16px;
.pagination-box {
padding: 0px;
margin-top: 16px;
}
}
}
}
</style>
......@@ -7,22 +7,22 @@
<el-input v-model="form.projectName" placeholder="请输入项目名称" clearable></el-input>
</el-form-item>
<el-form-item label="咨询机构">
<el-input v-model="form.consultingAgency" placeholder="请输入咨询机构名称" clearable></el-input>
<el-input v-model="form.advisoryBodyName" placeholder="请输入咨询机构名称" clearable></el-input>
</el-form-item>
<el-form-item label="业主单位">
<el-input v-model="form.ownerName" placeholder="请输入业主名称" clearable></el-input>
<el-input v-model="form.ownerUnit" placeholder="请输入业主名称" clearable></el-input>
</el-form-item>
</div>
<div class="each-line">
<el-form-item label="承接项目单位">
<el-input v-model="form.undertakingUnit" placeholder="请输入承接项目单位名称" clearable></el-input>
<el-input v-model="form.undertakeProjectUnit" placeholder="请输入承接项目单位名称" clearable></el-input>
</el-form-item>
<el-form-item label="项目创建时间">
<el-date-picker v-model="form.projectCreateTime" type="daterange" range-separator="至" start-placeholder="年/月/日" end-placeholder="年/月/日"
format="yyyy/MM/dd" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="项目承接类型">
<el-select v-model="form.prjectType" placeholder="请选择" clearable>
<el-select v-model="form.projectUndertakeType" placeholder="请选择" clearable>
<el-option v-for="item in projectTypeOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
......@@ -30,13 +30,13 @@
</div>
<div class="each-line" style="padding-top:16px;border-top:1px solid #EEEEEE;box-sizing:border-box">
<el-form-item label="工程类型大类">
<el-select v-model="form.engineeringCategory" placeholder="请选择" clearable>
<el-select v-model="form.engineeringFoundationCategory" placeholder="请选择" clearable>
<el-option v-for="item in engineeringCategoryOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="工程类别明细">
<el-select v-model="form.engineeringCategoryDeatil" placeholder="请选择" clearable>
<el-select v-model="form.engineeringCategoryDetail" placeholder="请选择" clearable>
<el-option v-for="item in engineeringCategoryDetailOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
......@@ -55,6 +55,7 @@
</div>
</div>
<!-- 列表容器 -->
<div class="search-result-list-container">
<div class="search-result-head-container">
......@@ -73,22 +74,22 @@
v-else-if="!tableLoading" :height="'100%'" @handle-current-change="handleCurrentChange">
<!-- 项目列表 -->
<template slot="projectName" slot-scope="{data,row}">
<span v-if="row.projectName" class="no-line-feed ">{{row.projectName}}</span>
<div v-if="row.projectName" class="no-line-feed ">{{row.projectName}}</div>
<span v-else>-</span>
</template>
<!-- 业主单位 -->
<template slot="ownerName" slot-scope="{data,row}">
<span v-if="row.ownerName" class="no-line-feed ">{{row.ownerName}}</span>
<div v-if="row.ownerName" class="no-line-feed ">{{row.ownerName}}</div>
<span v-else>-</span>
</template>
<!-- 项目承接单位 -->
<template slot="contractOrgName" slot-scope="{data,row}">
<span v-if="row.contractOrgName" class="no-line-feed ">{{row.contractOrgName}}</span>
<div v-if="row.contractOrgName" class="no-line-feed ">{{row.contractOrgName}}</div>
<span v-else>-</span>
</template>
<!-- 咨询机构名称 -->
<template slot="advisoryBodyName" slot-scope="{data,row}">
<span v-if="row.advisoryBodyName" class="no-line-feed ">{{row.advisoryBodyName}}</span>
<div v-if="row.advisoryBodyName" class="no-line-feed ">{{row.advisoryBodyName}}</div>
<span v-else>-</span>
</template>
</table-list-com>
......@@ -159,7 +160,7 @@ export default {
{ label: '业主单位', prop: 'ownerName', slot: true, uid: v4(), width: "185px", showOverflowTooltip: true },
{ label: '项目承接单位', prop: 'contractOrgName', width: "196px", slot: true, uid: v4() },
{ label: '咨询机构名称', prop: 'advisoryBodyName', width: "172px", slot: true, uid: v4() },
{ label: '创建时间', prop: 'loadTime', width: "172px", uid: v4() },
{ label: '创建时间', prop: 'contractSignDate', width: "172px", uid: v4() },
],
fixedPropsKey: ["staticSerialNumber", "projectName"],
queryParams: {
......@@ -293,7 +294,7 @@ export default {
async listenScrollX() {
try {
await this.$nextTick();
const scrollContainer = document.querySelector(".el-table__body-wrapper");
const scrollContainer = document.querySelector(".cooperation-desk-account-project .el-table__body-wrapper");
if (scrollContainer) {
scrollContainer.removeEventListener("scroll", this.listenHandler, false);
scrollContainer.addEventListener("scroll", this.listenHandler, false);
......@@ -303,7 +304,7 @@ export default {
}
},
removeScrollXListen() {
const scrollContainer = document.querySelector(".el-table__body-wrapper");
const scrollContainer = document.querySelector(".cooperation-desk-account-project .el-table__body-wrapper");
if (scrollContainer) {
scrollContainer.removeEventListener("scroll", this.listenHandler, false);
}
......@@ -314,7 +315,7 @@ export default {
const flag = target.scrollLeft > 0 ? true : false;
this.formColum.forEach(item => this.fixedPropsKey.includes(item.prop) ? item.fixed = flag : null);
}
}
},
},
}
</script>
......
......@@ -61,6 +61,7 @@ export default {
.default-layout-container-inner {
.cooperation-desk-account-project,
.cooperation-desk-account-enterprise {
overflow: hidden;
height: calc(100% - 48px);
}
}
......
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