修复选择企业回显记忆性问题

xuhongjie
许宏杰 2 months ago
parent f7cc4264be
commit 46c4dc6c39

@ -1,12 +1,12 @@
import request from "@/utils/request"
import request from "@/utils/request";
// 分页查询企业基础信息
export function getEnterList(params) {
return request({
url: "/system/enterpriseBasicInfo/list",
method: "get",
params
})
params,
});
}
// 新增企业基础信息
@ -14,8 +14,8 @@ export function enterpriseBasicInfoNew(data) {
return request({
url: "/system/enterpriseBasicInfo",
method: "post",
data
})
data,
});
}
// 修改企业基础信息
@ -23,8 +23,8 @@ export function enterpriseBasicInfoChange(data) {
return request({
url: "/system/enterpriseBasicInfo/edit",
method: "post",
data
})
data,
});
}
// 根据主键查询企业基础信息
@ -32,7 +32,7 @@ export function enterpriseBasicInfoId(id) {
return request({
url: "/system/enterpriseBasicInfo/" + id,
method: "get",
})
});
}
// 删除企业基础信息
@ -40,8 +40,8 @@ export function enterpriseBasicInfoDel(params) {
return request({
url: "/system/enterpriseBasicInfo" + id,
method: "post",
params
})
params,
});
}
// 分页查询联络人列表
@ -49,6 +49,13 @@ export function getjContacts(params) {
return request({
url: "/jjh/jContacts",
method: "get",
params
})
params,
});
}
export function getenterpriseByName(data) {
return request({
url: "/system/templateRecord/searchEntCodeToInfo",
method: "post",
data,
});
}

