Browse Source

修改执法登记页面

不扫码页面
v3
chenrui 2 years ago
parent
commit
0cab475d63
  1. 2
      src/views/enforce/historyCheck.vue
  2. 145
      src/views/enforce/lawFilter.vue
  3. 215
      src/views/enforce/noScan.vue
  4. 11
      src/views/enforce/scanQrCode.vue
  5. 3
      src/views/enforce/sign.vue

2
src/views/enforce/historyCheck.vue

@ -202,7 +202,7 @@
}); });
} }
const queryList = () => { const queryList = () => {
searchParam.isSubmit = 1; // searchParam.isSubmit = 1;
searchParam.pageNum = (data.curPage-1)*searchParam.pageSize; searchParam.pageNum = (data.curPage-1)*searchParam.pageSize;
queryRegistrationList(searchParam, success => { queryRegistrationList(searchParam, success => {
data.curPage++; data.curPage++;

145
src/views/enforce/lawFilter.vue

@ -18,11 +18,11 @@
<div class="search-result"> <div class="search-result">
<van-pull-refresh v-model="refreshing" @refresh="onRefresh"> <van-pull-refresh v-model="refreshing" @refresh="onRefresh">
<van-list v-model:loading="loading" :finished="finished" finished-text="没有更多了" @load="onLoad"> <van-list v-model:loading="loading" :finished="finished" finished-text="没有更多了" @load="onLoad">
<div class="case-item" v-for="(item, index) in dataList" :key="index" @click="selectData(item)"> <div class="case-item" v-for="(item, index) in dataList" :key="index" >
<!-- <div class="case-title">{{ item.enterpriseName }}</div>--> <span class="selectButton" @click="selectData(item)">一键关联</span>
<div class="case-title">执法事项:{{ item.checkItemText }}</div> <div class="case-title">执法事项:{{ item.checkItemText }}</div>
<!-- <div class="case-depart">执法事项:{{ item.checkItemText }}</div>-->
<div class="case-time">执法时间:{{ item.checkTime }}</div> <div class="case-time">执法时间:{{ item.checkTime }}</div>
</div> </div>
</van-list> </van-list>
</van-pull-refresh> </van-pull-refresh>
@ -32,105 +32,108 @@
</div> </div>
</template> </template>
<script> <script setup>
import {ref} from 'vue' import {ref,defineEmits,getCurrentInstance } from 'vue';
import {queryEnforcementList} from '../../api/enterprise' import {queryEnforcementList} from '../../api/enterprise'
import { defineProps } from 'vue'
const {useCommon} = $globalStore const emits = defineEmits(['reciveData','close']);
export default { const props = defineProps({
props: {
visible: { visible: {
type: Boolean, type: Boolean,
default: false default: false
}, },
content: { enterpriseNumber: {
type: String, type: String,
default: '' default: false
}, },
lawEnforcementId: { content: {
type: String, type: String,
default: '' default: ''
}, },
enterpriseNumber: { lawEnforcementId: {
type: String, type: String,
default: '' default: ''
}
}, },
data() { })
return { // 获取当前页面组件
searchParam: { const instance = getCurrentInstance();
const {useCommon} = $globalStore
const searchParam = reactive({
//搜索框 //搜索框
dataScopeId: useCommon.userId, dataScopeId: useCommon.userId,
enterpriseName: '', enterpriseName: '',
// 分页 // 分页
pageNum: 1, pageNum: 1,
pageSize: 6, pageSize: 6,
}, enterpriseNumber:"",
dataList: [], lawEnforcementId:"",
loading: false, isReg:0,
finished: false, isSubmit: 1,
refreshing: false, })
curPage: 1, const dataList = ref([])
const loading = ref(false);
const finished = ref(false);
const refreshing = ref(false);
const curPage = ref(1);
const closePopup =() =>{
emits('close');
} }
}, const queryList =() =>{
created() { console.log(searchParam)
// this.queryList() searchParam.enterpriseNumber = props?.enterpriseNumber;
}, searchParam.pageNum = (curPage.value-1)*searchParam.pageSize;
methods: { queryEnforcementList(searchParam, success => {
closePopup() { curPage.value++;
this.$emit('close'); loading.value = false; // 查出结果停止加载
}, if (success.total <= dataList.value.length) {
queryList() {
this.searchParam.pageNum = (this.curPage-1)*this.searchParam.pageSize;
queryEnforcementList({"lawEnforcementId": this.lawEnforcementId, "enterpriseNumber": this.enterpriseNumber, "isReg": 0, "isSubmit": 1}, success => {
this.curPage++;
this.loading = false; // 查出结果停止加载
if (success.total <= this.dataList.length) {
// 查到最后没数据 // 查到最后没数据
this.finished = true; finished.value = true;
return; return;
} }
// this.dataList = success.data // dataList = success.data
this.dataList.push(...success.rows); dataList.value.push(...success.rows);
}, error => { }, error => {
}) })
}, }
cancel() { const cancel = () =>{
this.searchParam.userName = ''; searchParam.userName = '';
this.queryList() queryList()
}, }
selectData(item) { const selectData = (item) =>{
this.$emit("reciveData", JSON.parse(JSON.stringify(item))); emits('close');
this.$emit('close'); emits("reciveData", JSON.parse(JSON.stringify(item)));
}, }
//下拉刷新 //下拉刷新
onRefresh() { const onRefresh = () =>{
// 清空列表数据 // 清空列表数据
this.enterpriseList = []; enterpriseList = [];
this.finished = false; finished = false;
// 重新加载数据 // 重新加载数据
// 将 loading 设置为 true,表示处于加载状态 // 将 loading 设置为 true,表示处于加载状态
this.loading = true; loading = true;
this.onLoad(); onLoad();
}, }
// 触底加载 // 触底加载
onLoad() { const onLoad = () =>{
let that = this; // let that = this;
setTimeout(() => { setTimeout(timeQuery(), 1000);
if (that.refreshing) {
that.refreshing = false;
} }
that.queryList(); const timeQuery = () =>{
}, 1000); if (refreshing.value) {
}, refreshing.value = false;
} }
queryList();
} }
</script> </script>
<style scoped> <style lang="less" scoped>
.popup { .popup {
position: fixed; position: fixed;
z-index: 999; z-index: 999;
@ -278,6 +281,7 @@
border-bottom: 1px solid #f4f4f4; border-bottom: 1px solid #f4f4f4;
color: #999; color: #999;
line-height: 2; line-height: 2;
position: relative;
} }
.case-title { .case-title {
@ -286,6 +290,17 @@
color: #333; color: #333;
line-height: 1.25; line-height: 1.25;
} }
.selectButton {
position: absolute;
width: 20%;
height: 34%;
top: 30%;
right: 1%;
background-color: #1367fe;
color: #fff;
text-align: center;
border-radius: 0.1rem;
}
</style> </style>

215
src/views/enforce/noScan.vue

@ -40,155 +40,174 @@
</div> </div>
</div> </div>
<div v-if="visible" class="popup" v-show="isCheck"> <van-popup v-model:show="showPicker" round position="bottom" :close-on-click-overlay="false">
<!-- 弹窗的内容 --> <van-picker v-model="selectedValues"
<div class="popup-content"> cancel-button-text=""
<div class="subtitle">请选择不扫码的原因:</div> title="请选择不扫码的原因" :columns="columns"
<!-- 关闭按钮 --> @confirm="onConfirm" />
<label class="close-button" @click="closeReason"></label> </van-popup>
<div class="item-box">
<!-- <span :class="checkCss==1?'item-btn active':'item-btn'"-->
<!-- @click="checkReason('企业拒绝出示二维码', 1)">企业拒绝出示二维码</span>-->
<!-- <span :class="checkCss==2?'item-btn active':'item-btn'"-->
<!-- @click="checkReason('网络/设备故障', 2)">网络/设备故障</span>-->
<!-- <span :class="checkCss==3?'item-btn active':'item-btn'" -->
<!-- @click="checkReason('其它', 3)">其它</span>-->
<span v-for="(item, index) in dicts" :key="index" :class="checkCss==item.dictValue?'item-btn active':'item-btn'" @click="checkReason(item.dictLabel, item.dictValue)">{{item.dictLabel}}</span>
</div>
<div class="btnbox">
<!-- <button class='btn-reset' @click="">重置</button>-->
<button class='btn-search' @click="closeReason">确定</button>
</div>
</div>
</div>
</template> </template>
<script> <script setup >
import {queryEnterpriseInfoList} from '../../api/enterprise' import {queryEnterpriseInfoList} from '../../api/enterprise'
import {queryRegistrationList} from "../../api/enforce"; import {queryRegistrationList} from "../../api/enforce";
import {getDict} from "../../api/Home"; import {getDict} from "../../api/Home";
export default { //路由参数
data() { const router = useRouter();
return { const isCheck = true;
isCheck: true, const checkCss = ref(1);
checkCss: 1, const reason = ref("企业拒绝出示二维码");
reason: "企业拒绝出示二维码", const enterpriseList = ref([]);
enterpriseList: [], const searchParam =reactive( {
searchParam: {
// 企业名称 // 企业名称
enterpriseName: "", enterpriseName: "",
params: {}, params: {},
// 分页 // 分页
pageNum: 1, pageNum: 1,
pageSize: 6, pageSize: 6,
}, })
dicts: [], const dicts = ref([]);
loading: false, const loading = ref(false);
finished: false, const finished = ref(false);
refreshing: false, const refreshing = ref(false);
curPage: 1, const curPage= ref(1);
} const columns= [];
}, const showPicker = ref(true)
props: {
const props = defineProps({
visible: { visible: {
type: Boolean, type: Boolean,
default: true default: false
},
enterpriseNumber: {
type: String,
default: false
}, },
content: { content: {
type: String, type: String,
default: '' default: ''
}
}, },
created() { lawEnforcementId: {
// this.queryList(); type: String,
this.queryDict(); default: ''
}, },
methods: { })
closePopup() { // props: {
// visible: {
// type: Boolean,
// default: true
// },
// content: {
// type: String,
// default: ''
// }
// }
// created() {
// // this.queryList();
// this.queryDict();
// },
onMounted(() =>{
queryDict();
})
const closePopup = () =>{
this.$emit('close'); this.$emit('close');
}, }
queryList() { const queryList =() =>{
this.searchParam.reason = this.checkCss; searchParam.reason = checkCss;
this.searchParam.pageNum = (this.curPage-1)*this.searchParam.pageSize; searchParam.pageNum = (curPage.value-1)*searchParam.pageSize;
queryEnterpriseInfoList(this.searchParam, success => { queryEnterpriseInfoList(searchParam, success => {
this.curPage++; curPage.value++;
this.loading = false; // 查出结果停止加载 loading.value = false; // 查出结果停止加载
if (success.total <= this.enterpriseList.length) { if (success.total <= enterpriseList.value.length) {
// 查到最后没数据 // 查到最后没数据
this.finished = true; finished.value = true;
return; return;
} }
// this.enterpriseList.push(...success.data); // this.enterpriseList.push(...success.data);
this.enterpriseList.push(...success.rows); enterpriseList.value.push(...success.rows);
}); });
}, }
search() { const search = () =>{
this.curPage = 1; curPage.value = 1;
this.enterpriseList = []; enterpriseList.value = [];
this.onRefresh(); onRefresh();
}, }
queryDict() { const queryDict = () => {
this.dicts = []; dicts.value = [];
getDict({"dictType":"no-scan-reason"}, success => { getDict({"dictType":"no-scan-reason"}, success => {
if (success.success) { if (success.success) {
this.dicts.push(...success.data); dicts.value.push(...success.data);
}
for (let index = 0; index < success.data.length; index++) {
const element = success.data[index];
console.log(element);
var obj = {
"text": element.dictLabel,
"value":element.dictValue
}
columns.push(obj);
} }
}); });
}, }
toDetail(item) { const toDetail = (item) =>{
this.$router.push({ router.push({
// path: "/sign", // path: "/sign",
path: "/enterpriseScanPreview", path: "/enterpriseScanPreview",
query: { query: {
reason: this.reason, reason: reason.value,
checkCss: this.checkCss, checkCss: checkCss.value,
enterpriseNumber: item.salt, enterpriseNumber: item.salt,
isNoScan: true, isNoScan: true,
} }
}); });
}, }
checkReason(val, key) { const checkReason = (val, key)=> {
this.reason = val; reason = val;
this.checkCss = key; checkCss = key;
}, }
closeReason() { const closeReason =() =>{
this.isCheck = false; isCheck = false;
}, }
cancel() { const cancel = () =>{
this.searchParam.enterpriseName = ''; searchParam.enterpriseName = '';
this.search() search()
}, }
// 返回 // 返回
goBack() { const goBack = () =>{
this.$router.go(-1); router.go(-1);
}, }
//下拉刷新 //下拉刷新
onRefresh() { const onRefresh =() => {
// 清空列表数据 // 清空列表数据
this.enterpriseList = []; enterpriseList.value = [];
this.finished = false; finished.value = false;
// 重新加载数据 // 重新加载数据
// 将 loading 设置为 true,表示处于加载状态 // 将 loading 设置为 true,表示处于加载状态
this.loading = true; loading.value = true;
this.onLoad(); onLoad();
}, }
// 触底加载 // 触底加载
onLoad() { const onLoad = () => {
let that = this;
setTimeout(() => { setTimeout(() => {
if (that.refreshing) { if (refreshing.value) {
that.refreshing = false; refreshing.value = false;
} }
that.queryList(); queryList();
}, 1000); }, 1000);
},
} }
const onConfirm = (item) =>{
showPicker.value = false;
var obj = item.selectedOptions[0];
reason.value = obj.text;
checkCss.value = obj.value;
console.log(item);
} }
</script> </script>
<style scoped> <style scoped>

11
src/views/enforce/scanQrCode.vue

@ -47,11 +47,16 @@
<!-- </refresh-list> --> <!-- </refresh-list> -->
</div> </div>
<!-- 底部 --> <!-- 底部 -->
<!-- <div class="footer_body"> <!-- <div class="footer_body">
<footer-nav></footer-nav> <footer-nav></footer-nav>
</div> --> </div> -->
</div> </div>
<!-- <van-popup v-model:show="data.showNoScanPicker" position="bottom">
<van-calendar v-model:show="data.showOperatingTermPicker" type="range"
:min-date="data.minDate" :max-date="data.maxDate" @confirm="onOperatingTermConfirm" />
</van-popup> -->
</template> </template>
@ -64,6 +69,8 @@
import {szyptGetToken} from "../../api/Home"; import {szyptGetToken} from "../../api/Home";
import wx from "weixin-js-sdk"; import wx from "weixin-js-sdk";
import noScan from '@/views/enforce/noScan.vue';
const {useCommon} = $globalStore; const {useCommon} = $globalStore;
const router = useRouter(); const router = useRouter();
let carouselList = reactive([]); // 轮播列表 let carouselList = reactive([]); // 轮播列表
@ -74,7 +81,9 @@
listLoading: false, // 是否加载中 listLoading: false, // 是否加载中
listFinished: false, // 是否加载完成标识 listFinished: false, // 是否加载完成标识
}); });
const data = reactive({}); const data = reactive({
showNoScanPicker: ref(false)
});
const boutiqueAttr = reactive({ const boutiqueAttr = reactive({
columnNum: 4, columnNum: 4,
itemClass: "boutique_item", itemClass: "boutique_item",

3
src/views/enforce/sign.vue

@ -166,7 +166,6 @@
type="time" type="time"
v-model="data.currentDate" v-model="data.currentDate"
@confirm="onConfirm" @confirm="onConfirm"
@cancel="data.showTimePicker = false"
/> />
<van-date-picker <van-date-picker
v-if="data.showBl" v-if="data.showBl"
@ -336,7 +335,7 @@
//统一信用码 //统一信用码
enterpriseNumber: "", enterpriseNumber: "",
//执法时间 //执法时间
enforcementTime: formattedTimeYYYYmmdd(new Date()), enforcementTime: formattedTime(new Date()),
//后台保存图片列表 //后台保存图片列表
fileList: [], fileList: [],
//vant组件上传照片列表 //vant组件上传照片列表

Loading…
Cancel
Save