From 3f14c8d4a6a8a8bdeced78998bd0cce1de6f06a6 Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Wed, 10 Apr 2024 18:54:19 +0800
Subject: [PATCH] 无诈上报
---
pages/login/login-account.vue | 4
static/zhangguangsen-search/zhangguangsen-search.woff2 | 0
subPackage/workbench/views/checkDetail.vue | 5
static/zhangguangsen-search/zhangguangsen-search.woff | 0
subPackage/workbench/views/counterfraudReportDetail.vue | 401 ++++++++++++++
components/pages/index/index.vue | 33 +
static/zhangguangsen-search/zhangguangsen-search.ttf | 0
pages.json | 28 +
api/counterfraud/counterfraud.js | 29 +
api/system/index.js | 10
changelog.md | 10
subPackage/label/check.vue | 5
subPackage/workbench/views/selfCheckDetail.vue | 5
subPackage/counterfraud/addReport.vue | 576 +++++++++++++++++++++
/dev/null | 0
subPackage/counterfraud/reportRecord.vue | 105 +++
subPackage/workbench/views/checkReform3.vue | 5
pages/home/index.vue | 39 +
subPackage/workbench/views/checkReform.vue | 5
components/zhangguangsen-search/zhangguangsen-search.vue | 247 +++++++++
subPackage/workbench/views/cscj.vue | 51 +
pages/home/index.scss | 44 +
subPackage/house/houseNumber/siteInspect.vue | 5
23 files changed, 1,592 insertions(+), 15 deletions(-)
diff --git a/api/counterfraud/counterfraud.js b/api/counterfraud/counterfraud.js
index b669ac8..671e5a9 100644
--- a/api/counterfraud/counterfraud.js
+++ b/api/counterfraud/counterfraud.js
@@ -61,4 +61,33 @@
...params
}
})
+}
+
+//无诈上报
+export const addCounterfraudReport = (params) => {
+ return http.request({
+ url: '/blade-taskNoFraudReporting/taskNoFraudReporting/saveTwo',
+ method: 'POST',
+ data: params
+ })
+}
+//无诈上报列表
+export const getCounterfraudReportList = (params) => {
+ return http.request({
+ url: '/blade-taskNoFraudReporting/taskNoFraudReporting/page',
+ method: 'get',
+ params: {
+ ...params
+ }
+ })
+}
+//无诈上报详情
+export const getCounterfraudReportDetail = (params) => {
+ return http.request({
+ url: '/blade-taskNoFraudReporting/taskNoFraudReporting/getInfo',
+ method: 'get',
+ params: {
+ ...params
+ }
+ })
}
\ No newline at end of file
diff --git a/api/system/index.js b/api/system/index.js
index 119fe97..0ce77f2 100644
--- a/api/system/index.js
+++ b/api/system/index.js
@@ -42,4 +42,14 @@
...params
}
})
+}
+
+export const searchContent = (params) => {
+ return http.request({
+ url: '/es/es/page',
+ method: 'get',
+ params: {
+ ...params
+ }
+ })
}
\ No newline at end of file
diff --git a/changelog.md b/changelog.md
new file mode 100644
index 0000000..7957ed4
--- /dev/null
+++ b/changelog.md
@@ -0,0 +1,10 @@
+## 1.0.1(2023-04-21)
+1. 功能自测
+2. 优化组件逻辑,方便父子组件传值
+3. 增加DEMO:/components/pages/index
+4. 增加完整说明文档 +案例
+## 1.0.0(2023-04-20)
+1. 增加搜索页面
+2. 输入关键词,下拉列表展示搜索结果
+3. 类似百度搜索,搜索关键词变红
+4. 引入阿里图标库,节省存储空间
\ No newline at end of file
diff --git a/components/pages/index/index.vue b/components/pages/index/index.vue
new file mode 100644
index 0000000..160bc12
--- /dev/null
+++ b/components/pages/index/index.vue
@@ -0,0 +1,33 @@
+<template>
+ <view>
+ <zhangguangsen-search :hotList="hotList" :searchList="searchList" @onInput="onInput" @onSearchConfirm="onSearchConfirm"></zhangguangsen-search>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ hotList:['aa','bb','cc','dd','测试一个超产的龙欧索','aa','bb','cc','dd','测试一个超产的龙欧索'],
+ searchList:[]
+ }
+ },
+ mounted(){
+ },
+ methods: {
+ onInput(val){
+ console.log('**input',val)
+ //模拟后端返回数据,根据val调用接口
+ setTimeout(()=>{
+ this.searchList = ['aabacd','bb','cc','dd','测试一个超产的龙欧索','aa',Math.random()]//这里模拟 axios 返回的数据
+ },2000)
+ },
+ onSearchConfirm(searchVal){
+ console.log('搜索词',searchVal)
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+</style>
diff --git a/components/zhangguangsen-search/zhangguangsen-search.vue b/components/zhangguangsen-search/zhangguangsen-search.vue
new file mode 100644
index 0000000..68d09cb
--- /dev/null
+++ b/components/zhangguangsen-search/zhangguangsen-search.vue
@@ -0,0 +1,247 @@
+<template>
+ <view class="search">
+ <view class="search-head">
+ <view class="head-icon__search iconfont icon-sousuo1"></view>
+ <view class="head-input__search">
+ <input v-model="val" :focus="true" :adjustPosition="false" placeholder="请输入配件名称" placeholder-class="head-input__placeholder" confirmType="搜索" :confirmHold="false" @input="handleInput" @click="handleClick" @confirm="handleConfirm"/>
+ <button @click="handleConfirm">搜索</button>
+ </view>
+ </view>
+ <view class="hotSearch">
+ <view class="hotSearch-head">
+ <view class="hotSearch-icon__hot iconfont icon-remensousuo"></view>
+ <text class="hotSearch-text__hot">
+ 热门搜索
+ </text>
+ </view>
+ <view class="hotSearch-list">
+ <view class="hotSearch-li" v-for="(item,index) in hotList" :key="index" @click="handleConfirm(item)">
+ {{item}}
+ </view>
+ </view>
+ </view>
+ <view v-show="showPop">
+ <view class="pop-search__list">
+ <view class="pop-search__li" v-for="(item,index) in formatSearchList" :key="index" @click="handleConfirm(item)">
+ <text v-for="(titem,tindex) in item" :key="tindex" :class="titem.key ? 'active' : ''">{{titem.str}}</text>
+ </view>
+ </view>
+ <view class="pop-search__mask" @click="showPop=false"></view>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ props:{
+ hotList:{
+ type:Array
+ },
+ searchList:{
+ type:Array
+ }
+ },
+ watch:{
+ searchList:{
+ handler(searchList){
+ uni.hideLoading();
+ console.log('watch',searchList)
+ if(searchList.length>0 && this.val){
+ this.formatSearchList = searchList.map(item=>this.hilight_word(this.val, item))
+ }
+ },
+ deep:true
+ }
+ },
+ data() {
+ return {
+ val:'',
+ showPop:false,
+ formatSearchList:[]
+ }
+ },
+ mounted(){
+ },
+ methods: {
+ handleConfirm(val){
+ let searchVal = val
+ if(Array.isArray((val))){
+ searchVal = val.map(({str})=>str).join('')
+ }else if(val instanceof Object){
+ searchVal = this.val
+ }
+ this.$emit('onSearchConfirm',searchVal)
+ },
+ handleClick(){
+ this.showPop = !!this.val
+ },
+ handleInput(e){
+ this.showPop = !!this.val
+ if(!this.val) {
+ return
+ }
+ uni.showLoading({
+ title: '加载中'
+ });
+ setTimeout(()=>uni.hideLoading(),3000)
+ this.$emit('onInput',this.val)
+ },
+ // 根据搜索字分割字符
+ hilight_word: function (key, word) {
+ key=key.trim()
+ word=''+word
+ let idx = word.indexOf(key), t = [];
+
+ if (idx > -1) {
+ if (idx == 0) {
+ t =this.hilight_word(key, word.substr(key.length));
+ t.unshift({ key: true, str: key });
+ return t;
+ }
+
+ if (idx > 0) {
+ t =this.hilight_word(key, word.substr(idx));
+ t.unshift({ key: false, str: word.substring(0, idx) });
+ return t;
+ }
+ }
+ return [{ key: false, str: word }];
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+@font-face {
+ font-family: "iconfont"; /* Project id 3928599 */
+ src: url('@/static/zhangguangsen-search/zhangguangsen-search.woff2?t=1681960188787') format('woff2'),
+ url('@/static/zhangguangsen-search/zhangguangsen-search.woff?t=1681960188787') format('woff'),
+ url('@/static/zhangguangsen-search/zhangguangsen-search.ttf?t=1681960188787') format('truetype');
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-remensousuo:before {
+ content: "\e73d";
+}
+
+.icon-sousuo1:before {
+ content: "\e61c";
+}
+
+.search{
+ background-color: #fff;
+ overflow: hidden;
+ &-head{
+ display: flex;
+ align-items: center;
+ padding:0 10rpx 0 47rpx;
+ margin:30rpx 30rpx 0;
+ height: 70rpx;
+ background: #F5F5F5;
+ border-radius: 35rpx;
+ .head-icon__search{
+ font-size: 30rpx;
+ color: #231815;
+ }
+ .head-input__search{
+ display: flex;
+ align-items: center;
+ flex: 1;
+ input{
+ margin-left: 15rpx;
+ border: none;
+ height: 29rpx;
+ font-size: 30rpx;
+ font-weight: 400;
+ color: #AAAAAA;
+ line-height: 28rpx;
+ flex:1;
+ }
+ button{
+ width: 128rpx;
+ height: 53rpx;
+ background: linear-gradient(0deg, #0AA0F5, #00E3F2);
+ border-radius: 30rpx;
+ font-size: 28rpx;
+ font-weight: 500;
+ color: #FFFFFF;
+ line-height: 42rpx;
+ }
+ .head-input__placeholder{
+ color: #AAAAAA;
+ }
+ }
+ }
+ .hotSearch{
+ margin-top: 30rpx;
+ &-head{
+ display: flex;
+ align-items: center;
+ padding:0 0 0 30rpx;
+ }
+ &-icon__hot{
+ margin-left: 10rpx;
+ font-size: 30rpx;
+ color: rgb(255,43,57);
+ }
+ &-text__hot{
+ margin-left: 10rpx;
+ font-size: 30rpx;
+ color: #999999;
+ }
+ &-list{
+ padding: 20rpx 0 50rpx 30rpx;
+ display: flex;
+ flex-wrap: wrap;
+ }
+ &-li{
+ margin: 10rpx 0 0 10rpx;
+ padding: 0 20rpx;
+ border-radius: 20rpx;
+ background: #f2f2f2;
+ line-height: 50rpx;
+ &:first-child{
+ margin-left: 0;
+ }
+ }
+ }
+}
+.pop{
+ &-search{
+ &__mask{
+ position: fixed;
+ top: 100rpx;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ background-color: rgba(0, 0,0,.3);
+ z-index: 1;
+ }
+ &__list{
+ padding:0 30rpx;
+ position: fixed;
+ top: 100rpx;
+ left: 0;
+ right: 0;
+ background-color: #fff;
+ z-index: 9;
+ }
+ &__li{
+ font-size: 30rpx;
+ color: #231815;
+ line-height: 90rpx;
+ border-bottom: solid 1px #F5F5F5;
+ .active{
+ color: red;
+ }
+ }
+ }
+}
+</style>
diff --git a/pages.json b/pages.json
index 1ba6e68..3a7ef27 100644
--- a/pages.json
+++ b/pages.json
@@ -698,7 +698,17 @@
"navigationBarBackgroundColor": "#fff",
"navigationBarTextStyle": "black"
}
+ },
+ {
+ "path": "views/counterfraudReportDetail",
+ "style": {
+ "navigationBarTitleText": "无诈上报详情",
+ "enablePullDownRefresh": false,
+ "navigationBarBackgroundColor": "#fff",
+ "navigationBarTextStyle": "black"
+ }
}
+
]
},
//报事
@@ -1113,6 +1123,24 @@
"navigationBarTextStyle": "black",
"enablePullDownRefresh": false
}
+ },
+ {
+ "path": "addReport",
+ "style": {
+ "navigationBarTitleText": "无诈上报",
+ "navigationBarBackgroundColor": "#fff",
+ "navigationBarTextStyle": "black",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "reportRecord",
+ "style": {
+ "navigationBarTitleText": "无诈上报记录",
+ "navigationBarBackgroundColor": "#fff",
+ "navigationBarTextStyle": "black",
+ "enablePullDownRefresh": false
+ }
}
]
},
diff --git a/pages/home/index.scss b/pages/home/index.scss
index b4efbaf..6a15705 100644
--- a/pages/home/index.scss
+++ b/pages/home/index.scss
@@ -29,6 +29,50 @@
padding: 0 30rpx;
box-sizing: border-box;
}
+
+ .search-bar{
+ padding:20rpx 30rpx;
+ position: relative;
+ width:100%;
+ box-sizing: border-box;
+ }
+ .search-content{
+ position: absolute;
+ width: 100%;
+ height:500rpx;
+ border-radius:16rpx;
+ top:88rpx;
+ left:0;
+ z-index: 15;
+ box-shadow: 0rpx 10rpx 10rpx 0rpx rgba(0, 0, 0, 0.02);
+ border-bottom:1px solid #f5f5f5;
+ padding:0 30rpx;
+ box-sizing: border-box;
+ }
+ .search-scroll{
+ width:100%;
+ height:100%;
+ }
+ .search-content-row{
+ padding:20rpx 0;
+ border-bottom: 1px solid #f5f5f5;
+ }
+ .search-tag{
+ padding:2rpx 10rpx;
+ border-radius: 8rpx;
+ background-color: rgb(236,244,255);
+ border:1px solid currentColor;
+ }
+ .mask{
+ position: fixed;
+ width:100%;
+ height:100%;
+ top:300rpx;
+ left:0;
+ z-index: 10;
+ background-color:rgba(0, 0, 0, .5);
+ }
+
.content {
padding: 20rpx 30rpx 0;
diff --git a/pages/home/index.vue b/pages/home/index.vue
index 49c9c2a..ba9192f 100644
--- a/pages/home/index.vue
+++ b/pages/home/index.vue
@@ -8,6 +8,21 @@
<u-icon name="arrow-right" color="#fff"></u-icon>
</view>
</u-navbar>
+
+ <!-- <view class="search-bar" :style="{background:background.top}">
+ <u-search placeholder="请输入关键字" v-model="keyword" :showAction="true" actionText="搜索" :animation="true"
+ :actionStyle="{color:'#fff'}" bgColor="#fff" @change="changeKeyword"></u-search>
+ <view class="mask"></view>
+ <view class="search-content bgc-ff">
+ <scroll-view class="search-scroll" :scroll-y="true">
+ <view class="search-content-row flex j-c-s-b a-i-c" v-for="i in 5">
+ <text class="f-28">万达华府</text>
+ <view class="search-tag f-26 c-main">房屋</view>
+ </view>
+ </scroll-view>
+ </view>
+ </view> -->
+
<view class="swiper" :style="{background:background.banner}">
<u-swiper :list="bannerList" height="320rpx" radius="10" @click="navToArticle"></u-swiper>
</view>
@@ -189,6 +204,13 @@
<text class="nav-item-text f-26 mt-10">消防自查</text>
</view>
</u-grid-item>
+ <u-grid-item @click="navigatorPage('/subPackage/counterfraud/addReport')"
+ v-if="curSelectSite.noExplosionCategory">
+ <view class="nav-item flex f-d-c a-i-c">
+ <u-icon name="/static/icon/nav-11.png" width="80rpx" height="80rpx"></u-icon>
+ <text class="nav-item-text f-26 mt-10">无诈上报</text>
+ </view>
+ </u-grid-item>
</block>
<block v-if="tabIndex == 2">
<u-grid-item @click="navToSiteList()">
@@ -316,7 +338,8 @@
import {
getBannerList,
getContact,
- getQrCodeDetail
+ getQrCodeDetail,
+ searchContent
} from "@/api/system/index"
import {
minioBaseUrl
@@ -647,8 +670,8 @@
top: "#017BFC",
banner: "linear-gradient(180deg, #017BFC 0%, rgba(1, 123, 252, 0) 100%)"
},
- tabList: []
-
+ tabList: [],
+ keyword: ""
}
},
@@ -760,6 +783,16 @@
// });
// },
+ changeKeyword(val) {
+
+ searchContent({
+ searchKey: val
+ }).then(res => {
+ console.log(res)
+ })
+ },
+
+
//获取待办事项数量
getTaskCount() {
if (uni.getStorageSync('activeRole').roleAlias === 'wgy') {
diff --git a/pages/home/index2.vue b/pages/home/index2.vue
deleted file mode 100644
index e3bb403..0000000
--- a/pages/home/index2.vue
+++ /dev/null
@@ -1,855 +0,0 @@
-<template>
- <view class="">
- <u-navbar height="48" :autoBack="false" safeAreaInsetTop placeholder
- @leftClick="selectBoxShow = !selectBoxShow">
- <view slot="left" class="top flex">
- <view class="top-text f-30 fw">{{curSelectSite.name?curSelectSite.name:'暂无绑定' +roleTypeName+'信息'}}
- </view>
- <u-icon name="/static/icon/change-icon.png"></u-icon>
- </view>
- </u-navbar>
- <view class="content">
- <view class="swiper mb-30">
- <u-swiper :list="swiperList" height="260rpx"></u-swiper>
- </view>
- <view class="" v-if="roleType != 1">
- <u-grid :border="false" :col="liveList.length">
- <!-- <u-grid-item v-for="(i,k) in cellList" :key="k" @click.native="toPage(i)">
- <u-icon :name="i.icon" :size="45"></u-icon>
- <text class="f-26 mt-20">{{i.text}}</text>
- </u-grid-item>
- <u-grid-item @click.native="navigatorPage('/subPackage/bs/views/repair')"
- v-if="curSelectSite.addressType != 2">
- <u-icon name="/static/icon/nav-02.png" width="90rpx" height="90rpx"></u-icon>
- <text class="f-26 mt-20">报事报修</text>
- </u-grid-item>
- <u-grid-item @click.native="navTo()" v-if="curSelectSite.addressType != 2">
- <u-icon name="/static/icon/nav-04.png" width="90rpx" height="90rpx"></u-icon>
- <text class="f-26 mt-20">租客上报</text>
- </u-grid-item> -->
- <u-grid-item @click.native="navigatorPage(i.path)" v-for="(i,k) in liveList" :key="k">
- <u-icon :name="i.pictureImg" width="90rpx" height="90rpx"></u-icon>
- <text class="f-26 mt-20">{{i.name}}</text>
- </u-grid-item>
-
- </u-grid>
-
- <view class="section flex j-c-s-b mt-40">
- <view class="section-item" v-for="(i,k) in navList" :key="k">
- <image class="section-item-bg" :src="i.bgImg" mode="aspectFill"></image>
- <view class="item-box">
- <view class="f-28">{{i.title}}</view>
- <view class="flex j-c-s-b">
- <text class="f-22">{{i.name}}</text>
- <u-icon :name="i.icon"></u-icon>
- </view>
- </view>
- </view>
- </view>
- </view>
-
- <view class="block flex a-i-c j-c-s-b" v-if="roleType == 1">
- <view @click="scan" class="block-item">
- <image class="block-item-bg" src="/static/icon/nav-bg-04.png" mode="aspectFill" />
- <view class="block-item-box flex a-i-c ">
- <u-icon name="/static/icon/nav-05.png" width="90rpx" height="90rpx"></u-icon>
- <view class="item-text flex f-d-c j-c-s-b">
- <text class="f-32 fw">扫一扫</text>
- <text class="f-26 opacity">场所采集</text>
- </view>
- </view>
- </view>
-
- <view class="block-item" @click="navigatorPage('/subPackage/user/clockIn/index')">
- <image class="block-item-bg" src="/static/icon/nav-bg-05.png" mode="aspectFill" />
- <view class="block-item-box flex a-i-c">
- <u-icon name="/static/icon/nav-06.png" width="90rpx" height="90rpx"></u-icon>
- <view class="item-text flex f-d-c j-c-s-b">
- <text class="f-32 fw">打卡登记</text>
- <text class="f-26 opacity">在线打卡</text>
- </view>
- </view>
- </view>
- </view>
-
- <view class="" v-if="isShowHouse">
- <view class="caption">
- <view class="flex a-i-c">
- <view class="line"></view>
- <text class="f-32 fw">楼盘表</text>
- </view>
- </view>
- <view class="flex flex-wrap">
- <view class="cell bgc-main flex a-i-c" v-for="(item, index) in houseDataList.slice(0, 6)"
- @click.native="pushPage(item)" :key="index">
- <u-icon name="/static/icon/floor.png" width="32rpx" height="32rpx"></u-icon>
- <text class="cell-text f-26 c-ff">{{item.title}}</text>
- </view>
- </view>
- </view>
-
- <view class="" v-if="roleType == 1 || (roleType == 2 && curSelectSite.addressType == 2)">
- <view class="caption">
- <view class="flex a-i-c">
- <view class="line"></view>
- <text class="f-32 fw">工作台</text>
- </view>
- </view>
- <u-grid :border="false" col="4" v-if="roleType == 2 && curSelectSite.addressType == 2">
- <u-grid-item @click="navigatorPage('/subPackage/workbench/views/editExamine')"
- :customStyle="{paddingTop:20+'rpx'}">
- <view class="grid-item flex f-d-c a-i-c"
- style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
- <u-icon name="/static/icon/menu-05.png" width="60rpx" height="60rpx"></u-icon>
- <text class="grid-text f-24 fw mt-10">场所维护</text>
- </view>
- </u-grid-item>
- </u-grid>
- <u-grid :border="false" col="4" v-if="roleType == 1">
- <u-grid-item @click="navigatorPage(item.path)" v-for="(item, index) in jobList" :index="index"
- :key="index" :customStyle="{paddingTop:20+'rpx'}">
- <view class="grid-item flex f-d-c a-i-c" :style="{background:item.style.background}">
- <u-icon :name="item.icon" width="60rpx" height="60rpx"></u-icon>
- <text class="grid-text f-24 fw mt-10">{{item.text}}</text>
- </view>
- </u-grid-item>
- </u-grid>
- </view>
-
- <view class="mt-40" v-if="false">
- <view class="caption">
- <view class="flex a-i-c">
- <view class="line"></view>
- <text class="f-32 fw">我的任务</text>
- </view>
- </view>
- <view class="row flex j-c-s-b">
- <view class="row-item flex_base" @click="navigatorPage(`/subPackage/workbench/views/audit?type=1`)">
- <u-icon name="/static/icon/nav-07.png" width="90rpx" height="90rpx"></u-icon>
- <view class="flex f-d-c fw ml-20">
- <text class="f-28">一次性</text>
- <text class="f-36 c-main">{{frequencyNumber.disposable}}</text>
- </view>
- </view>
- <view class="row-item flex_base" @click="navigatorPage(`/subPackage/workbench/views/audit?type=2`)">
- <u-icon name="/static/icon/nav-08.png" width="90rpx" height="90rpx"></u-icon>
- <view class="flex f-d-c fw ml-20">
- <text class="f-28">周期性</text>
- <text class="f-36" style="color:#FD7F19">{{frequencyNumber.periodicity}}</text>
- </view>
- </view>
- </view>
-
- <u-cell-group>
- <u-cell :icon="i.icon" :iconStyle="{width:'40rpx',height:'40rpx',marginRight:'18rpx'}"
- :title="i.title" v-for="i in taskList" :value="i.status"></u-cell>
- </u-cell-group>
- </view>
-
- <view class="notic" v-if="roleType == 2 && curSelectSite.addressType != 2">
- <view class="caption flex a-i-c j-c-s-b" @click="navigatorPage('/subPackage/article/list')">
- <view class="flex a-i-c">
- <view class="line"></view>
- <text class="f-32 fw">通知公告</text>
- </view>
- <u-icon name="arrow-right"></u-icon>
- </view>
- <notice-list :data="notice" />
- </view>
-
- <u-picker :title="roleTypeName" :defaultIndex="selectSiteIndex" :closeOnClickOverlay="true"
- @close="selectBoxShow = false" :show="selectBoxShow" keyName="name" ref="uPicker" :columns="siteColumns"
- @confirm="confirmSite" @change="changeSite" @cancel="selectBoxShow = false"></u-picker>
- </view>
-
- </view>
-</template>
-
-<script>
- import {
- getFuncList,
- getHouseList
- } from "@/api/doorplateAddress/doorplateAddress";
-
- import {
- getPage
- } from "@/api/article/article";
- import {
- getCountFrequencyNumber,
- getCountTypeNumber
- } from "@/api/task/task";
-
- import { getBannerList } from "@/api/system/index"
- import { uploadUrl } from "@/common/setting"
- import noticeList from "@/components/noticeList/noticeList";
-
-
- export default {
- components:{
- noticeList
- },
- data() {
- return {
- swiperList: [
- 'http://220.176.210.217:9000/jczz/upload/20231111/cc093afc5e21639ef5b251eb865c24f4.png',
- 'http://220.176.210.217:9000/jczz/upload/20231111/cc093afc5e21639ef5b251eb865c24f4.png',
- 'http://220.176.210.217:9000/jczz/upload/20231111/cc093afc5e21639ef5b251eb865c24f4.png'
- ],
- cellList: [
- {
- icon: "/static/icon/nav-01.png",
- text: "标签报事",
- path: '/subPackage/label/index'
- },
- {
- icon: "/static/icon/nav-02.png",
- text: "报事报修",
- path: '/subPackage/bs/views/repair'
- },
- {
- icon: "/static/icon/nav-03.png",
- text: "便民热线",
- path: '/subPackage/hotLine/index'
- },
- ],
- navList: [{
- title: "物业",
- name: "张三",
- icon: "/static/icon/tel-green.png",
- bgImg: "/static/icon/nav-bg-01.png"
- },
- {
- title: "综治网格",
- name: "张三",
- icon: "/static/icon/tel-orange.png",
- bgImg: "/static/icon/nav-bg-02.png"
- },
- {
- title: "公安网格",
- name: "张三",
- icon: "/static/icon/tel-blue.png",
- bgImg: "/static/icon/nav-bg-03.png"
- },
- ],
- jobList: [{
- icon: "/static/icon/menu-01.png",
- text: "场所记录",
- style: {
- background: 'linear-gradient(133deg, #FFFCF9 0%, rgba(255,252,249,0) 100%)',
- },
- path: "/subPackage/workbench/views/csjl"
- },
- {
- icon: "/static/icon/menu-02.png",
- text: "场所采集",
- style: {
- background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)',
- },
- path: "/subPackage/workbench/views/cscj"
- },
- {
- icon: "/static/icon/menu-03.png",
- text: "出租房管理",
- style: {
- background: 'linear-gradient(131deg, #FCF8FF 0%, rgba(252,248,255,0) 100%)',
- },
- path: "/subPackage/workbench/views/rental"
- },
- {
- icon: "/static/icon/menu-04.png",
- text: "标签事件",
- style: {
- background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)',
- },
- path: "/subPackage/workbench/views/audit"
- },
- {
- icon: "/static/icon/menu-05.png",
- text: "场所维护",
- style: {
- background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)',
- },
- path: "/subPackage/workbench/views/cshw"
- },
- {
- icon: "/static/icon/menu-06.png",
- text: "报事审核",
- style: {
- background: 'linear-gradient(137deg, #FFF4F3 0%, rgba(255,244,243,0) 100%)',
- },
- path: "/subPackage/workbench/views/report"
- },
- {
- icon: "/static/icon/menu-10.png",
- text: "我的任务",
- style: {
- background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)'
- },
- path: "/subPackage/task/index"
- },
- {
- icon: "/static/icon/menu-02.png",
- text: "工作日志",
- style: {
- background: 'linear-gradient(131deg, #FCF8FF 0%, rgba(252,248,255,0) 100%)'
- },
- path: "/subPackage/workbench/views/workLog"
- },
- {
- icon: "/static/icon/menu-02.png",
- text: "网格巡查",
- style: {
- background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)'
- },
- path: "/subPackage/workbench/views/patrol"
- },
- // {
- // icon: "/static/icon/menu-07.png",
- // text: "校园安全",
- // style: {
- // background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)',
- // }
- // },
- // {
- // icon: "/static/icon/menu-08.png",
- // text: "旅馆安全",
- // style: {
- // background: 'linear-gradient(131deg, #FCF8FF 0%, rgba(252,248,255,0) 100%)',
- // }
- // },
- // {
- // icon: "/static/icon/menu-09.png",
- // text: "取保候审",
- // style: {
- // background: 'linear-gradient(137deg, #FFF4F3 0%, rgba(255,244,243,0) 100%)',
- // }
- // }
- ],
- taskList: [{
- icon: "/static/icon/cell-01.png",
- title: "综治任务",
- status: "待处理0"
- },
- {
- icon: "/static/icon/cell-02.png",
- title: "住建任务",
- status: "待处理0"
- },
- {
- icon: "/static/icon/cell-03.png",
- title: "公安任务",
- status: "待处理0"
- }
- ],
- roleType: 2, // 1网格员/系统管理员 、 2居民
- roleTypeName: "街道社区网格",
- selectBoxShow: false,
- siteColumns: [],
- curSelectSite: {},
- columnData: [],
- houseDataList: [{
- title: '-',
- useSlot: true
- }],
- menuList: [],
- curHouseCode: '',
- notice: [],
- frequencyNumber: {},
- typeNumber: {},
- selectSiteIndex: [0, 0],
- liveList:[], //生活菜单
- contactList:[], //便民服务联系方式
- isShowHouse:false, //显示楼盘表
- isShowNotice:false //显示通知公告
-
- }
- },
-
- onLoad() {
- this.getBanner();
- this.init()
- uni.$on('refresh', () => {
- this.selectSiteIndex = [0, 0]
- this.init()
- })
- },
- computed: {
- hasMenu() {
- return (name) => {
- let resultArr = this.getMenu(name,this.menuList)
- if (resultArr.length) {
- return resultArr
- } else {
- return []
- }
- }
- }
- },
-
- watch: {
- 'curSelectSite.id': {
- handler(newVal, oldVal) {
- console.log(newVal)
- if (newVal) {
- this.$store.commit("setSiteInfo", this.curSelectSite)
- }
- },
- deep: true,
- immediate: true
- },
-
- 'curSelectSite.addressType':{
- handler(newVal,oldVal){
- if(newVal){
- this.$store.dispatch("getMenuList").then(res=>{
- this.getMenuList();
- });
- }
- },
- deep: true,
- immediate: true
- }
- },
-
- methods: {
-
- //初始化
- init() {
- this.curSelectSite = {}
-
- this.selectRole = uni.getStorageSync("activeRole")
- this.getMenuList()
- this.getSiteList()
- this.getNoticeList()
- // this.getFrequencyNumber()
- // this.getTypeNumber()
- },
-
- getBanner(){
- getBannerList({
- current:1,
- size:5
- }).then(res=>{
- let data = res.data.records;
- if(data.length){
- for(let i of data){
- i.url = `${uploadUrl}${i.url}`
- }
- this.bannerList = data;
- }
- })
- },
-
- async getFrequencyNumber() {
- const res = await getCountFrequencyNumber()
- this.frequencyNumber = res.data
-
- },
-
- async getTypeNumber() {
- const res = await getCountTypeNumber()
- this.notypeNumber = res.data
-
- },
-
- async getNoticeList() {
- const param = {
- size: 10,
- current: 1
- }
- const res = await getPage(param)
- this.notice = res.data.records
- },
-
- //获取场所列表
- async getSiteList() {
- console.log(this.selectRole)
- let type = null
- let roleName = this.selectRole.roleName
- console.log("roleName", roleName)
- if (roleName == '网格员' || roleName == '系统管理员') {
- type = 1
- this.roleType = 1;
- this.roleTypeName = "街道社区网格"
- } else if (roleName == '居民') {
- type = 2
- this.roleType = 2
- this.roleTypeName = "居民"
- }
- const res = await getFuncList(type, roleName)
- this.columnData = res.data;
- console.log(res, "-----------")
- let data = res.data
- this.siteColumns = []
- this.buildSiteColumn(data, 0)
- },
-
- buildSiteColumn(dataList, index) {
- if (dataList.length > 0) {
- this.siteColumns[index] = dataList
- if (dataList[0].children && dataList[0].children.length > 0) {
- this.curSelectSite = dataList[0].children[0];
- this.getHouseDataList(dataList[0].children[0].id)
- this.buildSiteColumn(dataList[0].children, index + 1)
- } else {
- this.curSelectSite = dataList[0];
- }
- this.curHouseCode = this.curSelectSite.id
- uni.setStorageSync('curSelectSite', this.curSelectSite)
- }
- },
-
-
- // 获取楼盘
- async getHouseDataList(code) {
- const param = {
- type: 1,
- code: code,
- roleName: uni.getStorageSync('activeRole').roleName
- }
- const res = await getHouseList(param)
- res.data.forEach(item => {
- item.title = item.name
- item.useSlot = true
- delete item.name
- })
- this.houseDataList = res.data || [{
- title: '-',
- useSlot: true
- }]
- },
-
-
- changeSite(e) {
- const {
- columnIndex,
- value,
- values, // values为当前变化列的数组内容
- index,
- // 微信小程序无法将picker实例传出来,只能通过ref操作
- picker = this.$refs.uPicker
- } = e
- // 当第一列值发生变化时,变化第二列(后一列)对应的选项
- if (columnIndex === 0 && this.columnData.length > 0) {
- // picker为选择器this实例,变化第二列对应的选项
- picker.setColumnValues(1, this.columnData[index])
- // this.siteColumns[1] = this.columnData[index].children
- this.$set(this.siteColumns, 1, this.columnData[index].children)
- };
- },
- // 回调参数为包含columnIndex、value、values
- confirmSite(e) {
- console.log('confirm', e)
- this.selectSiteIndex = e.indexs;
- this.curSelectSite = e.value[e.value.length - 1]
- this.selectBoxShow = false
- this.getHouseDataList(e.value[1]?.id)
- this.curHouseCode = e.value[0].id
- console.log("curSite=>", this.curSelectSite);
- },
- getMenu(menuName) {
- // console.log(menuList, menuName)
- // for (var i = 0; i < menuList.length; i++) {
- // if (menuList[i].name == menuName) {
- // resultArr.push(menuList[i])
- // } else {
- // if (menuList[i].children && menuList[i].children.length) {
- // this.getMenu(menuName, menuList[i].children, resultArr);
- // }
- // }
- // }
- let list = [];
- for(let i of this.menuList){
- if(i.name == menuName){
- if(i.children && i.children.length){
- list = i.children;
- break;
- }
- }
- }
- return list;
- },
-
- //获取首页菜单
- getMenuList() {
- // console.log("当前角色菜单", this.menuList)
- // this.getPhoneList()
- // this.getLiveList()
- this.menuList = uni.getStorageSync("menu")
- this.liveList = this.hasMenu('生活')
- this.contactList = this.hasMenu('快捷拨号');
- // console.log(this.menuList.filter(item=>item.name == "楼盘表"))
- if(this.menuList.length){
- this.isShowHouse = this.menuList.filter(item=>item.name == "楼盘表")
- this.isShowNotice = this.menuList.filter(item=>item.name == "通知公告" )
- }
-
- // this.jobList = this.hasMenu('工作台')
- // this.getWorkbenchList()
- },
-
-
- getPhoneList() {
- const resultArr = this.hasMenu('快捷拨号');
- if (resultArr.length) {
- this.contactList = resultArr;
- }
-
- // const topMenu = resultArr[0]
- // topMenu.children.forEach(menu => {
- // this.gridDataList.push({
- // title: menu.name,
- // data: "无数据",
- // phone: "无"
- // })
- // })
- },
-
- //获取生活菜单
- getLiveList() {
- this.liveList = []
- const resultArr = this.hasMenu('生活')
- console.log(resultArr);
- if (resultArr.length) {
- this.liveList = resultArr;
- }
- // const topMenu = resultArr[0];
- // console.log("topMenu====>",topMenu);
- // this.liveList = topMenu.children;
- // topMenu.children.forEach(menu => {
- // this.liveList.push({
- // imgUrl: menu.source,
- // title: menu.name,
- // })
- // })
- },
-
- //获取工作台菜单
- getWorkbenchList() {
- // this.jobList = []
- const jobList = this.hasMenu('工作台')
-
- // const topMenu = resultArr[0]
- // topMenu.children.forEach(menu => {
- // this.jobList.push({
- // imgUrl: menu.source,
- // title: menu.name,
- // })
- // })
- },
-
- // 页面跳转
- pushPage(item) {
- console.log(item,8888)
- const {id,title,addressType} = item;
- if (id !== void 0) {
- let url = `/subPackage/house/list/index?id=${id}&title=${title}&addressType=${addressType}`
- this.$u.func.globalNavigator(url, "navTo")
- }
- },
-
- // 页面跳转
- toPage({
- id,
- title,
- path
- }) {
- let url = `${path}`
- this.$u.func.globalNavigator(url, "navTo")
- if (id !== void 0) {
-
- }
- },
-
-
- navTo() {
- if (this.curHouseCode === '') {
- uni.showToast({
- title: "请选择地址",
- icon: "error"
- })
- return
- }
- this.$u.func.globalNavigator(`/subPackage/bs/views/zhsb?houseCode=${this.curHouseCode}`, "navTo")
- },
-
- navigatorPage(path) {
- if (path) {
- if (path == '/subPackage/bs/views/zhsb' && this.curHouseCode === '') {
- uni.showToast({
- title: "请选择地址",
- icon: "error"
- })
- return
- }
- this.$u.func.globalNavigator(`${path}?houseCode=${this.curHouseCode}`, "navTo")
- }
- },
-
- //扫一扫
- scan() {
- const that = this
- uni.scanCode({
- success: function(res) {
- console.log(res)
-
-
- console.log('条码类型:' + res.scanType);
- console.log('条码内容:' + res.result);
-
-
- let obj = that.getUrlParams(res.result)
- console.log(obj)
-
- // let url = "/subPackage/workbench/views/cscj?stdId=" + obj.stdId
- let url = "/subPackage/workbench/views/cscj?houseCode=" + obj.stdId
- that.$u.func.globalNavigator(url, "navTo")
-
-
- }
- });
- },
-
- getUrlParams(url) {
- // 通过 ? 分割获取后面的参数字符串
- let urlStr = url.split('?')[1]
- // 创建空对象存储参数
- let obj = {};
- // 再通过 & 将每一个参数单独分割出来
- let paramsArr = urlStr.split('&')
- for (let i = 0, len = paramsArr.length; i < len; i++) {
- // 再通过 = 将每一个参数分割为 key:value 的形式
- let arr = paramsArr[i].split('=')
- obj[arr[0]] = arr[1];
- }
- return obj
- },
- }
- }
-</script>
-
-<style lang="scss" scoped>
- page {
- color: #333;
- }
-
- .top {
- width: 530rpx;
-
- .top-text {
- max-width: 85%;
- margin-right: 20rpx;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- }
-
- .swiper {
- width: 100%;
- height: 260rpx;
- }
-
- .content {
- padding: 0 30rpx;
- }
-
- .section {
- .section-item {
- width: 216rpx;
- height: 120rpx;
- position: relative;
- }
-
- .section-item-bg {
- width: 216rpx;
- height: 120rpx;
- }
- .item-box {
- width: 216rpx;
- height: 120rpx;
- position: absolute;
- top: 0;
- left: 0;
- padding: 20rpx 20rpx 0;
- box-sizing: border-box;
- }
- }
- .notic {
- width: 100%;
- }
-
- .caption {
- width: 100%;
- padding: 30rpx 0 0;
-
- .line {
- width: 6rpx;
- height: 28rpx;
- background-color: #017BFC;
- margin-right: 14rpx;
- }
- }
-
- .block {
- .block-item {
- position: relative;
- }
-
- .block-item,
- .block-item-bg,
- .block-item-box {
- width: 334rpx;
- height: 170rpx;
- }
-
- .block-item-box {
- padding: 0 30rpx;
- box-sizing: border-box;
- position: absolute;
- top: 0;
- left: 0;
- }
-
- .item-text {
- height: 90rpx;
- margin-left: 22rpx;
- color: #fff;
- }
-
- .opacity {
- opacity: .4;
- }
- }
-
- .cell {
- padding: 0 16rpx;
- height: 64rpx;
- border-radius: 8rpx;
- margin-right: 20rpx;
- margin-top: 30rpx;
-
- .cell-text {
- margin-left: 16rpx;
- }
- }
-
- .grid-item {
- width: 153rpx;
- height: 153rpx;
- border-radius: 16rpx 16rpx 16rpx 16rpx;
- justify-content: center;
- }
-
- .row {
- width: 100%;
- margin: 30rpx 0;
-
- .row-item {
- width: 330rpx;
- height: 134rpx;
- box-shadow: 0rpx 10rpx 10rpx 0rpx rgba(0, 0, 0, 0.02);
- border-radius: 16rpx 16rpx 16rpx 16rpx;
- }
- }
-</style>
\ No newline at end of file
diff --git a/pages/home/index3.vue b/pages/home/index3.vue
deleted file mode 100644
index 3dfd908..0000000
--- a/pages/home/index3.vue
+++ /dev/null
@@ -1,861 +0,0 @@
-<template>
- <view class="layout">
- <u-navbar height="48" :autoBack="false" safeAreaInsetTop placeholder
- @leftClick="selectBoxShow = !selectBoxShow">
- <view slot="left" class="top flex">
- <view class="top-text f-30 fw">{{curSelectSite.name?curSelectSite.name:'暂无绑定' +roleTypeName+'信息'}}
- </view>
- <u-icon name="/static/icon/change-icon.png"></u-icon>
- </view>
- </u-navbar>
- <view class="content">
- <view class="swiper mb-30">
- <u-swiper :list="bannerList" height="260rpx"></u-swiper>
- </view>
- <view class="">
- <view class="section flex j-c-s-a a-i-c mt-40" v-if="isShowContact && curSelectSite.addressType == 1">
- <view class="section-item" v-for="(i,k) in contactList" :key="k" v-if="i.name">
- <image class="section-item-bg" :src="i.bgImg" mode="aspectFill"></image>
- <view class="item-box">
- <view class="f-28">{{i.title}}</view>
- <view class="flex j-c-s-b">
- <text class="f-22">{{i.name}}</text>
- <u-icon :name="i.icon" @click.stop="callPhone(i.phone)"></u-icon>
- </view>
- </view>
- </view>
- </view>
-
- <view class="block flex a-i-c j-c-s-b" v-if="roleType == 1">
- <view @click="scan" class="block-item">
- <image class="block-item-bg" src="/static/icon/nav-bg-04.png" mode="aspectFill" />
- <view class="block-item-box flex a-i-c ">
- <u-icon name="/static/icon/nav-05.png" width="65rpx" height="65rpx"></u-icon>
- <view class="item-text flex f-d-c j-c-s-b">
- <text class="f-24 fw">扫一扫</text>
- <text class="f-22 opacity">场所采集</text>
- </view>
- </view>
- </view>
- <view class="block-item" @click="navigatorPage('/subPackage/user/clockIn/index')">
- <image class="block-item-bg" src="/static/icon/nav-bg-05.png" mode="aspectFill" />
- <view class="block-item-box flex a-i-c">
- <u-icon name="/static/icon/nav-06.png" width="65rpx" height="65rpx"></u-icon>
- <view class="item-text flex f-d-c j-c-s-b">
- <text class="f-24 fw">打卡登记</text>
- <text class="f-22 opacity">在线打卡</text>
- </view>
- </view>
- </view>
- <view class="block-item" @click="navigatorPage('/subPackage/statistics/index')">
- <image class="block-item-bg" src="/static/icon/nav-bg-04.png" mode="aspectFill" />
- <view class="block-item-box flex a-i-c">
- <u-icon name="/static/icon/nav-12.png" width="65rpx" height="65rpx"></u-icon>
- <view class="item-text flex f-d-c j-c-s-b">
- <text class="f-24 fw">数据驾驶舱</text>
- <text class="f-22 opacity">数据统计</text>
- </view>
- </view>
- </view>
- </view>
-
- <view class="" v-if="liveList.length">
- <caption-row title="生活" />
- <view class="grid">
- <u-grid :border="false" :col="liveList.length">
- <u-grid-item @click.native="navigatorPage(i.path)" v-for="(i,k) in liveList" :key="k">
- <u-icon :name="i.pictureImg" width="90rpx" height="90rpx"></u-icon>
- <text class="f-26 mt-20">{{i.name}}</text>
- </u-grid-item>
- </u-grid>
- </view>
- </view>
- </view>
-
- <view class="" v-if="isShowHouse">
- <caption-row title="楼盘表" />
- <view class="flex flex-wrap">
- <view class="cell bgc-main flex a-i-c" v-for="(item, index) in houseDataList.slice(0, 6)"
- @click.native="pushPage(item)" :key="index">
- <u-icon name="/static/icon/floor.png" width="32rpx" height="32rpx"></u-icon>
- <text class="cell-text f-26 c-ff">{{item.title}}</text>
- </view>
- </view>
- </view>
-
- <view class="mb-20" v-if="roleType == 2">
- <caption-row title="社区" />
- <view class="mt-20">
- <u-grid :border="false" col="3">
- <u-grid-item @click="navigatorPage(`/subPackage/article/communityList?type=1`)">
- <u-icon name="/static/icon/nav-14.png" width="90rpx" height="90rpx"></u-icon>
- <text class="f-26 mt-10">选举调查</text>
- </u-grid-item>
- <u-grid-item @click="navigatorPage(`/subPackage/article/communityList?type=0`)">
- <u-icon name="/static/icon/nav-13.png" width="90rpx" height="90rpx"></u-icon>
- <text class="f-26 mt-10">公益报名</text>
- </u-grid-item>
- <u-grid-item @click="navigatorPage('')">
- <u-icon name="/static/icon/nav-15.png" width="90rpx" height="90rpx"></u-icon>
- <text class="f-26 mt-10">公共收益</text>
- </u-grid-item>
- </u-grid>
- </view>
- </view>
-
- <view class="" v-if="jobList.length && roleType == 1">
- <caption-row title="工作台" />
- <u-grid :border="false" col="4">
- <u-grid-item @click="navigatorPage(item.path)" v-for="(item, index) in jobList" :index="index"
- :key="index" :customStyle="{paddingTop:20+'rpx'}">
- <view class="grid-item flex f-d-c a-i-c" :style="{background:item.background}">
- <u-icon :name="item.pictureImg" width="60rpx" height="60rpx"></u-icon>
- <text class="grid-text f-24 fw mt-10">{{item.name}}</text>
- </view>
- </u-grid-item>
- </u-grid>
- </view>
- <view class="" v-if="roleType == 2 && curSelectSite.addressType == 2">
- <caption-row title="工作台" />
- <u-grid :border="false" col="4">
- <u-grid-item @click="navigatorPage('/subPackage/workbench/views/editExamine')"
- :customStyle="{paddingTop:20+'rpx'}">
- <view class="grid-item flex f-d-c a-i-c"
- style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
- <u-icon name="/static/icon/menu-05.png" width="60rpx" height="60rpx"></u-icon>
- <text class="grid-text f-24 fw mt-10">场所维护</text>
- </view>
- </u-grid-item>
- <u-grid-item @click="navigatorPage('')" :customStyle="{paddingTop:20+'rpx'}">
- <view class="grid-item flex f-d-c a-i-c"
- style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
- <u-icon name="/static/icon/menu-02.png" width="60rpx" height="60rpx"></u-icon>
- <text class="grid-text f-24 fw mt-10">场所任务</text>
- </view>
- </u-grid-item>
- </u-grid>
- </view>
- <view class="notic" v-if="isShowNotice">
- <caption-row title="通知公告" :is-link="true" url="/subPackage/article/list" />
- <notice-list :data="notice" />
- </view>
-
- <u-picker :title="roleTypeName" :defaultIndex="selectSiteIndex" :closeOnClickOverlay="true"
- @close="selectBoxShow = false" :show="selectBoxShow" keyName="name" ref="uPicker" :columns="siteColumns"
- @confirm="confirmSite" @change="changeSite" @cancel="selectBoxShow = false"></u-picker>
- </view>
-
- </view>
-</template>
-
-<script>
- import {
- getFuncList,
- getHouseList
- } from "@/api/doorplateAddress/doorplateAddress";
-
- import {
- getPage
- } from "@/api/article/article";
- import {
- getBannerList,
- getContact
- } from "@/api/system/index"
- import {
- minioBaseUrl
- } from "@/common/setting"
- import noticeList from "@/components/noticeList/noticeList";
- import captionRow from "@/components/caption/caption.vue"
- export default {
- components: {
- noticeList,
- captionRow
- },
- data() {
- return {
- jobList: [{
- icon: "/static/icon/menu-01.png",
- text: "场所记录",
- style: {
- background: 'linear-gradient(133deg, #FFFCF9 0%, rgba(255,252,249,0) 100%)',
- },
- path: "/subPackage/workbench/views/csjl"
- },
- {
- icon: "/static/icon/menu-02.png",
- text: "场所采集",
- style: {
- background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)',
- },
- path: "/subPackage/workbench/views/cscj"
- },
- {
- icon: "/static/icon/menu-03.png",
- text: "出租房管理",
- style: {
- background: 'linear-gradient(131deg, #FCF8FF 0%, rgba(252,248,255,0) 100%)',
- },
- path: "/subPackage/workbench/views/rental"
- },
- {
- icon: "/static/icon/menu-04.png",
- text: "标签事件",
- style: {
- background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)',
- },
- path: "/subPackage/workbench/views/audit"
- },
- {
- icon: "/static/icon/menu-05.png",
- text: "场所维护",
- style: {
- background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)',
- },
- path: "/subPackage/workbench/views/cshw"
- },
- {
- icon: "/static/icon/menu-06.png",
- text: "报事审核",
- style: {
- background: 'linear-gradient(137deg, #FFF4F3 0%, rgba(255,244,243,0) 100%)',
- },
- path: "/subPackage/workbench/views/report"
- },
- {
- icon: "/static/icon/menu-10.png",
- text: "我的任务",
- style: {
- background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)'
- },
- path: "/subPackage/task/index"
- },
- {
- icon: "/static/icon/menu-02.png",
- text: "工作日志",
- style: {
- background: 'linear-gradient(131deg, #FCF8FF 0%, rgba(252,248,255,0) 100%)'
- },
- path: "/subPackage/workbench/views/workLog"
- },
- {
- icon: "/static/icon/menu-02.png",
- text: "网格巡查",
- style: {
- background: 'linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)'
- },
- path: "/subPackage/workbench/views/patrol"
- }
- ],
- roleType: 2, // 1网格员/系统管理员 、 2居民
- roleTypeName: "街道社区网格",
- selectBoxShow: false,
- siteColumns: [],
- curSelectSite: {
- addressType: 1
- },
- columnData: [],
- houseDataList: [{
- title: '-',
- useSlot: true
- }],
- menuList: [],
- curHouseCode: '',
- notice: [],
- selectSiteIndex: [0, 0],
- liveList: [], //生活菜单
- contactList: [], //便民服务联系方式
- isShowHouse: false, //显示楼盘表
- isShowNotice: true, //显示通知公告
- isShowContact: false,
- bannerList: [],
- navList: [{
- title: "物业",
- name: "",
- icon: "/static/icon/tel-green.png",
- bgImg: "/static/icon/nav-bg-01.png",
- phone: ""
- },
- {
- title: "综治网格",
- name: "",
- icon: "/static/icon/tel-orange.png",
- bgImg: "/static/icon/nav-bg-02.png",
- phone: ""
- },
- {
- title: "公安网格",
- name: "",
- icon: "/static/icon/tel-blue.png",
- bgImg: "/static/icon/nav-bg-03.png",
- phone: ""
- },
- ],
- }
- },
-
- onLoad() {
- this.getBanner();
- this.init()
- uni.$on('refresh', () => {
- this.selectSiteIndex = [0, 0]
- this.curSelectSite = {
- addressType: 1
- }
- this.init()
- })
- },
-
- onReady() {
- // if (!uni.getStorageSync("userInfo")) {
- // uni.redirectTo({
- // url: "/pages/login/login-account"
- // })
- // }
- },
-
- computed: {
- hasMenu() {
- return (name) => {
- let resultArr = this.getMenu(name, this.menuList)
- if (resultArr.length) {
- return resultArr
- } else {
- return []
- }
- }
- }
- },
-
- watch: {
- 'curSelectSite.id': {
- handler(newVal, oldVal) {
- if (newVal) {
- this.$store.commit("setSiteInfo", this.curSelectSite)
- }
- },
- deep: true,
- immediate: true
- },
-
- 'curSelectSite.addressType': {
- handler(newVal, oldVal) {
- if (newVal) {
- this.$store.dispatch("getMenuList").then(res => {
- this.getMenuList()
- });
- }
- },
- deep: true,
- // immediate: true
- }
- },
- onPullDownRefresh() {
- this.$store.dispatch("getMenuList").then(res => {
- this.getMenuList()
- });
- setTimeout(() => {
- uni.stopPullDownRefresh();
- }, 300)
- },
-
- methods: {
-
- //初始化
- init() {
- this.selectRole = uni.getStorageSync("activeRole")
- this.getMenuList()
- this.getSiteList()
- this.getNoticeList()
- },
-
- getBanner() {
- getBannerList({
- current: 1,
- size: 5
- }).then(res => {
- let data = res.data.records;
- if (data.length) {
- for (let i of data) {
- i.url = `${minioBaseUrl}${i.url}`
- }
- this.bannerList = data;
- }
- })
- },
-
- getContactList() {
- getContact({
- houseCode: this.curHouseCode
- }).then(res => {
- let data = res.data;
- this.contactList = this.navList;
- if (data.wg) {
- this.contactList[1].name = data.wg.name;
- this.contactList[1].phone = data.wg.phone
- this.contactList[1].path = "";
- this.contactList[1].id = data.wg.code;
- }
- if (data.wy) {
- this.contactList[0].name = data.wy.name;
- this.contactList[0].phone = data.wy.phone;
- this.contactList[0].path = "/subPackage/grid/tenement";
- this.contactList[0].id = data.wy.code;
- }
- if (data.ga) {
- this.contactList[2].name = data.ga.name;
- this.contactList[2].phone = data.ga.phone;
- this.contactList[2].path = "";
- this.contactList[2].id = data.ga.code;
- }
- })
- },
-
- callPhone(phone) {
- uni.makePhoneCall({
- phoneNumber: phone
- })
- },
-
-
-
- async getNoticeList() {
- const param = {
- size: 10,
- current: 1,
- houseCode: uni.getStorageSync("siteInfo").houseCode
- }
- const res = await getPage(param)
- this.notice = res.data.records
- },
-
- //获取场所列表
- async getSiteList() {
- let type = null
- let roleName = this.selectRole.roleName
- if (roleName == '网格员' || roleName == '系统管理员') {
- type = 1
- this.roleType = 1;
- this.roleTypeName = "街道社区网格"
- } else if (roleName == '居民') {
- type = 2
- this.roleType = 2
- this.roleTypeName = "居民"
- }
- const res = await getFuncList(type, roleName)
- this.columnData = res.data;
- let data = res.data
- this.siteColumns = []
- this.buildSiteColumn(data, 0)
- },
-
- buildSiteColumn(dataList, index) {
- if (dataList.length > 0) {
- this.siteColumns[index] = dataList
- if (dataList[0].children && dataList[0].children.length > 0) {
- this.curSelectSite = dataList[0].children[0];
- this.getHouseDataList(dataList[0].children[0].id)
- this.buildSiteColumn(dataList[0].children, index + 1)
- } else {
- this.curSelectSite = dataList[0];
- }
- this.curHouseCode = this.curSelectSite.id
- }
- },
-
-
- // 获取楼盘
- async getHouseDataList(code) {
- const param = {
- type: 1,
- code: code,
- roleName: uni.getStorageSync('activeRole').roleName
- }
- const res = await getHouseList(param)
- res.data.forEach(item => {
- item.title = item.name
- item.useSlot = true
- delete item.name
- })
- this.houseDataList = res.data || [{
- title: '-',
- useSlot: true
- }]
- },
-
- changeSite(e) {
- const {
- columnIndex,
- value,
- values, // values为当前变化列的数组内容
- index,
- // 微信小程序无法将picker实例传出来,只能通过ref操作
- picker = this.$refs.uPicker
- } = e
- // 当第一列值发生变化时,变化第二列(后一列)对应的选项
- if (columnIndex === 0 && this.columnData.length > 0) {
- // picker为选择器this实例,变化第二列对应的选项
- picker.setColumnValues(1, this.columnData[index])
- // this.siteColumns[1] = this.columnData[index].children
- this.$set(this.siteColumns, 1, this.columnData[index].children)
- };
- },
- // 回调参数为包含columnIndex、value、values
- confirmSite(e) {
- console.log('confirm', e)
- this.selectSiteIndex = e.indexs;
- this.curSelectSite = e.value[e.value.length - 1]
- this.selectBoxShow = false
- this.getHouseDataList(e.value[1]?.id)
- this.curHouseCode = e.value[0].id
- console.log("curSite=>", this.curSelectSite);
- },
- getMenu(menuName) {
- let list = [];
- for (let i of this.menuList) {
- if (i.name == menuName) {
- if (i.children && i.children.length) {
- list = i.children;
- break;
- }
- }
- }
- return list;
- },
-
- //获取首页菜单
- getMenuList() {
- this.menuList = uni.getStorageSync("menu")
- this.liveList = this.setLiveMenu(this.hasMenu('生活'));
- // this.contactList = this.hasMenu('快捷拨号');
- this.jobList = this.hasMenu('工作台')
- if (this.menuList.length) {
- this.getContactMenu();
- this.getHouseMenu();
- this.getNoticeMenu();
- }
- setTimeout(() => {
- if (this.jobList.length) {
- let taskList = this.jobList.filter(item => item.name == "我的任务")
- if (taskList.length) {
- uni.setStorageSync("taskMenu", taskList[0].children);
- } else {
- uni.setStorageSync("taskMenu", []);
- }
- } else {
- uni.setStorageSync("taskMenu", []);
- }
- }, 200)
- },
-
- getContactMenu() {
- let list = [];
- list = this.menuList.filter(item => item.name == "快捷拨号")
- this.isShowContact = list.length ? true : false;
- if (list.length) {
- this.getContactList()
- }
- },
-
- getHouseMenu() {
- let list = [];
- list = this.menuList.filter(item => item.name == "楼盘表")
- this.isShowHouse = list.length ? true : false;
- },
-
- getNoticeMenu() {
- let list = [];
- list = this.menuList.filter(item => item.name == "通知公告")
- this.isShowNotice = list.length ? true : false;
- if (list.length) {
- this.getNoticeList()
- }
- },
-
-
- setLiveMenu(arr) {
- if (arr.length) {
- let index = this.getLiveMenuItem(arr, 1)
- let index2 = this.getLiveMenuItem(arr, 2)
- if (this.curSelectSite.addressType == 1) {
- if (index != -1) {
- arr.splice(index, 1)
- index = this.getLiveMenuItem(arr, 1)
- index2 = this.getLiveMenuItem(arr, 2)
- }
- if (index2 == -1) {
- arr.push({
- name: "租客上报",
- path: "/subPackage/bs/views/zhsb",
- pictureImg: "/static/icon/nav-04.png"
- })
- index = this.getLiveMenuItem(arr, 1)
- index2 = this.getLiveMenuItem(arr, 2)
- }
-
- } else {
- if (index == -1) {
- arr.unshift({
- name: "标签报事",
- path: "/subPackage/label/index",
- pictureImg: "/static/icon/nav-11.png"
- })
- index = this.getLiveMenuItem(arr, 1)
- index2 = this.getLiveMenuItem(arr, 2)
- }
- if (index2 != -1) {
- arr.splice(index2, 1)
- index = this.getLiveMenuItem(arr, 1)
- index2 = this.getLiveMenuItem(arr, 2)
- }
- }
- }
- return arr;
- },
-
- getLiveMenuItem(arr, type) {
- if (type == 1) {
- let index = arr.findIndex(item => item.name == "标签报事")
- return index;
- } else {
- let index2 = arr.findIndex(item => item.name == "租户上报")
- return index2
- }
- },
-
- // 页面跳转
- pushPage(item) {
- const {
- id,
- title,
- addressType
- } = item;
- if (id !== void 0) {
- let url = `/subPackage/house/list/index?id=${id}&title=${title}&addressType=${addressType}`
- this.$u.func.globalNavigator(url, "navTo")
- }
- },
-
- navTo() {
- if (this.curHouseCode === '') {
- uni.showToast({
- title: "请选择地址",
- icon: "error"
- })
- return
- }
- this.$u.func.globalNavigator(`/subPackage/bs/views/zhsb?houseCode=${this.curHouseCode}`, "navTo")
- },
-
- navigatorPage(path) {
- if (path) {
- if ((path == '/subPackage/bs/views/zhsb' || path == '/subPackage/bs/views/repair') && this
- .curHouseCode === '') {
- uni.showToast({
- title: "尚无绑定房屋信息",
- icon: "error"
- })
- }
- // else if (path == "/subPackage/statistics/index") {
- // uni.showToast({
- // title: "功能开发中~",
- // icon: "none"
- // })
- // }
- else {
- this.$u.func.globalNavigator(`${path}?houseCode=${this.curHouseCode}`, "navTo")
- }
-
- } else {
- uni.showToast({
- title: "功能开发中~",
- icon: "none"
- })
- }
- },
-
- //扫一扫
- scan() {
- const that = this
- uni.scanCode({
- success: function(res) {
- console.log(res)
- console.log('条码类型:' + res.scanType);
- console.log('条码内容:' + res.result);
- let eventType = 0;
- let obj = that.getUrlParams(res.result)
- console.log(obj)
- if (obj.stdId == "3C77B40EFC5F4C899AA74BEE747D9DF1") {
- eventType = 1;
- }
- if (obj.stdId == "CDF5528D617342228F3C84EF5C3C8780") {
- eventType = 2;
- }
- if (eventType) {
- that.$u.func.globalNavigator(
- `/subPackage/house/houseNumber/index?stdId=${obj.stdId}&eventType=${eventType}`,
- "navTo")
- } else {
- that.$u.func.globalNavigator(
- `/subPackage/house/houseNumber/index?stdId=${obj.stdId}`, "navTo")
- }
-
- //"3C77B40EFC5F4C899AA74BEE747D9DF1"
- // let url = "/subPackage/workbench/views/cscj?stdId=" + obj.stdId
- // let url = "/subPackage/workbench/views/cscj?houseCode=" + obj.stdId
-
- // let url = `/subPackage/house/houseNumber/index?stdId=${obj.stdId}`
- // that.$u.func.globalNavigator(url, "navTo")
- }
- });
- },
-
- getUrlParams(url) {
- // 通过 ? 分割获取后面的参数字符串
- let urlStr = url.split('?')[1]
- // 创建空对象存储参数
- let obj = {};
- // 再通过 & 将每一个参数单独分割出来
- let paramsArr = urlStr.split('&')
- for (let i = 0, len = paramsArr.length; i < len; i++) {
- // 再通过 = 将每一个参数分割为 key:value 的形式
- let arr = paramsArr[i].split('=')
- obj[arr[0]] = arr[1];
- }
- return obj
- },
- }
- }
-</script>
-
-<style lang="scss">
- page {
- color: #333;
- width: 100%;
- height: 100%;
- background-color: #fff;
- }
-
- .layout {
- width: 100%;
- height: 100%;
- background-color: #fff;
- }
-
- .top {
- width: 530rpx;
-
- .top-text {
- max-width: 85%;
- margin-right: 20rpx;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- }
-
- .swiper {
- width: 100%;
- height: 260rpx;
- }
-
- .content {
- padding: 0 30rpx;
- }
-
- .grid {
- margin-top: 20rpx;
- margin-bottom: 10rpx;
- }
-
- .section {
- .section-item {
- width: 216rpx;
- height: 120rpx;
- position: relative;
- }
-
- .section-item-bg {
- width: 216rpx;
- height: 120rpx;
- }
-
- .item-box {
- width: 216rpx;
- height: 120rpx;
- position: absolute;
- top: 0;
- left: 0;
- padding: 20rpx 20rpx 0;
- box-sizing: border-box;
- }
- }
-
- .notic {
- width: 100%;
- }
-
- .block {
- .block-item {
- position: relative;
-
- }
-
- .block-item,
- .block-item-bg,
- .block-item-box {
- width: 226rpx;
- height: 150rpx;
- border-radius: 12rpx;
- }
-
- .block-item-box {
- padding: 0 12rpx;
- box-sizing: border-box;
- position: absolute;
- top: 0;
- left: 0;
-
- }
-
- .item-text {
- height: 65rpx;
- margin-left: 20rpx;
- color: #fff;
- }
-
- .opacity {
- opacity: .4;
- }
- }
-
- .cell {
- padding: 0 16rpx;
- height: 64rpx;
- border-radius: 8rpx;
- margin-right: 20rpx;
- margin-top: 30rpx;
-
- .cell-text {
- margin-left: 16rpx;
- }
- }
-
- .grid-item {
- width: 153rpx;
- height: 153rpx;
- border-radius: 16rpx 16rpx 16rpx 16rpx;
- justify-content: center;
- }
-
- .row {
- width: 100%;
- margin: 30rpx 0;
-
- .row-item {
- width: 330rpx;
- height: 134rpx;
- box-shadow: 0rpx 10rpx 10rpx 0rpx rgba(0, 0, 0, 0.02);
- border-radius: 16rpx 16rpx 16rpx 16rpx;
- }
- }
-</style>
\ No newline at end of file
diff --git a/pages/home/index4.vue b/pages/home/index4.vue
deleted file mode 100644
index 75dcf96..0000000
--- a/pages/home/index4.vue
+++ /dev/null
@@ -1,934 +0,0 @@
-<template>
- <view class="layout">
- <!-- <u-navbar height="48" :autoBack="false" safeAreaInsetTop placeholder @leftClick="selectBoxShow = !selectBoxShow"
- bgColor="#017BFC">
- <view slot="left" class="top flex">
- <view class="top-text f-30 fw c-ff">{{curSelectSite.name?curSelectSite.name:'暂无绑定' +roleTypeName+'信息'}}
- </view>
- <u-icon name="arrow-down" color="#fff"></u-icon>
- </view>
- </u-navbar> -->
-
- <u-navbar height="48" :autoBack="false" safeAreaInsetTop placeholder @leftClick="navToSelectSite()"
- bgColor="#017BFC">
- <view slot="left" class="top flex">
- <view class="top-text f-30 fw c-ff">{{curSelectSite.name?curSelectSite.name:'暂无绑定' +roleTypeName+'信息'}}
- </view>
- <u-icon name="arrow-right" color="#fff"></u-icon>
- </view>
- </u-navbar>
-
- <view class="swiper">
- <u-swiper :list="bannerList" height="320rpx" radius="10"></u-swiper>
- </view>
- <view class="content">
- <view class="">
- <view class="section flex j-c-s-a a-i-c mb-20" v-if="isShowContact && curSelectSite.addressType == 1">
- <view class="section-item" v-for="(i,k) in contactList" :key="k" v-if="i.name"
- @click="navigatorPage(`${i.path}?id=${i.id}`)">
- <image class="section-item-bg" :src="i.bgImg" mode="aspectFill"></image>
- <view class="item-box">
- <view class="f-28">{{i.title}}</view>
- <view class="flex j-c-s-b">
- <text class="f-22">{{i.name}}</text>
- <u-icon :name="i.icon" @click.stop="callPhone(i.phone)"></u-icon>
- </view>
- </view>
- </view>
- </view>
-
- <view class="block flex a-i-c j-c-s-b mb-20" v-if="roleType == 1 || roleType == 3">
- <view @click="scan" class="block-item">
- <image class="block-item-bg" src="/static/icon/nav-bg-04.png" mode="aspectFill" />
- <view class="block-item-box flex a-i-c ">
- <u-icon name="/static/icon/nav-05.png" width="65rpx" height="65rpx"></u-icon>
- <view class="item-text flex f-d-c j-c-s-b">
- <text class="f-24 fw">扫一扫</text>
- <text class="f-22 opacity">场所采集</text>
- </view>
- </view>
- </view>
- <view class="block-item" @click="navigatorPage('/subPackage/user/clockIn/index')">
- <image class="block-item-bg" src="/static/icon/nav-bg-05.png" mode="aspectFill" />
- <view class="block-item-box flex a-i-c">
- <u-icon name="/static/icon/nav-06.png" width="65rpx" height="65rpx"></u-icon>
- <view class="item-text flex f-d-c j-c-s-b">
- <text class="f-24 fw">打卡登记</text>
- <text class="f-22 opacity">在线打卡</text>
- </view>
- </view>
- </view>
- <view class="block-item" @click="navigatorPage('/subPackage/statistics/index')">
- <image class="block-item-bg" src="/static/icon/nav-bg-04.png" mode="aspectFill" />
- <view class="block-item-box flex a-i-c">
- <u-icon name="/static/icon/nav-12.png" width="65rpx" height="65rpx"></u-icon>
- <view class="item-text flex f-d-c j-c-s-b">
- <text class="f-24 fw">驾驶舱</text>
- <text class="f-22 opacity">数据统计</text>
- </view>
- </view>
- </view>
- </view>
-
- <view class="nav bgc-ff" v-if="liveList.length || roleType == 2">
- <!-- <caption-row title="生活" /> -->
- <u-grid :border="false" col="4">
- <block v-if="liveList.length">
- <u-grid-item @click.native="navigatorPage(i.path)" v-for="(i,k) in liveList" :key="k">
- <view class="nav-item flex f-d-c a-i-c">
- <u-icon :name="i.pictureImg" width="80rpx" height="80rpx"></u-icon>
- <text class="nav-item-text f-26 mt-20">{{i.name}}</text>
- </view>
- </u-grid-item>
- </block>
- <block v-if="roleType == 2">
- <u-grid-item @click="navigatorPage(i.path)" v-for="(i,k) in communityList" :key="k">
- <view class="nav-item flex f-d-c a-i-c">
- <u-icon :name="i.icon" width="80rpx" height="80rpx"></u-icon>
- <text class="nav-item-text f-26 mt-10">{{i.title}}</text>
- </view>
- </u-grid-item>
- </block>
- </u-grid>
- </view>
- </view>
-
- <view class="bgc-ff p-20 mb-20 pb-20" v-if="isShowHouse">
- <caption-row title="楼盘表" />
- <view class="flex flex-wrap">
- <view class="cell bgc-main flex a-i-c" v-for="(item, index) in houseDataList.slice(0, 6)"
- @click.native="pushPage(item)" :key="index">
- <u-icon name="/static/icon/floor.png" width="32rpx" height="32rpx"></u-icon>
- <text class="cell-text f-26 c-ff">{{item.title}}</text>
- </view>
- </view>
- </view>
-
- <view class="bgc-ff mb-20 p-20 pb-20" v-if="jobList.length">
- <caption-row title="工作台" />
- <u-grid :border="false" col="4">
- <u-grid-item @click="navigatorPage(item.path)" v-for="(item, index) in jobList" :index="index"
- :key="index" :customStyle="{paddingTop:20+'rpx'}">
- <view class="grid-item flex f-d-c a-i-c" :style="{background:item.background}">
- <u-icon :name="item.pictureImg" width="60rpx" height="60rpx"></u-icon>
- <text class="grid-text f-24 fw mt-10">{{item.name}}</text>
- </view>
- </u-grid-item>
- <!-- <u-grid-item @click="navigatorPage('/subPackage/house/houseNumber/siteInspect')"
- :customStyle="{paddingTop:20+'rpx'}">
- <view class="grid-item flex f-d-c a-i-c"
- style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
- <u-icon name="/static/icon/menu-02.png" width="60rpx" height="60rpx"></u-icon>
- <text class="grid-text f-24 fw mt-10">场所检查</text>
- </view>
- </u-grid-item> -->
- </u-grid>
- </view>
-
- <view class="bgc-ff mb-20 p-20 pb-20" v-if="(roleType == 2) && (curSelectSite.addressType == 2)">
- <caption-row title="工作台" />
- <u-grid :border="false" col="4">
- <u-grid-item @click="navigatorPage('/subPackage/workbench/views/editExamine')"
- :customStyle="{paddingTop:20+'rpx'}">
- <view class="grid-item flex f-d-c a-i-c"
- style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
- <u-icon name="/static/icon/menu-05.png" width="60rpx" height="60rpx"></u-icon>
- <text class="grid-text f-24 fw mt-10">场所维护</text>
- </view>
- </u-grid-item>
- <u-grid-item @click="navToSiteList()" :customStyle="{paddingTop:20+'rpx'}">
- <view class="grid-item flex f-d-c a-i-c"
- style="background:linear-gradient(133deg, #F9FAFE 0%, rgba(249,250,254,0) 100%)">
- <u-icon name="/static/icon/menu-02.png" width="60rpx" height="60rpx"></u-icon>
- <text class="grid-text f-24 fw mt-10">场所任务</text>
- </view>
- </u-grid-item>
- </u-grid>
- </view>
- <view class="p-20 bgc-ff mb-20" v-if="isShowNotice">
- <caption-row title="通知公告" :is-link="true" url="/subPackage/article/list" />
- <notice-list :data="notice" />
- </view>
-
- <u-picker :title="roleTypeName" :defaultIndex="selectSiteIndex" :closeOnClickOverlay="true"
- @close="selectBoxShow = false" :show="selectBoxShow" keyName="name" ref="uPicker" :columns="siteColumns"
- @confirm="confirmSite" @change="changeSite" @cancel="selectBoxShow = false"></u-picker>
- </view>
-
- </view>
-</template>
-
-<script>
- import {
- getFuncList,
- getHouseList
- } from "@/api/doorplateAddress/doorplateAddress";
-
- import {
- getPage
- } from "@/api/article/article";
- import {
- getBannerList,
- getContact,
- getQrCodeDetail
- } from "@/api/system/index"
- import {
- minioBaseUrl
- } from "@/common/setting"
- import noticeList from "@/components/noticeList/noticeList";
- import captionRow from "@/components/caption/caption.vue"
-
- import {
- getPublicSecurityDetail
- } from "@/api/grid/grid.js"
-
- export default {
- components: {
- noticeList,
- captionRow
- },
- data() {
- return {
- jobList: [],
- roleType: 2, // 1网格员/系统管理员 、 2居民 3民警
- roleTypeName: "街道社区网格",
- selectBoxShow: false,
- siteColumns: [],
- curSelectSite: {
- addressType: 1
- },
- columnData: [],
- houseDataList: [{
- title: '-',
- useSlot: true
- }],
- menuList: [],
- curHouseCode: '',
- notice: [],
- selectSiteIndex: [0, 0],
- liveList: [], //生活菜单
- contactList: [], //便民服务联系方式
- isShowHouse: false, //显示楼盘表
- isShowNotice: true, //显示通知公告
- isShowContact: false,
- bannerList: [],
- navList: [{
- title: "物业",
- name: "",
- icon: "/static/icon/tel-green.png",
- bgImg: "/static/icon/nav-bg-01.png",
- phone: ""
- },
- {
- title: "综治网格",
- name: "",
- icon: "/static/icon/tel-orange.png",
- bgImg: "/static/icon/nav-bg-02.png",
- phone: ""
- },
- {
- title: "公安网格",
- name: "",
- icon: "/static/icon/tel-blue.png",
- bgImg: "/static/icon/nav-bg-03.png",
- phone: ""
- },
- ],
- communityList: [{
- title: "选举调查",
- icon: "/static/icon/nav-14.png",
- path: "/subPackage/article/communityList?type=1"
-
- },
- {
- title: "公益报名",
- icon: "/static/icon/nav-13.png",
- path: "/subPackage/article/signUpList?type=0"
-
- },
- {
- title: "公共收益",
- icon: "/static/icon/nav-15.png",
- path: "/subPackage/article/list?type=1"
-
- }
- ]
- }
- },
-
- onLoad() {
- this.getBanner();
- this.init()
- uni.$on('refresh', () => {
- this.selectSiteIndex = [0, 0]
- this.curSelectSite = {
- addressType: 1
- }
- this.init()
- })
- //选择位置刷新楼盘表
- uni.$on('refreshPage', (val) => {
- console.log("refreshPage=>", val);
- this.curSelectSite = val
- this.getHouseDataList(val.id)
- this.curHouseCode = this.curSelectSite.houseCode
- uni.setStorageSync("curHouseCode", this.curSelectSite.houseCode)
- })
- },
-
- onShareAppMessage() {
-
- },
-
- computed: {
- hasMenu() {
- return (name) => {
- let resultArr = this.getMenu(name, this.menuList)
- if (resultArr.length) {
- return resultArr
- } else {
- return []
- }
- }
- }
- },
-
- watch: {
- 'curSelectSite.id': {
- handler(newVal, oldVal) {
- if (newVal) {
- this.$store.commit("setSiteInfo", this.curSelectSite)
- }
- },
- deep: true,
- immediate: true
- },
-
- 'curSelectSite.addressType': {
- handler(newVal, oldVal) {
- if (newVal) {
- this.$store.dispatch("getMenuList").then(res => {
- this.getMenuList()
- });
- }
- },
- deep: true,
- // immediate: true
- }
- },
- // onPullDownRefresh() {
- // this.$store.dispatch("getMenuList").then(res => {
- // this.getMenuList()
- // });
- // setTimeout(() => {
- // uni.stopPullDownRefresh();
- // }, 300)
- // },
-
- methods: {
-
- //初始化
- init() {
- this.selectRole = uni.getStorageSync("activeRole")
- this.getMenuList()
- this.getSiteList()
- this.getNoticeList()
- },
-
- getBanner() {
- getBannerList({
- current: 1,
- size: 5
- }).then(res => {
- let data = res.data.records;
- if (data.length) {
- for (let i of data) {
- i.url = `${minioBaseUrl}${i.url}`
- }
- this.bannerList = data;
- }
- })
- },
-
- getContactList() {
- getContact({
- houseCode: uni.getStorageSync("curHouseCode")
- }).then(res => {
- let data = res.data;
- this.contactList = this.navList;
- if (data.wg) {
- this.contactList[1].name = data.wg.name;
- this.contactList[1].phone = data.wg.phone
- this.contactList[1].path = "/subPackage/grid/comprehensive";
- this.contactList[1].id = data.wg.code;
- } else {
- this.contactList[1].name = "";
- }
- if (data.wy) {
- this.contactList[0].name = data.wy.name;
- this.contactList[0].phone = data.wy.phone;
- this.contactList[0].path = "/subPackage/grid/tenement";
- this.contactList[0].id = data.wy.code;
- } else {
- this.contactList[0].name = "";
- }
- if (data.ga) {
- this.contactList[2].name = data.ga.name;
- this.contactList[2].phone = data.ga.phone;
- this.contactList[2].path = "/subPackage/grid/publicSecurity";
- this.contactList[2].id = data.ga.code;
- } else {
- this.contactList[2].name = "";
- }
- })
- },
-
- callPhone(phone) {
- uni.makePhoneCall({
- phoneNumber: phone
- })
- },
-
- async getNoticeList() {
- const param = {
- size: 5,
- current: 1,
- houseCode: uni.getStorageSync("siteInfo").houseCode
- }
- const res = await getPage(param)
- this.notice = res.data.records
- },
-
- //获取场所列表
- async getSiteList() {
- let type = null
- let roleName = this.selectRole.roleName
- if (roleName == '网格员' || roleName == '系统管理员') {
- type = 1
- this.roleType = 1;
- this.roleTypeName = "街道社区网格"
- } else if (roleName == '居民') {
- type = 2
- this.roleType = 2
- this.roleTypeName = "居民"
- } else if (roleName == '民警') {
- type = 1
- this.roleType = 3
- this.roleTypeName = "街道社区"
- }
- const res = await getFuncList(type, roleName)
- this.columnData = res.data;
- let data = res.data
- this.siteColumns = []
- this.buildSiteColumn(data, 0)
- },
-
- buildSiteColumn(dataList, index) {
- if (dataList.length > 0) {
- this.siteColumns[index] = dataList
- if (dataList[0].children && dataList[0].children.length > 0) {
- this.curSelectSite = dataList[0].children[0];
- this.getHouseDataList(dataList[0].children[0].id)
- this.buildSiteColumn(dataList[0].children, index + 1)
- } else {
- this.curSelectSite = dataList[0];
- }
- this.curHouseCode = this.curSelectSite.id
- uni.setStorageSync("curHouseCode", this.curSelectSite.id)
- }
- },
-
-
- // 获取楼盘
- async getHouseDataList(code) {
- const param = {
- type: 1,
- code: code,
- roleName: uni.getStorageSync('activeRole').roleName
- }
- const res = await getHouseList(param)
- res.data.forEach(item => {
- item.title = item.name
- item.useSlot = true
- delete item.name
- })
- this.houseDataList = res.data || [{
- title: '-',
- useSlot: true
- }]
- },
-
- changeSite(e) {
- const {
- columnIndex,
- value,
- values, // values为当前变化列的数组内容
- index,
- // 微信小程序无法将picker实例传出来,只能通过ref操作
- picker = this.$refs.uPicker
- } = e
- // 当第一列值发生变化时,变化第二列(后一列)对应的选项
- if (columnIndex === 0 && this.columnData.length > 0) {
- // picker为选择器this实例,变化第二列对应的选项
- picker.setColumnValues(1, this.columnData[index])
- // this.siteColumns[1] = this.columnData[index].children
- this.$set(this.siteColumns, 1, this.columnData[index].children)
- };
- },
- // 回调参数为包含columnIndex、value、values
- confirmSite(e) {
- console.log('confirm', e)
- this.selectSiteIndex = e.indexs;
- this.curSelectSite = e.value[e.value.length - 1]
- this.selectBoxShow = false
- this.getHouseDataList(e.value[1]?.id)
- this.curHouseCode = e.value[0].id
- console.log("curSite=>", this.curSelectSite);
- },
- getMenu(menuName) {
- let list = [];
- for (let i of this.menuList) {
- if (i.name == menuName) {
- if (i.children && i.children.length) {
- list = i.children;
- break;
- }
- }
- }
- return list;
- },
-
- //获取首页菜单
- getMenuList() {
- this.menuList = uni.getStorageSync("menu")
- this.liveList = this.setLiveMenu(this.hasMenu('生活'));
- this.jobList = this.hasMenu('工作台')
- if (this.menuList.length) {
- this.getContactMenu();
- this.getHouseMenu();
- this.getNoticeMenu();
- }
- setTimeout(() => {
- if (this.jobList.length) {
- let taskList = this.jobList.filter(item => item.name == "我的任务")
- if (taskList.length) {
- uni.setStorageSync("taskMenu", taskList[0].children);
- } else {
- uni.setStorageSync("taskMenu", []);
- }
- } else {
- uni.setStorageSync("taskMenu", []);
- }
- }, 200)
- },
-
- getContactMenu() {
- let list = [];
- list = this.menuList.filter(item => item.name == "快捷拨号")
- this.isShowContact = list.length ? true : false;
- if (list.length) {
- this.getContactList()
- }
- },
-
- getHouseMenu() {
- let list = [];
- list = this.menuList.filter(item => item.name == "楼盘表")
- this.isShowHouse = list.length ? true : false;
- },
-
- getNoticeMenu() {
- let list = [];
- list = this.menuList.filter(item => item.name == "通知公告")
- this.isShowNotice = list.length ? true : false;
- if (list.length) {
- this.getNoticeList()
- }
- },
-
- setLiveMenu(arr) {
- if (arr.length) {
- let index = this.getLiveMenuItem(arr, 1)
- let index2 = this.getLiveMenuItem(arr, 2)
- if (this.curSelectSite.addressType == 1) {
- if (index != -1) {
- arr.splice(index, 1)
- index = this.getLiveMenuItem(arr, 1)
- index2 = this.getLiveMenuItem(arr, 2)
- }
- if (index2 == -1 && this.roleType == 2) {
- arr.push({
- name: "租客上报",
- path: "/subPackage/bs/views/zhsb",
- pictureImg: "/static/icon/nav-04.png"
- })
- index = this.getLiveMenuItem(arr, 1)
- index2 = this.getLiveMenuItem(arr, 2)
- }
- } else {
- if (index == -1) {
- arr.unshift({
- name: "标签报事",
- path: "/subPackage/label/index",
- pictureImg: "/static/icon/nav-11.png"
- })
- index = this.getLiveMenuItem(arr, 1)
- index2 = this.getLiveMenuItem(arr, 2)
- }
- if (index2 != -1) {
- arr.splice(index2, 1)
- index = this.getLiveMenuItem(arr, 1)
- index2 = this.getLiveMenuItem(arr, 2)
- }
- }
- }
- return arr;
- },
-
- getLiveMenuItem(arr, type) {
- if (type == 1) {
- let index = arr.findIndex(item => item.name == "标签报事")
- return index;
- } else {
- let index2 = arr.findIndex(item => item.name == "租户上报")
- return index2
- }
- },
-
- // 页面跳转
- pushPage(item) {
- const {
- id,
- title,
- addressType
- } = item;
- if (id !== void 0) {
- let url = `/subPackage/house/list/index?id=${id}&title=${title}&addressType=${addressType}`
- this.$u.func.globalNavigator(url, "navTo")
- }
- },
-
- navTo() {
- if (this.curHouseCode === '') {
- uni.showToast({
- title: "请选择地址",
- icon: "error"
- })
- return
- }
- this.$u.func.globalNavigator(`/subPackage/bs/views/zhsb?houseCode=${this.curHouseCode}`, "navTo")
- },
-
- navigatorPage(path) {
- if (path) {
- if ((path == '/subPackage/bs/views/zhsb' || path == '/subPackage/bs/views/repair') && this
- .curHouseCode === '') {
- uni.showToast({
- title: "尚无绑定房屋信息",
- icon: "error"
- })
- } else if (path == '/subPackage/workbench/views/cscj') {
- this.$u.func.globalNavigator(path, "navTo")
- } else {
- this.$u.func.globalNavigator(`${path}?houseCode=${this.curHouseCode}`, "navTo")
- }
- } else {
- uni.showToast({
- title: "功能开发中~",
- icon: "none"
- })
- }
- },
-
- navToSelectSite() {
- this.$u.func.globalNavigator('selectSite', "navTo")
- },
-
- //扫一扫
- scan() {
- const that = this
- uni.scanCode({
- success: function(res) {
- console.log("扫码结果", res)
- let eventType = 0;
- let obj = that.getUrlParams(res.result)
- console.log(obj)
- if (!that.isLogin) {
- let data = res.data;
- that.$u.func.globalNavigator(
- `/subPackage/bs/views/danger?id=${obj.stdId}`, "navTo")
- return
- }
-
- if (obj.stdId == "3C77B40EFC5F4C899AA74BEE747D9DF1") {
- eventType = 1;
- that.$u.func.globalNavigator(
- `/subPackage/house/houseNumber/index?stdId=${obj.stdId}&eventType=${eventType}`,
- "navTo")
- } else if (obj.stdId == "CDF5528D617342228F3C84EF5C3C8780") {
- eventType = 2;
- that.$u.func.globalNavigator(
- `/subPackage/house/houseNumber/index?stdId=${obj.stdId}&eventType=${eventType}`,
- "navTo")
- } else {
- that.getHouseType(obj.stdId);
- }
-
- //"3C77B40EFC5F4C899AA74BEE747D9DF1"
- // let url = "/subPackage/workbench/views/cscj?stdId=" + obj.stdId
- // let url = "/subPackage/workbench/views/cscj?houseCode=" + obj.stdId
- // let url = `/subPackage/house/houseNumber/index?stdId=${obj.stdId}`
- // that.$u.func.globalNavigator(url, "navTo")
- }
- });
- },
-
- getUrlParams(url) {
- // 通过 ? 分割获取后面的参数字符串
- let urlStr = url.split('?')[1]
- // 创建空对象存储参数
- let obj = {};
- // 再通过 & 将每一个参数单独分割出来
- let paramsArr = urlStr.split('&')
- for (let i = 0, len = paramsArr.length; i < len; i++) {
- // 再通过 = 将每一个参数分割为 key:value 的形式
- let arr = paramsArr[i].split('=')
- obj[arr[0]] = arr[1];
- }
- return obj
- },
-
- getHouseType(code) {
- // getPublicSecurityDetail
- getQrCodeDetail({
- roleName: uni.getStorageSync("activeRole").roleName,
- addressCode: code,
- }).then(res => {
-
- let {
- isJur,
- doorplateType,
- addressLevel,
- aoiName,
- addressName,
- neiName,
- buildingName,
- unitName,
- aoiCode,
- neiCode,
- unitCode,
- buildingCode
- } = res.data;
-
-
-
- if (isJur == 1) {
- if (doorplateType == "户室牌") {
- this.$u.func.globalNavigator(
- `/subPackage/house/roomDetails/index?id=${code}&from=scan`, "navTo")
- } else if (doorplateType == "中门牌") {
- if (addressLevel == 4) { //自建房
- this.$u.func.globalNavigator(
- `/subPackage/house/roomDetails/detail?code=${code}`, "navTo")
- } else { //商铺
- this.$u.func.globalNavigator(
- `/subPackage/house/houseNumber/index?stdId=${code}`, "navTo")
- }
- } else if (doorplateType == "楼幢牌") {
- let url = "/subPackage/house/family/index"
- this.$u.func.globalNavigator(
- `${url}?id=${code}&address=${addressName}&neiName=${neiName}&housingName=${aoiName}&buildingName=${buildingName}&buildingCode=${buildingCode}&aoiCode=${aoiCode}&neiCode=${neiCode}`,
- "navTo")
- } else if (doorplateType == "单元牌") {
- let url = "/subPackage/house/family/index"
- this.$u.func.globalNavigator(
- `${url}?id=${code}&address=${addressName}&neiName=${neiName}&housingName=${aoiName}&buildingName=${buildingName}&unitName=${unitName}&unitCode=${unitCode}&neiCode=${neiCode}&buildingCode=${buildingCode}`,
- "navTo")
- } else if (doorplateType == "大门牌") {
- this.$u.func.globalNavigator(
- `/subPackage/house/list/index?id=${code}&title=${aoiName}&neiName=${neiName}&address=${addressName}&neiCode=${neiCode}&aoiCode=${aoiCode}`,
- "navTo")
- } else if (doorplateType == "小门牌") {
- this.$u.func.globalNavigator(
- `/subPackage/house/houseNumber/index?stdId=${code}`, "navTo")
- }
- } else {
- uni.showModal({
- title: "提示!",
- content: "该区域不是您管辖范围",
- showCancel: false
- })
- }
- })
- },
-
- //场所任务跳转
- navToSiteList() {
- let {
- houseCode
- } = uni.getStorageSync("siteInfo")
- uni.navigateTo({
- url: `/subPackage/workbench/views/audit?code=${houseCode}&from=index`
- })
- }
- }
- }
-</script>
-
-<style lang="scss">
- page {
- color: #333;
- width: 100%;
- height: 100%;
- background-color: #f5f5f5;
- }
-
- .layout {
- width: 100%;
- height: 100%;
- }
-
- .top {
- width: 530rpx;
-
- .top-text {
- max-width: 85%;
- margin-right: 20rpx;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- }
-
- .swiper {
- width: 100%;
- height: 340rpx;
- background: linear-gradient(180deg, #017BFC 0%, rgba(1, 123, 252, 0) 100%);
- padding: 0 30rpx;
- box-sizing: border-box;
- }
-
- .content {
- padding: 0 30rpx;
- }
-
- // .grid {
- // margin-top: 20rpx;
- // margin-bottom: 10rpx;
- // }
- .nav {
- padding: 10rpx 0;
- margin-bottom: 20rpx;
- border-radius: 10rpx;
-
- .nav-item {
- padding: 10rpx 0;
- }
-
- .nav-item-text {
- font-family: PingFang SC;
- font-weight: 500;
- color: #585b61;
- }
- }
-
-
- .section {
- .section-item {
- width: 216rpx;
- height: 120rpx;
- position: relative;
- }
-
- .section-item-bg {
- width: 216rpx;
- height: 120rpx;
- }
-
- .item-box {
- width: 216rpx;
- height: 120rpx;
- position: absolute;
- top: 0;
- left: 0;
- padding: 20rpx 20rpx 0;
- box-sizing: border-box;
- }
- }
-
-
-
- .block {
- .block-item {
- position: relative;
-
- }
-
- .block-item,
- .block-item-bg,
- .block-item-box {
- width: 220rpx;
- height: 150rpx;
- border-radius: 10rpx;
- }
-
- .block-item-box {
- padding: 0 12rpx;
- box-sizing: border-box;
- position: absolute;
- top: 0;
- left: 0;
-
- }
-
- .item-text {
- height: 65rpx;
- margin-left: 20rpx;
- color: #fff;
- }
-
- .opacity {
- opacity: .4;
- }
- }
-
- .cell {
- padding: 0 16rpx;
- height: 64rpx;
- border-radius: 8rpx;
- margin-right: 20rpx;
- margin-top: 30rpx;
-
- .cell-text {
- margin-left: 16rpx;
- }
- }
-
- .grid-item {
- width: 153rpx;
- height: 153rpx;
- border-radius: 16rpx 16rpx 16rpx 16rpx;
- justify-content: center;
- }
-
- .row {
- width: 100%;
- margin: 30rpx 0;
-
- .row-item {
- width: 330rpx;
- height: 134rpx;
- box-shadow: 0rpx 10rpx 10rpx 0rpx rgba(0, 0, 0, 0.02);
- border-radius: 16rpx 16rpx 16rpx 16rpx;
- }
- }
-
- .p-20 {
- padding: 0 20rpx;
- border-radius: 10rpx;
- }
-
- .pb-20 {
- padding-bottom: 20rpx;
- }
-</style>
\ No newline at end of file
diff --git a/pages/login/login-account.vue b/pages/login/login-account.vue
index e1c8e31..1294807 100644
--- a/pages/login/login-account.vue
+++ b/pages/login/login-account.vue
@@ -7,7 +7,9 @@
</view>-->
- <image class="bg" src="/static/img/login-bg.png" :style="{height:screenHeight}" mode="aspectFill"></image>
+ <image class="bg"
+ src="https://srgdjczzxtpt.com:2080/gminio/jczz/upload/20240410/61f0d307739505790a2a72eb36a9330e.png"
+ :style="{height:screenHeight}" mode="aspectFill"></image>
<view class="content" v-if="!loginType">
diff --git a/pages/user/center.vue.bak b/pages/user/center.vue.bak
deleted file mode 100644
index 1948124..0000000
--- a/pages/user/center.vue.bak
+++ /dev/null
@@ -1,111 +0,0 @@
-<template>
- <view class="">
- <view class="header flex a-i-c">
- <u-avatar :src="userInfo.avatar" size="80"></u-avatar>
- <view class="flex f-d-c ml-20" v-if="isLogin">
- <text class="f-36 mb-20 fw" v-if="userInfo.nick_name">{{userInfo.nick_name}}</text>
- <text class="f-36 mb-20 fw" v-else>{{userInfo.user_name}}</text>
- <!-- <text class="f-28 c-99">您好业主,欢迎回家</text> -->
- </view>
- <view class="flex f-d-c ml-20" v-if="!isLogin">
- <text class="f-36 mb-20 fw">未登录</text>
- <!-- <text class="f-28 c-99">您好业主,欢迎回家</text> -->
- </view>
- </view>
-
- <view class="main">
- <view class="main-cell">
- <view class="cell-content">
- <u-cell-group :border="false">
- <u-cell @click="navigator(item)" v-for="(item, index) in menuList" :icon="item.icon"
- :title="item.title" :key="index" :border="false" :iconStyle="{width:'48rpx',height:'48rpx'}"
- :isLink="true"></u-cell>
- </u-cell-group>
- </view>
- </view>
-
- </view>
- </view>
-</template>
-
-<script>
- export default {
- data() {
- return {
- menuList: [{
- icon: "/static/icon/menu-center-01.png",
- title: "我的家人",
- url: ""
- },
- {
- icon: "/static/icon/menu-center-02.png",
- title: "切换角色",
- url: "/subPackage/user/role/index"
- },
- {
- icon: "/static/icon/menu-center-03.png",
- title: "修改密码",
- url: "/subPackage/user/password/index"
- },
- {
- icon: "/static/icon/menu-center-04.png",
- title: "退出登录",
- url: ""
- },
- ],
- // userInfo:{}
- }
- },
-
- onShow() {
-
-
- },
-
-
- methods: {
- change(index) {
- let url = index
- this.$u.func.globalNavigator(url, "switchTab")
- },
-
- navigator(item) {
- if (item.title == '退出登录') {
- uni.showModal({
- title: "提示",
- content: "是否要退出该账号?",
- success: (res) => {
- if (res.confirm) {
- this.logOut()
- }
- }
- })
- } else {
- this.$u.func.globalNavigator(item.url)
- }
- },
-
- logOut() {
- uni.setStorageSync("responIndex", 0)
- uni.clearStorageSync()
- uni.reLaunch({
- url: "/pages/login/login-account"
- })
- },
- }
- }
-</script>
-
-<style>
- page {
- width: 100%;
- height: 100%;
- background: linear-gradient(96deg, #E2EFFF 0%, rgba(255, 255, 255, 0) 100%);
- }
-
- .header {
- width: 100%;
- padding: 120rpx 38rpx 80rpx;
- box-sizing: border-box;
- }
-</style>
\ No newline at end of file
diff --git a/pages/user/center2.vue b/pages/user/center2.vue
deleted file mode 100644
index 7d90422..0000000
--- a/pages/user/center2.vue
+++ /dev/null
@@ -1,129 +0,0 @@
-<template>
- <view class="container">
- <u-navbar height="48" bgColor="#5887f9" :autoBack="false" safeAreaInsetTop placeholder>
- <view slot="left">
- <u--text color="#ffffff" text="基层智治" size="18" />
- </view>
- </u-navbar>
-
- <view class="main">
- <view class="main-bg">
-
- </view>
-
-
- <view class="main-cell">
- <view class="cell-content">
- <u-cell-group :border="false">
- <u-cell @click="navigator(item)" v-for="(item, index) in cellGroupData" :icon="item.icon"
- :title="item.title" :key="index" :border="false"></u-cell>
- </u-cell-group>
- </view>
- </view>
-
- </view>
-
- <tabBar @change='change' :currentTab="1"></tabBar>
- </view>
-</template>
-
-<script>
- import tabBar from "@/components/tabBar/tabBar.vue";
-
- export default {
- components: {
- tabBar,
- },
-
- data() {
- return {
- cellGroupData: [{
- title: '我的家人',
- icon: 'account-fill',
- url: ''
- },
- {
- title: '切换角色',
- icon: 'account-fill',
- url: '/subPackage/user/role/index'
- },
- {
- title: '修改密码',
- icon: 'account-fill',
- url: ''
- },
- {
- title: '退出登录',
- icon: 'account-fill',
- url: ''
- }
- ]
- }
- },
- onShow() {
- uni.hideTabBar()
- },
-
- methods: {
- change(index) {
- let url = index
- this.$u.func.globalNavigator(url, "switchTab")
- },
-
- navigator(item) {
-
- if (item.title == '退出登录') {
- this.logOut()
- } else {
- this.$u.func.globalNavigator(item.url)
- }
-
- },
-
- logOut() {
- uni.setStorageSync("responIndex", 0)
- uni.clearStorageSync()
- uni.reLaunch({
- url: "/pages/login/login-account"
- })
- },
- }
- }
-</script>
-
-<style lang="scss" scoped>
- .container {
- width: 100%;
- height: 100%;
-
- display: flex;
- flex-direction: column;
- background: #F9F9FA;
-
- .main {
- position: relative;
- height: 0;
- flex: 1;
- overflow-y: auto;
-
- .main-bg {
- height: 36%;
- background: royalblue;
- }
-
- .main-cell {
- position: absolute;
- top: 34%;
- width: 100%;
- height: 66%;
- border-radius: 10rpx 10rpx 0 0;
- z-index: 11;
- background: #fff;
-
- .cell-content {
- margin-top: 240rpx;
- }
- }
- }
- }
-</style>
\ No newline at end of file
diff --git a/pages/user/center3.vue b/pages/user/center3.vue
deleted file mode 100644
index 812c420..0000000
--- a/pages/user/center3.vue
+++ /dev/null
@@ -1,200 +0,0 @@
-<template>
- <view class="">
- <view class="header flex a-i-c c-ff">
- <u-avatar :src="userInfo.avatar" size="80"></u-avatar>
- <view class="flex f-d-c ml-30" v-if="isLogin">
- <text class="f-36 mb-20 fw" v-if="userInfo.nick_name">{{userInfo.nick_name}}</text>
- <text class="f-36 mb-20 fw" v-else>{{userInfo.user_name}}</text>
- <!-- <text class="f-28 c-99">您好业主,欢迎回家</text> -->
- </view>
- <view class="flex f-d-c ml-20" v-if="!isLogin" @click="navToLogin()">
- <text class="f-36 mb-20 fw">未登录</text>
- <!-- <text class="f-28 c-99">您好业主,欢迎回家</text> -->
- </view>
-
- <view v-if="isLogin" class="setting flex a-i-c j-c-c" @click="navigator('/subPackage/user/editUserInfo/editUserInfo')">
- <u-icon name="setting" size="30" color="#fff"></u-icon>
- </view>
-
- </view>
-
- <view class="main" v-if="isLogin">
- <view class="nav bgc-ff flex j-c-s-a a-i-c" v-if="roleType == 1">
- <view v-for="(item,index) in navList" :key="index" class="flex f-d-c a-i-c"
- @click="navigator(item.url)">
- <u-icon :customStyle="{paddingTop:20+'rpx'}" :name="item.icon" width="90rpx"
- height="90rpx"></u-icon>
- <text class="grid-text mt-20 f-28">{{item.title}}</text>
- </view>
- </view>
- <view class="main-cell bgc-ff">
- <view class="cell-content">
- <view class="cell-item flex j-c-s-b a-i-c" @click="navigator('/subPackage/user/family/list')"
- v-if="roleType == 1">
- <view class="flex a-i-c">
- <u-icon name="/static/icon/menu-center-01.png" width="60rpx" height="60rpx"></u-icon>
- <text class="f-30 ml-20">我的家人</text>
- </view>
- <u-icon name="arrow-right" color="#999"></u-icon>
- </view>
-
- <view class="cell-item flex j-c-s-b a-i-c" v-for="(item,index) in menuList" :key="index"
- @click="navigator(item.url)">
- <view class="flex a-i-c">
- <u-icon :name="item.icon" width="60rpx" height="60rpx"></u-icon>
- <text class="f-30 ml-20">{{item.title}}</text>
- </view>
- <u-icon name="arrow-right" color="#999"></u-icon>
- </view>
-
- <view class="cell-item flex j-c-s-b a-i-c" @click="logOut()">
- <view class="flex a-i-c">
- <u-icon name="/static/icon/menu-center-04.png" width="60rpx" height="60rpx"></u-icon>
- <text class="f-30 ml-20">退出登录</text>
- </view>
- <u-icon name="arrow-right" color="#999"></u-icon>
- </view>
-
- </view>
- </view>
-
- <!-- <button @click="navigator('test')"> 测试</button> -->
- </view>
- </view>
-</template>
-
-<script>
- export default {
- data() {
- return {
- menuList: [{
- icon: "/static/icon/menu-center-02.png",
- title: "切换角色",
- url: "/subPackage/user/role/index"
- },
- {
- icon: "/static/icon/menu-center-03.png",
- title: "修改密码",
- url: "/subPackage/user/password/index"
- }
- ],
- navList: [{
- icon: "/static/icon/nav-center-01.png",
- title: "我的房屋",
- url: "/subPackage/house/roomDetails/index"
- },
- {
- icon: "/static/icon/nav-center-02.png",
- title: "我的小区",
- url: "/subPackage/user/district/index"
- },
- {
- icon: "/static/icon/nav-center-03.png",
- title: "出租信息",
- url: "/subPackage/bs/views/zhsb"
- },
- ],
- roleType: 1
- // userInfo:{}
- }
- },
-
-
- onShow() {
- let role = uni.getStorageSync('activeRole')
- if (role.roleAlias == "inhabitant") {
- this.roleType = 1
- } else {
- this.roleType = 2;
- }
- },
-
- methods: {
- change(index) {
- let url = index
- this.$u.func.globalNavigator(url, "switchTab")
- },
-
- navigator(url) {
- this.$u.func.globalNavigator(url)
- },
-
- navToLogin() {
- uni.redirectTo({
- url: "/pages/login/login-account"
- })
- },
-
- logOut() {
- uni.showModal({
- title: "提示",
- content: "是否要退出该账号?",
- success: (res) => {
- if (res.confirm) {
- uni.setStorageSync("responIndex", 0)
- uni.clearStorageSync()
- uni.reLaunch({
- url: "/pages/login/login-account"
- })
- }
- }
- })
- },
-
-
-
- }
- }
-</script>
-
-<style lang="scss">
- page {
- width: 100%;
- height: 100%;
- background-color: #f5f5f5;
- /* background: linear-gradient(96deg, #E2EFFF 0%, rgba(255, 255, 255, 0) 100%); */
- }
-
- .header {
- width: 100%;
- height: 600rpx;
- padding: 120rpx 38rpx;
- box-sizing: border-box;
- background: linear-gradient(180deg, #017BFC 0%, rgba(1, 123, 252, 0) 100%);
- }
- .setting{
- position: fixed;
- width:40rpx;
- height:40rpx;
- right:38rpx;
- top:200rpx;
- }
-
- .main {
- margin: -120rpx 30rpx 0;
-
- .nav {
- width: 100%;
- padding: 20rpx 0;
- margin-bottom: 20rpx;
- border-radius: 10rpx;
- }
-
- .main-cell {
- border-radius: 10rpx;
- }
-
- .cell-item {
- width: 100%;
- padding: 30rpx;
- border-bottom: 1px solid #f5f5f5;
- color: #333;
- box-sizing: border-box;
-
- }
-
- .cell-item:last-child {
- border-bottom: none;
- }
- }
-</style>
\ No newline at end of file
diff --git a/static/img/login-bg.png b/static/img/login-bg.png
deleted file mode 100644
index 1133eb0..0000000
--- a/static/img/login-bg.png
+++ /dev/null
Binary files differ
diff --git a/static/zhangguangsen-search/zhangguangsen-search.ttf b/static/zhangguangsen-search/zhangguangsen-search.ttf
new file mode 100644
index 0000000..f952fc8
--- /dev/null
+++ b/static/zhangguangsen-search/zhangguangsen-search.ttf
Binary files differ
diff --git a/static/zhangguangsen-search/zhangguangsen-search.woff b/static/zhangguangsen-search/zhangguangsen-search.woff
new file mode 100644
index 0000000..8e65058
--- /dev/null
+++ b/static/zhangguangsen-search/zhangguangsen-search.woff
Binary files differ
diff --git a/static/zhangguangsen-search/zhangguangsen-search.woff2 b/static/zhangguangsen-search/zhangguangsen-search.woff2
new file mode 100644
index 0000000..2f7a88f
--- /dev/null
+++ b/static/zhangguangsen-search/zhangguangsen-search.woff2
Binary files differ
diff --git a/subPackage/counterfraud/addReport.vue b/subPackage/counterfraud/addReport.vue
new file mode 100644
index 0000000..d0c4a64
--- /dev/null
+++ b/subPackage/counterfraud/addReport.vue
@@ -0,0 +1,576 @@
+<template>
+ <view class="wrap">
+ <view class="section mb-20">
+ <u-collapse :value="itemIndex" ref="collapse">
+ <u-collapse-item :title="item.title" :name="index" v-for="(item,index) in questionList">
+ <u-form :model="info" ref="form">
+ <block v-for="(i,k) in item.children">
+ <view class="f-30 c-33">
+ {{i.title}}
+ </view>
+ <!-- <u-form-item labelWidth="90" label="隐患" prop="gateStatus">
+ <view class="btn-group flex">
+ <view class="value-item" :class="i.state == 0?'active bgc-main c-ff':''"
+ @click="changeStatus(0,i,index,k)">
+ 存在
+ </view>
+ <view class="value-item" :class="i.state == 1?'active bgc-main c-ff':''"
+ @click="changeStatus(1,i,index,k)">
+ 不存在
+ </view>
+ </view>
+ </u-form-item> -->
+ <view class="">
+ <u-form-item labelWidth="100" label="照片" prop="gateStatus">
+ <u-upload :fileList="i.urls" :previewFullImage="uploadConfig.previewFullImage"
+ :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
+ :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture"
+ @afterRead="afterReadImgs($event,i,index,k)"
+ @delete="deleteImages($event,index,k)">
+ <view class="upload-item upload-icon flex_base">
+ <u-icon name="/static/icon/upload.png" width="60rpx"
+ height="60rpx"></u-icon>
+ </view>
+ </u-upload>
+ </u-form-item>
+ <u-form-item labelWidth="100" label="描述" prop="gateStatus">
+ <u-textarea v-model="i.remark" placeholder="请输入描述"
+ placeholderClass="c-99 f-26"></u-textarea>
+ </u-form-item>
+ </view>
+ </block>
+ </u-form>
+ </u-collapse-item>
+ </u-collapse>
+ </view>
+
+
+ <!-- <footer-btn @click="sumitInfo"></footer-btn> -->
+
+ <button class="submit-btn" @click="sumitInfo">提交</button>
+ <button class="list-btn mb-20" @click="navTo">我上报的事件</button>
+
+
+
+ <view class="blank"></view>
+ </view>
+</template>
+
+<script>
+ import uploadMixin from "@/mixin/uploadMixinPlace";
+ import {
+ getPlaceCheckItem
+ } from "@/api/place/place.js"
+
+ import {
+ savePlaceCheck,
+ getPlaceCheckDetail,
+ updatePlaceCheck,
+ auditPlaceCheck
+ } from "@/api/reporting/reporting.js"
+
+ import {
+ addCounterfraudReport
+ } from "@/api/counterfraud/counterfraud.js"
+
+
+
+ export default {
+ mixins: [uploadMixin],
+ data() {
+ return {
+ form: {
+ images: []
+ },
+ info: {
+ remark: "",
+ imageUrls: "",
+ signaturePath: ""
+ },
+
+ desc: "",
+ title: "",
+ curSelectSite: {},
+ showSignature: false,
+ signatureUrl: "",
+ signatureSettings: { //签名设置
+ width: '700', //签名区域的宽
+ height: '800', //签名区域的高
+ lineWidth: 3, //签名时线宽
+ textColor: '#007AFF' //签名文字颜色
+ },
+ statusOption: [{
+ text: "存在",
+ value: 0
+ },
+ {
+ text: "不存在",
+ value: 1
+ },
+ ],
+ questionList: [],
+ itemIndex: [],
+ patrolRecordVOList: [],
+ count: 0,
+ statusList: [{
+ name: "是",
+ id: 2
+ },
+ {
+ name: "否",
+ id: 1
+ }
+ ],
+ time: Number(new Date()),
+ showSelectDate: false,
+ dangerCount: 0, //隐患项数量
+ isEdit: false
+
+ }
+ },
+ async onLoad(option) {
+ await this.getItem();
+ if (option.taskId) {
+ this.isEdit = true;
+ this.getDetail(option.taskId)
+ } else {
+ this.info.houseCode = uni.getStorageSync("siteInfo").houseCode;
+ this.info.placeName = uni.getStorageSync("siteInfo").name;
+ }
+
+
+
+ },
+
+ methods: {
+
+ getDetail(id) {
+ getPlaceCheckDetail({
+ taskId: id
+ }).then(res => {
+ let data = res.data;
+ for (let i = 0, ii = this.questionList.length; i < ii; i++) {
+ for (let k = 0, kk = this.questionList[i].children.length; k < kk; k++) {
+ for (let j = 0, jj = data.taskPlaceRecordVOList.length; j < jj; j++) {
+ if (this.questionList[i].children[k].id == data.taskPlaceRecordVOList[j].itemId) {
+ let children = this.questionList[i]
+ children.children[k].state = data.taskPlaceRecordVOList[j].state;
+ if (data.taskPlaceRecordVOList[j].imageUrls) {
+ children.children[k].urls = this.$setImageUrl(data.taskPlaceRecordVOList[j]
+ .imageUrls, 2);
+ }
+ children.children[k].remark = data.taskPlaceRecordVOList[j].remark || "";
+ this.$set(this.questionList, i, children)
+ }
+ }
+ }
+ }
+ this.info.id = data.id;
+ this.info.taskId = data.taskId;
+ this.info.remark = data.remark;
+ if (data.signaturePath) {
+ this.signatureUrl = this.$setFullUrl(data.signaturePath);
+ this.info.signaturePath = data.signaturePath;
+ }
+ this.form.images = this.$setImageUrl(data.imageUrls, 2)
+
+ })
+ },
+
+
+ getItem() {
+ getPlaceCheckItem({
+ childType: uni.getStorageSync("siteInfo").noExplosionCategory,
+ type: 2
+ }).then(res => {
+ let data = res.data;
+ this.questionList = res.data;
+ let arr = []
+ let obj = {
+ itemId: "",
+ state: "",
+ imagesUrl: "",
+ remark: ""
+ }
+ let count = 0;
+ for (let i = 0, ii = data.length; i < ii; i++) {
+ arr.push(i);
+ for (let k = 0, kk = data[i].children.length; k < kk; k++) {
+ // this.info.patrolRecordVOList.push(obj);
+ data[i].children[k].urls = [];
+ data[i].children[k].remark = "";
+ count += 1;
+ }
+ }
+ this.count = count;
+ this.itemIndex = arr;
+ })
+ },
+
+ changeStatus(value, item, fIndex, cIndex) {
+ let children = this.questionList[fIndex];
+ children.children[cIndex].state = value;
+ this.$set(this.questionList, fIndex, children)
+ if (value == 0 && !item.urls) {
+ children.children[cIndex].urls = [];
+ this.$set(this.questionList, fIndex, children)
+ }
+ this.$nextTick(() => {
+ this.$refs.collapse.init();
+ })
+ this.getSelected()
+ },
+
+ getSelected() {
+ let arr = [];
+ let count = 0;
+ for (let i = 0, ii = this.questionList.length; i < ii; i++) {
+ for (let k = 0, kk = this.questionList[i].children.length; k < kk; k++) {
+ // if (this.questionList[i].children[k].state != null) {
+ arr.push({
+ itemId: this.questionList[i].children[k].id,
+ // state: this.questionList[i].children[k].state,
+ imageUrls: this.setImages(this.questionList[i].children[k].urls),
+ remark: this.questionList[i].children[k].remark || ""
+ })
+ // if (this.questionList[i].children[k].state == 0) {
+ // count += 1;
+ // }
+ // }
+ }
+ }
+ this.dangerCount = count;
+ return arr;
+ },
+
+ setImages(key) {
+ if (!key) {
+ return ""
+ } else {
+ let urls = [];
+ for (let i of key) {
+ urls.push(i.name);
+ }
+ return urls.join(",")
+ }
+ },
+
+ async afterReadImgs(event, item, fIndex, cIndex) {
+ uni.showLoading({
+ title: "上传中..."
+ })
+ let children = this.questionList[fIndex];
+ let lists = [].concat(event.file)
+ let fileListLen = item.urls.length;
+ lists.map((item) => {
+ children.children[cIndex].urls.push({
+ ...item,
+ status: 'uploading',
+ message: '上传中'
+ })
+ this.$set(this.questionList, fIndex, children)
+ })
+ for (let i = 0; i < lists.length; i++) {
+ const result = await this.uploadFilePromise(lists[i].url)
+ children.children[cIndex].urls.splice(fileListLen, 1, Object.assign({}, {
+ url: result.data.link,
+ name: result.data.name
+ }))
+ this.$set(this.questionList, fIndex, children)
+ fileListLen++
+ }
+ this.loadingClose()
+ // this.getSelected()
+ },
+
+ deleteImages(event, fIndex, cIndex) {
+ let children = this.questionList[fIndex];
+ children.children[cIndex].urls.splice(event.index, 1);
+ this.$set(this.questionList, fIndex, children);
+ // this.getSelected()
+ },
+
+ signatureChange(e) {
+ // this.signatureUrl = e;
+ this.uploadSignImg(e)
+ },
+
+ showSignPopup() {
+ // if (this.getSelected().length < this.count) {
+ // this.$showTips("还有内容还未完善");
+ // return;
+ // }
+
+ let data = this.getSelected();
+ for (let i of data) {
+ if (i.state == 1) {
+ if (i.imageUrls || i.remark) {
+ i.imageUrls = "";
+ i.remark = "";
+ }
+ } else {
+ if (!i.imageUrls && !i.remark) {
+ this.$showTips("请上传隐患照片或填写隐患描述");
+ return;
+ }
+ }
+ }
+ this.showSignature = true;
+ },
+
+ uploadSignImg(url) {
+ uni.uploadFile({
+ url: this.uploadConfig.url,
+ filePath: url,
+ name: 'file',
+ header: this.uploadConfig.header,
+ success: (res) => {
+ console.log(res);
+ let data = JSON.parse(res.data);
+ if (res.statusCode == 200 && data.code == 200) {
+ // this.handleSubmit(data.data.name);
+ this.showSignature = false;
+ this.signatureUrl = data.data.link;
+ this.info.signaturePath = data.data.name;
+ // this.sumitInfo()
+ }
+ }
+ })
+ },
+
+ sumitInfo() {
+ uni.showLoading({
+ title: "加载中..."
+ })
+ // if (this.form.images.length > 0) {
+ // let urls = []
+ // this.form.images.forEach(e => {
+ // urls.push(e.name)
+ // })
+ // this.info.imageUrls = urls.join(",")
+ // }
+ this.info.taskPlaceRecordVOList = this.getSelected()
+ // this.info.status = 1;
+ console.log("data===>", this.getSelected());
+ if (this.isEdit) {
+ auditPlaceCheck(this.info).then(res => {
+ uni.hideLoading();
+ uni.showToast({
+ icon: 'success',
+ title: '提交成功',
+ success() {
+ setTimeout(() => {
+ uni.navigateBack();
+ }, 300)
+ }
+ })
+ })
+ } else {
+ addCounterfraudReport(this.info).then(res => {
+ uni.hideLoading();
+ uni.showToast({
+ icon: 'success',
+ title: '提交成功',
+ success() {
+ setTimeout(() => {
+ uni.navigateBack();
+ }, 300)
+ }
+ })
+ })
+ }
+ },
+
+
+ previewImg() {
+ uni.previewImage({
+ urls: [this.signatureUrl],
+ current: this.signatureUrl
+ })
+ },
+
+ navTo() {
+ uni.navigateTo({
+ url: 'reportRecord'
+ })
+ },
+
+
+
+
+ }
+ }
+</script>
+
+<style lang="less">
+ page {
+ background-color: #f5f5f5;
+ }
+
+ .wrap {
+ .section {
+ padding: 0 20rpx;
+ margin: 20rpx 20rpx 0;
+ background-color: #fff;
+ }
+ }
+
+ .top {
+ display: flex;
+ justify-content: flex-end;
+ padding: 20rpx;
+ }
+
+ .top-btn {
+ padding: 16rpx 22rpx;
+ border-radius: 6rpx;
+ text-align: center;
+ }
+
+ .content {
+ margin: 20rpx;
+ padding: 20rpx 30rpx;
+ }
+
+ .cell {
+ margin: 0 20rpx;
+ padding: 20rpx 30rpx;
+ }
+
+ .site-box {
+ padding: 30rpx;
+ margin: 20rpx 30rpx;
+ border-radius: 4rpx;
+
+ .c-aa {
+ color: #aaa;
+ }
+
+ .address {
+ width: 60%;
+ margin-left: 25rpx;
+ }
+ }
+
+ .upload-item {
+ width: 140rpx;
+ height: 140rpx;
+ border: 1px solid #EEEEEE;
+ }
+
+ .upload {
+ // margin: 0 30rpx;
+ padding: 30rpx 0;
+ }
+
+ .submit-btn {
+ width: 690rpx;
+ height: 78rpx;
+ line-height: 78rpx;
+ background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%);
+ border-radius: 8rpx 8rpx 8rpx 8rpx;
+ font-size: 32rpx;
+ color: #fff;
+ margin-top: 50rpx;
+ }
+
+ .list-btn {
+ width: 690rpx;
+ height: 78rpx;
+ line-height: 78rpx;
+ background: linear-gradient(163deg, #c7d7dc 0%, #c3cdd8 100%);
+ border-radius: 8rpx 8rpx 8rpx 8rpx;
+ font-size: 32rpx;
+ color: #fff;
+ margin-top: 50rpx;
+ }
+
+ .address-row {
+ flex: 1;
+ justify-content: flex-end;
+ align-items: center;
+ }
+
+ .address-content {
+ width: calc(100% - 116rpx - 20rpx);
+ margin-right: 20rpx;
+ text-align: right;
+ }
+
+ .location-btn {
+ width: 116rpx;
+ height: 46rpx;
+ line-height: 46rpx;
+ border-radius: 4rpx;
+ border: 1px solid currentColor;
+ padding: 0;
+ background-color: #fff;
+ text-align: center;
+ }
+
+
+ .signture-popup {
+ padding-bottom: 20rpx;
+ }
+
+ .sign {
+ padding: 30rpx;
+ // margin: 0 30rpx;
+ }
+
+ .value-item {
+ flex: 1;
+ // background-color: #ffffff;
+ // width: 120rpx;
+ border: 2rpx solid #f5f5f5;
+ height: 70rpx;
+ line-height: 70rpx;
+ box-sizing: border-box;
+ text-align: center;
+ }
+
+ .active {
+ border: 2rpx solid currentColor;
+ }
+
+ .btn-group {
+ flex: 1;
+ }
+
+ /deep/ .u-cell__title-text {
+ font-weight: bold;
+ font-size: 30rpx;
+ }
+
+ /deep/ .u-form-item__body__left__content {
+ font-size: 26rpx;
+ }
+
+ .blank {
+ width: 100%;
+ height: 140rpx;
+ }
+
+
+ .submit-btn {
+ width: 690rpx;
+ height: 78rpx;
+ line-height: 78rpx;
+ background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%);
+ border-radius: 8rpx 8rpx 8rpx 8rpx;
+ font-size: 32rpx;
+ color: #fff;
+ margin-top: 50rpx;
+ }
+
+ .list-btn {
+ width: 690rpx;
+ height: 78rpx;
+ line-height: 78rpx;
+ background: linear-gradient(163deg, #c7d7dc 0%, #c3cdd8 100%);
+ border-radius: 8rpx 8rpx 8rpx 8rpx;
+ font-size: 32rpx;
+ color: #fff;
+ margin-top: 50rpx;
+ }
+</style>
\ No newline at end of file
diff --git a/subPackage/counterfraud/reportRecord.vue b/subPackage/counterfraud/reportRecord.vue
new file mode 100644
index 0000000..76e9360
--- /dev/null
+++ b/subPackage/counterfraud/reportRecord.vue
@@ -0,0 +1,105 @@
+<template>
+ <view class="">
+ <view class="list">
+ <view class="list-item bgc-ff mb-20" v-for="(i,k) in list" :key="k" @click="navTo(i.id)">
+ <view class="item-title flex a-i-c j-c-s-b mb-20">
+ <text class="f-32 fw">无诈上报</text>
+ <!-- <text class="f-32 fw" v-if="i.eventType == 3">二手车交易</text>id
+ <text class="f-32 fw" v-if="i.eventType == 2">二手手机维修</text> -->
+ <u-tag v-if="i.status == 4" text="待完成" type="warning" plain plainFill></u-tag>
+ <u-tag v-if="i.status == 1" text="待审批" type="warning" plain plainFill></u-tag>
+ <u-tag v-if="i.status == 2" text="审核通过" type="success" plain plainFill></u-tag>
+ <u-tag v-if="i.status == 3" text="审核拒绝" type="error" plain plainFill></u-tag>
+ </view>
+ <view class="item-row flex a-i-c j-c-s-b">
+ <text class="f-28">时间</text>
+ <text class="f-28 c-66">{{i.createTime}}</text>
+ </view>
+ </view>
+ </view>
+ <u-loadmore :status="loadingStatus" loadmoreText="开始加载" loadingText="数据加载中" nomoreText="没有更多了" line />
+ </view>
+</template>
+
+<script>
+ import {
+ getPlaceCheckList
+ } from "@/api/reporting/reporting.js"
+ import {
+ getCounterfraudReportList
+ } from "@/api/counterfraud/counterfraud.js"
+
+ export default {
+ data() {
+ return {
+ list: [],
+ currentPage: 1,
+ loadingStatus: 'nomore',
+ }
+ },
+
+ onLoad(option) {
+ this.getList(option.type)
+ },
+ onReachBottom() {
+ this.currentPage++
+ this.getList()
+ },
+
+ methods: {
+ getList() {
+ getCounterfraudReportList({
+ userId: uni.getStorageSync("userInfo").user_id,
+ current: this.currentPage,
+ size: 10,
+ // reportType: 2
+ // eventType: type
+ }).then(res => {
+ if (res.code != 200) {
+ uni.showToast({
+ title: '数据请求失败',
+ icon: 'error'
+ })
+ return
+ }
+ let records = res.data.records;
+ this.list = [...this.list, ...records]
+ this.loadingStatus = 'nomore'
+ })
+ },
+ navTo(id) {
+ uni.navigateTo({
+ url: `/subPackage/workbench/views/counterfraudReportDetail?id=${id}`
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+ page {
+ background-color: #F5F5F5;
+ }
+
+ .list {
+ margin: 20rpx 30rpx 0;
+ }
+
+ .list-item {
+ padding: 0 30rpx 20rpx;
+ border-radius: 8rpx;
+
+ .item-title {
+ padding: 30rpx 0;
+ border-bottom: 1px solid #F5F5F5;
+ }
+
+ .item-row {
+ padding: 10rpx 0;
+
+ .address {
+ width: 65%;
+ }
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/subPackage/house/houseNumber/siteInspect.vue b/subPackage/house/houseNumber/siteInspect.vue
index 0e99f2d..710b3e8 100644
--- a/subPackage/house/houseNumber/siteInspect.vue
+++ b/subPackage/house/houseNumber/siteInspect.vue
@@ -329,7 +329,10 @@
getItem() {
- getPlaceCheckItem().then(res => {
+ getPlaceCheckItem({
+ childType: 1,
+ type: 1
+ }).then(res => {
let data = res.data;
this.questionList = res.data;
let arr = []
diff --git a/subPackage/label/check.vue b/subPackage/label/check.vue
index fee467d..93f4882 100644
--- a/subPackage/label/check.vue
+++ b/subPackage/label/check.vue
@@ -207,7 +207,10 @@
getItem() {
- getPlaceCheckItem().then(res => {
+ getPlaceCheckItem({
+ childType: 1,
+ type: 1
+ }).then(res => {
let data = res.data;
this.questionList = res.data;
let arr = []
diff --git a/subPackage/workbench/views/checkDetail.vue b/subPackage/workbench/views/checkDetail.vue
index c43e449..1f86ab4 100644
--- a/subPackage/workbench/views/checkDetail.vue
+++ b/subPackage/workbench/views/checkDetail.vue
@@ -129,7 +129,10 @@
getItem() {
- getPlaceCheckItem().then(res => {
+ getPlaceCheckItem({
+ childType: 1,
+ type: 1
+ }).then(res => {
if (res.code == 200) {
this.itemList = res.data;
}
diff --git a/subPackage/workbench/views/checkReform.vue b/subPackage/workbench/views/checkReform.vue
index 363b9a5..d7a3c09 100644
--- a/subPackage/workbench/views/checkReform.vue
+++ b/subPackage/workbench/views/checkReform.vue
@@ -225,7 +225,10 @@
},
getItem() {
- getPlaceCheckItem().then(res => {
+ getPlaceCheckItem({
+ childType: 1,
+ type: 1
+ }).then(res => {
if (res.code == 200) {
this.itemList = res.data;
}
diff --git a/subPackage/workbench/views/checkReform3.vue b/subPackage/workbench/views/checkReform3.vue
index 888b099..274f626 100644
--- a/subPackage/workbench/views/checkReform3.vue
+++ b/subPackage/workbench/views/checkReform3.vue
@@ -144,7 +144,10 @@
getItem() {
- getPlaceCheckItem().then(res => {
+ getPlaceCheckItem({
+ childType: 1,
+ type: 1
+ }).then(res => {
let data = res.data;
this.questionList = res.data;
let arr = []
diff --git a/subPackage/workbench/views/counterfraudReportDetail.vue b/subPackage/workbench/views/counterfraudReportDetail.vue
new file mode 100644
index 0000000..13ce5b6
--- /dev/null
+++ b/subPackage/workbench/views/counterfraudReportDetail.vue
@@ -0,0 +1,401 @@
+<template>
+ <view class="">
+ <view class="item-row flex j-c-s-b a-i-c">
+ <text>场所名称</text>
+ <text class="item-content">{{info.placeName}}</text>
+ </view>
+ <!-- <view class="item-row flex j-c-s-b a-i-c">
+ <text>标签</text>
+ <text>{{label || "未完善"}}</text>
+ </view> -->
+ <!-- <view class="item-row flex j-c-s-b a-i-c">
+ <text>场所负责人</text>
+ <text>{{info.principal || "未完善"}}</text>
+ </view>
+ <view class="item-row flex j-c-s-b a-i-c">
+ <text>场所负责人电话</text>
+ <text>{{info.principalPhone || "未完善"}}</text>
+ </view>
+ <view class="item-row flex j-c-s-b a-i-c">
+ <text>检查人</text>
+ <text>{{info.name}}</text>
+ </view> -->
+ <view class="item-row flex j-c-s-b a-i-c">
+ <text>时间</text>
+ <text>{{info.createTime}}</text>
+ </view>
+ <!-- <view class="item-row flex j-c-s-b a-i-c">
+ <text>地址</text>
+ <text class="item-content">{{info.location}}</text>
+ </view> -->
+
+ <view class="item-row flex j-c-s-b a-i-c">
+ <text>状态</text>
+ <text v-if="info.status == 1">待审核</text>
+ <text v-if="info.status == 2">审核成功</text>
+ <text v-if="info.status == 3">审核驳回</text>
+ <text v-if="info.status == 4">待完成</text>
+ </view>
+ <view class="item-row flex j-c-s-b a-i-c" v-if="info.status == 3 && info.reasonFailure">
+ <text>驳回原因</text>
+ <text class="item-content">{{info.reasonFailure}}</text>
+ </view>
+
+
+
+
+
+
+ <view class="mt-20 bgc-ff">
+ <block v-for="(item,index) in itemList">
+ <block v-for="(i,k) in item.children">
+ <block v-for="(n,m) in info.taskPlaceRecordVOList">
+ <!-- <view class="item-row flex j-c-s-b a-i-c" v-if="i.id == n.itemId && n.state == 1">
+ <text class="item-left">{{i.title}}</text>
+ <text>不存在</text>
+ </view> -->
+ <u-collapse :value="ids" v-if="i.id == n.itemId" ref="collapse">
+ <u-collapse-item :name="n.itemId" :title="i.title" :disabled="true" :clickable="false"
+ :isLink="false">
+ <view class="mb-20" v-if="n.imageUrls">
+ <view class="f-26 mb-10 c-00">照片</view>
+ <view class="flex flex-wrap">
+ <view class="mr-20" v-for="r in ($setImageUrl(n.imageUrls))">
+ <u-image :src="r" width="140rpx" height="140rpx"
+ @click="previewImage($setImageUrl(n.imageUrls),i)"></u-image>
+ </view>
+ </view>
+ </view>
+
+ <view class="mb-20" v-if="n.remark">
+ <view class="f-26 mb-10 c-00">描述</view>
+ <view class="f-28 c-00">
+ {{n.remark}}
+ </view>
+ </view>
+
+ <!-- <view class="mb-20" v-if="roleType == 2 || (roleType == 1 && n.rectificationImageUrls)">
+ <view class="f-26 mb-10 c-00">整改后照片</view>
+ <u-upload v-if="roleType == 2 && (info.status == 4 || info.status == 3)"
+ :fileList="n.urls" :previewFullImage="uploadConfig.previewFullImage"
+ :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
+ :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture"
+ @afterRead="afterReadImgs($event,n,m)" @delete="deleteImages($event,m)">
+ <view class="upload-item upload-icon flex_base">
+ <u-icon name="/static/icon/upload.png" width="60rpx"
+ height="60rpx"></u-icon>
+ </view>
+ </u-upload>
+
+
+ <view class="flex flex-wrap" v-if="info.status != 4 && n.rectificationImageUrls ">
+ <view class="mr-20" v-for="r in ($setImageUrl(n.rectificationImageUrls))">
+ <u-image :src="r" width="140rpx" height="140rpx"
+ @click="previewImage($setImageUrl(n.rectificationImageUrls),i)"></u-image>
+ </view>
+ </view>
+ </view> -->
+
+ <!-- <view class="" v-if="roleType == 2 || (roleType == 1 && n.rectificationRemark)">
+ <view class="f-26 mb-10 c-00">整改后描述</view>
+ <u-textarea v-model="n.rectificationRemark" placeholder="请输入整改后描述"
+ placeholderClass="c-99 f-26"
+ :disabled="roleType == 2 && (info.status == 4 || info.status == 3)?false:true"></u-textarea>
+ </view> -->
+
+
+
+ </u-collapse-item>
+ </u-collapse>
+ </block>
+ </block>
+ </block>
+ </view>
+
+ <view class="blank"></view>
+ <!-- <footer-btn @click="submitInfo" v-if="roleType == 2 && (info.status == 4 || info.status == 3)" /> -->
+ <audit-action v-if="roleType == 1 && info.status == 1" @handle="submitAudit" />
+ <footer-btn v-if="roleType == 2 && info.status == 3" text="重新提交" @click="navTo" />
+ </view>
+</template>
+
+<script>
+ import uploadMixin from "@/mixin/uploadMixinPlace";
+ import {
+ getPlaceCheckItem,
+ getPlaceCheckReformDetail,
+ addPlaceCheckReform,
+ auditPlaceCheckReform
+ } from '@/api/place/place.js'
+
+ import {
+ getPlaceCheckDetail,
+ auditPlaceCheck
+ } from '@/api/reporting/reporting.js'
+ import {
+ getCounterfraudReportDetail
+ } from "@/api/counterfraud/counterfraud.js"
+ import auditAction from '../components/actionBtn.vue'
+ export default {
+ mixins: [uploadMixin],
+ components: {
+ auditAction
+ },
+ data() {
+ return {
+ info: {},
+ images: [],
+ signatureUrl: [],
+ label: "",
+ itemList: [],
+ roleType: '', //1.民警/系统管理员 2.场所负责人
+ ids: [],
+ taskId: "",
+ id: ""
+ }
+ },
+ async onLoad(option) {
+ let {
+ roleName
+ } = uni.getStorageSync("activeRole")
+ if (roleName == "居民") {
+ this.roleType = 2;
+ }
+ if (roleName == "民警" || roleName == "系统管理员") {
+ this.roleType = 1;
+ }
+
+ await this.getItem();
+ this.taskId = option.id;
+ this.id = option.id;
+ },
+
+
+ onShow() {
+ setTimeout(() => {
+ this.getDetail();
+ }, 100)
+ },
+
+ methods: {
+
+ getDetail(id) {
+ getCounterfraudReportDetail({
+ id: this.id
+ }).then(res => {
+ let data = res.data;
+ // this.info = res.data;
+ // this.images = this.$setImageUrl(res.data.imageUrls);
+ // this.signatureUrl = this.$setImageUrl(res.data.signaturePath);
+ // if (res.data.placePoiLabelVOList.length) {
+ // this.label = res.data.placePoiLabelVOList[res.data.placePoiLabelVOList.length - 1]
+ // .labelName;
+ // }
+ let ids = [];
+ for (let i of data.taskPlaceRecordVOList) {
+ if ((data.status == 4 || data.status == 3) && this.roleType == 2) {
+ if (i.rectificationImageUrls) {
+ i.urls = this.$setImageUrl(i.rectificationImageUrls, 2);
+ } else {
+ i.urls = [];
+ }
+ }
+ if (i.state == 0) {
+ ids.push(i.itemId)
+ }
+ }
+ this.ids = ids;
+ this.info = data;
+ })
+ },
+
+ getItem() {
+ getPlaceCheckItem({
+ childType: uni.getStorageSync("siteInfo").noExplosionCategory,
+ type: 2
+ }).then(res => {
+ if (res.code == 200) {
+ this.itemList = res.data;
+ }
+ })
+ },
+
+ async afterReadImgs(event, item, fIndex) {
+ uni.showLoading({
+ title: "上传中..."
+ })
+ let children = this.info.taskPlaceRecordVOList;
+ let lists = [].concat(event.file)
+ let fileListLen = item.urls.length;
+ lists.map((item) => {
+ children[fIndex].urls.push({
+ ...item,
+ status: 'uploading',
+ message: '上传中'
+ })
+ this.$set(this.info, "taskPlaceRecordVOList", children)
+ })
+ for (let i = 0; i < lists.length; i++) {
+ const result = await this.uploadFilePromise(lists[i].url)
+ children[fIndex].urls.splice(fileListLen, 1, Object.assign({}, {
+ url: result.data.link,
+ name: result.data.name
+ }))
+ this.$set(this.info, "taskPlaceRecordVOList", children)
+ fileListLen++
+ }
+ this.loadingClose()
+ },
+
+ deleteImages(event, index) {
+ let children = this.info.taskPlaceRecordVOList;
+ children[index].urls.splice(event.index, 1);
+ this.$set(this.info, "taskPlaceRecordVOList", children)
+ },
+
+ setImages(key) {
+ if (!key) {
+ return ""
+ } else {
+ let urls = [];
+ for (let i of key) {
+ urls.push(i.name);
+ }
+ return urls.join(",")
+ }
+ },
+
+ previewImage(urls, current) {
+ uni.previewImage({
+ urls,
+ current
+ })
+ },
+
+ //整改提交
+ submitInfo() {
+ uni.showLoading({
+ title: "加载中..."
+ })
+ let data = this.info;
+ for (let i of data.taskPlaceRecordVOList) {
+ if (i.urls) {
+ i.rectificationImageUrls = this.setImages(i.urls)
+ }
+ delete i.urls;
+ }
+ if (data.status == 3) {
+ data.status = 1;
+ }
+ if (data.status == 4) {
+ data.status = 1;
+ }
+ addPlaceCheckReform(data).then(res => {
+ uni.hideLoading()
+ if (res.code == 200) {
+ this.$showTips("操作成功", "success");
+ setTimeout(() => {
+ uni.navigateBack()
+ }, 300)
+ }
+ })
+ },
+
+ //审核
+ submitAudit(val) {
+ uni.showLoading({
+ title: "加载中..."
+ })
+ auditPlaceCheck({
+ id: this.info.id,
+ taskId: this.info.taskId,
+ status: val.type,
+ rectificationFlag: val.type == 3 ? 1 : 2,
+ reasonFailure: val.remark
+ }).then(res => {
+ uni.hideLoading()
+ if (res.code == 200) {
+ this.$showTips("操作成功", "success");
+ setTimeout(() => {
+ uni.navigateBack()
+ }, 300)
+ }
+ })
+ },
+
+ navTo() {
+ uni.navigateTo({
+ url: `/subPackage/label/check?taskId=${this.info.taskId}`
+ })
+ },
+
+ }
+ }
+</script>
+
+<style lang="scss">
+ page {
+ background-color: #f5f5f5;
+ }
+
+ .item-row {
+ width: 100%;
+ padding: 30rpx;
+ box-sizing: border-box;
+ border-bottom: 1px solid #f5f5f5;
+ font-size: 28rpx;
+ background-color: #fff;
+
+ .item-content {
+ width: 70%;
+ text-align: right;
+ }
+
+ .item-left {
+ width: 70%;
+ }
+ }
+
+ .image-wrap {
+ margin-top: 20rpx;
+ padding: 20rpx;
+
+ .image-item {
+ margin-right: 20rpx;
+ }
+ }
+
+ /deep/.u-cell__title-text {
+ color: #000 !important;
+ width: 70%;
+ font-size: 28rpx !important;
+ }
+
+ /deep/ .u-cell__value {
+ color: #000 !important;
+ font-size: 28rpx !important;
+ }
+
+ .mr-20 {
+ margin-right: 20rpx;
+ }
+
+ .upload-item {
+ width: 140rpx;
+ height: 140rpx;
+ border: 1px solid #EEEEEE;
+ }
+
+ .blank {
+ width: 100%;
+ height: 140rpx;
+ }
+
+ .c-00 {
+ color: #000;
+ }
+
+ /deep/ .u-collapse-item .u-collapse-item__content {
+ height: auto !important;
+ }
+</style>
\ No newline at end of file
diff --git a/subPackage/workbench/views/cscj.vue b/subPackage/workbench/views/cscj.vue
index c236991..4c95fa6 100644
--- a/subPackage/workbench/views/cscj.vue
+++ b/subPackage/workbench/views/cscj.vue
@@ -64,8 +64,8 @@
<view class="f-30" v-if="currentId">
{{nineTypeValue}}
</view>
-
</u-form-item>
+
<u-form-item label="阵地:" labelWidth="100" prop="isFront" :required="isRequired">
<u-radio-group v-model="form.isFront" v-if="!currentId">
<u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in statusList"
@@ -98,6 +98,19 @@
</u-radio-group>
<view class="f-30" v-if="currentId">
{{form.threeFireProtection == 1?"否":"是"}}
+ </view>
+ </u-form-item>
+
+ <u-form-item class="form-item" labelWidth="100" label="无诈类别:" :required="isRequired"
+ :disabled="isDisabled" prop="noExplosionCategory">
+ <view class="flex j-c-s-b a-i-c" v-if="!currentId" @click="showNotSwindleTypePicker= true">
+ <u-input border="none" v-model="notSwindleValue" disabled disabledColor="#ffffff"
+ placeholder="请选择">
+ </u-input>
+ <u-icon slot="right" name="arrow-right"></u-icon>
+ </view>
+ <view class="f-30" v-if="currentId">
+ {{notSwindleValue}}
</view>
</u-form-item>
@@ -148,7 +161,7 @@
<view class="box-title" style="width:50%;">
<box-title title="负责人信息"></box-title>
</view>
- <ocr-navigator v-if="!currentId" @onSuccess="recognizeSuccess($event,'legal')"
+ <ocr-navigator v-if="!currentId" @onSuccess="recognizeSuccess($event,'principal')"
certificateType="idCard" :opposite="false">
<view class="recognize-btn flex a-i-c">
<u-icon name="scan" color="#fff" size="24"></u-icon>
@@ -384,6 +397,12 @@
@close="showGenderPicker = false" @cancel="showGenderPicker = false" keyName="name"
@confirm="confirmGender"></u-picker>
+
+ <u-picker :defaultIndex="notSwindleTypeIndex" :closeOnClickOverlay="true" :show="showNotSwindleTypePicker"
+ :columns="[notSwindleTypeList]" @close="showNotSwindleTypePicker = false"
+ @cancel="showNotSwindleTypePicker = false" keyName="name" @confirm="confirmNotSwindleType"></u-picker>
+
+
<cate-selector ref="selector" @comfirm="comfirmNineType" />
</view>
</template>
@@ -459,6 +478,7 @@
frontType: "",
nineType: "",
threeFireProtection: "",
+ noExplosionCategory: "",
placeExtEntity: {
landlordName: "",
landlordIdCard: "",
@@ -679,7 +699,6 @@
frontTypeValue: "",
isView: false,
source: "",
-
nationTypeList: [], //民族
nationTypeIndex: [0],
nationValue: "",
@@ -698,7 +717,11 @@
showGenderPicker: false,
personNum: 0,
personNumArr: [],
- isLegalSame: 1 //法人信息是否与负责人一致 1是 2否
+ isLegalSame: 1, //法人信息是否与负责人一致 1是 2否
+ notSwindleTypeList: [],
+ notSwindleIndex: [0],
+ notSwindleValue: "",
+ showNotSwindleTypePicker: false
}
},
@@ -763,6 +786,8 @@
await this.getBizDict('frontType', this.frontTypeList)
// 获取民族
await this.getBizDict('nationType', this.nationTypeList);
+ //反诈类别
+ await this.getBizDict('noExplosionCategory', this.notSwindleTypeList);
},
// 获取业务字典
@@ -1005,7 +1030,15 @@
this.nationValue = name;
}
-
+ if (key == "noExplosionCategory" && data.noExplosionCategory) {
+ let {
+ index,
+ name
+ } = this.$getIndex(this.notSwindleTypeList, data.noExplosionCategory, "value",
+ "name")
+ this.notSwindleIndex = [index];
+ this.notSwindleValue = name;
+ }
})
this.$set(this.form, "jwd", `${Number(data.lng).toFixed(6)},${Number(data.lat).toFixed(6)}`)
this.form.building = arr.join("")
@@ -1261,6 +1294,14 @@
this.showGenderPicker = false;
},
+ //选择无诈类别
+ confirmNotSwindleType(e) {
+ this.notSwindleIndex = e.indexs;
+ this.notSwindleValue = e.value[0].name;
+ this.form.noExplosionCategory = e.value[0].value;
+ this.showNotSwindleTypePicker = false;
+ },
+
//弹出层打开
popup() {
diff --git a/subPackage/workbench/views/selfCheckDetail.vue b/subPackage/workbench/views/selfCheckDetail.vue
index 5d5c024..6c3a4c5 100644
--- a/subPackage/workbench/views/selfCheckDetail.vue
+++ b/subPackage/workbench/views/selfCheckDetail.vue
@@ -242,7 +242,10 @@
},
getItem() {
- getPlaceCheckItem().then(res => {
+ getPlaceCheckItem({
+ childType: 1,
+ type: 1
+ }).then(res => {
if (res.code == 200) {
this.itemList = res.data;
}
--
Gitblit v1.9.3