作者 xuqiang

提交

... ... @@ -18,6 +18,12 @@
<view class="tabItem" :class="{active:tabIndex == 1}" @click="changeTabIndex(1)">
已督查 ({{check.complete}})
</view>
<view class="tabItem" :class="{active:tabIndex == 2}" @click="changeTabIndex(2)">
待交办 ({{check.unassign}})
</view>
<view class="tabItem" :class="{active:tabIndex == 3}" @click="changeTabIndex(3)">
已交办 ({{check.assign}})
</view>
</view>
<view class="selectList">
<view class="selectItem" @click="showPicker('year')">
... ...
<template>
<view class="simpleConfirmWrap">
<view class="simpleAlert">
<view class="alertInfo">
{{alertTxt}}
</view>
<view class="btn" @click="$emit('close')">
<view class="btnItem">
取消
</view>
<view class="btnItem active" @click="$emit('close')">
确认
</view>
</view>
</view>
</view>
</template>
<script>
export default{
data(){
return{
}
},
props:{
alertTxt:{
type:String
}
}
}
</script>
<style lang="scss" scoped>
.simpleConfirmWrap{
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 20;
background: $uni-bg-color-mask;
display: flex;
justify-content: center;
align-items: center;
.simpleAlert{
width: 622rpx;
background: $uni-bg-bai-color;
border-radius: 32rpx;
font-size: $uni-font-size-32;
.alertInfo{
padding: 48rpx;
text-align: center;
border-bottom: 1rpx solid #ebedf0;
}
.btn{
height: 96rpx;
display: flex;
.btnItem{
flex: 1;
font-size: $uni-font-size-32;
text-align: center;
line-height: 96rpx;
}
.btnItem.active{
color: $uni-bg-main-color;
border-left: 1rpx solid #ebedf0;
}
}
}
}
</style>
... ...
... ... @@ -6,7 +6,7 @@ import check from './check/index.js'
Vue.config.productionTip = false
Vue.prototype.$imgUrl="http://api.intewl.cn/uploads/"
Vue.prototype.apiUrl="http://60.28.38.245:8090/hwes-admin/"
Vue.prototype.apiUrl="http://7555a3dfb538.ngrok.io/"
// Vue.prototype.$imgUrl="http://www.mall.com/uploads/"
// Vue.prototype.apiUrl="http://www.mall.com/api"
Vue.prototype.check=check;
... ...
{
"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
{
"path": "pages/index/license/otherQuestion",
"style": {
"navigationBarTitleText":"其他问题"
}
},
{
"path": "pages/index/init",
"style": {
... ... @@ -8,6 +13,12 @@
}
},
{
"path": "pages/index/license/hand",
"style": {
"navigationBarBackgroundColor":"#fff"
}
},
{
"path": "pages/my/opinion",
"style": {
"navigationBarTitleText":"反馈与帮助"
... ...
... ... @@ -12,7 +12,7 @@
前端准入 过程控制 末端治理
</view>
<view class="homeOneWrap">
<view class="homeOne" @click="href('license/check','pwjg')">
<view class="homeOne" @click="showCheckList = true">
<view class="homeTitle">
排污许可证后监管
</view>
... ... @@ -26,6 +26,20 @@
</view>
</view>
</view>
<!-- 检查项弹框 -->
<view class="checkListWrap" v-if="showCheckList">
<view class="checkList">
<view class="closeImg">
<image @click="showCheckList = false" src="../../static/image/close.png" mode=""></image>
</view>
<view class="checkItem active" @click="href('license/check','pwjg')">
现场检查
</view>
<view class="checkItem" @click="href('license/check','rhjg')">
非现场检查
</view>
</view>
</view>
</view>
</template>
... ... @@ -33,7 +47,8 @@
export default {
data() {
return {
title: 'Hello'
title: 'Hello',
showCheckList:false
}
},
onLoad() {
... ... @@ -42,6 +57,7 @@
methods: {
href(url,pgType){
if(pgType == 'pwjg'){
this.showCheckList = false
this.$href(url)
}else{
uni.showToast({
... ... @@ -54,7 +70,7 @@
}
</script>
<style>
<style lang="scss" scoped>
.logoWrap{padding-top: 110rpx;display: flex;justify-content: center;}
.logoWrap image{width: 504rpx;height: 140rpx;}
... ... @@ -67,4 +83,42 @@
.bgImg .homeTwoWrap{padding-top: 46rpx;}
.homeTwoWrap .homeTwo{background: url(../../static/image/img_home2.png) no-repeat;background-size: 100% 280rpx;height: 280rpx;}
.homeTitle{padding: 80rpx 48rpx;font-size: 40rpx;color: #fff;}
// 检查项弹框
.checkListWrap{
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: rgba(0,0,0,0.5);
display: flex;
justify-content: center;
align-items: center;
.checkList{
.closeImg{
height: 84rpx;
display: flex;
justify-content: flex-end;
align-items: center;
image{width: 48rpx;height: 48rpx;}
}
width: 622rpx;
background: #ffffff;
border-radius: 32rpx;
padding: 0 32rpx 32rpx 32rpx;
.checkItem{
margin-top: 32rpx;
height: 104rpx;
background: #2da8d4;
border-radius: 16rpx;
font-size: 32rpx;
color: #fff;
text-align: center;
line-height: 104rpx;
}
.checkItem.active{
background: #4bb377;
}
}
}
</style>
... ...
... ... @@ -59,7 +59,7 @@
basinTxt:'全流域',
param:{
// 恢复位置
year:new Date().getFullYear().toString(),
// year:new Date().getFullYear().toString(),
basin:'',
type:'',
companyName:this.$store.state.keyword
... ... @@ -78,7 +78,6 @@
...mapState(["keyword"])
},
onBackPress(e){
console.log('用户操作返回',e)
uni.switchTab({
url:'../index'
})
... ... @@ -121,12 +120,12 @@
uni.showLoading({
title:'加载中'
})
console.log('11111',this.param)
uni.request({
url:this.apiUrl+'license/list',
data:this.param,
success: (res) => {
this.list = res.data.data
console.log('企业列表',this.list)
uni.hideLoading()
}
})
... ... @@ -152,7 +151,6 @@
},
onConfirm(e,pickerType){
console.log(e.result)
if(pickerType == 'year'){
if(e.result == '全'){
this.param.year = ''
... ...
<template>
<view>
<!-- 头部区域 -->
<view class="topWrap">
<view class="topItem">
<view class="topLeft">
状态
</view>
<view class="topRight">
<image class="topImg" src="../../../static/image/icon_daiducha.png" mode=""></image>
<!-- <image class="topImg" src="../../../static/image/icon_yiducha.png" mode=""></image> -->
</view>
</view>
<view class="topItem">
<view class="topLeft">
检查时间<span>*</span>
</view>
<view class="topRight" @tap="visibleMinute=true">
<text :class="{activeTxt: checkTime != '请选择'}">{{checkTime}}</text>
<image class="rightImg" src="../../../static/image/icon_arrow.png" mode=""></image>
</view>
</view>
<w-picker
:visible.sync="visibleMinute"
mode="date"
:current="true"
fields="day"
@confirm="onConfirm($event,'minute')"
@cancel="onCancel"
:disabled-after="false"
ref="date"
>检查时间</w-picker>
<view class="topItem">
<view class="topLeft">
检查人员<span>*</span>
</view>
<view class="topRight">
{{companyInfo.STORED == 1 ? companyInfo.MISSIONPERSON : userInfo.name}}
</view>
</view>
</view>
<!-- 按钮区域 -->
<view class="btnWrap">
<view class="btn active" @click="archive">
交办
</view>
</view>
</view>
</template>
<script>
import wPicker from "@/components/w-picker/w-picker.vue"
export default {
data() {
return {
companyInfo:{},
userInfo:{},
companyid:'',
visibleMinute:false,
checkTime:'请选择'
}
},
components:{
wPicker
},
onBackPress(e) {
console.log('用户操作返回',e)
uni.redirectTo({
url:'check'
})
return true
},
onShow() {
this.getData()
},
onLoad(option) {
this.companyid = option.companyid
if(uni.getStorageSync('token')){
uni.request({
url:this.apiUrl + 'getLoginUser',
data:{},
method:'get',
header:{
Authorization:'Bearer '+uni.getStorageSync('token')
},
success: (res) => {
console.log('获取当前登录用户信息',res)
if(res.data.code == 200){
this.userInfo = res.data.data
}else{
setTimeout(()=>{
uni.showToast({
title:'登录超时,请重新登录',
icon:'none'
})
},500)
uni.reLaunch({
url:'../../login/login'
})
}
}
})
}else{
uni.reLaunch({
url:'../../login/login'
})
}
},
methods: {
getData(){
//企业状态查询
uni.request({
url:this.apiUrl + 'license/getCompany',
data:{companyId:this.companyid},
method:'get',
success: (res) => {
console.log('归档状态查询',res)
this.companyInfo = res.data.data
uni.setNavigationBarTitle({
title: this.companyInfo.OWNERCOMPANY //这是修改后的导航栏文字
})
}
})
},
onCancel(){
},
onConfirm(e,pickerType){
this.checkTime = e.result
},
showSubCheck(index){
if(this.keyList[index].subKeyList.length > 0){
if(this.keyList[index].show == 0){
this.keyList[index].show = 1
}else{
this.keyList[index].show = 0
}
}else{
uni.navigateTo({
url:'checkDetail?param='+JSON.stringify(this.keyList[index].param)+'&companyid='+this.companyid
})
}
},
archive(){
if(this.checkTime == '请选择'){
uni.showToast({
title:'请选择检查时间',
icon:'none'
})
return
}
/* uni.request({
url:this.apiUrl + 'license/updateStatus?account='+this.userInfo.account+'&companyId='+this.companyid+'&date='+this.checkTime,
data:{},
method:'post',
success: (res) => {
console.log('保存归档',res)
}
}) */
}
}
}
</script>
<style lang="scss">
page{background: #f7f8fa;}
/* 头部区域 */
.topWrap{padding: 0 32rpx;background: #fff;}
.topWrap .topItem{display: flex;justify-content: space-between;align-items: center;height: 104rpx;font-size: 30rpx;border-top: 2rpx solid #f2f3f5;}
.topItem .topLeft{color: #646566;}
.topLeft span{color: red;}
.topItem .topRight{display: flex;align-items: center;}
.topRight text{color: #c8c9cc;}
.topRight .activeTxt{color: #323232;}
.topRight .topImg{width: 104rpx;height: 104rpx;}
.topRight .rightImg{width: 32rpx;height: 32rpx;}
/* 底部区域 */
.bottomWrap{padding: 0 32rpx;background: #fff;}
.bottomWrap .bottomItem{display: flex;justify-content: space-between;align-items: center;height: 104rpx;font-size: 30rpx;}
.bottomItem.bottomLine{border-bottom: 2rpx solid #f2f3f5;}
.bottomItem .bottomLeft{display: flex;align-items: center;}
.bottomLeft .completeImg{width: 60rpx;display: flex;align-items: center;}
.completeImg image{width: 40rpx;height: 40rpx;}
.bottomRight image{width: 32rpx;height: 32rpx;}
.subCheckWrap{padding: 0 32rpx 0 64rpx;}
.subCheckWrap .subCheckItem{display: flex;justify-content: space-between;align-items: center;height: 96rpx;color: #646566;font-size: 28rpx;}
.subCheckItem image{width: 32rpx;height: 32rpx;}
/* 按钮区域 */
.btnWrap{padding: 16rpx 60rpx;background: #fff;margin-top: 32rpx;}
.btnWrap .btn{height: 100rpx;background: #dcdee0;border-radius: 28rpx;text-align: center;line-height: 100rpx;color: #fff;font-size: 34rpx;margin-top: 16rpx;}
.btn.active{background: $theme-color;}
</style>
... ...
<template>
<view style="padding: 1rpx 32rpx 32rpx 32rpx;">
<view class="questionItem">
<view class="name">
<text>此处是名称</text>
<image src="../../../static/image/ic_tj@2x.png" mode=""></image>
</view>
<view class="content">
我是详情我是详情我是详情我是详情我是详情我是详情我是详情我是详情我是详情我是详我是详情我是详情我是详情我是详情我是详情我是详情我是详
</view>
<view class="btn">
<view class="btnItem">
<image src="../../../static/image/ic_bj@2x.png" mode=""></image>
编辑
</view>
<view class="btnItem">
<image src="../../../static/image/ic_sc@2x.png" mode=""></image>
删除
</view>
</view>
</view>
<view class="questionItem">
<view class="name">
<text>此处是名称</text>
<image src="../../../static/image/ic_tj@2x.png" mode=""></image>
</view>
<view class="content">
我是详情我是详情我是详情我是详情我是详情我是详情我是详情我是详情我是详情我是详我是详情我是详情我是详情我是详情我是详情我是详情我是详
</view>
<view class="btn">
<view class="btnItem">
<image src="../../../static/image/ic_bj@2x.png" mode=""></image>
编辑
</view>
<view class="btnItem">
<image src="../../../static/image/ic_sc@2x.png" mode=""></image>
删除
</view>
</view>
</view>
<!-- 底部按钮区域 -->
<view style="height: 100rpx;"></view>
<view class="bottomBtnWrap">
<view class="btnItem" @click="showHandleQuestion = true">
新增
</view>
<view class="btnItem">
保存
</view>
</view>
<!-- 新增、编辑问题弹框区域 -->
<view class="alertWrap" v-if="showHandleQuestion">
<view class="alert">
<view class="alertTitle">
编辑问题
</view>
<view class="name">
名称:<input type="text" placeholder="请输入您的名称" placeholder-class="namePh"/>
</view>
<view class="name" style="border-bottom: none;">
描述
</view>
<view class="alertContent">
<textarea maxlength="100" v-model="reason" placeholder="请输入描述" />
<view class="textLength">
{{reason.length}}/100
</view>
</view>
<view class="bottomBtnAlt">
<view class="bottomBtn" @click="showHandleQuestion = false">
取消
</view>
<view class="bottomBtn active">
确认
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default{
data(){
return{
showHandleQuestion:false,
reason:''
}
}
}
</script>
<style lang="scss" scoped>
page{
background-color: #f7f8fa;
}
.questionItem{
margin-top: 32rpx;
border: 1rpx solid #ebedf0;
border-radius: 25rpx;
background: #fff;
padding: 0 32rpx;
.name{
height: 96rpx;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 30rpx;
image{width: 40rpx;height: 40rpx;}
}
.content{
font-size: 28rpx;
color: #969799;
padding-bottom: 10rpx;
line-height: 36rpx;
border-bottom: 2rpx solid #f2f3f5;
}
.btn{
height: 97rpx;
display: flex;
align-items: center;
font-size: 24rpx;
color: #969799;
.btnItem{
display: flex;
justify-content: center;
align-items: center;
margin-right: 32rpx;
image{width: 40rpx;height: 40rpx;margin-right: 10rpx;}
}
}
}
// 底部按钮区域
.bottomBtnWrap{
position: fixed;
width: 686rpx;
height: 100rpx;
bottom: 0;
display: flex;
justify-content: space-between;
align-items: center;
background: #f7f8fa;
.btnItem{
width: 300rpx;
height: 80rpx;
background: #4bb377;
border-radius: 28rpx;
text-align: center;
line-height: 80rpx;
color: #fff;
}
}
.alertWrap{
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: rgba(0,0,0,0.5);
display: flex;
justify-content: center;
align-items: center;
.alert{
width: 600rpx;
background: #ffffff;
border-radius: 44rpx;
padding: 0 32rpx 32rpx 32rpx;
.alertTitle{
font-size: 40rpx;
text-align: center;
height: 120rpx;
line-height: 120rpx;
font-weight: 600;
border-bottom: 2rpx solid #f2f3f5;
}
.name{
height: 109rpx;
font-size: 28rpx;
display: flex;
align-items: center;
border-bottom: 2rpx solid #f2f3f5;
input{flex: 1;}
.namePh{
font-size: 28rpx;
}
}
.alertContent{
padding: 20rpx;
background: #f7f8fa;
border-radius: 16rpx;
font-size: 26rpx;
line-height: 40rpx;
textarea{
width: 100%;
height: 200rpx;
}
.textLength{
text-align: right;
}
}
.bottomBtnAlt{
padding-top: 38rpx;
display: flex;
justify-content: space-between;
.bottomBtn{
width: 280rpx;
height: 84rpx;
background: #dcdee0;
border-radius: 16rpx;
font-size: 32rpx;
line-height: 84rpx;
text-align: center;
}
.bottomBtn.active{
background: #4bb377;
color: #fff;
}
}
}
}
</style>
... ...
... ... @@ -37,8 +37,8 @@
data() {
return {
param:{
account:'',
password:''
account:'liwenjun',
password:'Liwenjun24102745'
}
}
},
... ...