| | |
| | | /*每个页面公共css */ |
| | | @import "@/uni_modules/uview-ui/index.scss"; |
| | | @import "@/common/scss/public.scss"; |
| | | .u-empty{ |
| | | margin-top: 340rpx !important; |
| | | } |
| | | </style> |
| | |
| | | // 投诉详情 |
| | | export function complaint(id){ |
| | | return http.get('/enforce/complaint/'+id, { custom: { loading: true }}); |
| | | } |
| | | // /enforce/complaint/log/ |
| | | export function complaintDetails(id){ |
| | | return http.get('/enforce/complaint/log/'+id, { custom: { loading: true }}); |
| | | } |
| | | |
| | | // /enforce/order/orderComplaintNodeList 投诉单节点 |
| | | |
| | | export function orderComplaintNodeList(data){ |
| | | return http.get('/enforce/order/orderComplaintNodeList',{params: data}, { custom: { loading: true }}); |
| | | } |
| | | // 无orderid |
| | | export function orderNodeList(data){ |
| | | return http.get('/enforce/complaint/log/orderNodeList',{params: data}, { custom: { loading: true }}); |
| | | } |
| | |
| | | hasHead: true, |
| | | authCallBackUrl: 'https://wxbank.hnnx.com/mer/payOut/getAuthCode.do?authCallBackUrl=', |
| | | webURL: 'https://jmy.jinmingyuan.com/ecosphere-user', |
| | | serverTempl:"http://172.16.61.34:8089", |
| | | serverTempl:"http://172.16.61.31:8089", |
| | | socketTempl:"wss://yqzx.jinmingyuan.com/wsPerCode", |
| | | h5Temp:"https://yqzx.jinmingyuan.com/ecosphere-h5", |
| | | serverUrl: 'http://172.16.61.34:8089', |
| | | h5Url: 'http://172.16.61.34:8089/service-merchant', |
| | | serverUrl: 'http://172.16.61.31:8089', |
| | | h5Url: 'http://172.16.61.31:8089/service-merchant', |
| | | ftpUrl: 'https://yqzx.jinmingyuan.com/file', |
| | | // ftpUrl: 'https://echftp.jinmingyuan.com', |
| | | baseUrl: 'http://172.16.61.34:8089', |
| | | baseUrl: 'http://172.16.61.31:8089', |
| | | wx_appid: 'wxad8cc511da676bd4', |
| | | ali_appid: '2021003199690698' |
| | | } |
| | |
| | | const prod = { |
| | | authCallBackUrl: 'https://wxbank.hnnx.com/mer/payOut/getAuthCode.do?authCallBackUrl=', |
| | | webURL: 'https://jmy.jinmingyuan.com/ecosphere-user', |
| | | serverTempl:"https://yqzx.jinmingyuan.com", |
| | | serverTempl:"https://jmy.jinmingyuan.com", |
| | | socketTempl:"wss://yqzx.jinmingyuan.com/wsPerCode", |
| | | h5Temp:"https://yqzx.jinmingyuan.com/ecosphere-h5", |
| | | serverUrl: 'https://yqzx.jinmingyuan.com/service-shop', |
| | | h5Url: 'https://yqzx.jinmingyuan.com/service-merchant', |
| | | ftpUrl: 'https://yqzx.jinmingyuan.com/file', |
| | | h5Temp:"https://jmy.jinmingyuan.com/ecosphere-h5", |
| | | serverUrl: 'https://jmy.jinmingyuan.com/prod-api', |
| | | h5Url: 'https://jmy.jinmingyuan.com/service-merchant', |
| | | ftpUrl: 'https://jmy.jinmingyuan.com/file', |
| | | // ftpUrl: 'https://echftp.jinmingyuan.com', |
| | | baseUrl: 'https://yqzx.jinmingyuan.com', |
| | | baseUrl: 'https://jmy.jinmingyuan.com/prod-api', |
| | | wx_appid: 'wxad8cc511da676bd4', |
| | | ali_appid: '2021003199690698' |
| | | } |
| | | |
| | | const ayprod = { |
| | | authCallBackUrl: 'https://wxbank.hnnx.com/mer/payOut/getAuthCode.do?authCallBackUrl=', |
| | | webURL: 'https://ayecosphere.aysnsh.com/ecosphere-user', |
| | | serverTempl:"https://ayecosphere.aysnsh.com", |
| | | socketTempl:"wss://ayecosphere.aysnsh.com/wsPerCode", |
| | | h5Temp:"https://ayecosphere.aysnsh.com/ecosphere-h5", |
| | | serverUrl: 'https://ayecosphere.aysnsh.com/service-shop', |
| | | h5Url: 'https://ayecosphere.aysnsh.com/service-merchant', |
| | | ftpUrl: 'https://ayecosphere.aysnsh.com/service-base/ossFile', |
| | | // ftpUrl: 'https://echftp.jinmingyuan.com', |
| | | baseUrl: 'https://ayecosphere.aysnsh.com', |
| | | wx_appid: 'wxd81ee034e03873b1', |
| | | ali_appid:'2021004122689522' |
| | | } |
| | | |
| | | module.exports = { |
| | | kefuTel: '15824668510', |
| | |
| | | export const upload = (file) => { |
| | | return new Promise((resolve,refject) => { |
| | | uni.uploadFile({ |
| | | url: config.baseUrl + '/tool/file/upload', |
| | | url: config.serverUrl + '/tool/file/upload', |
| | | filePath: file, |
| | | name: 'file', |
| | | success: val => { |
| | |
| | | "style" : |
| | | { |
| | | "navigationBarTitleText" : "数据看板", |
| | | "navigationStyle": "custom" |
| | | "backgroundColor": "#1171E0" |
| | | } |
| | | }, |
| | | { |
| | |
| | | "path" : "applyRecord/applyRecord", |
| | | "style" : |
| | | { |
| | | "navigationBarTitleText" : "申请记录" |
| | | "navigationBarTitleText" : "记录查询" |
| | | } |
| | | }, |
| | | { |
| | |
| | | "navigationBarTitleText" : "", |
| | | "navigationStyle": "custom" |
| | | } |
| | | }, |
| | | { |
| | | "path" : "judgeApply/judgeApply", |
| | | "style" : |
| | | { |
| | | "navigationBarTitleText" : "审批详情", |
| | | "navigationStyle": "custom" |
| | | } |
| | | } |
| | | ] |
| | | }, |
| | |
| | | "path" : "record/record", |
| | | "style" : |
| | | { |
| | | "navigationBarTitleText" : "执法记录" |
| | | "navigationBarTitleText" : "执法记录", |
| | | "navigationStyle": "custom" |
| | | } |
| | | }, |
| | | { |
| | |
| | | uni.setStorageSync('userInfo', val.data.data) |
| | | if(this.form.userType == '02') { |
| | | uni.reLaunch({ |
| | | url:`/qiye/qiyeIndex/qiyeIndex` |
| | | url:`/qiye/qiyeIndex/qiyeIndex?id=${val.data.data.deptId}` |
| | | }) |
| | | } else if(this.form.userType == '01'){ |
| | | uni.reLaunch({ |
| | | url:`/policy/policyIndex/policyIndex?id=${val.data.data.deptId}` |
| | | url:`/policy/policyIndex/policyIndex` |
| | | }) |
| | | } else { |
| | | uni.reLaunch({ |
| | |
| | | <template> |
| | | <view> |
| | | <img src="/static/head.png" class="head" alt="" /> |
| | | <view class="hqzc"> |
| | | <view class="hqzc" @click="more1()"> |
| | | <img src="/static/hqzc.png" class="img" alt="" /> |
| | | <view class="line"></view> |
| | | <view class="font"> |
| | | <p v-for="(item,index) in list1" :key="index">{{item.docTitle}}</p> |
| | | <p v-for="(item,index) in list1" :key="index" class="u-line-1">{{item.docTitle}}</p> |
| | | <!-- <p>海关总署贸易持续发展2024年立法...</p> |
| | | <p>国家医疗保障局办公室关于发布管理... </p> --> |
| | | </view> |
| | | <img src="/static/i06.png" class="more" @click="more1()" alt="" /> |
| | | <img src="/static/i06.png" class="more" alt="" /> |
| | | </view> |
| | | <view class="btnbox"> |
| | | <img src="/static/i01.png" class="more" alt="" style="margin-right: 18rpx;" @click="goMyCompany('01')"/> |
| | |
| | | // 00营商办,01执法,02企业 区分不同的登陆页面 |
| | | export default { |
| | | onLoad() { |
| | | |
| | | }, |
| | | onShow() { |
| | | this.getInfo() |
| | | const value = uni.getStorageSync("userInfo") |
| | | const sessionToken = uni.getStorageSync('sessionToken') |
| | | if(sessionToken && value && value.userType) { |
| | | const qiyeData = uni.getStorageSync('qiyedata') |
| | | if(value.userType == '02') { |
| | | uni.reLaunch({ |
| | | url:`/qiye/qiyeIndex/qiyeIndex?id=${qiyeData.deptId}` |
| | | }) |
| | | } else if(value.userType == '01'){ |
| | | uni.reLaunch({ |
| | | url:`/policy/policyIndex/policyIndex` |
| | | }) |
| | | } else { |
| | | uni.reLaunch({ |
| | | url:`/policy/policyIndex/policyIndex` |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | top: 500rpx; |
| | | padding: 24rpx; |
| | | box-sizing: border-box; |
| | | |
| | | .line{ |
| | | width: 2rpx; |
| | | height: 50rpx; |
| | |
| | | color: #4A4E60; |
| | | margin-right: 50rpx; |
| | | width: 450rpx; |
| | | text-align: center; |
| | | // text-align: center; |
| | | text-align: left; |
| | | } |
| | | } |
| | | .btnbox{ |
| | |
| | | <template> |
| | | <view class="page-box"> |
| | | <u-sticky bgColor="white"> |
| | | <u-sticky bgColor="white" :offsetTop="0" style=" position: -webkit-sticky;"> |
| | | <view class="set-search"> |
| | | <u-search placeholder="请输入申请记录关键词 " @search="search" @blur="search" shape="square" :showAction="false"></u-search> |
| | | </view> |
| | | <view class="border"></view> |
| | | <u-tabs :list="list1" @click="click" :current="current" :scrollable="false" bgColor="white"></u-tabs> |
| | | <u-tabs :list="list1" @click="click" :current="current" :scrollable="true" bgColor="white"></u-tabs> |
| | | </u-sticky> |
| | | <view class="list"> |
| | | <view class="list-item" @click="goReport(item.orderId)" v-for="(item,index) in dataList" :key="index"> |
| | | <view class="top-title"> |
| | | <text>{{item.enforceReason}}</text> |
| | | <text class="status">{{mapStatus[item.orderStatus]}}</text> |
| | | <text class="status" v-if="item.checkStatus != -1" :class="{status1: item.orderStatus == 1,status2: item.orderStatus == 2,status3: item.orderStatus == 3,status4: item.orderStatus == 4}">{{mapStatus[item.orderStatus]}}</text> |
| | | <text class="status status4" v-else >已拒绝</text> |
| | | </view> |
| | | <view class="user-info"> |
| | | <text>{{item.applyUser}}</text> |
| | |
| | | <text>申请时间:</text>{{item.applyTime}} |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | </view> |
| | | <u-empty v-if="!dataList.length"></u-empty> |
| | |
| | | current: 0, |
| | | list1: [{ |
| | | name: '全部', |
| | | value: '' |
| | | value: {} |
| | | }, { |
| | | name: '待审批', |
| | | value: 1 |
| | | value: { |
| | | orderStatus: 1, |
| | | checkStatus: 0 |
| | | } |
| | | }, { |
| | | name: '待执行', |
| | | value: 2 |
| | | value: { |
| | | orderStatus: 2 |
| | | } |
| | | }, { |
| | | name: '待上报', |
| | | value: 3 |
| | | value: { |
| | | orderStatus: 3 |
| | | } |
| | | }, { |
| | | name: '已拒绝', |
| | | value: -1 |
| | | value: { |
| | | checkStatus: -1 |
| | | } |
| | | }, { |
| | | name: '已结束', |
| | | value: 4 |
| | | value: { |
| | | orderStatus: 4 |
| | | } |
| | | }], |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10 |
| | | pageSize: 10, |
| | | isAsc: "desc", |
| | | orderByColumn: "apply_time" |
| | | }, |
| | | total: 1, |
| | | dataList: [], |
| | |
| | | this.orderList() |
| | | }, |
| | | orderList() { |
| | | orderList({...this.queryParams, orderStatus: this.list1[this.current].value}).then(val => { |
| | | orderList({...this.queryParams, ...this.list1[this.current].value}).then(val => { |
| | | this.total = val.data.total |
| | | this.dataList = [...this.dataList,...val.data.rows] |
| | | }) |
| | |
| | | </style> |
| | | <style lang="scss" scoped> |
| | | @import "./applyRecord.scss"; |
| | | /deep/ .u-sticky{ |
| | | position: -webkit-sticky; |
| | | } |
| | | </style> |
| | |
| | | .status{ |
| | | color: white; |
| | | margin: 20rpx 32rpx; |
| | | font-size: 36rpx; |
| | | font-size: 44rpx; |
| | | margin-bottom: 24rpx; |
| | | font-weight: 700; |
| | | } |
| | | .base-card{ |
| | | margin: 20rpx 32rpx; |
| | |
| | | image{ |
| | | width: 100%; |
| | | height: 220rpx; |
| | | border: 2rpx solid gray; |
| | | } |
| | | } |
| | | .view-step{ |
| | |
| | | .step-content{ |
| | | position: relative; |
| | | padding-left: 64rpx; |
| | | height: 100rpx; |
| | | // height: 100rpx; |
| | | padding-bottom: 64rpx; |
| | | &::before{ |
| | | content: ''; |
| | |
| | | left: 0; |
| | | width: 40rpx; |
| | | height: 40rpx; |
| | | top: 0; |
| | | } |
| | | .top-title{ |
| | | font-size: 32rpx; |
| | | color: #202D44; |
| | | margin-bottom: 16rpx; |
| | | line-height: 30rpx; |
| | | } |
| | | .down-tips{ |
| | | color: #7E8596; |
| | | display: flex; |
| | | justify-content: flex-start; |
| | | align-items: center; |
| | | // display: flex; |
| | | // justify-content: flex-start; |
| | | // align-items: center; |
| | | .time{ |
| | | margin-left: 32rpx; |
| | | width: 58%; |
| | | // margin-left: 32rpx; |
| | | // width: 60%; |
| | | } |
| | | .submit-per{ |
| | | width: 42%; |
| | | // width: 40%; |
| | | } |
| | | text{ |
| | | color: #4A4E60; |
| | |
| | | <view>{{typeList}}</view> |
| | | </view> |
| | | |
| | | <view v-if="!details.executeUser"> |
| | | <template v-if="!details.executeUser"> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法人员</view> |
| | | <view>{{details.applyUser}}</view> |
| | |
| | | <view class="label">执法部门</view> |
| | | <view>{{details.applyDeptName}}</view> |
| | | </view> |
| | | </view> |
| | | <view v-else> |
| | | </template> |
| | | <template v-else> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法人员</view> |
| | | <view>{{details.executeUser}}</view> |
| | |
| | | <view class="label">执法部门</view> |
| | | <view>{{details.executeDeptName}}</view> |
| | | </view> |
| | | </view> |
| | | <view class="view-form-item" style="margin-top: 20rpx;"> |
| | | </template> |
| | | <view class="view-form-item" > |
| | | <view class="label">随行人员</view> |
| | | <view> |
| | | <view style="margin-bottom: 20rpx;"v-for="(item,index) in details.peers" :key="index"> |
| | | <view v-for="(item,index) in details.peers" :key="index"> |
| | | {{item.peerUser}}({{item.peerDeptName}}) |
| | | </view> |
| | | </view> |
| | |
| | | <text>执法内容</text> |
| | | </view> |
| | | <view class="view-content"> |
| | | {{ details.regionReason }} |
| | | {{ details.enforceContent }} |
| | | </view> |
| | | </view> |
| | | <view class="base-card" v-if="judgeDetails.length"> |
| | | <!-- <view class="base-card" v-if="judgeDetails.length"> |
| | | <view class="title"> |
| | | <text>审批情况</text> |
| | | </view> |
| | |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="base-card" v-if="details.orderStatus == 3 || details.orderStatus == 4"> |
| | | </view> --> |
| | | <view class="base-card" v-if="(details.orderStatus == 3 || details.orderStatus == 4) && details.regionImgs && details.regionImgs.length"> |
| | | <view class="title"> |
| | | <text>执法图片</text> |
| | | </view> |
| | | <view class="view-image"> |
| | | <image :src="baseUrl+item" mode="widthFix" v-for="(item,index) in details.regionImgs" :key="index"></image> |
| | | |
| | | <image :src="baseUrl+item" @click="previewImage(details.regionImgs, index)" mode="aspectFill" v-for="(item,index) in details.regionImgs" :key="index"></image> |
| | | </view> |
| | | </view> |
| | | <view class="base-card"> |
| | |
| | | {{item.nodeName}} |
| | | </view> |
| | | <view class="down-tips"> |
| | | <view class="u-line-1 submit-per">提交人:<text>{{item.nodeUser}}</text></view> |
| | | <view class=" submit-per">提交人:<text>{{item.nodeUser}}</text></view> |
| | | <view class="time">{{item.nodeTime}}</view> |
| | | </view> |
| | | |
| | | </view> |
| | | <!-- <view class="step-content"> |
| | | <image class="icon" src="/static/policy/icon.png" mode="widthFix"></image> |
| | |
| | | this.getDetails(options.id) |
| | | this.orderNodeList(options.id) |
| | | this.enforceLogList(options.id) |
| | | |
| | | if(options.setTitle) { |
| | | uni.setNavigationBarTitle({ |
| | | title: '' |
| | | }) |
| | | } |
| | | }, |
| | | methods: { |
| | | getDetails(orderId) { |
| | |
| | | const value = val.data.data.find(item => item.dictCode == this.details.enforceType) |
| | | this.typeList = value.dictLabel |
| | | }) |
| | | }, |
| | | previewImage(list, index) { |
| | | const data = list.map(item => this.baseUrl + item) |
| | | console.log(data) |
| | | uni.previewImage({ |
| | | urls: data, |
| | | current: index |
| | | }) |
| | | } |
| | | } |
| | | } |
| | |
| | | <image src="/static/head.png" mode=""></image> |
| | | </view> |
| | | <view class="main-page-box"> |
| | | <view class="second-box"> |
| | | <view class="second-box" @click="goPolicyList"> |
| | | <image src="/static/hqzc.png" class="icon"></image> |
| | | <view class="driver"></view> |
| | | <view class="right-box" @click="goPolicyList"> |
| | | <view class="right-box" > |
| | | <view class="article-list"> |
| | | <view class="u-line-1 margin-bottom" v-for="(item, index) in policyList" :key="index"> |
| | | {{item.docTitle}}</view> |
| | |
| | | width: calc(100% - 64rpx); |
| | | left: 32rpx; |
| | | position: fixed; |
| | | bottom: 180rpx; |
| | | bottom: 220rpx; |
| | | } |
| | | .inckname{ |
| | | font-size: 36rpx; |
| | |
| | | </u-radio-group> |
| | | </view> |
| | | <view class="margin-top"> |
| | | <u-textarea placeholder="请输入拒绝理由..." v-model="form.checkReason"></u-textarea> |
| | | <u-textarea placeholder="请输入..." v-model="form.checkReason"></u-textarea> |
| | | </view> |
| | | </view> |
| | | <view class="down"> |
| | |
| | | .code{ |
| | | width: 108rpx; |
| | | height: 108rpx; |
| | | position: absolute; |
| | | top: -20rpx; |
| | | left: 0; |
| | | // position: absolute; |
| | | // top: -20rpx; |
| | | // left: 0; |
| | | } |
| | | .relative{ |
| | | position: relative; |
| | | width: 108rpx; |
| | | height: 108rpx; |
| | | width: 136rpx; |
| | | height: 136rpx; |
| | | background-color: white; |
| | | border-radius: 50%; |
| | | padding: 12rpx; |
| | | top: -40rpx; |
| | | display: flex; |
| | | box-sizing: border-box; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | width: 200rpx; |
| | | height: 200rpx; |
| | | text-align: center; |
| | | line-height: 200rpx; |
| | | // line-height: 200rpx; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | image{ |
| | | width: 28rpx; |
| | | height: 28rpx; |
| | | width: 60rpx; |
| | | height: 60rpx; |
| | | } |
| | | } |
| | | .grid-box{ |
| | |
| | | flex-shrink: 0; |
| | | background: linear-gradient(180deg, #1171E0 42.5%, #F4F4F4 100%); |
| | | position: fixed; |
| | | top: 50px; |
| | | // top: 50px; |
| | | z-index: -1; |
| | | } |
| | | .page-main{ |
| | | // position: relative; |
| | | // top: -380rpx; |
| | | padding-bottom: 140rpx; |
| | | padding-top: 20rpx; |
| | | .box{ |
| | | margin: 32rpx 32rpx 20rpx; |
| | | margin: 0 32rpx 20rpx; |
| | | |
| | | background-color: white; |
| | | border-radius: 10rpx; |
| | | padding: 24rpx 0; |
| | |
| | | <template> |
| | | <view> |
| | | <u-navbar placeholder bgColor="#1171E0FF" leftIconColor="white" :autoBack="true"> |
| | | <!-- <u-navbar placeholder bgColor="#1171E0FF" leftIconColor="white" :autoBack="true" > |
| | | <template slot="center"> |
| | | <view style="color: white;">数据看板</view> |
| | | </template> |
| | | </u-navbar> |
| | | </u-navbar> --> |
| | | <view class="donw-box"></view> |
| | | <view class="page-main"> |
| | | <view class="box"> |
| | |
| | | </view> |
| | | <view class="grid-item"> |
| | | <view class="label">执法单位</view> |
| | | <view>{{infoData.enforceCompanyNum || 0}}</view> |
| | | <view>{{infoData.enforceDeptNum || 0}}</view> |
| | | </view> |
| | | <view class="grid-item"> |
| | | <view class="label">执法人员</view> |
| | |
| | | </view> |
| | | <view class="grid-item"> |
| | | <view class="label">执法申请</view> |
| | | <view>{{infoData.enforceOrderNum || 0}}</view> |
| | | <view>{{infoData.enforceorderNum || 0}}</view> |
| | | </view> |
| | | <view class="grid-item"> |
| | | <view class="label">已审批</view> |
| | |
| | | <view class="number"> |
| | | <view class="date">{{pageQuerm.beginTimeStr1}} <text class="margin-text">至</text> {{pageQuerm.endTimeStr1}}</view> |
| | | <view class="progress-box"> |
| | | <qiun-data-charts key="11" type="bar" |
| | | <qiun-data-charts v-if="!show" key="11" type="bar" |
| | | :opts="opts" :chartData="chartData" /> |
| | | </view> |
| | | </view> |
| | |
| | | <view class="number"> |
| | | <view class="date" style="margin-bottom: 20rpx;">{{pageQuerm.beginTimeStr3}} <text class="margin-text">至</text> {{pageQuerm.endTimeStr3}}</view> |
| | | <view class="progress-box"> |
| | | <qiun-data-charts type="rose" tooltipFormat="tooltipDemo1" |
| | | <qiun-data-charts type="pie" v-if="!show" tooltipFormat="tooltipDemo1" |
| | | |
| | | key="22" :opts="opts1" :chartData="chartData1" /> |
| | | </view> |
| | |
| | | </view> |
| | | <u-datetime-picker |
| | | :show="show" |
| | | @cancel="show = false" |
| | | :maxDate="new Date().getTime()" |
| | | v-model="currentValue" |
| | | mode="year-month" |
| | |
| | | padding: [15, 30, 0, 5], |
| | | enableScroll: false, |
| | | legend: { |
| | | show: false |
| | | show: false, |
| | | |
| | | }, |
| | | xAxis: { |
| | | boundaryGap: "justify", |
| | | disableGrid: false, |
| | | min: 0, |
| | | axisLine: false, |
| | | max: 40 |
| | | max: 40, |
| | | gridColor: "#ededed" |
| | | }, |
| | | yAxis: {}, |
| | | yAxis: { |
| | | gridColor: "#ededed" |
| | | }, |
| | | extra: { |
| | | bar: { |
| | | type: "group", |
| | |
| | | chartData1: {}, |
| | | tooltipCustom: {}, |
| | | opts1: { |
| | | color: ["#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4", |
| | | "#ea7ccc" |
| | | ], |
| | | tooltipFormat: function (item) { |
| | | return "456" |
| | | }, |
| | | padding: [5, 5, 5, 5], |
| | | enableScroll: false, |
| | | legend: { |
| | | show: false, |
| | | }, |
| | | extra: { |
| | | rose: { |
| | | type: "area", |
| | | minRadius: 50, |
| | | activeOpacity: 0.5, |
| | | activeRadius: 10, |
| | | offsetAngle: 0, |
| | | labelWidth: 15, |
| | | border: false, |
| | | borderWidth: 2, |
| | | borderColor: "#FFFFFF" |
| | | }, |
| | | tooltip: { |
| | | // bgColor: "#fff", |
| | | // showArrow: false, |
| | | // fontColor: "#202D44", |
| | | // bgOpacity: 1, |
| | | } |
| | | } |
| | | color: ["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"], |
| | | padding: [5,5,5,5], |
| | | enableScroll: false, |
| | | legend: { |
| | | position: "bottom", |
| | | lineHeight: 25, |
| | | width: '100%', // 设置图例宽度 |
| | | // itemWidth: 25, // 设置图例标记宽度 |
| | | itemGap: 10, // 设置图例项之间的间隔 |
| | | float: 'left' |
| | | }, |
| | | extra: { |
| | | pie: { |
| | | activeOpacity: 0.5, |
| | | activeRadius: 10, |
| | | offsetAngle: 0, |
| | | labelWidth: 10, |
| | | border: false, |
| | | borderWidth: 3, |
| | | borderColor: "#FFFFFF" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | |
| | | return { |
| | | name: item.k, |
| | | value: item.v, |
| | | "labelText": item.k |
| | | } |
| | | }) |
| | | let res = { |
New file |
| | |
| | | .top-content{ |
| | | width: 100%; |
| | | height: 380rpx; |
| | | background: linear-gradient(180deg, #1171E0 42.5%, #F4F4F4 100%); |
| | | } |
| | | .main-page{ |
| | | position: relative; |
| | | top: -380rpx; |
| | | .status{ |
| | | color: white; |
| | | margin: 20rpx 32rpx; |
| | | font-size: 44rpx; |
| | | margin-bottom: 24rpx; |
| | | font-weight: 700; |
| | | } |
| | | .base-card{ |
| | | margin: 20rpx 32rpx; |
| | | border-radius: 10rpx; |
| | | background-color: white; |
| | | padding: 24rpx 0; |
| | | .title{ |
| | | padding: 0 24rpx; |
| | | font-size: 32rpx; |
| | | font-weight: 700; |
| | | border-bottom: 2rpx solid #EEEEEE; |
| | | padding-bottom: 14rpx; |
| | | margin-bottom: 15rpx; |
| | | } |
| | | .view-form{ |
| | | padding: 0 24rpx; |
| | | .view-form-item{ |
| | | display: flex; |
| | | justify-content: flex-start; |
| | | align-items: flex-start; |
| | | margin-bottom: 34rpx; |
| | | font-size: 30rpx; |
| | | &:last-child{ |
| | | margin-bottom: 0; |
| | | } |
| | | &>view{ |
| | | width: 60%; |
| | | font-weight: 500; |
| | | } |
| | | .label{ |
| | | color: #7E8596; |
| | | font-weight: normal; |
| | | width: 40%; |
| | | } |
| | | } |
| | | } |
| | | .view-content{ |
| | | font-size: 30rpx; |
| | | padding: 0 24rpx; |
| | | line-height: 52rpx; |
| | | } |
| | | .view-image{ |
| | | display: grid; |
| | | grid-template-columns: 1fr 1fr 1fr; |
| | | grid-gap: 22rpx; |
| | | padding: 0 32rpx; |
| | | image{ |
| | | width: 100%; |
| | | height: 220rpx; |
| | | border: 2rpx solid gray; |
| | | } |
| | | } |
| | | .view-step{ |
| | | padding: 0 24rpx; |
| | | |
| | | .step-content{ |
| | | position: relative; |
| | | padding-left: 64rpx; |
| | | // height: 100rpx; |
| | | padding-bottom: 64rpx; |
| | | &::before{ |
| | | content: ''; |
| | | display: block; |
| | | height: 100%; |
| | | width: 4rpx; |
| | | background-color: #E7F8F0; |
| | | position: absolute; |
| | | left: 19rpx; |
| | | } |
| | | .icon{ |
| | | position: absolute; |
| | | left: 0; |
| | | width: 40rpx; |
| | | height: 40rpx; |
| | | } |
| | | .top-title{ |
| | | font-size: 32rpx; |
| | | color: #202D44; |
| | | margin-bottom: 16rpx; |
| | | } |
| | | .down-tips{ |
| | | color: #7E8596; |
| | | // display: flex; |
| | | // justify-content: flex-start; |
| | | // align-items: center; |
| | | .time{ |
| | | // margin-left: 32rpx; |
| | | // width: 60%; |
| | | } |
| | | .submit-per{ |
| | | // width: 40%; |
| | | margin-bottom: 10rpx; |
| | | } |
| | | text{ |
| | | color: #4A4E60; |
| | | } |
| | | |
| | | } |
| | | } |
| | | .none{ |
| | | &::before{ |
| | | display: none; |
| | | } |
| | | padding-bottom: 0; |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | <template> |
| | | <view> |
| | | <u-navbar placeholder bgColor="#1171E0FF" leftIconColor="white" :autoBack="true"> |
| | | <template slot="center"> |
| | | <view style="color: white;">申请详情</view> |
| | | </template> |
| | | </u-navbar> |
| | | <view class="top-content"></view> |
| | | <view class="main-page"> |
| | | <view class="status"> |
| | | {{mapStatus[details.checkStatus]}} |
| | | </view> |
| | | <view class="base-card"> |
| | | <view class="title"> |
| | | <text>基本信息</text> |
| | | </view> |
| | | <view class="view-form"> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法主题</view> |
| | | <view>{{details.enforceReason}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法对象</view> |
| | | <view>{{details.companyName}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法时间</view> |
| | | <view>{{details.planTime}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法类型</view> |
| | | <view>{{typeList}}</view> |
| | | </view> |
| | | |
| | | <template v-if="!details.executeUser"> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法人员</view> |
| | | <view>{{details.applyUser}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法部门</view> |
| | | <view>{{details.applyDeptName}}</view> |
| | | </view> |
| | | </template> |
| | | <template v-else> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法人员</view> |
| | | <view>{{details.executeUser}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">执法部门</view> |
| | | <view>{{details.executeDeptName}}</view> |
| | | </view> |
| | | </template> |
| | | <view class="view-form-item" > |
| | | <view class="label">随行人员</view> |
| | | <view> |
| | | <view v-for="(item,index) in details.peers" :key="index"> |
| | | {{item.peerUser}}({{item.peerDeptName}}) |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">是否通知企业</view> |
| | | <view>{{details.isNoticeCompany == 0 ? '否': '是'}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">申请时间</view> |
| | | <view>{{details.applyTime}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">当前状态</view> |
| | | <view>{{mapStatus[details.checkStatus]}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="base-card"> |
| | | <view class="title"> |
| | | <text>执法内容</text> |
| | | </view> |
| | | <view class="view-content"> |
| | | {{ details.enforceContent }} |
| | | </view> |
| | | </view> |
| | | <!-- <view class="base-card" v-if="judgeDetails.length"> |
| | | <view class="title"> |
| | | <text>审批情况</text> |
| | | </view> |
| | | <view class="view-form"> |
| | | <view v-for="(item,index) in judgeDetails" :key="index"> |
| | | <view class="view-form-item"> |
| | | <view class="label">审批结果</view> |
| | | <view v-if="item.checkStatus == 1" style="color: #3EB47A;">通过</view> |
| | | <view v-else style="color: red">拒绝</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">审批人</view> |
| | | <view>{{item.checkUser}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">审批部门</view> |
| | | <view>{{item.checkDeptName}}</view> |
| | | </view> |
| | | <view class="view-form-item"> |
| | | <view class="label">审批时间</view> |
| | | <view>{{item.checkTime}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> --> |
| | | <view class="base-card" v-if="(details.orderStatus == 3 || details.orderStatus == 4) && details.regionImgs && details.regionImgs.length"> |
| | | <view class="title"> |
| | | <text>执法图片</text> |
| | | </view> |
| | | <view class="view-image"> |
| | | <image :src="baseUrl+item" @click="previewImage(details.regionImgs, index)" mode="aspectFill" v-for="(item,index) in details.regionImgs" :key="index"></image> |
| | | </view> |
| | | </view> |
| | | <view class="base-card"> |
| | | <view class="title"> |
| | | <text>审批进度</text> |
| | | </view> |
| | | <view class="view-step"> |
| | | <view class="step-content" :class="{none: index == nodeList.length - 1}" v-for="(item,index) in nodeList" :key="index"> |
| | | <image class="icon" src="/static/policy/icon.png" mode="widthFix" v-if="!item.nodeReason"></image> |
| | | <image src="/static/policy/refject.png" mode="widthFix" class="icon" v-else></image> |
| | | <view class="top-title"> |
| | | {{item.nodeName}} |
| | | </view> |
| | | <view class="down-tips"> |
| | | <view class=" submit-per">提交人:<text>{{item.nodeUser}}</text></view> |
| | | <view class="time">{{item.nodeTime}}</view> |
| | | </view> |
| | | </view> |
| | | <!-- <view class="step-content"> |
| | | <image class="icon" src="/static/policy/icon.png" mode="widthFix"></image> |
| | | <view class="top-title"> |
| | | 审批通过 |
| | | </view> |
| | | <view class="down-tips"> |
| | | <view>提交人:<text>林小零</text></view> |
| | | <view class="time">2024-06-07 12:14</view> |
| | | </view> |
| | | </view> |
| | | <view class="step-content none"> |
| | | <image class="icon" src="/static/policy/icon.png" mode="widthFix"></image> |
| | | <image src="/static/policy/refject.png" mode="widthFix" class="icon"></image> |
| | | <view class="top-title"> |
| | | 提交申请 |
| | | </view> |
| | | <view class="down-tips"> |
| | | <view>提交人:<text>林小零</text></view> |
| | | <view class="time">2024-06-07 12:14</view> |
| | | </view> |
| | | </view> --> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | orderDetails, |
| | | orderNodeList, |
| | | enforceLogList |
| | | } from '@/api/policy.js' |
| | | import { getDicts } from '@/api/data.js' |
| | | import { config } from '@/common/config' |
| | | export default { |
| | | data() { |
| | | return { |
| | | details: {}, |
| | | nodeList: [], |
| | | mapStatus: { |
| | | // 1: '待审批', |
| | | // 2: "待执行", |
| | | // 3: "待上报", |
| | | // '-1':"已拒绝", |
| | | // 4: "已结束" |
| | | // -1拒绝,0待审批,1审批中,2通过 |
| | | "-1": '已拒绝', |
| | | 0: '待审批', |
| | | 1: '审批中', |
| | | 2: "已审批" |
| | | }, |
| | | |
| | | typeList: '', |
| | | judgeDetails: [], |
| | | baseUrl: config.baseUrl |
| | | } |
| | | }, |
| | | onLoad(options) { |
| | | this.getDetails(options.id) |
| | | this.orderNodeList(options.id) |
| | | this.enforceLogList(options.id) |
| | | if(options.setTitle) { |
| | | uni.setNavigationBarTitle({ |
| | | title: '' |
| | | }) |
| | | } |
| | | }, |
| | | methods: { |
| | | getDetails(orderId) { |
| | | orderDetails({ |
| | | orderId |
| | | }).then(val => { |
| | | this.details = val.data.data |
| | | if(this.details.regionImgs){ |
| | | this.details.regionImgs = this.details.regionImgs.split(",") |
| | | } |
| | | this.getDicts() |
| | | }) |
| | | }, |
| | | // 节点 |
| | | orderNodeList(orderId) { |
| | | orderNodeList({orderId}).then(val => { |
| | | this.nodeList = val.data.data |
| | | }) |
| | | }, |
| | | // 申请记录 |
| | | enforceLogList(orderId) { |
| | | enforceLogList({orderId}).then(val => { |
| | | // console.log(val.data.rows) |
| | | this.judgeDetails = val.data.rows |
| | | }) |
| | | }, |
| | | getDicts() { |
| | | getDicts('enforce_type').then(val => { |
| | | const value = val.data.data.find(item => item.dictCode == this.details.enforceType) |
| | | this.typeList = value.dictLabel |
| | | }) |
| | | }, |
| | | previewImage(list, index) { |
| | | const data = list.map(item => this.baseUrl + item) |
| | | console.log(data) |
| | | uni.previewImage({ |
| | | urls: data, |
| | | current: index |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style> |
| | | page { |
| | | background-color: #F4F4F4; |
| | | } |
| | | </style> |
| | | <style lang="scss" scoped> |
| | | @import "./judgeApply.scss"; |
| | | </style> |
New file |
| | |
| | | <template> |
| | | <u-popup mode="bottm" :show="show" :safeAreaInsetBottom="false"> |
| | | <view class="picker-view-box"> |
| | | <view class="options"> |
| | | <view class="button" @click="cancel" size="mini">取消</view> |
| | | <view class="button entery" @click="entery" color="#1171E0" size="mini">确定</view> |
| | | </view> |
| | | <u-search v-model="companyName" @search="companyList" @clear="clearContent" @confirm="companyList" @custom="companyList()"></u-search> |
| | | <view> |
| | | <picker-view immediate-change :value="value" @change="bindChange" class="picker-view"> |
| | | <picker-view-column> |
| | | <view class="text-center" v-for="(item,index) in columns" :key="index">{{item[keyName]}}</view> |
| | | </picker-view-column> |
| | | </picker-view> |
| | | </view> |
| | | </view> |
| | | </u-popup> |
| | | </template> |
| | | |
| | | <script> |
| | | import { companyList } from '@/api/policy.js' |
| | | export default { |
| | | props: { |
| | | keyName: { |
| | | type: String, |
| | | default: '' |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | columns: [], |
| | | show: false, |
| | | companyName: "", |
| | | index: 0, |
| | | value: [] |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.companyList() |
| | | }, |
| | | methods: { |
| | | clearContent() { |
| | | this.companyName = "" |
| | | this.companyList() |
| | | }, |
| | | cancel() { |
| | | this.show = false |
| | | }, |
| | | open() { |
| | | this.show = true |
| | | }, |
| | | bindChange(e) { |
| | | this.index = e.detail.value[0] |
| | | }, |
| | | companyList() { |
| | | companyList({companyName: this.companyName}).then(val => { |
| | | if(val.data.code == 200){ |
| | | if(!val.data.rows.length || !val.data.rows){ |
| | | uni.showToast({ |
| | | title: '没有符合的数据,请检查输入的执法对象', |
| | | icon: 'none', |
| | | duration: 3000 |
| | | }) |
| | | } else { |
| | | this.columns = val.data.rows |
| | | } |
| | | |
| | | } |
| | | }) |
| | | }, |
| | | entery() { |
| | | const info = this.columns[this.index] |
| | | this.$emit('confirm', info) |
| | | this.show = false |
| | | } |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .picker-view-box{ |
| | | position: fixed; |
| | | z-index: 120000; |
| | | background-color: white; |
| | | height: 600rpx; |
| | | padding: 40rpx 32rpx 0; |
| | | bottom: 0; |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | border-radius: 20rpx 20rpx 0 0; |
| | | } |
| | | .options{ |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | margin-bottom: 40rpx; |
| | | .button{ |
| | | padding: 10rpx 20rpx; |
| | | border-radius: 10rpx; |
| | | font-size: 28rpx; |
| | | } |
| | | .entery{ |
| | | background-color: $main-color; |
| | | color: white; |
| | | |
| | | } |
| | | } |
| | | .text-center{ |
| | | text-align: center; |
| | | line-height: 34px; |
| | | } |
| | | .picker-view { |
| | | width: 100%; |
| | | height: 500rpx; |
| | | margin-top: 20rpx; |
| | | } |
| | | </style> |
| | |
| | | <view class="form-label require"> |
| | | 执法主题 |
| | | </view> |
| | | <input type="text" placeholder="请输入" v-model="form.enforceReason"/> |
| | | <input type="text" placeholder="请输入" v-model.trim="form.enforceReason"/> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="form-label require"> |
| | | 执法对象 |
| | | </view> |
| | | <view class="input"> |
| | | <input type="text" placeholder="请输入" v-model="form.companyName"/> |
| | | <!-- <u-icon name="arrow-right"></u-icon> --> |
| | | <u-text text='搜索' type="primary" @click="search"></u-text> |
| | | <view class="input" @click="search"> |
| | | |
| | | <input type="text" style="width: 80%;" disabled placeholder="请输入" :value="form.companyName"/> |
| | | <u-icon name="arrow-right"></u-icon> |
| | | <!-- <u-text text='搜索' type="primary" style="width: 20%;" @click="search"></u-text> --> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | |
| | | 执法时间 |
| | | </view> |
| | | <view class="input" @click="showTimeFun"> |
| | | <input type="text" placeholder="请输入" disabled v-model="form.planTimeStr"/> |
| | | <input type="text" placeholder="请输入" disabled v-model.trim="form.planTimeStr"/> |
| | | <u-icon name="arrow-right"></u-icon> |
| | | </view> |
| | | </view> |
| | |
| | | 执法类型 |
| | | </view> |
| | | <view class="input"> |
| | | <input type="text" placeholder="请输入" v-model="form.enforceTypeName" disabled/> |
| | | <input type="text" placeholder="请输入" v-model.trim="form.enforceTypeName" disabled/> |
| | | <u-icon name="arrow-right"></u-icon> |
| | | </view> |
| | | </view> |
| | |
| | | 执法内容 |
| | | </view> |
| | | <view class="back"> |
| | | <u--textarea :height="120" v-model="form.enforceContent" placeholder="请输入" count maxlength="500"></u--textarea> |
| | | <u--textarea :height="120" v-model.trim="form.enforceContent" placeholder="请输入" count maxlength="500"></u--textarea> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | <view class="form-label"> |
| | | 执法人员 |
| | | </view> |
| | | <input type="text" placeholder="请输入" v-model="form.applyUser" disabled/> |
| | | <input type="text" placeholder="请输入" v-model.trim="form.applyUser" disabled/> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="form-label"> |
| | | 执法部门 |
| | | </view> |
| | | <input type="text" placeholder="请输入" v-model="form.applyDeptName" disabled/> |
| | | <input type="text" placeholder="请输入" v-model.trim="form.applyDeptName" disabled/> |
| | | </view> |
| | | <view class="form-item sui" style="align-items: flex-start;" @click="openPer"> |
| | | <view class="form-label require "> |
| | |
| | | </u-form> --> |
| | | <!-- <u-button @click="submitApply">提交申请</u-button> |
| | | <u-button @click="applyRecord">申请记录</u-button> --> |
| | | <u-picker :show="show" @close="show = false" @confirm="confirmSearch" @cancel="show = false" :columns="columns" keyName="companyName"></u-picker> |
| | | <!-- <u-datetime-picker |
| | | :show="showTime" |
| | | @close="showTime = false" |
| | | @cancel="showTime = false" |
| | | @confirm="confirmTime" |
| | | :minDate="minDate" |
| | | v-model="currentTime" |
| | | @change="changeValue" |
| | | mode="datetime" |
| | | ref="datetimePicker" |
| | | ></u-datetime-picker> --> |
| | | <!-- <u-picker :show="show" @close="show = false" :immediateChange="true" @confirm="confirmSearch" @cancel="show = false" :columns="columns" keyName="companyName"> |
| | | |
| | | |
| | | </u-picker> --> |
| | | <perPicker ref="perPicker" :immediateChange="true" @confirm="confirmSearch" @cancel="show = false" :columns="columns" keyName="companyName"></perPicker> |
| | | <yt-dateTimePicker |
| | | ref="myPicker" |
| | | @submit="confirmTime" |
| | | :start-year="year" |
| | | :end-year="endYear" |
| | | :time-init="timeInit" |
| | | :start-year="year" |
| | | :startMonth="month" |
| | | :time-hide="[true, true, true, true, false, false]" |
| | | /> |
| | | <u-picker :show="showType" @close="showType = false" @confirm="confirmType" @cancel="showType = false" :columns="columnsType" keyName="dictLabel"></u-picker> |
| | |
| | | import { getInfo } from '@/api/auth.js' |
| | | import { getDicts } from '@/api/data' |
| | | import perPage from './perPage' |
| | | import perPicker from './perPicker' |
| | | import YtDateTimePicker from "uni_modules/yt-dateTimePicker/components/yt-dateTimePicker/yt-dateTimePicker.vue" |
| | | export default { |
| | | components: { |
| | | YtDateTimePicker, |
| | | perPage |
| | | perPage, |
| | | perPicker |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | planTimeStr: '', |
| | | peers: [], |
| | | orderStatus: 1, |
| | | enforceContent: "" |
| | | enforceContent: "", |
| | | companyName: "" |
| | | }, |
| | | show: false, |
| | | columns: [], |
| | |
| | | year: '', |
| | | endYear: '', |
| | | timeInit: '', |
| | | list: [] |
| | | list: [], |
| | | startTime: "", |
| | | month: '' |
| | | } |
| | | }, |
| | | onLoad() { |
| | | this.year = new Date().getFullYear() |
| | | this.month = new Date().getMonth() + 1 |
| | | this.endYear = this.year + 5 |
| | | this.minDate = new Date().valueOf() |
| | | this.timeInit = this.$u.timeFormat(new Date(), 'yyyy-mm-dd') |
| | | this.timeInit = this.$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM') |
| | | this.startTime =this.$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM') |
| | | this.getInfo() |
| | | this.getDicts() |
| | | this.enforceList() |
| | |
| | | return options; |
| | | }, |
| | | authFile() { |
| | | if(!this.form.enforceReason){ |
| | | if(!this.form.enforceReason || !this.form.enforceReason.replace(/\s+/g, "")){ |
| | | return '请填写主题' |
| | | } |
| | | if(!this.form.companyName){ |
| | | return '请填写确认执法对象' |
| | | if(!this.form.companyName || !this.form.companyName.replace(/\s+/g, "")){ |
| | | return '请选择执法对象' |
| | | } |
| | | if(!this.form.companyId) { |
| | | return '请点击搜索确认执法对象' |
| | |
| | | if(!this.form.enforceTypeName){ |
| | | return '请选择执法类型' |
| | | } |
| | | if(!this.form.enforceContent) { |
| | | console.log(!this.form.enforceContent.replace(/\s+/g, "")) |
| | | if(!this.form.enforceContent || !this.form.enforceContent.replace(/\s+/g, "")) { |
| | | return '请填写执法内容' |
| | | } |
| | | if(!this.form.peers.length){ |
| | | return '请添加同行人' |
| | | return '请选择随行人员' |
| | | } |
| | | return '' |
| | | }, |
| | |
| | | }) |
| | | }, |
| | | search() { |
| | | companyList({companyName: this.form.companyName}).then(val => { |
| | | if(val.data.code == 200){ |
| | | if(!val.data.rows.length || !val.data.rows){ |
| | | uni.showToast({ |
| | | title: '没有符合的数据,请检查输入的执法对象', |
| | | icon: 'none', |
| | | duration: 3000 |
| | | }) |
| | | } else { |
| | | this.columns = [val.data.rows] |
| | | this.show = true |
| | | } |
| | | // companyList({companyName: this.form.companyName}).then(val => { |
| | | // if(val.data.code == 200){ |
| | | // if(!val.data.rows.length || !val.data.rows){ |
| | | // uni.showToast({ |
| | | // title: '没有符合的数据,请检查输入的执法对象', |
| | | // icon: 'none', |
| | | // duration: 3000 |
| | | // }) |
| | | // } else { |
| | | |
| | | // } |
| | | |
| | | } |
| | | }) |
| | | // } |
| | | // }) |
| | | |
| | | this.$refs.perPicker.open() |
| | | }, |
| | | confirmSearch(e){ |
| | | const value = this.columns[0].find(item => item.companyName == e.value[0].companyName) |
| | | this.form.companyName = e.value[0].companyName |
| | | let value = e |
| | | // const value = this.columns[0].find(item => item.companyName == e.value[0].companyName) |
| | | this.form.companyName = e.companyName |
| | | this.form.companyCode = value.companyCode |
| | | this.form.companyId = value.companyId |
| | | this.form.companyPhone = value.companyPhone |
| | | this.form.companyUser = value.companyUser |
| | | this.form.companyAddress = value.companyAddress |
| | | this.show = false |
| | | console.log(this.form.companyName) |
| | | }, |
| | | confirmTime(e) { |
| | | this.form.planTime = e.year + '-' + e.month+ '-' + + e.day + ' ' + e.hour + ":" + "00:00" |
| | | this.form.planTimeStr = e.year + '-' + e.month+ '-' + + e.day + ' ' + e.hour |
| | | this.form.planTimeStr = e.year + '-' + e.month+ '-' + + e.day + ' ' + e.hour + ":" + "00" |
| | | this.timeInit = this.$u.timeFormat(new Date(this.form.planTimeStr), 'yyyy-mm-dd hh:MM') |
| | | }, |
| | | showTimeFun() { |
| | | // this.showTime = true |
| | |
| | | this.$refs.perpage.open(this.list) |
| | | }, |
| | | selectValue(value) { |
| | | this.form.peers = [] |
| | | this.list.forEach(item => { |
| | | if(value.includes(item.userId)) { |
| | | this.form.peers.push({ |
| | |
| | | <view class="form-input-item"> |
| | | <view class="form-label require">执法照片</view> |
| | | <view> |
| | | <view class="show-hint">可上传9张图,单张不得超过10m</view> |
| | | <view class="show-hint">可上传9张图,单张不得超过10M</view> |
| | | </view> |
| | | <view> |
| | | <uploadImage ref="uploadImage"></uploadImage> |
| | |
| | | .page-box{ |
| | | padding-bottom: 180rpx; |
| | | .list{ |
| | | margin: 20rpx 32rpx; |
| | | .list-item{ |
| | |
| | | .page-box{ |
| | | padding-bottom: 120rpx; |
| | | .padding{ |
| | | padding: 20rpx 32rpx; |
| | | } |
| | |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | orderStatus: 4 |
| | | orderStatus: 4, |
| | | isAsc: "desc", |
| | | orderByColumn: "execute_time" |
| | | }, |
| | | searchContent: '' |
| | | } |
| | |
| | | return |
| | | } |
| | | this.queryParams.pageNum++ |
| | | this.orderList() |
| | | this.executeList() |
| | | }, |
| | | methods: { |
| | | clean() { |
| | |
| | | executeList(this.queryParams).then(val => { |
| | | this.list = [...this.list, ...val.data.rows] |
| | | this.total = val.data.total |
| | | console.log(this.total) |
| | | }) |
| | | } |
| | | } |
| | |
| | | <text>申请时间:</text>{{item.applyTime}} |
| | | </view> |
| | | <view class="button-entery"> |
| | | <view class="button" @click="doScanOrder(item.orderId)">确认执法</view> |
| | | <view class="button" v-if="item.isSelect" @click="doScanOrder(item.orderId, index)">确认执法</view> |
| | | </view> |
| | | </view> |
| | | </swiper-item> |
| | |
| | | uqrcodeImage: '', |
| | | list: [], |
| | | userInfo: {}, |
| | | color: '' |
| | | color: '', |
| | | |
| | | } |
| | | }, |
| | | onReady() { |
| | |
| | | methods: { |
| | | getScanList(companyCode){ |
| | | getScanList({companyCode}).then(val => { |
| | | this.list = val.data.data |
| | | this.list = val.data.data.map(item => { |
| | | item['isSelect'] = true |
| | | return item |
| | | }) |
| | | if(this.list.length) { |
| | | this.color = 'green' |
| | | } else { |
| | |
| | | this.userInfo = val.data.data |
| | | }) |
| | | }, |
| | | doScanOrder(item) { |
| | | doScanOrder(item, index) { |
| | | doScanOrder(item).then(val => { |
| | | if(val.data.code == 200) { |
| | | uni.showToast({ |
| | | title: '确认执法成功', |
| | | icon: 'none' |
| | | }) |
| | | this.list[index].isSelect = false |
| | | } |
| | | }) |
| | | } |
| | |
| | | <template> |
| | | <view class="page-box"> |
| | | <view class="list"> |
| | | <view class="select-box" v-for="(item,index) in list" :key="index" :class="{start: isJudege}"> |
| | | <view class="select-image" v-if="isJudege" @click="setIsSelect(index)"> |
| | | <view class="select-box" @click="setIsSelect(index)" v-for="(item,index) in list" :key="index" :class="{start: isJudege}"> |
| | | <view class="select-image" v-if="isJudege" > |
| | | <image src="/static/policy/checkbox.png" mode="widthFix" v-show="item.isSelect"></image> |
| | | <image src="/static/policy/none-checkbox.png" mode="widthFix" v-show="!item.isSelect"></image> |
| | | </view> |
| | |
| | | <text>申请时间:</text>{{item.applyTime}} |
| | | </view> |
| | | </view> |
| | | <view class="button" v-if="!isJudege" @click="goStartJudeg([item.orderId])"> |
| | | <view class="button" v-if="!isJudege" @click.self="goStartJudeg([item.orderId])"> |
| | | 审批 |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <u-empty v-if="!list.length"></u-empty> |
| | | <u-empty v-if="!list.length" style="margin-top: 200rpx;"></u-empty> |
| | | </view> |
| | | <view class="down" v-if="!isJudege"> |
| | | <view class="button" @click="goRecord">审批记录</view> |
| | |
| | | queryms: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | checkStatus: 0 |
| | | orderStatus: 1, |
| | | isAsc: "desc", |
| | | orderByColumn: "apply_time" |
| | | }, |
| | | recordList: [] |
| | | } |
| | |
| | | this.isJudege = true |
| | | }, |
| | | setIsSelect(index){ |
| | | if(!this.isJudege) { |
| | | return |
| | | } |
| | | this.list[index].isSelect = !this.list[index].isSelect |
| | | }, |
| | | allSelect() { |
| | |
| | | <template> |
| | | <view class="page-box"> |
| | | <u-sticky bgColor="white"> |
| | | <u-sticky bgColor="white" :offsetTop="0"> |
| | | <view class="set-search"> |
| | | <u-search placeholder="请输入执法主题 " v-model="value" @clear="value = '';search()" @search="search" @blur="search" shape="square" :showAction="false"></u-search> |
| | | </view> |
| | |
| | | <u-tabs :list="list1" @click="click" :current="current" :scrollable="false" bgColor="white"></u-tabs> |
| | | </u-sticky> |
| | | <view class="list"> |
| | | <view class="list-item" @click="goReport" v-for="(item,index) in list" :key="index"> |
| | | <view class="list-item" @click="goReport(item.orderId)" v-for="(item,index) in list" :key="index"> |
| | | <view class="top-title"> |
| | | <text>{{item.enforceReason}}</text> |
| | | <text class="status status2" v-if="item.checkStatus == 2">通过</text> |
| | | <text class="status status4" v-else>拒绝</text> |
| | | <text class="status status2" v-if="item.checkStatus == 2 || item.checkStatus == 1">通过</text> |
| | | <!-- <text class="status " v-if="item.checkStatus == 1">审批中</text> --> |
| | | <text class="status status4" v-if="item.checkStatus == -1">拒绝</text> |
| | | </view> |
| | | <view class="user-info"> |
| | | <text>{{item.applyUser}}</text> |
| | |
| | | current: 0, |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10 |
| | | pageSize: 10, |
| | | isAsc: "desc", |
| | | orderByColumn: "apply_time" |
| | | }, |
| | | list1: [{ |
| | | name: '全部', |
| | |
| | | this.queryParams.pageNum = 1 |
| | | this.enforceLogList() |
| | | }, |
| | | goReport() { |
| | | |
| | | goReport(order) { |
| | | uni.navigateTo({ |
| | | url: `/policy/judgeApply/judgeApply?id=${order}&title=setTitle` |
| | | }) |
| | | }, |
| | | click(e) { |
| | | this.list = [] |
| | |
| | | </style> |
| | | <style lang="scss" scoped> |
| | | @import "./translateRecord.scss"; |
| | | /deep/ .u-sticky{ |
| | | position: -webkit-sticky; |
| | | } |
| | | </style> |
| | |
| | | <p>执法单位:{{item.executeDeptName}}</p> |
| | | <p>执法时间:{{item.executeTime}}</p> |
| | | </view> |
| | | <view class="r" @click="chakan()"> |
| | | <view class="r" @click="chakan(item.id, item.orderId)"> |
| | | 去查看 |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <u-empty v-if="!list1.length"></u-empty> |
| | | <!-- <view class="item"> |
| | | <img src="/static/i05.png" class="img" alt="" /> |
| | | <view class="right"> |
| | |
| | | total: 1, |
| | | } |
| | | }, |
| | | onShow() { |
| | | onLoad() { |
| | | this.list1 = [] |
| | | this.queryParams.pageNum = 1 |
| | | this.getList() |
| | |
| | | this.getList() |
| | | }, |
| | | methods: { |
| | | chakan(id){ |
| | | chakan(id, orderId){ |
| | | uni.navigateTo({ |
| | | url: `/qiye/complaint/details?id=${id}` |
| | | url: `/qiye/complaint/details?id=${id}&orderId=${orderId}` |
| | | }) |
| | | }, |
| | | getList() { |
| | | let data = uni.getStorageSync("qiyedata") |
| | | //this.queryParams.companyId = data.companyId |
| | | logList({...this.queryParams}).then(val => { |
| | | // console.log(val.data) |
| | | console.log(val.data) |
| | | this.total = val.data.total |
| | | this.list1 = [...this.list1,...val.data.rows] |
| | | }) |
| | | }, |
| | | search(e){ |
| | | this.list1 = [] |
| | | this.queryParams.pageNum =1 |
| | | this.queryParams.companyName = e |
| | | this.getList() |
| | | }, |
| | | click(i) { |
| | | |
| | | this.list1 = [] |
| | | this.queryParams.pageNum = 1 |
| | | this.queryParams.complaintStatus = this.list[i.index].value |
| | |
| | | 执法类型 |
| | | </view> |
| | | <view class="v"> |
| | | 司法检查 |
| | | {{dictLabel}} |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | |
| | | 执法人 |
| | | </view> |
| | | <view class="v"> |
| | | 刘欢欢 |
| | | {{details.executeUser}} |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | |
| | | 执法部门 |
| | | </view> |
| | | <view class="v"> |
| | | 农业局 |
| | | {{details.executeDeptName}} |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | |
| | | 企业 |
| | | </view> |
| | | <view class="v"> |
| | | 汉庭酒店 |
| | | {{details.companyName}} |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view style="height: 20rpx;"></view> |
| | | <view class="wbox"> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 执法主题 |
| | | </view> |
| | | <view class="v"> |
| | | 汉庭酒店司法检查233号文件 |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 执法过程 |
| | | </view> |
| | | </view> |
| | | <view class="imgbox"> |
| | | <img src="/static/i01.png" class="more" @click="imgclick('/static/i01.png')" alt="" /> |
| | | <img src="/static/i02.png" class="more" alt="" /> |
| | | <img src="/static/i03.png" class="more" alt="" /> |
| | | <img src="/static/i04.png" class="more" alt="" /> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 执法结果 |
| | | </view> |
| | | <view class="v" style="color: #EB4746;"> |
| | | 停业整顿 |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | | <view class="k"> |
| | | 执法时间 |
| | | </view> |
| | | <view class="v"> |
| | | 2024-10-10 16:24 |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view style="height: 20rpx;"></view> |
| | | <template v-if="orderId">
|
| | | <view class="wbox">
|
| | | <view class="item">
|
| | | <view class="k">
|
| | | 执法主题
|
| | | </view>
|
| | | <view class="v">
|
| | | {{details.enforceReason}}
|
| | | </view>
|
| | | </view>
|
| | | <view class="item">
|
| | | <view class="k">
|
| | | 执法过程
|
| | | </view>
|
| | | </view>
|
| | | <view class="imgbox">
|
| | | <img :src="baseUrl+item" v-for="(item,index) in orderDetailsMsg.regionImgs" :key="index" class="more" @click="imgclick(item)" alt="" />
|
| | | |
| | | </view>
|
| | | <view class="item">
|
| | | <view class="k">
|
| | | 执法结果
|
| | | </view>
|
| | | <view class="v" style="color: #EB4746;">
|
| | | <!-- {{details.regionStatus == 0? "正常" : "停业整顿" }} -->
|
| | | {{orderDetailsMsg.regionReason}}
|
| | | </view>
|
| | | </view>
|
| | | <view class="item">
|
| | | <view class="k">
|
| | | 执法时间
|
| | | </view>
|
| | | <view class="v">
|
| | | {{details.executeTime}}
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view style="height: 20rpx;"></view>
|
| | | </template> |
| | | <view class="wbox2"> |
| | | <view class="t"> |
| | | 投诉记录 |
| | | </view> |
| | | <view class="jilu"> |
| | | <img src="/static/policy/icon.png" class="img" alt="" /> |
| | | <view class="jilu" :class="{start: item.nodeName == '发起投诉' || item.nodeName == '已办结', handler: item.nodeName == '处理中', nonde: index == nodeList.length - 1}" v-for="(item,index) in nodeList" :key="index"> |
| | | <image src="/static/policy/icon.png" class="img" alt="" mode="widthFix" v-if="item.nodeName == '发起投诉'"/>
|
| | | <image src="/static/guocheng.png" class="img" alt="" mode="widthFix" v-if="item.nodeName == '处理中'"/>
|
| | | <image src="/static/policy/refject.png" class="img" mode="widthFix" alt="" v-if="item.nodeName == '已驳回'"/>
|
| | | <image src="/static/policy/icon.png" class="img" alt="" mode="widthFix" v-if="item.nodeName == '已办结'"/> |
| | | <view class="font" style="width: calc(100% - 50rpx);"> |
| | | <view class="h" > |
| | | <view class="s" > |
| | | {{item.nodeName}} |
| | | </view> |
| | | <view class="time"> |
| | | {{item.nodeTime}} |
| | | </view> |
| | | </view> |
| | | <view class="b"> |
| | | <view class="name" style="margin-bottom: 18rpx;"> |
| | | {{item.nodeUser}} |
| | | </view> |
| | | <view class="p" style="margin-bottom: 18rpx;"> |
| | | <span>申诉主题:</span> |
| | | {{dictLabel1}} |
| | | </view> |
| | | <view class="p"> |
| | | <span>申诉内容:</span> |
| | | {{details.complaintReason}} |
| | | </view>
|
| | | <view class="p" v-if="item.nodeName == '已驳回'">
|
| | | <span>申诉内容:</span>
|
| | | {{item.nodeReason}}
|
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <!-- <view class="jilu"> |
| | | <image src="/static/policy/refject.png" class="img" alt="" /> |
| | | <view class="font"> |
| | | <view class="h"> |
| | | <view class="s"> |
| | |
| | | </view> |
| | | <view class="b"> |
| | | <view class="name"> |
| | | 林小零 |
| | | {{details.companyUser}} |
| | | </view> |
| | | <view class="p"> |
| | | <span>申诉主题:</span> |
| | | 汉庭酒店司法检查233号文件 |
| | | {{dictLabel1}} |
| | | </view> |
| | | <view class="p"> |
| | | <span>申诉内容:</span> |
| | | 我是一个内容;我是一个内容;我是一个内容;我是一个内容 |
| | | {{details.complaintReason}} |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view>
|
| | | <view class="jilu">
|
| | | <image src="/static/guocheng.png" class="img" alt="" />
|
| | | <view class="font">
|
| | | <view class="h">
|
| | | <view class="s">
|
| | | 处理中
|
| | | </view>
|
| | | <view class="time">
|
| | | 2024-06-07 12:14
|
| | | </view>
|
| | | </view>
|
| | | <view class="b">
|
| | | <view class="name">
|
| | | {{details.companyUser}}
|
| | | </view>
|
| | | <view class="p">
|
| | | <span>申诉主题:</span>
|
| | | {{dictLabel1}}
|
| | | </view>
|
| | | <view class="p">
|
| | | <span>申诉内容:</span>
|
| | | {{details.complaintReason}}
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </view> |
| | | <view class="jilu"> |
| | | <img src="/static/policy/refject.png" class="img" alt="" /> |
| | | <view class="font"> |
| | | <view class="h"> |
| | | <view class="s"> |
| | | 已驳回 |
| | | </view> |
| | | <view class="time"> |
| | | 2024-06-07 12:14 |
| | | </view> |
| | | </view> |
| | | <view class="b"> |
| | | <view class="name"> |
| | | 林小零 |
| | | </view> |
| | | <view class="p"> |
| | | <span>申诉主题:</span> |
| | | 汉庭酒店司法检查233号文件 |
| | | </view> |
| | | <view class="p"> |
| | | <span>申诉内容:</span> |
| | | 我是一个内容;我是一个内容;我是一个内容;我是一个内容 |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | -->
|
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | <script>
|
| | | import { complaintDetails, orderNodeList, orderComplaintNodeList } from '@/api/qiye.js'
|
| | | import { orderDetails } from '@/api/policy.js'
|
| | | import { config } from '@/common/config.js'
|
| | | import { getDicts } from '@/api/data.js' |
| | | export default { |
| | | data() { |
| | | return { |
| | | |
| | | details: {},
|
| | | orderId: "",
|
| | | orderDetailsMsg: {},
|
| | | baseUrl: config.baseUrl,
|
| | | dictLabel: "",
|
| | | dictLabel1: "",
|
| | | nodeList: [] |
| | | } |
| | | },
|
| | | onLoad(options) {
|
| | | this.complaint(options.id)
|
| | | if(options.orderId) {
|
| | | this.orderId = options.orderId
|
| | | this.orderDetails()
|
| | | } else {
|
| | | this.orderNodeList(options.id)
|
| | | }
|
| | | }, |
| | | methods: { |
| | | imgclick(url) { |
| | | methods: {
|
| | | orderNodeList(id) {
|
| | | orderNodeList({id}).then(val => {
|
| | | // console.log(val)
|
| | | this.nodeList = val.data.data
|
| | | })
|
| | | },
|
| | | // 获取投诉类型
|
| | | getComtype() {
|
| | | getDicts('complaint_type').then(val => {
|
| | | console.log(val)
|
| | | this.dictLabel1 = val.data.data.find(item => item.dictCode == this.details.complaintType).dictLabel
|
| | | |
| | | })
|
| | | },
|
| | | enforceType() {
|
| | | getDicts('enforce_type').then(val => {
|
| | | console.log(val)
|
| | | this.dictLabel = val.data.data.find(item => item.dictCode == this.orderDetailsMsg.enforceType).dictLabel
|
| | | |
| | | })
|
| | | }, |
| | | imgclick(url) {
|
| | | url = this.baseUrl + url |
| | | uni.previewImage({ |
| | | urls: [url] |
| | | }) |
| | | }, |
| | | },
|
| | | complaint(details) {
|
| | | complaintDetails(details).then(val => {
|
| | | // console.log(val.data.data)
|
| | | this.details = val.data.data
|
| | | this.getComtype()
|
| | | })
|
| | | },
|
| | | orderDetails() {
|
| | | orderDetails({ orderId: this.orderId}).then(val => {
|
| | | // console.log(val.data.data)
|
| | | val.data.data.regionImgs = val.data.data.regionImgs.split(",")
|
| | | this.orderDetailsMsg = val.data.data
|
| | | this.orderComplaintNodeList()
|
| | | this.enforceType()
|
| | | })
|
| | | },
|
| | | orderComplaintNodeList() {
|
| | | orderComplaintNodeList({ orderId: this.orderId }).then(val => {
|
| | | console.log(val.data.data, 'val===')
|
| | | this.nodeList = val.data.data
|
| | | })
|
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | font-weight: bold; |
| | | } |
| | | |
| | | } |
| | | }
|
| | | |
| | | .jilu{ |
| | | display: flex; |
| | | justify-content: space-between; |
| | | padding: 24rpx; |
| | | padding: 24rpx;
|
| | | position: relative;
|
| | | &::before{
|
| | | content: '';
|
| | | display: inline-block;
|
| | | width: 2rpx;
|
| | | height: 100%;
|
| | | background: #eb47460d;
|
| | | position: absolute;
|
| | | left: 44rpx;
|
| | | top: 30rpx;
|
| | | z-index: 99;
|
| | | }
|
| | | |
| | | .img{ |
| | | width: 70rpx; |
| | | width: 50rpx; |
| | | height: 50rpx; |
| | | margin-right: 24rpx; |
| | | margin-right: 24rpx;
|
| | | position: relative;
|
| | | z-index: 100; |
| | | } |
| | | .font{ |
| | | .font{
|
| | | width: calc(100% - 70rpx); |
| | | .h{ |
| | | display: flex; |
| | | justify-content: space-between; |
| | |
| | | } |
| | | } |
| | | }
|
| | | .handler{
|
| | | &::before {
|
| | | background: #fe7b320d;
|
| | | }
|
| | | }
|
| | | .start{
|
| | | &::before{
|
| | | background: #E7F8F0;
|
| | | }
|
| | | }
|
| | | .nonde{
|
| | | &::before{
|
| | | background: none;
|
| | | }
|
| | | }
|
| | | </style> |
| | |
| | | } |
| | | this.active = number |
| | | if(number==0){ |
| | | uni.navigateTo({ |
| | | uni.redirectTo({ |
| | | url: `/qiye/qiyeIndex/qiyeIndex` |
| | | }) |
| | | } |
| | | if(number==1){ |
| | | uni.navigateTo({ |
| | | uni.redirectTo({ |
| | | url: `/qiye/record/record` |
| | | }) |
| | | } |
| | | if(number==2){ |
| | | uni.navigateTo({ |
| | | uni.redirectTo({ |
| | | url: `/qiye/my/my` |
| | | }) |
| | | } |
| | |
| | | display: flex; |
| | | justify-content: space-around; |
| | | align-items: center; |
| | | padding: 10rpx 0; |
| | | padding: 10rpx 0 40rpx; |
| | | background-color: white; |
| | | font-size: 20rpx; |
| | | color: #7E8596FF; |
| | |
| | | </view> |
| | | <view class="show-phone-number"> |
| | | <text class="label">联系电话</text> |
| | | <text>{{msg.companyPhone}}</text> |
| | | <text>{{userPhone||""}}</text> |
| | | </view> |
| | | <view class="wbox"> |
| | | <view class="item" @click="tousu()"> |
| | |
| | |
|
| | | <script> |
| | | import tabsCom from '@/qiye/components/bottom.vue' |
| | | |
| | | import { getInfo } from '@/api/auth.js'
|
| | | import { company } from '@/api/qiye.js'
|
| | | export default { |
| | | components: { |
| | | tabsCom |
| | |
| | | data() {
|
| | | return { |
| | | activeNumber: 2, |
| | | msg:uni.getStorageSync("qiyedata"),
|
| | | src: '/static/policy/header.png'
|
| | | msg: {},
|
| | | src: '/static/policy/header.png',
|
| | | userPhone: ""
|
| | | }
|
| | | },
|
| | | onShow() {
|
| | | this.httoInfo()
|
| | | },
|
| | | methods: {
|
| | | httoInfo() {
|
| | | getInfo().then(val => {
|
| | | this.userPhone = val.data.data.phonenumber
|
| | | company(val.data.data.deptId).then(val => {
|
| | | this.msg = val.data.data
|
| | | })
|
| | | })
|
| | | },
|
| | | goChangePhone() {
|
| | | uni.navigateTo({
|
| | | url: '/policy/changePhone/changePhone?code=02'
|
| | |
| | | <template> |
| | | <view> |
| | | <img src="/static/head.png" class="head" alt="" /> |
| | | <view class="hqzc"> |
| | | <view class="hqzc" @click="more1()"> |
| | | <img src="/static/hqzc.png" class="img" alt="" /> |
| | | <view class="line"></view> |
| | | <view class="font"> |
| | | <p v-for="(item,index) in list1" :key="index">{{item.docTitle}}</p> |
| | | <p v-for="(item,index) in list1" class="u-line-1" :key="index">{{item.docTitle}}</p> |
| | | </view> |
| | | <img src="/static/i06.png" class="more" @click="more1()" alt="" /> |
| | | <img src="/static/i06.png" class="more" alt="" /> |
| | | </view> |
| | | <view class="wbox"> |
| | | <view class="name"> |
| | | {{msg.companyUser}} |
| | | {{msg.companyName}} |
| | | </view> |
| | | <view class="imgbox"> |
| | | <image :src="uqrcodeImage" mode="widthFix" class="qrcode-1"></image> |
| | |
| | | |
| | | </view> |
| | | <view style="height: 50rpx;"></view> |
| | | <uqrcode class="hide-canvas" :size="470" sizeUnit="rpx" v-if="companyCode" ref="uqrcode" canvas-id="qrcode" :value="companyCode" :options="{ backgroundColor: '#000000',useDynamicSize: true, areaColor: '#ffffff', foregroundColor: '#ffffff' }"></uqrcode> |
| | | <uqrcode :errorCorrectLevel="1" class="hide-canvas" :size="470" sizeUnit="rpx" v-if="companyCode" ref="uqrcode" canvas-id="qrcode" :value="companyCode" :options="{ backgroundColor: '#000000',useDynamicSize: true, areaColor: '#ffffff', foregroundColor: '#ffffff' }"></uqrcode> |
| | | <tabsCom :activeNumber.sync="activeNumber"></tabsCom> |
| | | |
| | | </view> |
| | |
| | | import tabsCom from '@/qiye/components/bottom.vue' |
| | | import { docList } from '@/api/index.js' |
| | | import { company } from '@/api/qiye.js' |
| | | |
| | | import { getInfo as httoInfo} from '@/api/auth.js' |
| | | export default { |
| | | components: { |
| | | tabsCom |
| | | }, |
| | | onShow() { |
| | | this.getInfo() |
| | | this.httoInfo() |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | } |
| | | }, |
| | | onReady() { |
| | | this.$refs.uqrcode.toTempFilePath({ |
| | | success: res => { |
| | | this.uqrcodeImage = res.tempFilePath |
| | | } |
| | | }); |
| | | |
| | | }, |
| | | onLoad(options) { |
| | | this.companyId = options.id||33 |
| | | // if(options.id) { |
| | | // this.companyId = options.id||33 |
| | | // } |
| | | // else { |
| | | // this.companyId = uni.getStorageSync('qiyedata').companyId |
| | | // } |
| | | |
| | | }, |
| | | methods: { |
| | | httoInfo() { |
| | | httoInfo().then(val => { |
| | | console.log(val.data.data.deptId) |
| | | this.companyId = val.data.data.deptId |
| | | this.getInfo() |
| | | }) |
| | | }, |
| | | more1(){ |
| | | uni.navigateTo({ |
| | | url: `/pages/hqzc/list` |
| | |
| | | }) |
| | | company(this.companyId).then(val => { |
| | | this.msg = val.data.data |
| | | console.log(this.msg) |
| | | |
| | | this.companyCode = this.msg.companyCode |
| | | uni.setStorageSync('qiyedata', this.msg) |
| | | setTimeout(() => { |
| | | this.$refs.uqrcode.toTempFilePath({ |
| | | success: res => { |
| | | this.uqrcodeImage = res.tempFilePath |
| | | } |
| | | }); |
| | | }, 500) |
| | | // this.msg.createTime = this.msg.createTime.slice(0, 10) |
| | | // this.msg.docContent = decodeURIComponent(this.msg.docContent) |
| | | // console.log(this.msg.docContent) |
| | |
| | | color: #4A4E60; |
| | | margin-right: 50rpx; |
| | | width: 450rpx; |
| | | text-align: center; |
| | | // text-align: center; |
| | | } |
| | | } |
| | | .hide-canvas{ |
| | |
| | | <view class="donw-box"></view>
|
| | | <view class="page-main">
|
| | | <view class="title"> |
| | | <template v-if="msg.isEva==0">已执法待评价</template> |
| | | <template v-if="msg.isEva==0">未评价</template> |
| | | <template v-if="msg.isEva==1">已评价</template> |
| | | <template v-if="msg.orderStatus==2">待执法</template>
|
| | | </view>
|
| | |
| | | 执法人
|
| | | </view>
|
| | | <view class="v">
|
| | | {{msg.executeUser}}
|
| | | {{msg.executeUser || msg.applyUser}}
|
| | | </view>
|
| | | </view>
|
| | | <view class="item">
|
| | |
| | | 执法部门
|
| | | </view>
|
| | | <view class="v">
|
| | | {{msg.executeDeptName}}
|
| | | {{msg.executeDeptName || msg.applyDeptName}}
|
| | | </view>
|
| | | </view>
|
| | | <view class="item">
|
| | |
| | | <view class="k">
|
| | | 执法过程
|
| | | </view>
|
| | | <view class="v" v-if="!img.length">
|
| | | {{msg.regionReason || '执法过程待上报'}}
|
| | | </view>
|
| | | </view>
|
| | | <view class="imgbox"> |
| | | <img v-for="(item,index) in img" :key="index" :src="item" class="more" alt="" @click="imgclick(item)" /> |
| | | <view class="imgbox" v-if="img.length"> |
| | | <template >
|
| | | <img v-for="(item,index) in img" :key="index" :src="item" class="more" alt="" @click="imgclick(item)" />
|
| | | </template> |
| | |
|
| | | <!-- <img src="/static/i01.png" class="more" @click="imgclick('/static/i01.png')" alt="" />
|
| | | <img src="/static/i02.png" class="more" alt="" />
|
| | |
| | | 执法结果
|
| | | </view>
|
| | | <view class="v" style="color: #EB4746;">
|
| | | {{msg.regionReason}}
|
| | | {{msg.regionReason || '执法结果待上报'}}
|
| | | </view>
|
| | | </view>
|
| | | <view class="item">
|
| | |
| | | 执法时间
|
| | | </view>
|
| | | <view class="v">
|
| | | {{msg.executeTime}}
|
| | | {{msg.inTime || "待执法"}}
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | |
| | | </template>
|
| | |
|
| | |
|
| | | <view class="sbox">
|
| | | <view class="sbox" v-if="msg.evaluateVo.questionRemark">
|
| | | <view class="t2">
|
| | | 对我们的评价
|
| | | </view>
|
| | |
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="bottom">
|
| | | <view class="bottom" v-if="msg.orderStatus==3 || msg.orderStatus== 4">
|
| | | <view class="one" v-if="msg.isEva==1">
|
| | | <view class="b1" @click="open()">
|
| | | 投诉
|
| | |
| | | 投诉内容
|
| | | </view>
|
| | | <view class="margin-top">
|
| | | <u-textarea v-model="complaintReason" placeholder="请输入..."></u-textarea>
|
| | | <u-textarea :cursorSpacing="70" v-model="complaintReason" placeholder="请输入..."></u-textarea>
|
| | | </view>
|
| | | </view>
|
| | | <view class="down">
|
| | |
| | | console.log(this.list) |
| | | // const value = val.data.data.find(item => item.dictCode == this.msg.enforceType) |
| | | // this.type = value.dictLabel |
| | | }) |
| | | })
|
| | | this.getdata() |
| | | }, |
| | | onShow(options) { |
| | | this.getdata() |
| | | |
| | | },
|
| | | methods: { |
| | | getdata(){ |
| | | order(this.id).then(val => { |
| | | this.msg = val.data.data |
| | | order(this.id).then(val => {
|
| | | |
| | | this.msg = val.data.data
|
| | | getDicts('enforce_type').then(val => {
|
| | | const value = val.data.data.find(item => item.dictCode == this.msg.enforceType)
|
| | | this.type = value.dictLabel
|
| | | }) |
| | | let arr = this.msg.regionImgs.split(","); |
| | | for(let i = 0;i<arr.length;i++){ |
| | | this.img.push(this.baseUrl+arr[i]) |
| | |
| | | this.qlist[i].remark = Number(this.qlist[i].remark) |
| | | } |
| | | } |
| | | console.log(this.img) |
| | | getDicts('enforce_type').then(val => { |
| | | const value = val.data.data.find(item => item.dictCode == this.msg.enforceType) |
| | | this.type = value.dictLabel |
| | | }) |
| | | |
| | | }) |
| | | },
|
| | | daxing(a) {
|
| | |
| | | <view class="t2" style="margin-bottom: 30rpx;">
|
| | | 对我们的评价
|
| | | </view>
|
| | | <u-textarea v-model="questionRemark" placeholder="请输入..."></u-textarea>
|
| | | <u-textarea :cursorSpacing="70" v-model="questionRemark" placeholder="请输入..."></u-textarea>
|
| | | </view> |
| | | </view> |
| | | <view style="height: 200rpx;"></view> |
| | |
| | | <template>
|
| | | <view>
|
| | |
|
| | | <u-sticky bgColor="white">
|
| | | <u-navbar title="执法记录" :autoBack="true" placeholder>
|
| | | <view slot="left"></view>
|
| | | </u-navbar>
|
| | | <u-tabs :list="list" @change="click" :current="current" :scrollable="false" bgColor="white"></u-tabs>
|
| | | </u-sticky> |
| | | <view class="item" v-for="(item,index) in list1"> |
| | | <img src="/static/i05.png" class="img" alt="" /> |
| | | <view class="right"> |
| | | <view class="name"> |
| | | <view class="l"> |
| | | {{item.companyName}} |
| | | </view> |
| | | <template v-if="item.orderStatus==2"> |
| | | <view class="r color3"> |
| | | 未执法 |
| | | </view> |
| | | </template> |
| | | <template v-if="item.isEva==0"> |
| | | <view class="r color2"> |
| | | 待评价 |
| | | </view> |
| | | </template> |
| | | <template v-if="item.isEva==1"> |
| | | <view class="r color1"> |
| | | 已评价 |
| | | </view> |
| | | </template> |
| | | </view> |
| | | <view class="box"> |
| | | <view class="l"> |
| | | <p>执法单位:{{item.executeDeptName}}</p> |
| | | <p>执法时间:{{item.executeTime}}</p> |
| | | </view> |
| | | <view class="r" @click="chakan(item.orderId)"> |
| | | 去查看 |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <!-- <view class="item"> |
| | | <img src="/static/i05.png" class="img" alt="" /> |
| | | <view class="right"> |
| | | <view class="name"> |
| | | <view class="l"> |
| | | 北京尚策互动科技有限公司北京尚策互动科技有限公司北京尚策互动科技有限公司北京尚策互动科技有限公司北京尚策互动科技有限公司 |
| | | </view> |
| | | <view class="r color2"> |
| | | 待评价 |
| | | </view> |
| | | </view> |
| | | <view class="box"> |
| | | <view class="l"> |
| | | <p>执法单位:农业农村局农业农村局农业农村局农业农村局农业农村局农业农村局s</p> |
| | | <p>执法时间:2024-06-03 12:30:67</p> |
| | | </view> |
| | | <view class="r"> |
| | | 去查看 |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="item"> |
| | | <img src="/static/i05.png" class="img" alt="" /> |
| | | <view class="right"> |
| | | <view class="name"> |
| | | <view class="l"> |
| | | 北京尚策互动科技有限公司北京尚策互动科技有限公司北京尚策互动科技有限公司北京尚策互动科技有限公司北京尚策互动科技有限公司 |
| | | </view> |
| | | <view class="r color3"> |
| | | 待评价 |
| | | </view> |
| | | </view> |
| | | <view class="box"> |
| | | <view class="l"> |
| | | <p>执法单位:农业农村局</p> |
| | | <p>执法时间:2024-06-03 12:30:67</p> |
| | | </view> |
| | | <view class="r"> |
| | | 去查看 |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> --> |
| | | <view style="height: 150rpx;"></view> |
| | | </u-sticky>
|
| | | <view class="item" v-for="(item,index) in list1">
|
| | | <img src="/static/i05.png" class="img" alt="" />
|
| | | <view class="right">
|
| | | <view class="name">
|
| | | <view class="l">
|
| | | {{item.companyName}}
|
| | | </view>
|
| | | <template v-if="item.orderStatus==2">
|
| | | <view class="r color3">
|
| | | 未执法
|
| | | </view>
|
| | | </template>
|
| | | <template v-if="item.isEva==0">
|
| | | <view class="r color2">
|
| | | 待评价
|
| | | </view>
|
| | | </template>
|
| | | <template v-if="item.isEva==1">
|
| | | <view class="r color1">
|
| | | 已评价
|
| | | </view>
|
| | | </template>
|
| | | </view>
|
| | | <view class="box">
|
| | | <view class="l">
|
| | | <p>执法单位:{{item.executeDeptName|| item.applyDeptName}}</p>
|
| | | <p>执法时间:{{item.inTime || item.planTime}}</p>
|
| | | </view>
|
| | | <view class="r" @click="chakan(item.orderId)">
|
| | | 去查看
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <u-empty v-if="!list1.length"></u-empty>
|
| | | <!-- <view class="item">
|
| | | <img src="/static/i05.png" class="img" alt="" />
|
| | | <view class="right">
|
| | | <view class="name">
|
| | | <view class="l">
|
| | | 北京尚策互动科技有限公司北京尚策互动科技有限公司北京尚策互动科技有限公司北京尚策互动科技有限公司北京尚策互动科技有限公司
|
| | | </view>
|
| | | <view class="r color2">
|
| | | 待评价
|
| | | </view>
|
| | | </view>
|
| | | <view class="box">
|
| | | <view class="l">
|
| | | <p>执法单位:农业农村局农业农村局农业农村局农业农村局农业农村局农业农村局s</p>
|
| | | <p>执法时间:2024-06-03 12:30:67</p>
|
| | | </view>
|
| | | <view class="r">
|
| | | 去查看
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="item">
|
| | | <img src="/static/i05.png" class="img" alt="" />
|
| | | <view class="right">
|
| | | <view class="name">
|
| | | <view class="l">
|
| | | 北京尚策互动科技有限公司北京尚策互动科技有限公司北京尚策互动科技有限公司北京尚策互动科技有限公司北京尚策互动科技有限公司
|
| | | </view>
|
| | | <view class="r color3">
|
| | | 待评价
|
| | | </view>
|
| | | </view>
|
| | | <view class="box">
|
| | | <view class="l">
|
| | | <p>执法单位:农业农村局</p>
|
| | | <p>执法时间:2024-06-03 12:30:67</p>
|
| | | </view>
|
| | | <view class="r">
|
| | | 去查看
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </view> -->
|
| | | <view style="height: 150rpx;"></view>
|
| | | <tabsCom :activeNumber.sync="activeNumber"></tabsCom>
|
| | |
|
| | | </view>
|
| | |
| | |
|
| | | <script>
|
| | | import tabsCom from '@/qiye/components/bottom.vue'
|
| | | import { companyList } from '@/api/qiye.js' |
| | | import {
|
| | | companyList
|
| | | } from '@/api/qiye.js'
|
| | |
|
| | | export default {
|
| | | components: {
|
| | |
| | | activeNumber: 1,
|
| | | list: [{
|
| | | name: '全部',
|
| | | value: {
|
| | |
|
| | | }
|
| | | }, {
|
| | | name: '待评价',
|
| | | value: {
|
| | | isEva: 0
|
| | | }
|
| | | }, {
|
| | | name: '未执法',
|
| | | value: {
|
| | | orderStatus: 2
|
| | | }
|
| | | }, {
|
| | | name: '已评价',
|
| | | }], |
| | | current: 0, |
| | | list1:[], |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | companyId:'', |
| | | }, |
| | | value: {
|
| | | isEva: 1
|
| | | }
|
| | | }],
|
| | | current: 0,
|
| | | list1: [],
|
| | | queryParams: {
|
| | | pageNum: 1,
|
| | | pageSize: 10,
|
| | | companyId: '',
|
| | | },
|
| | | total: 1,
|
| | | }
|
| | | }, |
| | | onShow() { |
| | | this.list1 = [] |
| | | this.queryParams.pageNum = 1 |
| | | this.getList() |
| | | }, |
| | | onReachBottom() { |
| | | if(this.list1.length == this.total) { |
| | | return |
| | | } |
| | | this.queryParams.pageNum++ |
| | | this.getList() |
| | | },
|
| | | methods: { |
| | | chakan(id){ |
| | | uni.navigateTo({ |
| | | url: `/qiye/record/details?id=${id}` |
| | | }) |
| | | }, |
| | | getList() { |
| | | let data = uni.getStorageSync("qiyedata") |
| | | this.queryParams.companyId = data.companyId |
| | | companyList({...this.queryParams}).then(val => { |
| | | // console.log(val.data) |
| | | this.total = val.data.total |
| | | this.list1 = [...this.list1,...val.data.rows] |
| | | }) |
| | | onShow() {
|
| | | this.list1 = []
|
| | | this.queryParams.pageNum = 1
|
| | | this.getList()
|
| | | },
|
| | | onReachBottom() {
|
| | | if (this.list1.length == this.total) {
|
| | | return
|
| | | }
|
| | | this.queryParams.pageNum++
|
| | | this.getList()
|
| | | },
|
| | | methods: {
|
| | | chakan(id) {
|
| | | uni.navigateTo({
|
| | | url: `/qiye/record/details?id=${id}`
|
| | | })
|
| | | },
|
| | | click(i) { |
| | | this.list1 = [] |
| | | getList() {
|
| | | let data = uni.getStorageSync("qiyedata")
|
| | | this.queryParams.companyId = data.companyId
|
| | | companyList({
|
| | | ...this.queryParams,
|
| | | ...this.list[this.current].value
|
| | | }).then(val => {
|
| | | // console.log(val.data)
|
| | | this.total = val.data.total
|
| | | this.list1 = [...this.list1, ...val.data.rows]
|
| | | })
|
| | | },
|
| | | click(i) {
|
| | | this.list1 = []
|
| | | this.queryParams.pageNum = 1
|
| | | console.log(i.index) |
| | | // if(i.index==0){ |
| | | |
| | | // } |
| | | if(i.index==1){ |
| | | this.queryParams.isEva = 0 |
| | | } |
| | | if(i.index==2){ |
| | | this.queryParams.orderStatus = 2 |
| | | } |
| | | if(i.index==3){ |
| | | this.queryParams.isEva = 1 |
| | | } |
| | | this.current = i.index
|
| | | // console.log(i.index)
|
| | |
|
| | | // if(i.index==1){
|
| | | // this.queryParams.isEva = 0
|
| | | // }
|
| | | // if(i.index==2){
|
| | | // this.queryParams.orderStatus = 2
|
| | | // }
|
| | | // if(i.index==3){
|
| | | // this.queryParams.isEva = 1
|
| | | // }
|
| | | this.getList()
|
| | | }
|
| | | }
|
| | |
| | | page {
|
| | | background: #f4f4f4;
|
| | | }
|
| | | </style> |
| | | <style lang="scss" scoped> |
| | | |
| | | .item{ |
| | | background: #fff; |
| | | border-radius: 5px; |
| | | padding: 24rpx; |
| | | box-sizing: border-box; |
| | | margin: 20rpx 32rpx; |
| | | display: flex; |
| | | .img{ |
| | | width: 56rpx; |
| | | height: 56rpx; |
| | | } |
| | | .right{ |
| | | width: 90%; |
| | | .name{ |
| | | display: flex; |
| | | justify-content: space-between; |
| | | .l{ |
| | | color: #202d44; |
| | | font-size: 32rpx; |
| | | line-height: 44rpx; |
| | | margin-bottom: 24rpx; |
| | | width: 80%; |
| | | } |
| | | .r{ |
| | | font-size: 28rpx; |
| | | width: 20%; |
| | | text-align: right; |
| | | } |
| | | } |
| | | .box{ |
| | | display: flex; |
| | | justify-content: space-between; |
| | | .l{ |
| | | font-size: 26rpx; |
| | | color: #7e8593; |
| | | max-width: 80%; |
| | | } |
| | | .r{ |
| | | width: 132rpx; |
| | | height: 64rpx; |
| | | line-height: 64rpx; |
| | | border-radius: 5px; |
| | | border: 1px solid #ABD2FF; |
| | | background: #F0F8FF; |
| | | color: #1171e0; |
| | | text-align: center; |
| | | font-size: 30rpx; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .color1{ |
| | | color: #FE7B32; |
| | | //cheng |
| | | } |
| | | .color2{ |
| | | color: #EB4746; |
| | | |
| | | //hong |
| | | } |
| | | .color3{ |
| | | color: #3EB47A; |
| | | //lv |
| | | } |
| | | </style>
|
| | | <style lang="scss" scoped>
|
| | | .item {
|
| | | background: #fff;
|
| | | border-radius: 5px;
|
| | | padding: 24rpx;
|
| | | box-sizing: border-box;
|
| | | margin: 20rpx 32rpx;
|
| | | display: flex;
|
| | |
|
| | | .img {
|
| | | width: 56rpx;
|
| | | height: 56rpx;
|
| | | }
|
| | |
|
| | | .right {
|
| | | width: 90%;
|
| | |
|
| | | .name {
|
| | | display: flex;
|
| | | justify-content: space-between;
|
| | |
|
| | | .l {
|
| | | color: #202d44;
|
| | | font-size: 32rpx;
|
| | | line-height: 44rpx;
|
| | | margin-bottom: 24rpx;
|
| | | width: 80%;
|
| | | }
|
| | |
|
| | | .r {
|
| | | font-size: 28rpx;
|
| | | width: 20%;
|
| | | text-align: right;
|
| | | }
|
| | | }
|
| | |
|
| | | .box {
|
| | | display: flex;
|
| | | justify-content: space-between;
|
| | |
|
| | | .l {
|
| | | font-size: 26rpx;
|
| | | color: #7e8593;
|
| | | max-width: 80%;
|
| | | }
|
| | |
|
| | | .r {
|
| | | width: 132rpx;
|
| | | height: 64rpx;
|
| | | line-height: 64rpx;
|
| | | border-radius: 5px;
|
| | | border: 1px solid #ABD2FF;
|
| | | background: #F0F8FF;
|
| | | color: #1171e0;
|
| | | text-align: center;
|
| | | font-size: 30rpx;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .color1 {
|
| | | color: #FE7B32;
|
| | | //cheng
|
| | | }
|
| | |
|
| | | .color2 {
|
| | | color: #EB4746;
|
| | |
|
| | | //hong
|
| | | }
|
| | |
|
| | | .color3 {
|
| | | color: #3EB47A;
|
| | | //lv
|
| | | }
|
| | | </style> |
| | |
| | | type: Number, |
| | | default: 2000, |
| | | }, |
| | | startMonth: { |
| | | type: Number, |
| | | default: 0 |
| | | }, |
| | | startDay: { |
| | | type: Number, |
| | | default: 0 |
| | | }, |
| | | endYear: { |
| | | type: Number, |
| | | default: 2099, |
| | |
| | | timeInit: { |
| | | type: String, |
| | | default: '', //new Date('2023-5-20').valueOf() |
| | | }, |
| | | } |
| | | }, |
| | | |
| | | data() { |
| | |
| | | |
| | | initMonths() { |
| | | const months = []; |
| | | |
| | | for (let month = 1; month <= 12; month++) { |
| | | months.push(month); |
| | | if (this.currentDatetime.getMonth() + 1 === month) { |