@ -216,7 +216,10 @@ section::-webkit-scrollbar {
// display: none;
// }
//
.honor-dialog,.collectDialog-dialog,.headquarterEnterprise-dialog,.serviceIndustry-dialog {
.honor-dialog,
.collectDialog-dialog,
.headquarterEnterprise-dialog,
.serviceIndustry-dialog {
section {
div::-webkit-scrollbar {
display: block;
@ -402,3 +405,7 @@ section::-webkit-scrollbar {
}
}
}
.tablecell .el-checkbox__label {
display: none !important;
}

@ -1,91 +1,111 @@
<template>
<div class="L-public-main" id="L-size-main">
<div class="L-main" style="padding: 0">
<header id="L-header">
<el-form
:inline="true"
:model="formInline"
size="small"
class="demo-form-inline"
ref="queryFrom"
>
<el-col :span="20">
<el-form-item label="企业名称:" prop="qymc">
<el-input
v-model.trim="formInline.qymc"
placeholder="请输入内容"
></el-input>
</el-form-item>
<el-form-item label="企业规模:" prop="type">
<el-select
class="ignoreElement"
v-model="formInline.type"
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option label="规上服务业" value="1"> </el-option>
<el-option label="规上工业" value="3"> </el-option>
<el-option label="总部企业" value="4"> </el-option>
<el-option label="生产性服务业" value="5"> </el-option>
<el-option label="限上批零住餐" value="6"> </el-option>
<el-option label="生活性服务业" value="7"> </el-option>
<el-option label="其他" value="2"> </el-option>
</el-select>
</el-form-item>
<el-dialog
title="企业自选列表"
:visible.sync="activeEnterpriseView"
width="1200px"
append-to-body
destroy-on-close
:close-on-click-modal="false"
>
<div class="L-public-main" id="L-size-main">
<div class="L-main" style="padding: 0">
<header id="L-header">
<el-form
:inline="true"
:model="formInline"
size="small"
class="demo-form-inline"
ref="queryFrom"
>
<el-col :span="20">
<el-form-item label="企业名称:" prop="qymc">
<el-input
v-model.trim="formInline.qymc"
placeholder="请输入内容"
></el-input>
</el-form-item>
<el-form-item label="企业规模:" prop="type">
<el-select
class="ignoreElement"
v-model="formInline.type"
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option label="规上服务业" value="1"> </el-option>
<el-option label="规上工业" value="3"> </el-option>
<el-option label="总部企业" value="4"> </el-option>
<el-option label="生产性服务业" value="5"> </el-option>
<el-option label="限上批零住餐" value="6"> </el-option>
<el-option label="生活性服务业" value="7"> </el-option>
<el-option label="其他" value="2"> </el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button size="mini" @click="resetQuery('queryFrom')"
>重置</el-button
>
<el-button
size="mini"
type="primary"
@click="handleQuery('queryFrom')"
>查询</el-button
>
</el-form-item>
</el-col>
</el-form>
</header>
<section>
<el-table
ref="multipleTable"
v-loading="loading"
:data="tableData"
:row-class-name="tableRowClassName"
:height="tabHeader"
:max-height="tabHeader"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" align="center" width="50" />
<el-table-column label="企业名称" prop="qymc" />
<el-table-column label="统一社会信用代码" prop="tyshxydm" />
<!-- <el-table-column label="法定代表人" prop="policyLevel" />
<el-form-item>
<el-button size="mini" @click="resetQuery('queryFrom')"
>重置</el-button
>
<el-button
size="mini"
type="primary"
@click="handleQuery('queryFrom')"
>查询</el-button
>
<el-button size="mini" type="primary" @click="ConfirmSelct()"
>确定勾选</el-button
>
</el-form-item>
</el-col>
</el-form>
</header>
<section>
<!-- @selection-change="handleSelectionChange"
row-key="tyshxydm" -->
<el-checkbox-group v-model="selectList" @change="CheckboxChange">
<el-table
ref="multipleTable"
v-loading="loading"
:data="tableData"
:row-class-name="tableRowClassName"
:height="tabHeader"
:max-height="tabHeader"
cell-class-name="tablecell"
>
<el-table-column width="45" center>
<template slot-scope="scope">
<el-checkbox :label="scope.row.tyshxydm"> </el-checkbox>
</template>
</el-table-column>
<el-table-column label="企业名称" prop="qymc" />
<el-table-column label="统一社会信用代码" prop="tyshxydm" />
<!-- <el-table-column label="法定代表人" prop="policyLevel" />
<el-table-column label="经营状态" prop="enterTime" />
<el-table-column label="成立日期" prop="createBy" />
<el-table-column label="注册资本" prop="createTime" /> -->
<!-- <el-table-column label="经济类型" prop="jjlxmc" /> -->
<!-- <el-table-column label="登记注册统计类别" prop="statisticalCategories" /> -->
<el-table-column label="企业类型" prop="qylxmc" />
<!-- <el-table-column label="行业名称" prop="hymc" /> -->
<!-- <el-table-column label="经济类型" prop="jjlxmc" /> -->
<!-- <el-table-column label="登记注册统计类别" prop="statisticalCategories" /> -->
<el-table-column label="企业类型" prop="qylxmc" />
<!-- <el-table-column label="行业名称" prop="hymc" /> -->
<el-table-column label="成立日期" prop="clrq" width="200">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.clrq, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
</el-table>
<my-pagination
id="L-pagination"
:total="total"
:page="pagination.current"
:limit="pagination.size"
@pagination="getPagination"
:current-page.sync="pagination.current"
></my-pagination>
</section>
<el-table-column label="成立日期" prop="clrq" width="200">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.clrq, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
</el-table>
</el-checkbox-group>
<my-pagination
id="L-pagination"
:total="total"
:page="pagination.current"
:limit="pagination.size"
@pagination="getPagination"
:current-page.sync="pagination.current"
></my-pagination>
</section>
</div>
</div>
</div>
</el-dialog>
</template>
<script>
import myPagination from "@/views/components/Pagination/index.vue";
@ -96,8 +116,10 @@ import {
enterpriseBasicInfoChange,
enterpriseBasicInfoId,
enterpriseBasicInfoDel,
getenterpriseByName,
} from "@/api/jin_ji_hu/enterList";
import { getToken } from "@/utils/auth";
import { Checkbox } from "element-ui";
export default {
components: { myPagination },
dicts: ["jjh_project_type"],
@ -106,6 +128,7 @@ export default {
},
data() {
return {
activeEnterpriseView: false,
rowList: [],
userType: this.$store.state.user.userType,
roles: this.$store.state.user.roles,
@ -167,14 +190,15 @@ export default {
uploadList: [],
//
exportLoading: false,
selectList: [],
};
},
watch: {
value: {
handler(val) {
console.log("监听", val.length);
if (val) {
this.rowList = val;
this.selectList = val.map((it) => it.creditCode);
console.log("监听", this.selectList.length);
}
},
deep: true,
@ -188,57 +212,22 @@ export default {
this.formInline.qymc = this.$route.params.enterpriseName;
this.pagination = { ...this.pagination, ...this.formInline };
}
this.getList();
},
destroyed() {
window.removeEventListener("resize", this.cancalDebounce);
},
methods: {
// //
toggleSelection() {
if (this.rowList.length > 0) {
this.rowList.map((row) => {
const newItem = this.tableData.filter(
(item) => item.tyshxydm == row.creditCode
);
if (newItem.length > 0) {
this.$refs.multipleTable.toggleRowSelection(newItem[0]);
}
});
} else {
this.$refs.multipleTable.clearSelection();
}
showDialog() {
this.getList();
this.activeEnterpriseView = true;
},
// /**
// *
// */
handleSelectionChange(val) {
const combinedArray = [
...val,
...this.rowList.map((item) => ({
qymc: item.enterpriseName,
tyshxydm: item.creditCode,
})),
];
const uniqueArray = Array.from(
combinedArray
.reduce((map, item) => {
if (!map.has(item.tyshxydm)) {
map.set(item.tyshxydm, item);
}
return map;
}, new Map())
.values()
);
const list = uniqueArray.map((item) => {
return {
enterpriseName: item.qymc,
creditCode: item.tyshxydm,
};
});
this.$emit("input", list);
async ConfirmSelct() {
let res = await getenterpriseByName(this.selectList);
this.$emit("input", res.data);
this.activeEnterpriseView = false;
},
CheckboxChange() {
console.log(this.selectList);
},
//
getList() {
@ -247,12 +236,9 @@ export default {
this.loading = false;
this.total = res.data.total;
this.tableData = res.data.records;
this.$nextTick(() => {
this.toggleSelection();
});
});
},
//
getPagination(pages) {
this.pagination.current = pages.page;
@ -375,7 +361,7 @@ export default {
//
handleDelete(index) {
this.fileList.splice(index, 1);
this.$emit("input", this.listToString(this.fileList));
// this.$emit("input", this.listToString(this.fileList));
},
//
getFileName(name) {
@ -416,3 +402,5 @@ export default {
},
};
</script>
<style lang="scss" scoped></style>

@ -410,7 +410,7 @@
<el-col :span="24" v-if="form.isFrame == 2">
<el-form-item label="已选企业" prop="enterpriseDirectoryList">
<div class="active-enterprise">
<div class="enterprise-name">
<div class="enterprise-name" @click="lookentErprise()">
<div
v-if="
form.enterpriseDirectoryList &&
@ -498,6 +498,7 @@
<el-col :span="24">
<el-form-item label="短信内容" prop="smsInfo">
<el-input
:disabled="isReplace"
v-model="form.smsInfo"
type="textarea"
placeholder="请输入短信内容"
@ -559,15 +560,10 @@
</el-dialog>
<!-- 企业自选弹出层 -->
<el-dialog
title="企业自选列表"
:visible.sync="activeEnterpriseView"
width="1200px"
append-to-body
:close-on-click-modal="false"
>
<activeEnterpriseList v-model="form.enterpriseDirectoryList" />
</el-dialog>
<activeEnterpriseList
ref="activeEnterpriseList"
v-model="form.enterpriseDirectoryList"
/>
</div>
</template>
@ -741,6 +737,12 @@ export default {
this.getTemplateList();
},
methods: {
//
lookentErprise() {
this.viewVisible = true;
this.businessList = this.form.enterpriseDirectoryList;
},
/**
* 企业名录维护方式变化
*/
@ -752,7 +754,7 @@ export default {
* 打开企业自选列表
*/
handlerEnterpriseOption() {
this.activeEnterpriseView = true;
this.$refs.activeEnterpriseList.showDialog();
},
getDataList() {

Loading…
Cancel
Save