|
|
@ -1,4 +1,3 @@ |
|
|
|
|
|
|
|
|
<template> |
|
|
<template> |
|
|
<div class="shop app_content"> |
|
|
<div class="shop app_content"> |
|
|
<!-- 导航栏 --> |
|
|
<!-- 导航栏 --> |
|
|
@ -19,15 +18,24 @@ |
|
|
<div @click="onClickButton">搜索</div> |
|
|
<div @click="onClickButton">搜索</div> |
|
|
</template> |
|
|
</template> |
|
|
</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 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> |
|
|
<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" |
|
|
<van-button plain hairline class="search-button" @click="searchComplaint(1)" round type="primary" size="mini">投诉</van-button> |
|
|
size="mini">本月 |
|
|
</div> --> |
|
|
</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="selectDate" round type="primary" size="mini">筛选 |
|
|
|
|
|
</van-button> |
|
|
|
|
|
</div> |
|
|
<div class="search-button-date"> |
|
|
<div class="search-button-date"> |
|
|
<span class="date-select" @click="selectDate">{{ data.dateSearch }}</span> |
|
|
<span class="date-select" v-show="data.dateShow" @click="selectDate">{{ data.dateSearch }}</span> |
|
|
<div style="border-color: black;" class="van-hairline--bottom"></div> |
|
|
<div style="border-color: black;" class="van-hairline--bottom"></div> |
|
|
<van-button class="search-button" type="primary" size="mini" @click="openPlanAddView">创建</van-button> |
|
|
<van-button class="search-button" type="primary" size="mini" @click="openPlanAddView">创建</van-button> |
|
|
<van-popup v-model:show="data.showDatePicker" position="bottom"> |
|
|
<van-popup v-model:show="data.showDatePicker" position="bottom"> |
|
|
@ -49,8 +57,9 @@ |
|
|
<refresh-list v-model:freshMap="freshMap" @refresh="onRefresh" @onLoad="onLoad" |
|
|
<refresh-list v-model:freshMap="freshMap" @refresh="onRefresh" @onLoad="onLoad" |
|
|
:resetScroll="resetScroll" class="refresh_box"> |
|
|
:resetScroll="resetScroll" class="refresh_box"> |
|
|
<div class="refresh_content" v-if="data?.dataList.length"> |
|
|
<div class="refresh_content" v-if="data?.dataList.length"> |
|
|
<!-- <div class="goods_box" v-for="(item, index) in data?.dataList" :key="index" @click="toPdfView(item.fileObject.fileUrl)">--> |
|
|
<!-- <div class="goods_box" v-for="(item, index) in data?.dataList" :key="index" @click="toPdfView(item.fileObject.fileUrl)">--> |
|
|
<div class="goods_box" v-for="(item, index) in data?.dataList" :key="index" @click="toPdfView(null!=item.fileObject?item.fileObject.fileUrl:null)"> |
|
|
<div class="goods_box" v-for="(item, index) in data?.dataList" :key="index" |
|
|
|
|
|
@click="toPdfView(null!=item.fileObject?item.fileObject.fileUrl:null)"> |
|
|
<van-swipe-cell class="swipe_cell"> |
|
|
<van-swipe-cell class="swipe_cell"> |
|
|
<div class="card_box"> |
|
|
<div class="card_box"> |
|
|
<div class="card_box_span"> |
|
|
<div class="card_box_span"> |
|
|
@ -66,10 +75,12 @@ |
|
|
<p><span class="card_box_label">执法区域:</span> {{ item.enforcementArea }}</p> |
|
|
<p><span class="card_box_label">执法区域:</span> {{ item.enforcementArea }}</p> |
|
|
</div> |
|
|
</div> |
|
|
<div class="card_box_span"> |
|
|
<div class="card_box_span"> |
|
|
<p><span class="card_box_label">执法部门:</span> {{ item.enforcementDepartment }}</p> |
|
|
<p><span class="card_box_label">执法部门:</span> {{ item.enforcementDepartment }} |
|
|
|
|
|
</p> |
|
|
</div> |
|
|
</div> |
|
|
<div class="card_box_span"> |
|
|
<div class="card_box_span"> |
|
|
<p><span class="card_box_label">执法计划:</span> <a style="color: green;">{{ null!=item.fileObject?item.fileObject.fileName:"" }}</a></p> |
|
|
<p><span class="card_box_label">执法计划:</span> <a style="color: green;">{{ |
|
|
|
|
|
null!=item.fileObject?item.fileObject.fileName:"" }}</a></p> |
|
|
</div> |
|
|
</div> |
|
|
<!-- <div class="card_box_span"> |
|
|
<!-- <div class="card_box_span"> |
|
|
<p><span class="card_box_label">执法计划:</span> {{ item.fileObject.fileName }}</p> |
|
|
<p><span class="card_box_label">执法计划:</span> {{ item.fileObject.fileName }}</p> |
|
|
@ -78,7 +89,7 @@ |
|
|
</van-swipe-cell> |
|
|
</van-swipe-cell> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<van-empty v-else class="no_data" description="暂无数据" /> |
|
|
<van-empty v-else class="no_data" description="暂无数据"/> |
|
|
</refresh-list> |
|
|
</refresh-list> |
|
|
</lodding-card> |
|
|
</lodding-card> |
|
|
</div> |
|
|
</div> |
|
|
@ -91,16 +102,17 @@ |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script setup name="enforcementInspectionProgram"> |
|
|
<script setup name="enforcementInspectionProgram"> |
|
|
import {queryEnforcementInspectionProgramList} from "@/api/enforce"; |
|
|
import {queryEnforcementInspectionProgramList} from "@/api/enforce"; |
|
|
import { setGoodsNum } from "@/util/util"; |
|
|
import {setGoodsNum} from "@/util/util"; |
|
|
import { showFailToast } from 'vant'; |
|
|
import {showFailToast} from 'vant'; |
|
|
const { useCommon, useShopCard } = $globalStore; |
|
|
|
|
|
|
|
|
|
|
|
const router = useRouter(); |
|
|
const {useCommon, useShopCard} = $globalStore; |
|
|
let allchecked = ref(false); // 是否全选 |
|
|
|
|
|
let refreshLoad = ref(false); // 是否加载中 |
|
|
|
|
|
|
|
|
|
|
|
let searchParam = reactive({ |
|
|
const router = useRouter(); |
|
|
|
|
|
let allchecked = ref(false); // 是否全选 |
|
|
|
|
|
let refreshLoad = ref(false); // 是否加载中 |
|
|
|
|
|
|
|
|
|
|
|
let searchParam = reactive({ |
|
|
//搜索框 |
|
|
//搜索框 |
|
|
searchText: ref(''), |
|
|
searchText: ref(''), |
|
|
//日期查询 |
|
|
//日期查询 |
|
|
@ -108,21 +120,22 @@ let searchParam = reactive({ |
|
|
// 用户id |
|
|
// 用户id |
|
|
dataScopeId: "", |
|
|
dataScopeId: "", |
|
|
// dataScopeId: "1731", |
|
|
// dataScopeId: "1731", |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
const data = reactive({ |
|
|
const data = reactive({ |
|
|
cartList: [], |
|
|
cartList: [], |
|
|
dataList: [], |
|
|
dataList: [], |
|
|
dateSearch: ref(), |
|
|
dateSearch: ref(), |
|
|
showDatePicker:false, |
|
|
showDatePicker: false, |
|
|
currentDate:ref(['2024', '01']), |
|
|
currentDate: ref(['2024', '01']), |
|
|
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'], |
|
|
}); |
|
|
dateShow: false |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
// 设置初始值为当前时间 |
|
|
// 设置初始值为当前时间 |
|
|
onMounted(() => { |
|
|
onMounted(() => { |
|
|
console.log(useCommon.enterpriseNumber); |
|
|
console.log(useCommon.enterpriseNumber); |
|
|
console.log(useCommon.userId); |
|
|
console.log(useCommon.userId); |
|
|
// getCard(); |
|
|
// getCard(); |
|
|
@ -131,39 +144,38 @@ onMounted(() => { |
|
|
console.log(useCommon.enterpriseNumber) |
|
|
console.log(useCommon.enterpriseNumber) |
|
|
queryList(); |
|
|
queryList(); |
|
|
data.dateSearch = nowDate(new Date()); |
|
|
data.dateSearch = nowDate(new Date()); |
|
|
}); |
|
|
}); |
|
|
const queryList = () =>{ |
|
|
const queryList = () => { |
|
|
queryEnforcementInspectionProgramList(searchParam,success =>{ |
|
|
queryEnforcementInspectionProgramList(searchParam, success => { |
|
|
console.log(success) |
|
|
|
|
|
data.dataList = success.data; |
|
|
data.dataList = success.data; |
|
|
freshMap.refreshLoad = false; |
|
|
freshMap.refreshLoad = false; |
|
|
freshMap.listLoading = false; |
|
|
freshMap.listLoading = false; |
|
|
freshMap.listFinished = true; |
|
|
freshMap.listFinished = true; |
|
|
isLodding.value = false; |
|
|
isLodding.value = false; |
|
|
},error =>{ |
|
|
}, error => { |
|
|
|
|
|
|
|
|
}) |
|
|
}) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const onSearch = (val) => { |
|
|
const onSearch = (val) => { |
|
|
queryEnforcementInspectionProgramList( |
|
|
queryEnforcementInspectionProgramList( |
|
|
{ |
|
|
{ |
|
|
"searchText": searchParam.searchText |
|
|
"searchText": searchParam.searchText |
|
|
} |
|
|
} |
|
|
,success =>{ |
|
|
, success => { |
|
|
console.log(success) |
|
|
console.log(success) |
|
|
data.dataList = success.data; |
|
|
data.dataList = success.data; |
|
|
},error =>{ |
|
|
}, error => { |
|
|
|
|
|
|
|
|
}) |
|
|
}) |
|
|
}; |
|
|
}; |
|
|
const onClickButton = () =>{ |
|
|
const onClickButton = () => { |
|
|
console.log(searchParam.searchText) |
|
|
console.log(searchParam.searchText) |
|
|
queryList(); |
|
|
queryList(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const toPdfView = (url) =>{ |
|
|
const toPdfView = (url) => { |
|
|
if(null!=url) { |
|
|
if (null != url) { |
|
|
router.push( |
|
|
router.push( |
|
|
{ |
|
|
{ |
|
|
path: "/pdfView", |
|
|
path: "/pdfView", |
|
|
@ -174,46 +186,45 @@ const toPdfView = (url) =>{ |
|
|
} else { |
|
|
} else { |
|
|
showFailToast("没有执行计划") |
|
|
showFailToast("没有执行计划") |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
onActivated(() => { |
|
|
onActivated(() => { |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
onDeactivated(() => { |
|
|
onDeactivated(() => { |
|
|
|
|
|
|
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
// 返回 |
|
|
// 返回 |
|
|
const goBack = () => { |
|
|
const goBack = () => { |
|
|
router.go(-1); |
|
|
router.go(-1); |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
let resetScroll = ref(0); // 滚动记录 |
|
|
let resetScroll = ref(0); // 滚动记录 |
|
|
let isLodding = ref(true); // 是否加载中 |
|
|
let isLodding = ref(true); // 是否加载中 |
|
|
let freshMap = reactive({ |
|
|
let freshMap = reactive({ |
|
|
refreshLoad: false, // 是否刷新 |
|
|
refreshLoad: false, // 是否刷新 |
|
|
listLoading: false, // 是否加载中 |
|
|
listLoading: false, // 是否加载中 |
|
|
listFinished: false, // 是否加载完成标识 |
|
|
listFinished: false, // 是否加载完成标识 |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//下拉刷新 |
|
|
//下拉刷新 |
|
|
const onRefresh = () => { |
|
|
const onRefresh = () => { |
|
|
freshMap.listFinished = false; |
|
|
freshMap.listFinished = false; |
|
|
freshMap.listLoading = true; |
|
|
freshMap.listLoading = true; |
|
|
// getGoodslist(); |
|
|
// getGoodslist(); |
|
|
queryList(); |
|
|
queryList(); |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
// 触底加载 |
|
|
// 触底加载 |
|
|
const onLoad = () => { |
|
|
const onLoad = () => { |
|
|
freshMap.listFinished = true; |
|
|
freshMap.listFinished = true; |
|
|
freshMap.loading = false; |
|
|
freshMap.loading = false; |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//获取分类下的商品列表 |
|
|
//获取分类下的商品列表 |
|
|
const getGoodslist = async (onLoad) => { |
|
|
const getGoodslist = async (onLoad) => { |
|
|
|
|
|
// const res = await useClassify.classifyGoods(); |
|
|
// const res = await useClassify.classifyGoods(); |
|
|
// if (res?.code === 20000) { |
|
|
// if (res?.code === 20000) { |
|
|
// goodsList = onLoad ? goodsList.concat(res?.data) : res?.data; |
|
|
// goodsList = onLoad ? goodsList.concat(res?.data) : res?.data; |
|
|
@ -228,9 +239,9 @@ const getGoodslist = async (onLoad) => { |
|
|
freshMap.listLoading = false; |
|
|
freshMap.listLoading = false; |
|
|
freshMap.listFinished = true; |
|
|
freshMap.listFinished = true; |
|
|
isLodding.value = false; |
|
|
isLodding.value = false; |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
onMounted(async () => { |
|
|
onMounted(async () => { |
|
|
// let res = await getClassify(); |
|
|
// let res = await getClassify(); |
|
|
// if (res && res?.length) { |
|
|
// if (res && res?.length) { |
|
|
// classifyId = res?.[0]?.id; |
|
|
// classifyId = res?.[0]?.id; |
|
|
@ -240,24 +251,21 @@ onMounted(async () => { |
|
|
// } |
|
|
// } |
|
|
queryList(); |
|
|
queryList(); |
|
|
isLodding.value = false; |
|
|
isLodding.value = false; |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
const selectDate = () =>{ |
|
|
const selectDate = () => { |
|
|
data.showDatePicker = true; |
|
|
data.showDatePicker = true; |
|
|
console.log(data.showDatePicker) |
|
|
console.log(data.showDatePicker) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const onDateConfirm = (value)=> { |
|
|
const onDateConfirm = (value) => { |
|
|
console.log(value); |
|
|
|
|
|
value.selectedValues.forEach((item,index) => { |
|
|
|
|
|
console.log(item); |
|
|
|
|
|
}); |
|
|
|
|
|
data.dateSearch = value.selectedValues[0] + "/" + value.selectedValues[1] |
|
|
data.dateSearch = value.selectedValues[0] + "/" + value.selectedValues[1] |
|
|
data.showDatePicker = false; |
|
|
|
|
|
searchParam.dateSearch = value.selectedValues[0] + "-" + value.selectedValues[1]; |
|
|
searchParam.dateSearch = value.selectedValues[0] + "-" + value.selectedValues[1]; |
|
|
|
|
|
data.showDatePicker = false; |
|
|
|
|
|
data.dateShow = true; |
|
|
queryList(); |
|
|
queryList(); |
|
|
} |
|
|
} |
|
|
const nowDate = (time) => { |
|
|
const nowDate = (time) => { |
|
|
var year = time.getFullYear(); // 年 |
|
|
var year = time.getFullYear(); // 年 |
|
|
var month = (time.getMonth() + 1).toString().padStart(2, '0'); // 月 |
|
|
var month = (time.getMonth() + 1).toString().padStart(2, '0'); // 月 |
|
|
var date = time.getDate().toString().padStart(2, '0'); // 日 |
|
|
var date = time.getDate().toString().padStart(2, '0'); // 日 |
|
|
@ -267,31 +275,33 @@ const nowDate = (time) => { |
|
|
return ( |
|
|
return ( |
|
|
year + "/" + month |
|
|
year + "/" + month |
|
|
) |
|
|
) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const searchDateType = (val) =>{ |
|
|
const searchDateType = (val) => { |
|
|
|
|
|
searchParam.dateSearch = null; |
|
|
searchParam.dateType = val; |
|
|
searchParam.dateType = val; |
|
|
searchParam.isComplaint = null; |
|
|
searchParam.isComplaint = null; |
|
|
|
|
|
data.dateShow = false; |
|
|
queryList(); |
|
|
queryList(); |
|
|
} |
|
|
} |
|
|
const searchComplaint = (val) =>{ |
|
|
const searchComplaint = (val) => { |
|
|
searchParam.isComplaint = val; |
|
|
searchParam.isComplaint = val; |
|
|
searchParam.dateType = null; |
|
|
searchParam.dateType = null; |
|
|
queryList(); |
|
|
queryList(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const openPlanAddView = () =>{ |
|
|
const openPlanAddView = () => { |
|
|
router.push( |
|
|
router.push( |
|
|
{ |
|
|
{ |
|
|
path: "/enforce/enforcementPlanAdd", |
|
|
path: "/enforce/enforcementPlanAdd", |
|
|
query: {} |
|
|
query: {} |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
<style lang="less" scoped> |
|
|
<style lang="less" scoped> |
|
|
.shop { |
|
|
.shop { |
|
|
height: 100%; |
|
|
height: 100%; |
|
|
display: flex; |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
flex-direction: column; |
|
|
@ -322,11 +332,13 @@ const openPlanAddView = () =>{ |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
padding: 10px 0px; |
|
|
padding: 10px 0px; |
|
|
flex-direction: column; |
|
|
flex-direction: column; |
|
|
|
|
|
|
|
|
.card_body { |
|
|
.card_body { |
|
|
background-color: #fff; |
|
|
background-color: #fff; |
|
|
border-radius: 10px; |
|
|
border-radius: 10px; |
|
|
flex: 1; |
|
|
flex: 1; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.card_box_span { |
|
|
.card_box_span { |
|
|
display: flex; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
align-items: center; |
|
|
@ -339,7 +351,8 @@ const openPlanAddView = () =>{ |
|
|
margin: 0; |
|
|
margin: 0; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
.card_box_action{ |
|
|
|
|
|
|
|
|
.card_box_action { |
|
|
position: absolute; |
|
|
position: absolute; |
|
|
right: 4%; |
|
|
right: 4%; |
|
|
} |
|
|
} |
|
|
@ -350,26 +363,29 @@ const openPlanAddView = () =>{ |
|
|
.shop_footer_body { |
|
|
.shop_footer_body { |
|
|
height: 101px; |
|
|
height: 101px; |
|
|
position: relative; |
|
|
position: relative; |
|
|
|
|
|
|
|
|
.footer-one-btn { |
|
|
.footer-one-btn { |
|
|
height: 50px; |
|
|
height: 50px; |
|
|
bottom: 51px; |
|
|
bottom: 51px; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.search-button-list{ |
|
|
.search-button-list { |
|
|
height: 3%; |
|
|
height: 3%; |
|
|
display: flex; |
|
|
display: flex; |
|
|
flex-direction: row; |
|
|
flex-direction: row; |
|
|
padding-left: 10px; |
|
|
padding-left: 10px; |
|
|
margin-top: 6px; |
|
|
margin-top: 6px; |
|
|
align-items: end; |
|
|
align-items: end; |
|
|
.search-button{ |
|
|
|
|
|
|
|
|
.search-button { |
|
|
width: 15%; |
|
|
width: 15%; |
|
|
height: 80%; |
|
|
height: 80%; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
.search-button-date{ |
|
|
|
|
|
|
|
|
.search-button-date { |
|
|
height: 3%; |
|
|
height: 3%; |
|
|
display: flex; |
|
|
display: flex; |
|
|
flex-direction: row; |
|
|
flex-direction: row; |
|
|
@ -377,17 +393,19 @@ const openPlanAddView = () =>{ |
|
|
margin-top: 15px; |
|
|
margin-top: 15px; |
|
|
align-items: end; |
|
|
align-items: end; |
|
|
position: relative; |
|
|
position: relative; |
|
|
.date-select{ |
|
|
|
|
|
|
|
|
.date-select { |
|
|
font-size: 20px; |
|
|
font-size: 20px; |
|
|
margin-left: 2%; |
|
|
margin-left: 2%; |
|
|
} |
|
|
} |
|
|
.search-button{ |
|
|
|
|
|
|
|
|
.search-button { |
|
|
width: 15%; |
|
|
width: 15%; |
|
|
height: 80%; |
|
|
height: 80%; |
|
|
position: absolute; |
|
|
position: absolute; |
|
|
top: 1%; |
|
|
top: 1%; |
|
|
right: 1%; |
|
|
right: 1%; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
</style> |
|
|
</style> |
|
|
|