You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

820 lines
30 KiB

<template>
<div class="address_edit">
<!-- 导航栏 -->
<!-- <div class="header_body">-->
<!-- <header-nav :slefBack="true" @goBack="goBack" :titelText="`企业相关信息`"></header-nav>-->
<!-- </div>-->
<!-- 中间 -->
<!-- <div class="warp_body">-->
<van-form @failed="onFailed" @submit="submit">
<van-cell-group>
<!-- <div class="qy-name">企业信息</div>-->
<van-field
v-model="data.enterpriseInfo.enterpriseName"
label="企业名称"
readonly
/>
<van-field class="mult-line"
v-model="data.enterpriseInfo.enterpriseNumber"
label="统一社会信用代码"
readonly
/>
<van-field
v-model="data.enterpriseInfo.legalPerson"
label="法定代表人"
readonly
/>
<van-field
v-model="data.enterpriseInfo.enterpriseType"
label="企业类型"
readonly
/>
<!-- <van-field
v-model="data.enterpriseInfo.enterpriseAddress"
label="注册地址:"
rows="2"
autosize
type="textarea"
show-word-limit
/>
-->
<van-field
v-model="data.enterpriseInfo.registeredCapital"
label="注册资本"
readonly
/>
<van-field
v-model="data.enterpriseInfo.establishmentTime"
label="成立日期"
readonly
/>
<van-field
v-model="data.enterpriseInfo.operatingTerm"
label="经营期限"
readonly
/>
<!-- <div style="display: flex; justify-content: space-between">
<div style="font-size: 10px; width: 200px; padding-left: 12px;">经营范围:</div>
<van-text-ellipsis :content="data.enterpriseInfo.businessScope" rows="2" expand-text="展开" collapse-text="收起"/>
</div>-->
<!-- <van-field
label="经营范围"
/>
<van-text-ellipsis :content="data.enterpriseInfo.businessScope" rows="2" autosize expand-text="展开" collapse-text="收起" />-->
<div class="fold-div">
<label>注册地址</label>
<van-text-ellipsis :content="data.enterpriseInfo.enterpriseAddress" rows="2" autosize expand-text="展开" collapse-text="收起" />
</div>
<div class="fold-div">
<label>经营范围</label>
<van-text-ellipsis :content="data.enterpriseInfo.businessScope" rows="2" autosize expand-text="展开" collapse-text="收起" />
</div>
</van-cell-group>
<van-divider class="divdsty"/>
<van-cell-group>
<!-- <div class="qy-name">案件信息</div>-->
<div class="search-button-list">
<!-- <span v-for="(item, index) in data?.optionList" :key="index" plain hairline-->
<!-- @click="searchDateType(item)"-->
<!-- :style="item.selected == true ? 'background-color:#1989fa;color:#ffffff':'background-color:#e3e0e0;color:#4c4c4c'">{{item.name}}-->
<!-- </span>-->
<span v-for="(item, index) in data?.optionList" :key="index" plain hairline
@click="searchDateType(item)"
:class="item.selected == true ? 'active':''">{{item.name}}
</span>
</div>
<div class="refresh_content" v-if="data?.checkDataList.length && data?.show == 1">
<van-pull-refresh v-model="data.refreshing_check" @refresh="onRefresh_check">
<van-list v-model:loading="data.loading_check" :finished="data.finished_check" finished-text="没有更多了" @load="onLoad_check">
<div class="goods_box" v-for="(item, index) in data?.checkDataList" :key="index">
<van-swipe-cell class="swipe_cell">
<div class="card_box">
<div class="card_box_span">
<p>{{ item.c601002 }}</p>
</div>
<div class="card_box_span">
<p><span class="card_box_label">检查日期:</span>
<!-- {{formattedTimeYYYYmmdd(item.c601005)}}, {{ item.lawEnforcerTwo }}</p>-->
{{formattedTimeYYYYmmdd(item.c601005)}}</p>
</div>
<div class="card_box_span">
<p v-if="item.c601015 == '01'"><span class="card_box_label">检查结果:</span> 合格
</p>
<p v-if="item.c601015 == '02'"><span class="card_box_label">检查结果:</span> 不合格
</p>
</div>
</div>
</van-swipe-cell>
</div>
</van-list>
</van-pull-refresh>
</div>
<div class="refresh_content" v-if="data?.punishDataList.length && data?.show == 2">
<van-pull-refresh v-model="data.refreshing_punish" @refresh="onRefresh_punish">
<van-list v-model:loading="data.loading_punish" :finished="data.finished_punish" finished-text="没有更多了" @load="onLoad_punish">
<div class="goods_box" v-for="(item, index) in data?.punishDataList" :key="index">
<van-swipe-cell class="swipe_cell">
<div class="card_box">
<div class="card_box_span">
<p>{{ item.c201002 }}</p>
</div>
<div class="card_box_span">
<p><span class="card_box_label">执法主体:</span>{{ item.c201003 }}</p>
</div>
<div class="card_box_span">
<p><span class="card_box_label">处罚种类:</span> {{ item.cfzl }}</p>
</div>
<div class="card_box_span">
<p v-if="item.c206010 == '01'"><span class="card_box_label">处罚方式:</span>给予处罚
</p>
<p v-if="item.c206010 == '02'"><span class="card_box_label">处罚方式:</span>不予处罚
</p>
</div>
<div class="card_box_span">
<p><span class="card_box_label">处罚日期:</span>
{{formattedTimeYYYYmmdd(item.c206013)}}</p>
</div>
</div>
</van-swipe-cell>
</div>
</van-list>
</van-pull-refresh>
</div>
<div class="refresh_content" v-if="data?.forceDataList.length && data?.show == 3">
<van-pull-refresh v-model="data.refreshing_force" @refresh="onRefresh_force">
<van-list v-model:loading="data.loading_force" :finished="data.finished_force" finished-text="没有更多了" @load="onLoad_force">
<div class="goods_box" v-for="(item, index) in data?.forceDataList" :key="index">
<van-swipe-cell class="swipe_cell">
<div class="card_box">
<div class="card_box_span">
<p v-if="item.c301002 != '无'">{{ item.c301002 }}</p>
<p v-if="item.c301002 == '无'">************</p>
</div>
<div class="card_box_span">
<p><span class="card_box_label">强制种类:</span>
<span v-if="item.c302002 == ''"></span>
{{ item.c302002 }}</p>
</div>
<div class="card_box_span">
<p><span class="card_box_label">强制措施:</span> {{ item.c302001 }}</p>
</div>
<div class="card_box_span">
<p><span class="card_box_label">批准时间:</span>
{{formattedTimeYYYYmmdd(item.c302007)}}</p>
</div>
</div>
</van-swipe-cell>
</div>
</van-list>
</van-pull-refresh>
</div>
</van-cell-group>
</van-form>
</div>
<Popup :visible="data.popupVisible" :content="data.popupContent" @close="closePopup" @reciveData="reciveData"/>
<Popup :visible="data.popupVisible2" :content="data.popupContent2" @close="closePopup" @reciveData="reciveData2"/>
<!-- </div>-->
</template>
<script setup name="register">
import {showSuccessToast} from 'vant';
import 'vant/es/toast/style';
import {addEnforcementRegistration, queryUserInfo, queryRegistrationList} from '@/api/enforce'
import {getEnterpriseInformation, queryXzjcjbxxList, queryQZAJList, queryCFAJList} from '@/api/enterprise'
import {getDict} from '../../api/Home'
import {reactive, ref} from "vue";
import {formattedTimeYYYYmmdd} from "@/util/util";
import {format} from 'date-fns';
import {uploadFile} from "../../util/fileUpload";
//用户筛选弹窗
import Popup from './userFilter.vue';
const {useMy} = $globalStore
const router = useRouter();
//路由参数
const route = useRoute();
let queryaddressId = ref("");
const data = reactive({
optionList: [
{name: "历史检查案件", val: 1, selected: true},
{name: "历史处罚案件", val: 2, selected: false},
{name: "历史强制案件", val: 3, selected: false}],
show: 1,
searchParam: {},
enterpriseInfo: {},
checkDataList: [],
punishDataList: [],
forceDataList: [],
showLawEnforcerFlag: false,
currentPage: 1,
good: "#7FFFD4",
bad: "#D3D3D3",
popupVisible: false,
popupContent: '',
popupVisible2: false,
popupContent2: '',
loading_check: false,
finished_check: false,
refreshing_check: false,
curPage_check: 1,
loading_punish: false,
finished_punish: false,
refreshing_punish: false,
curPage_punish: 1,
loading_force: false,
finished_force: false,
refreshing_force: false,
curPage_force: 1,
});
let searchParam = reactive({
enterpriseNumber: "",
// 分页
pageNum: 1,
pageSize: 6,
});
const props = defineProps({
enterpriseNumber: {
type: String,
default: "",
},
});
const searchDateType = (item) => {
if (item.selected === false) {
data.optionList.forEach(item => {
item.selected = false
})
item.selected = true
data.show = item.val
}
}
const queryList = () => {
queryEnforcementInspectionProgramList(searchParam, success => {
console.log(success)
data.dataList = success.data;
freshMap.refreshLoad = false;
freshMap.listLoading = false;
freshMap.listFinished = true;
isLodding.value = false;
}, error => {
})
}
//3a0096181c184e5aa56f70923680856d$6e74ceda1463c165fd43eeeadce4f7cd
//初始化参数,获取扫码的企业统一信用编码
onMounted(() => {
//查询企业信息
getEnterpriseInformation(route?.query?.enterpriseNumber, success => {
// getEnterpriseInformation(props?.enterpriseNumber,success =>{
if (null != success.data) {
console.log(success);
data.enterpriseInfo.enterpriseName = success.data.enterpriseName
data.enterpriseInfo.enterpriseNumber = success.data.enterpriseNumber
data.enterpriseInfo.enterpriseType = success.data.companyOrgType
data.enterpriseInfo.enterpriseAddress = success.data.enterpriseAddress
data.enterpriseInfo.legalPerson = success.data.legalPerson
// data.enterpriseInfo.registeredCapital = success.data.registeredCapital +' (人民币/元)'
var amount = 0.00;
if (null != success.data.registeredCapital) {
amount = Number(success.data.registeredCapital).toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
}
data.enterpriseInfo.registeredCapital = amount + ' (万元人民币)'
// data.enterpriseInfo.operatingTerm = success.data.operatingTerm
var tmpoperatingTerm = success.data.operatingTerm;
if (tmpoperatingTerm.indexOf('null') >= 0) {
tmpoperatingTerm = tmpoperatingTerm.substring(0, tmpoperatingTerm.indexOf('null')) + " 无固定期限";
}
data.enterpriseInfo.operatingTerm = tmpoperatingTerm;
data.enterpriseInfo.businessScope = success.data.businessScope
data.enterpriseInfo.establishmentTime = format(success.data.establishmentTime, 'yyyy-MM-dd');
//查询企业类型
getDict({"dictType": "enterpriseType"}, success => {
if (success.data != null) {
success.data.forEach(res => {
if (data.enterpriseInfo.enterpriseType === res.dictValue) {
data.enterpriseInfo.enterpriseType = res.dictLabel
}
})
}
}, error => {
})
//查询企业历史检查案件
// data.searchParam.enterpriseNumber = data.enterpriseInfo.enterpriseNumber;
// queryRegistrationList(data.searchParam,success =>{
// data.checkDataList = success.data;
// },error =>{})
//查询企业历史检查案件
// queryXzjcjbxxList(success.data.enterpriseNumber, res => {
// console.log("历史检查案件---", res.data)
// data.checkDataList = res.data;
// }, error => {});
// //查询历史强制案件
// queryQZAJList(success.data.enterpriseNumber, res => {
// console.log("历史强制案件---", res.data)
// res.data.forEach(res => {
// var obj = {}
// obj = res;
// obj.cfzl = "罚款";
// data.forceDataList.push(obj);
// })
// data.forceDataList = res.data;
// }, error => {})
// //历史处罚案件
// queryCFAJList(success.data.enterpriseNumber, res => {
// console.log("历史处罚案件---", res.data)
// // data.punishDataList = res.data;
// res.data.forEach(res => {
// var obj = {}
// var textArr = "";
// obj = res;
//
// var arr = res.c206011.split(",");
// console.log(arr)
// for (const key in arr) {
// if (arr[key] == "01") textArr += "警告,";
// if (arr[key] == "02") textArr += "通报批评,";
// if (arr[key] == "03") textArr += "罚款,";
// if (arr[key] == "04") textArr += "没收违法所得,";
// if (arr[key] == "05") textArr += "没收违法财产,";
// if (arr[key] == "06") textArr += "责令停业整改,";
// if (arr[key] == "07") textArr += "暂扣许可证件,";
// if (arr[key] == "08") textArr += "行政拘留,";
// if (arr[key] == "09") textArr += "吊销许可证件,";
// }
// obj.cfzl = textArr;
//
// data.punishDataList.push(obj);
// })
// // data.forceDataList = res.data;
// }, error => {})
// 获取历史检查案件列表
queryList_check(success.data.enterpriseNumber);
// 获取历史强制案件列表
queryList_punish(success.data.enterpriseNumber);
// 获取历史处罚案件列表
queryList_force(success.data.enterpriseNumber);
}
}, error => {
})
})
// 返回
const goBack = () => {
router.go(-1);
};
const toDetailView = (id) => {
console.log(id)
router.push(
{
path: "/registrationDetail",
query: {
id: id,
}
});
}
const showPopup = () => {
data.popupVisible = true;
}
const showPopup2 = () => {
data.popupVisible2 = true;
}
const closePopup = () => {
data.popupVisible = false;
data.popupVisible2 = false;
}
const reciveData = (item) => {
submitData.lawEnforcerTwo = item.userName;
submitData.lawEnforcerIdTwo = item.userId;
}
const reciveData2 = (item) => {
submitData.subsidiaryer = item.userName;
submitData.subsidiaryerId = item.userId;
}
// 获取历史检查案件列表
const queryList_check = (enterpriseNumber) => {
searchParam.enterpriseNumber = enterpriseNumber;
searchParam.pageNum = (data.curPage_check-1)*searchParam.pageSize;
queryXzjcjbxxList(searchParam, res => {
console.log("历史检查案件---", res.data)
data.curPage_check++;
data.loading_check = false; // 查出结果停止加载
if (success.total <= data.dataList.length) {
// 查到最后没数据
data.finished_check = true;
return;
}
// data.checkDataList = res.data;
data.checkDataList.push(...res.rows);
}, error => {
});
};
//下拉刷新
const onRefresh_check = () => {
// 清空列表数据
data.checkDataList = [];
data.finished_check = false;
// 重新加载数据
// 将 loading 设置为 true,表示处于加载状态
data.loading_check = true;
onLoad_check();
};
// 触底加载
const onLoad_check = () => {
setTimeout(() => {
if (data.refreshing_check) {
data.refreshing_check = false;
}
queryList_check();
}, 1000);
};
// 获取历史强制案件列表
const queryList_punish = (enterpriseNumber) => {
searchParam.enterpriseNumber = enterpriseNumber;
searchParam.pageNum = (data.curPage_punish-1)*searchParam.pageSize;
queryQZAJList(searchParam, res => {
console.log("历史强制案件---", res.data)
data.curPage_punish++;
data.loading_punish = false; // 查出结果停止加载
if (success.total <= data.dataList.length) {
// 查到最后没数据
data.finished_punish = true;
return;
}
res.data.forEach(res => {
var obj = {}
obj = res;
obj.cfzl = "罚款";
data.forceDataList.push(obj);
})
data.forceDataList = res.data;
data.forceDataList.push(...res.rows);
}, error => {
})
}
//下拉刷新
const onRefresh_punish = () => {
// 清空列表数据
data.dataList = [];
data.finished_punish = false;
// 重新加载数据
// 将 loading 设置为 true,表示处于加载状态
data.loading_punish = true;
onLoad_punish();
};
// 触底加载
const onLoad_punish = () => {
setTimeout(() => {
if (data.refreshing_punish) {
data.refreshing_punish = false;
}
queryList();
}, 1000);
};
// 获取历史处罚案件列表
const queryList_force = (enterpriseNumber) => {
searchParam.enterpriseNumber = enterpriseNumber;
searchParam.pageNum = (data.curPage_force-1)*searchParam.pageSize;
queryCFAJList(searchParam, res => {
console.log("历史处罚案件---", res.data)
data.curPage_force++;
data.loading_force = false; // 查出结果停止加载
if (success.total <= data.dataList.length) {
// 查到最后没数据
data.finished_force = true;
return;
}
// data.punishDataList = res.data;
res.data.forEach(res => {
var obj = {}
var textArr = "";
obj = res;
var arr = res.c206011.split(",");
console.log(arr)
for (const key in arr) {
if (arr[key] == "01") textArr += "警告,";
if (arr[key] == "02") textArr += "通报批评,";
if (arr[key] == "03") textArr += "罚款,";
if (arr[key] == "04") textArr += "没收违法所得,";
if (arr[key] == "05") textArr += "没收违法财产,";
if (arr[key] == "06") textArr += "责令停业整改,";
if (arr[key] == "07") textArr += "暂扣许可证件,";
if (arr[key] == "08") textArr += "行政拘留,";
if (arr[key] == "09") textArr += "吊销许可证件,";
}
obj.cfzl = textArr;
data.punishDataList.push(obj);
})
// data.forceDataList = res.data;
data.forceDataList.push(...res.rows);
}, error => {
})
}
//下拉刷新
const onRefresh_force = () => {
// 清空列表数据
data.dataList_force = [];
data.finished_force = false;
// 重新加载数据
// 将 loading 设置为 true,表示处于加载状态
data.loading_force = true;
onLoad();
};
// 触底加载
const onLoad_force = () => {
setTimeout(() => {
if (data.refreshing_force) {
data.refreshing_force = false;
}
queryList();
}, 1000);
};
</script>
<style lang="less" scoped>
.address_edit {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
background-color: #ebf3fb;
}
.warp_body {
margin: 0 3%;
padding-bottom: 3rem;
width: 94%;
height: 100%;
//border-radius: 0.25rem;
background-image: linear-gradient(to bottom, #ebf3fb, #fff);
overflow-y: auto;
margin-top: 0.15rem;
}
.qy-name, .zf-name {
margin: 0 0.27rem;
font-size: 0.42rem;
height: 1.2rem;
background-color: white;
font-weight: 600;
line-height: 3.5;
}
/* vant4的 Toast 和 Popup 样式冲突,会导致 Toast 变成白底 */
.van-popup.van-toast {
background: var(--van-toast-background) !important;
box-sizing: content-box !important;
/* 下面3条css,影响不大 */
transition: all var(--van-duration-fast) !important;
width: var(--van-toast-default-width) !important;
max-width: var(--van-toast-max-width) !important;
}
.van-popup.van-toast .van-toast__icon {
font-size: var(--van-toast-icon-size) !important;
}
.divdsty {
margin: auto;
width: 100%;
height: 0.25rem;
background-color: #ebf3fb;
border: 0;
}
.file-upload {
position: relative;
min-height: 3.0rem;
max-height: 6.5rem;
padding: 1rem 0.27rem 0.27rem 0.43rem;
box-sizing: border-box;
}
.file-upload-center {
position: absolute;
top: 0.27rem;
left: 0.43rem;
width: 90%;
height: 0.65rem;
font-size: 0.37rem;
span {
font-size: 0.32rem;
color: rgb(221, 229, 227);
}
}
.file {
position: relative;
width: 100%;
height: calc(100% - 1.5rem);
}
/deep/ .van-uploader__upload, /deep/ .van-uploader__preview-image {
width: 1.95rem !important;
}
.preview-cover {
position: absolute;
bottom: 0;
box-sizing: border-box;
width: 100%;
padding: 4px;
color: #fff;
font-size: 0.32rem;
text-align: center;
background: rgba(0, 0, 0, 0.3);
}
.goods_box {
display: flex;
background-color: #fff;
margin: 0.27rem;
border-radius: 0.27rem;
.swipe_cell {
width: 100%;
}
.card_box {
display: flex;
width: 100%;
padding: 0.27rem 0;
flex-direction: column;
border-bottom: 1px solid #f3f4f5;
.card_body {
background-color: #fff;
border-radius: 0.27rem;
flex: 1;
}
.card_box_span {
font-size: 0.35rem;
padding-left: 3%;
/*height: 35px;*/
align-items: center;
display: flex;
align-items: center;
}
.card_box_action {
position: absolute;
right: 4%;
}
}
}
.search-button-list {
display: flex;
margin: 0 3% -1px;
height: 1rem;
padding: 0 0 3% 0;
}
/*.search-button-list span {
display: inline-block;
position: relative;
margin: 3% 1%;
padding: 2% 5%;
height: 50%;
white-space: nowrap;
background-color: #e3e0e0;
border-radius: 0.5rem;
color: #4c4c4c;
font-size: 0.3rem;
line-height: 1.75;
}*/
.search-button-list span {
margin: 5% 2% 0;
width: 30%;
height: 90%;
background: #fff;
border-color: #fff;
color: #4c4c4c;
font-size: 0.35rem;
}
.search-button-list span.active {
position: relative;
background-color: #fff;
border-color: #fff;
color: #1367fe;
font-weight: 600;
}
.search-button-list span.active::after {
display: block;
content: "";
position: absolute;
z-index: 10;
left: 40%;
top: 70%;
transform: translate(-50%, -50%);
width: 80%;
height: 0.05rem;
background-color: #1367fe;
}
.goods_box .swipe_cell .card_box .card_box_span p {
margin: 0.1rem 0;
color: #999;
}
.goods_box .swipe_cell .card_box .card_box_span:first-child p {
//height: 0.65rem;
color: #000;
font-size: 0.37rem;
}
/deep/ .van-button {
margin: 2% -2% 3% 4.5%;
padding: 2% 3%;
font-size: 0.3rem;
}
/deep/ .van-text-ellipsis {
font-size: 0.37rem;
padding: 0.27rem 0.43rem;
}
.fold-div {
display: flex;
margin: 0 0.3rem;
padding-bottom: 0.13rem;
border-bottom: 1px solid #f6f7f8;
color: rgb(50, 50, 51);
font-size: 0.37rem;
}
.fold-div label {
width: 2.6rem;
padding: 0.27rem 0px 0.27rem 0.15rem;
}
.fold-div .van-text-ellipsis {
padding: 0.24rem 0;
width: calc(100% - 2.7rem);
color: #666;
}
/deep/ .mult-line .van-field__label {
padding-right: 0.5rem;
line-height: 1.25;
}
/deep/ .van-picker-column__item--selected {
background: #e5eef9;
color: #000;
font-weight: 600;
}
/deep/ .van-field .van-field__control {
color: #666;
}
/deep/ .van-field__label--required:before {
margin-left: -0.2rem;
}
</style>