Browse Source

执法监督码-企业端代码提交

master
chenrui 3 years ago
parent
commit
fc1e6be2d9
  1. 8
      src/api/enterprise.js
  2. 2
      src/components/footer-enforcement-nav/index.vue
  3. 12
      src/router/home.js
  4. 2
      src/views/Home.vue
  5. 218
      src/views/enforceHome.vue
  6. 54
      src/views/enterprise/enterpriseInspectionList.vue
  7. 3
      src/views/enterprise/registrationList.vue

8
src/api/enterprise.js

@ -12,4 +12,12 @@ export const queryRegistrationList = (params, success, error) => _get("/code/reg
//保存在线投诉 //保存在线投诉
export const addEnterpriseComplaint = (params, success, error) => _post("/code/complaint/add",params,success,error) export const addEnterpriseComplaint = (params, success, error) => _post("/code/complaint/add",params,success,error)
/**
* 查询企业行政执法通知记录
* @param {*} params
* @param {*} success
* @param {*} error
* @returns
*/
export const queryEnforcementList = (params, success, error) => _get("/code/enforcement/queryList",params,success,error)

2
src/components/footer-enforcement-nav/index.vue

@ -1,7 +1,7 @@
<template> <template>
<div class="footer_nav"> <div class="footer_nav">
<van-tabbar class="footer-bar" v-model="data.footerActive" :route="true" safe-area-inset-bottom> <van-tabbar class="footer-bar" v-model="data.footerActive" :route="true" safe-area-inset-bottom>
<van-tabbar-item name="Home" replace icon="wap-home-o" to="/home">{{ <van-tabbar-item name="Home" replace icon="wap-home-o" to="/enforceHome">{{
$t("common.lang_home") $t("common.lang_home")
}}</van-tabbar-item> }}</van-tabbar-item>
<van-tabbar-item name="Classify" replace icon="shop-o" to="/classify"> <van-tabbar-item name="Classify" replace icon="shop-o" to="/classify">

12
src/router/home.js

@ -7,6 +7,16 @@ const routes = [
component: login, component: login,
meta: {}, meta: {},
}, },
//执法端首页
{
path: "/enforceHome",
name: "enforceHome",
component: () => import("@/views/enforceHome.vue"),
meta: {
isKeepAlive: true,
},
},
//企业端首页
{ {
path: "/home", path: "/home",
name: "Home", name: "Home",
@ -51,7 +61,7 @@ const routes = [
// 在线投诉 // 在线投诉
{ {
path: "/enterprise/enterpriseInspectionList", path: "/enterprise/enterpriseInspectionList",
name: "complaint", name: "enterpriseInspectionList",
component: () => import("@/views/enterprise/enterpriseInspectionList.vue"), component: () => import("@/views/enterprise/enterpriseInspectionList.vue"),
}, },
]; ];

2
src/views/Home.vue

@ -139,7 +139,7 @@ onMounted(() => {
background-color: #f4f4f4; background-color: #f4f4f4;
.warp_body { .warp_body {
background: url("../assets/images/bg_el.jpg"); background: url("../assets/images/bg_c.jpg");
background-size: cover; background-size: cover;
position: relative; position: relative;
.carousel_box { .carousel_box {

218
src/views/enforceHome.vue

@ -0,0 +1,218 @@
<template>
<div class="home app_content">
<!-- 导航栏 -->
<div class="header_body">
<header-nav :leftArrow="false" titelText="首页"></header-nav>
</div>
<!-- 中间 -->
<div class="warp_body">
<!-- <refresh-list v-model:freshMap="freshMap" @refresh="onRefresh" @onLoad="onLoad"> -->
<div class="carousel_box" @onLoad="onLoad">
<carousel-card v-if="carouselList.length" v-model:carouselList="carouselList"></carousel-card>
</div>
<div class="boutique_box">
<!-- <van-cell :border="false" title="精品" /> -->
<div class="boutique_body">
<!-- <goodsCard :goodsList="boutique" :cardAttr="boutiqueAttr"></goodsCard> -->
<div class="box-qr-code" @click="toRegisterView">
<span class="box-qr-code-text">扫码入企</span>
</div>
</div>
<div class="boutique_body">
<!-- <goodsCard :goodsList="boutique" :cardAttr="boutiqueAttr"></goodsCard> -->
<div class="box-info" @click="toRegistrationListView">
<span class="box-info-text" >历史检查信息</span>
</div>
<div class="box-complaint" @click="toComplaintView">
<span class="box-complaint-text">统计分析</span>
</div>
</div>
</div>
<!-- <div class="recommend_box">
<van-cell :border="false" title="推荐" />
<div class="recommend_body">
<goodsCard :goodsList="recommend"></goodsCard>
</div>
</div> -->
<!-- </refresh-list> -->
</div>
<!-- 底部 -->
<div class="footer_body">
<footer-enforcement-nav></footer-enforcement-nav>
</div>
</div>
</template>
<script setup name="Home">
import {getEnterpriseMerchantAuthorization} from '../api/Home';
const { useCommon } = $globalStore;
const router = useRouter();
let carouselList = reactive([]); // 轮播列表
let boutique = reactive([]); // 精品数据
let recommend = reactive([]); // 推荐
let freshMap = reactive({
refreshLoad: false, // 是否刷新
listLoading: false, // 是否加载中
listFinished: false, // 是否加载完成标识
});
const data = reactive({});
const boutiqueAttr = reactive({
columnNum: 4,
itemClass: "boutique_item",
goodsCradclass: "boutique-crad",
}); // 商品卡片展示
//获取轮播
const getCarousel = async () => {
// const res = await useHome.getCarousel();
// if (res?.code === 20000) {
// carouselList = res?.data;
// }
};
//精品
const boutiqueGoods = async () => {
// const res = await useHome.boutiqueGoods();
// if (res?.code === 20000) {
// boutique = res?.data;
// }
};
const toRegisterView = async() =>{
console.log(useCommon.phonenumber);
if(useCommon.enterpriseNumber == null && useCommon.enterpriseNumber == ""){
router.push({ path: "/enterprise/register" });
}else{
router.push({
path: "/enterprise/qrCode",
query: {
enterpriseNumber: useCommon.enterpriseNumber,
}
});
}
};
const toRegistrationListView = async() =>{
router.push({
path: "/enterprise/registrationList",
});
}
const toComplaintView = async() =>{
router.push({
path: "/enterprise/complaint",
});
}
//下拉刷新
const onRefresh = () => {
freshMap.listFinished = false;
freshMap.listLoading = true;
freshMap.refreshLoad = true;
// Promise.all([getCarousel(), boutiqueGoods(), recommendGoods()]).then(() => {
// freshMap.refreshLoad = false;
// });
};
// 触底加载
const onLoad = () => {
// recommendGoods(true);
};
onMounted(() => {
getEnterpriseMerchantAuthorization({merchantTel: useCommon.phonenumber},success =>{
if(!(success.data == null && success.data.length == 0)){
useCommon.SET_USER_ENTERPRISE_NUMBER(success.data[0].enterpriseNumber);
}
},error =>{
})
});
</script>
<style lang="less" scoped>
.home {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
background-color: #f4f4f4;
.warp_body {
background: url("../assets/images/bg_el.jpg");
background-size: cover;
position: relative;
.carousel_box {
height: 150px;
width: 100%;
padding-bottom: 10px;
}
}
.boutique_box {
position: absolute;
width: 100%;
bottom: 3%;
.boutique_body {
padding: 0px 0px 10px 0px;
display: flex;
justify-content: center;
};
.box-qr-code{
width: 90%;
text-align: right;
height: 3.66667rem;
background-color: #ff976a;
border-radius: 10px;
background: url("../assets/images/item_scan.png");
background-size: cover;
.box-qr-code-text{
margin-right: 3%;
margin-top: 2%;
display: block;
font-size: 17px
}
}
.box-info{
width: 52%;
text-align: right;
height: 3.66667rem;
background-color: #ff976a;
border-radius: 10px;
background: url("../assets/images/item_checkc.png");
background-size: cover;
.box-info-text{
margin-right: 3%;
margin-top: 2%;
display: block;
font-size: 17px
}
}
.box-complaint{
width: 36%;
text-align: right;
height: 3.66667rem;
background-color: #ff976a;
border-radius: 10px;
margin-left: 2%;
background: url("../assets/images/item_count.png");
background-size: cover;
.box-complaint-text{
margin-right: 5%;
margin-top: 3%;
display: block;
font-size: 17px
}
}
}
.recommend_box {
.recommend_body {
width: 100%;
}
}
}
</style>

54
src/views/enterprise/enterpriseInspectionList.vue

@ -3,12 +3,7 @@
<div class="shop app_content"> <div class="shop app_content">
<!-- 导航栏 --> <!-- 导航栏 -->
<div class="header_body"> <div class="header_body">
<header-nav <header-nav :leftArrow="false" titelText="行政检查通知"></header-nav>
:slefBack="true"
@goBack="goBack"
:titelText="`行政检查通知`"
>
</header-nav>
</div> </div>
<van-search <van-search
v-model="searchParam.searchText" v-model="searchParam.searchText"
@ -20,11 +15,25 @@
<div @click="onClickButton">搜索</div> <div @click="onClickButton">搜索</div>
</template> </template>
</van-search> </van-search>
<!-- 顶部弹出 -->
<van-popup v-model:show="data.showTop" position="top" :style="{ height: '30%' }" >
<van-cell-group>
<van-field
v-model="searchParam.beginTime"
label="时间范围"
@click=""
readonly
/>
</van-cell-group>
</van-popup>
<div class="search-button-list"> <div class="search-button-list">
<van-button plain hairline class="search-button" @click="searchDateType()" round type="primary" size="mini">全部</van-button> <van-button plain hairline class="search-button" @click="searchDateType()" round type="primary" size="mini">全部</van-button>
<van-button plain hairline class="search-button" @click="searchDateType(1)" round type="primary" size="mini">本年</van-button> <van-button plain hairline class="search-button" @click="searchDateType(1)" round type="primary" size="mini">本月</van-button>
<van-button plain hairline class="search-button" @click="searchDateType(2)" round type="primary" size="mini">本月</van-button> <van-button plain hairline class="search-button" @click="searchDateType(2)" round type="primary" size="mini">本季度</van-button>
<van-button plain hairline class="search-button" @click="searchComplaint(1)" round type="primary" size="mini">投诉</van-button> <van-button plain hairline class="search-button" @click="searchDateType(3)" round type="primary" size="mini">本年度</van-button>
<van-button plain hairline class="search-button" @click="searchFilter" round type="primary" size="mini">筛选</van-button>
</div> </div>
<div class="search-button-date"> <div class="search-button-date">
<span class="date-select" @click="selectDate">{{ data.dateSearch }}</span> <span class="date-select" @click="selectDate">{{ data.dateSearch }}</span>
@ -60,17 +69,17 @@
<!-- <van-divider :style="{ color: '#1989fa', borderColor: '#1989fa',padding: '0 5px' }" /> --> <!-- <van-divider :style="{ color: '#1989fa', borderColor: '#1989fa',padding: '0 5px' }" /> -->
<div style="border-color: aqua; border: 2px;" class="van-hairline--bottom"></div> <div style="border-color: aqua; border: 2px;" class="van-hairline--bottom"></div>
<div class="card_box_span"> <div class="card_box_span">
<p style="font-size: 16px;font-weight: bold;">{{ item.lawEnforcementIncident }}</p> <p style="font-size: 16px;font-weight: bold;">{{ item.lawEnforcementItem }}</p>
</div> </div>
<div class="card_box_span"> <div class="card_box_span">
<p><span class="card_box_label">登记编号:</span> {{ item.lawEnforcement }}</p> <p><span class="card_box_label">登记编号:</span> {{ item.lawEnforcementCode }}</p>
</div> </div>
<div class="card_box_span"> <div class="card_box_span">
<p><span class="card_box_label">执法部门:</span> {{ item.lawEnforcer }}</p> <p><span class="card_box_label">执法部门:</span> {{ item.lawEnforcement }}</p>
</div> </div>
<div class="card_box_span"> <div class="card_box_span">
<p><span class="card_box_label">企业名称:</span> {{ item.remark }}</p> <p><span class="card_box_label">企业名称:</span> {{ item.enterpriseName }}</p>
</div> </div>
</div> </div>
</van-swipe-cell> </van-swipe-cell>
@ -90,7 +99,7 @@
<script setup name="registrationList"> <script setup name="registrationList">
import { showToast } from "vant"; import { showToast } from "vant";
import {queryRegistrationList} from '../../api/enterprise'; import {queryEnforcementList} from '../../api/enterprise';
import { setGoodsNum } from "@/util/util"; import { setGoodsNum } from "@/util/util";
const { useCommon, useShopCard } = $globalStore; const { useCommon, useShopCard } = $globalStore;
@ -113,6 +122,11 @@ let searchParam = reactive({
isComplaint: null, isComplaint: null,
//企业统一信用码 //企业统一信用码
enterpriseNumber: ref(useCommon.enterpriseNumber), enterpriseNumber: ref(useCommon.enterpriseNumber),
//查询日期
searchDate:null,
beginTime:"",
endTime:""
}); });
const data = reactive({ const data = reactive({
@ -124,6 +138,7 @@ const data = reactive({
minDate: new Date(2020, 0, 1), minDate: new Date(2020, 0, 1),
maxDate: new Date(2125, 5, 1), maxDate: new Date(2125, 5, 1),
columnsType :['year', 'month'], columnsType :['year', 'month'],
showTop:false,
}); });
// 设置初始值为当前时间 // 设置初始值为当前时间
@ -136,7 +151,7 @@ onMounted(() => {
data.dateSearch = nowDate(new Date()); data.dateSearch = nowDate(new Date());
}); });
const queryList = () =>{ const queryList = () =>{
queryRegistrationList(searchParam,success =>{ queryEnforcementList(searchParam,success =>{
console.log(success) console.log(success)
data.dataList = success.data; data.dataList = success.data;
},error =>{ },error =>{
@ -248,8 +263,11 @@ const onDateConfirm = (value)=> {
value.selectedValues.forEach((item,index) => { value.selectedValues.forEach((item,index) => {
console.log(item); console.log(item);
}); });
data.dateSearch = value.selectedValues[0] + "/" + value.selectedValues[1] data.dateSearch = value.selectedValues[0] + "/" + value.selectedValues[1];
searchParam.searchDate = value.selectedValues[0] + "-" + value.selectedValues[1];
data.showDatePicker = false; data.showDatePicker = false;
//查询数据
queryList();
} }
const nowDate = (time) => { const nowDate = (time) => {
var year = time.getFullYear(); // 年 var year = time.getFullYear(); // 年
@ -269,6 +287,10 @@ const searchDateType = (val) =>{
searchParam.isComplaint = null; searchParam.isComplaint = null;
queryList(); queryList();
} }
const searchFilter = () =>{
data.showTop = true;
queryList();
}
const searchComplaint = (val) =>{ const searchComplaint = (val) =>{
searchParam.isComplaint = val; searchParam.isComplaint = val;
searchParam.dateType = null; searchParam.dateType = null;

3
src/views/enterprise/registrationList.vue

@ -22,8 +22,9 @@
</van-search> </van-search>
<div class="search-button-list"> <div class="search-button-list">
<van-button plain hairline class="search-button" @click="searchDateType()" round type="primary" size="mini">全部</van-button> <van-button plain hairline class="search-button" @click="searchDateType()" round type="primary" size="mini">全部</van-button>
<van-button plain hairline class="search-button" @click="searchDateType(1)" round type="primary" size="mini">本年</van-button>
<van-button plain hairline class="search-button" @click="searchDateType(2)" round type="primary" size="mini">本月</van-button> <van-button plain hairline class="search-button" @click="searchDateType(2)" round type="primary" size="mini">本月</van-button>
<van-button plain hairline class="search-button" @click="searchDateType(3)" round type="primary" size="mini">本季度</van-button>
<van-button plain hairline class="search-button" @click="searchDateType(1)" round type="primary" size="mini">本年度</van-button>
<van-button plain hairline class="search-button" @click="searchComplaint(1)" round type="primary" size="mini">投诉</van-button> <van-button plain hairline class="search-button" @click="searchComplaint(1)" round type="primary" size="mini">投诉</van-button>
</div> </div>
<div class="search-button-date"> <div class="search-button-date">

Loading…
Cancel
Save