Browse Source

修改不扫码弹窗,添加评价功能

v3
chenrui 2 years ago
parent
commit
8dde5215ac
  1. 2
      src/views/enforce/lawFilter.vue
  2. 2
      src/views/enforce/noScan.vue
  3. 168
      src/views/enforce/noScanFilter.vue
  4. 24
      src/views/enterprise/compaint/compaintDetailIndex.vue
  5. 110
      src/views/enterprise/compaint/compaintFlowView.vue
  6. 4
      src/views/enterprise/complaintList.vue
  7. 5
      src/views/enterprise/enterpriseInspectionDetail.vue
  8. 11
      src/views/enterprise/enterpriseInspectionList.vue

2
src/views/enforce/lawFilter.vue

@ -34,7 +34,7 @@
<script setup>
import {ref,defineEmits,getCurrentInstance } from 'vue';
import {queryEnforcementList} from '../../api/enterprise'
import {queryEnforcementList} from '@/api/enterprise'
import { defineProps } from 'vue'
const emits = defineEmits(['reciveData','close']);
const props = defineProps({

2
src/views/enforce/noScan.vue

@ -52,7 +52,7 @@
<script setup >
import {queryEnterpriseInfoList} from '../../api/enterprise'
import {queryRegistrationList} from "../../api/enforce";
import {getDict} from "../../api/Home";
import {getDict} from "@/api/Home";
//路由参数
const router = useRouter();

168
src/views/enforce/noScanFilter.vue

@ -14,12 +14,11 @@
<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'"
<!-- <span :class="checkCss==2?'item-btn active':'item-btn'" v-for="(item,index) in dicts" :key="index" @click="checkReason('网络/设备故障', 2)">网络/设备故障</span> -->
<!-- <span :class="checkCss==3?'item-btn active':'item-btn'"
@click="checkReason('其它', 3)">其它</span>
<span :class="checkCss==4?'item-btn active':'item-btn'"
@click="checkReason('补录', 3)">补录</span>
@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>
@ -38,10 +37,11 @@
<div class="search-result">
<van-pull-refresh v-model="refreshing" @refresh="onRefresh">
<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" @click="toDetail(item)">
<div class="case-title">{{ item.enterpriseName }}</div>
<!-- <div class="case-depart">{{ item.phonenumber }}</div>
<div class="case-time">{{ item.loginName }}</div> -->
</div>
</van-list>
</van-pull-refresh>
@ -50,14 +50,17 @@
</div>
</template>
<script>
import {ref} from 'vue'
<script setup>
import {ref,defineEmits,getCurrentInstance,defineProps } from 'vue';
// import {queryUsers} from '../../api/user'
import {queryEnterpriseInfoList} from '../../api/enterprise'
const {useCommon} = $globalStore
export default {
props: {
import {queryEnterpriseInfoList} from '@/api/enterprise'
import {getDict} from "@/api/Home";
const {useCommon} = $globalStore;
//子组件调用父组件方法
const emits = defineEmits(['reciveData','close']);
//路由参数
const router = useRouter();
const props = defineProps( {
visible: {
type: Boolean,
default: false
@ -66,95 +69,112 @@ export default {
type: String,
default: ''
},
},
data() {
return {
searchParam: {
})
const searchParam = reactive( {
//搜索框
enterpriseName: '',
// 分页
pageNum: 1,
pageSize: 6,
},
dataList: [],
loading: false,
finished: false,
refreshing: false,
curPage: 1,
}
},
created() {
},
watch: {
'searchParam.enterpriseName': {
handler: function (newValue, oldValue) {
// 当person对象的age属性变化时,这个函数会被调用
console.log(`age changed from ${oldValue} to ${newValue}`);
if (newValue.length > 0) {
// this.queryList();
} else {
this.dataList = [];
})
const dataList = [];
const loading = ref(false);
const finished = ref(false);
const refreshing = ref(false);
const curPage = ref(false);
const dicts = ref([]);
const reason = ref("");
const checkCss = ref(0);
// watch: {
// 'searchParam.enterpriseName': {
// handler: function (newValue, oldValue) {
// // 当person对象的age属性变化时,这个函数会被调用
// console.log(`age changed from ${oldValue} to ${newValue}`);
// if (newValue.length > 0) {
// // this.queryList();
// } else {
// this.dataList = [];
// }
// },
// }
// },
onMounted(() =>{
getDict({"dictType":"no-scan-reason"}, success => {
if (success.success) {
dicts.value.push(...success.data);
}
},
});
})
const closePopup = () =>{
emits('close');
}
},
methods: {
closePopup() {
this.$emit('close');
},
queryList() {
this.searchParam.pageNum = (this.curPage-1)*this.searchParam.pageSize;
queryEnterpriseInfoList(this.searchParam, success => {
this.curPage++;
this.loading = false; // 查出结果停止加载
if (success.total <= this.dataList.length) {
const queryList = () =>{
searchParam.pageNum = (curPage.value-1)*searchParam.pageSize;
queryEnterpriseInfoList(searchParam, success => {
curPage.value++;
loading.value = false; // 查出结果停止加载
if (success.total <= dataList.length) {
// 查到最后没数据
this.finished = true;
finished.value = true;
return;
}
// this.dataList = success.data
this.dataList.push(...success.rows);
dataList.push(...success.rows);
}, error => {
})
},
search() {
this.curPage = 1;
this.dataList = [];
this.onRefresh();
},
cancel() {
}
const search = () =>{
curPage.value = 1;
dataList = [];
onRefresh();
}
const cancel = () =>{
this.searchParam.enterpriseName = '';
this.search()
},
selectData(item) {
this.$emit("reciveData", item);
this.$emit('close');
},
}
const selectData = (item) =>{
emits("reciveData", item);
emits('close');
}
//下拉刷新
onRefresh() {
const onRefresh = () =>{
// 清空列表数据
this.enterpriseList = [];
this.finished = false;
enterpriseList = [];
finished.value = false;
// 重新加载数据
// 将 loading 设置为 true,表示处于加载状态
this.loading = true;
this.onLoad();
},
loading.value = true;
onLoad();
}
// 触底加载
onLoad() {
let that = this;
const onLoad = () =>{
setTimeout(() => {
if (that.refreshing) {
that.refreshing = false;
if (refreshing.value) {
refreshing.value = false;
}
that.queryList();
queryList();
}, 1000);
},
}
const checkReason = (val, key) =>{
reason.value = val;
checkCss.value = key;
}
const toDetail = (item) =>{
router.push({
// path: "/sign",
path: "/enterpriseScanPreview",
query: {
reason: reason.value,
checkCss: checkCss.value,
enterpriseNumber: item.salt,
isNoScan: true,
}
});
}
</script>
<style scoped>

24
src/views/enterprise/compaint/compaintDetailIndex.vue

@ -24,11 +24,11 @@
<van-tabs v-model:active="active" sticky @click-tab="onClickTab">
<van-tab v-for="(item, index) in data.list" :title="item.title">
<!-- 处置流程页面 -->
<div v-if="data.TabId == 0" style="height: calc(100vh - 1.5rem);">
<compaintFlowView isReg="0" :id="data.id" />
<div v-if="indexTab == 0" style="height: calc(100vh - 1.5rem);">
<compaintFlowView isReg="0" :id="data.id" :data="responData" />
</div>
<!-- 处置详情页面 -->
<div v-if="data.TabId == 1" style="height: calc(100vh - 1.5rem);">
<div v-if="indexTab == 1" style="height: calc(100vh - 1.5rem);">
<complaintDetailView isReg="0" :id="data.id" />
</div>
@ -44,16 +44,17 @@
<script setup name="complaintBase">
import compaintFlowView from '@/views/enterprise/compaint/compaintFlowView.vue';
import complaintDetailView from '@/views/enterprise/complaintDetailView.vue';
import {complaintInfoById} from '@/api/enterprise';
const {useCommon} = $globalStore;
//路由参数
const router = useRouter();
const route = useRoute();
const indexTab = ref(2)
const data = reactive({
id: ref(""),
status: 0,
TabId: 0,
TabId: ref(2),
list: [
{
title: '处置进度',
@ -66,6 +67,7 @@
],
});
const responData = reactive({});
const check = (index) => {
console.log("点击切换tab", index);
@ -74,16 +76,22 @@
const active = ref(0);
const onClickTab = ({ title }) => {
if(title == '处置进度'){
data.TabId = 0;
indexTab.value = 0;
}else{
data.TabId = 1;
indexTab.value = 1;
}
};
onMounted(() => {
// let id = route?.query?.id;
data.id = route?.query?.id;
console.log(route?.query?.id);
complaintInfoById({id:route?.query?.id},success =>{
console.log("====> : ", success)
responData.value = success.data;
console.log(responData.value);
indexTab.value = 0;
},error =>{})
})
</script>

110
src/views/enterprise/compaint/compaintFlowView.vue

@ -7,34 +7,68 @@
</div>
<div class="timbox">
<div class="timitem curtime" >
<h4 class="timtit">处置中</h4>
<div class="progress-box">
<div class="prolist"><label>处理部门:</label><span>深圳市司法局</span></div>
<div class="prolist"><label>处理意见:</label><span>请行政执法监督处跟进处理</span></div>
<div class="prolist"><label>处理时间:</label><span>12-06 11:15</span></div>
<!-- <h4 class="timtit" v-if="item.state == 20">处理中</h4>
<h4 class="timtit" v-if="item.state == 20">已处理</h4>
<h4 class="timtit" v-if="item.state == 20">已办结</h4> -->
<div class="progress-box" v-for="(item,index) in result" :key="index">
<div class="prolist"><label>处理部门:</label><span>{{ item.appOrgName }}</span></div>
<div class="prolist"><label>处理意见:</label><span>{{ item.approveContent }}</span></div>
<div class="prolist"><label>处理时间:</label><span>{{ item.approveTime }}</span></div>
</div>
<div class="progress-box">
<!-- <div class="progress-box">
<div class="prolist"><label>处理部门:</label><span>深圳市司法局</span></div>
<div class="prolist"><label>处理意见:</label><span>请行政执法监督处跟进处理</span></div>
<div class="prolist"><label>处理时间:</label><span>12-06 11:15</span></div>
</div> -->
</div>
</div>
<div class="timitem">
<!-- <div class="timitem">
<h4 class="timtit">已受理</h4>
</div> -->
</div>
</div>
</div>
</div>
</template>
<script setup>
import { onMounted } from 'vue';
import { defineProps } from 'vue'
const emits = defineEmits(['reciveData','close']);
//路由参数
const router = useRouter();
const route = useRoute();
const isShow = ref(false);
const props = defineProps({
data: Object
})
// const result = reactive({
// appOrgName:"",
// approveContent:"",
// approveTime:"",
// approveUserName:"",
// operName:""
// })
//存储民生诉求处置流程
const result = ref([]);
onMounted(() =>{
console.log(props?.data?.mssqOrderFlows)
console.log(props?.data)
console.log(props?.data?.value)
const arrData = props?.data?.value?.mssqOrderFlows;
console.log(arrData)
for (let index = 0; index < arrData.length; index++) {
const element = arrData[index];
const obj = {
appOrgName: element.appOrgName,
approveContent: element.approveContent,
approveTime: element.approveTime,
approveUserName: element.approveUserName,
operName: element.operName
}
result.value.push(obj)
}
console.log(result)
})
</script>
<style lang="less" scoped>
.address_edit {
display: flex;
@ -103,10 +137,10 @@
content: '';
width: 0.01rem;
height: 92%;
background-color: rgb(155, 155, 155);
/*background-color: rgb(155, 155, 155);*/
}
.timitem:last-child::before {
/*.timitem:last-child::before {
height: 0;
background-color: rgb(155, 155, 155);
}
@ -122,11 +156,11 @@
height: 0.35rem;
border-radius: 0.5rem;
background-color: rgb(155, 155, 155);
}
}*/
.curtime.timitem::after, .curtime.timitem::before {
/*.curtime.timitem::after, .curtime.timitem::before {
background-color: #1367fe;
}
}*/
.timtit {
display: inline-block;
@ -152,11 +186,27 @@
line-height: 1.75;
}
.progress-box::before {
position: absolute;
z-index: 10;
left: -0.17rem;
top: 0.1rem;
content: '';
width: 0.01rem;
height: 100%;
background-color: rgb(155, 155, 155);
}
.progress-box:last-child::before {
height: 0;
background-color: rgb(155, 155, 155);
}
.progress-box::after {
position: absolute;
z-index: 10;
left: -0.37rem;
top: 0.15rem;
top: 0.1rem;
content: '';
width: 0.25rem;
height: 0.25rem;
@ -165,6 +215,18 @@
background-color: rgb(155 155 155);
}
.progress-box:first-child::after {
left: -0.44rem;
width: 0.35rem;
height: 0.35rem;
background-color: #1367fe;
}
.curtime.tprogressimitem::after, .curtime.progress::before {
background-color: #1367fe;
}
.prolist label {
display: inline-block;
margin-right: 0.1rem;

4
src/views/enterprise/complaintList.vue

@ -63,8 +63,8 @@
<div class="card_box_span">
<p>投诉时间:{{ item.createTime }} <span class="card_box_action">
</span></p>
<span class="state-text" v-if="item.status == 0">受理中</span>
<span class="state-text" v-if="item.status >= 1">已受理</span>
<span class="state-text" v-if="item.status == 0">处理中</span>
<span class="state-text" v-if="item.status >= 1">已处理</span>
<span class="state-text" v-if="item.status >= 2">已办结</span>
</div>

5
src/views/enterprise/enterpriseInspectionDetail.vue

@ -210,6 +210,11 @@ onMounted(() =>{
submitData.linkMan = success.data.linkMan;
submitData.linkTel = success.data.linkTel;
submitData.checkTime = formattedTimeYYYYmmdd(success.data.checkTime);
if(success.data.checkTimeOrder == 1){
submitData.checkTime = submitData.checkTime + " 上午 9:00~12:00";
}else{
submitData.checkTime = submitData.checkTime + " 下午 14:00~17:00";
}
submitData.remark = success.data.remark;
submitData.isReg = success.data.isReg;
submitData.status = success.data.status;

11
src/views/enterprise/enterpriseInspectionList.vue

@ -70,12 +70,12 @@
<van-swipe-cell class="swipe_cell">
<div class="card_box">
<div class="card_box_span">
<p>检查时间:{{ formattedTimeYYYYmmdd(item.checkTime) }}
<span class="times" v-if="item.checkTimeOrder == 1" >
上午 9:00~12:00
<p>执法时间:{{ formattedTimeYYYYmmdd(item.checkTime) }}
<span v-if="item.checkTimeOrder == 1" >
&nbsp;上午 9:00~12:00
</span>
<span class="times" v-if="item.checkTimeOrder == 2">
下午 14:00~17:00
<span v-if="item.checkTimeOrder == 2">
&nbsp; 下午 14:00~17:00
</span>
</p>
</div>
@ -537,7 +537,6 @@
}
.card-title p {
display: block !important;
color: #000;
font-size: 0.40rem;
font-weight: bold;

Loading…
Cancel
Save