Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/H5/threeSide
New file |
| | |
| | | <template> |
| | | <u-popup :show="show" mode="center" bgColor="transparent" @open="openPopup" :closeOnClickOverlay="false" zIndex="10071"> |
| | | <view class="bgImg px-61 pt-46 pb-37 br-28"> |
| | | <view class="txt-center font-bold fs-35 color2"> |
| | | 提示 |
| | | </view> |
| | | <slot></slot> |
| | | <view class="fs-27"> |
| | | <view v-if="!isOneBtn" class="flex a-center j-between"> |
| | | <view @tap.stop="closeFun" class="h-77 lh-77 shrink0 txt-center px-79 br-48 mr-33 border1"> |
| | | {{closeText}} |
| | | </view> |
| | | <view @tap.stop="comfirmFun" class="px-79 py-19 br-48 color1 bgcolor1">{{confirmText}}</view> |
| | | </view> |
| | | <view v-else @tap.stop="comfirmFun" class="lh-70 txt-center w100 br-48 color1 bgcolor1"> |
| | | {{confirmText}}<span v-if="isCountDown && num != 0">({{num}}S)</span> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </u-popup> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | props: { |
| | | confirmText: { |
| | | type: String, |
| | | default: '确认' |
| | | }, |
| | | closeText: { |
| | | type: String, |
| | | default: '关闭' |
| | | }, |
| | | isOneBtn: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | isCountDown: { |
| | | type: Boolean, |
| | | default: false |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | timer: null, |
| | | num: 3, |
| | | show: false, |
| | | } |
| | | }, |
| | | methods: { |
| | | openPopup() { |
| | | this.timer = setInterval(() => { |
| | | this.num-- |
| | | if (this.num == 1) { |
| | | setTimeout(() => { |
| | | this.num = 0 |
| | | clearInterval(this.timer) |
| | | }, 900) |
| | | } |
| | | }, 1000) |
| | | }, |
| | | closeFun() { |
| | | this.$emit('close') |
| | | }, |
| | | comfirmFun() { |
| | | if (this.isCountDown && this.num != 0) { |
| | | return |
| | | } |
| | | this.$emit('comfirm') |
| | | }, |
| | | showPopup() { |
| | | this.show = true |
| | | }, |
| | | closePopup() { |
| | | this.show = false |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .bgImg { |
| | | width: 516rpx; |
| | | background-image: url('/static/popupBg.png'); |
| | | background-size: 100% 212rpx; |
| | | background-repeat: no-repeat; |
| | | background-color: #fff; |
| | | } |
| | | |
| | | .border1 { |
| | | border: 2rpx solid rgba(0, 0, 0, 0.8); |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .color1 { |
| | | color: #fff; |
| | | } |
| | | |
| | | .color2 { |
| | | color: rgba(0, 0, 0, 0.8); |
| | | } |
| | | |
| | | .bgcolor1 { |
| | | background: linear-gradient(270deg, #FC8D55 0%, #FF4948 100%); |
| | | } |
| | | </style> |
| | |
| | | import App from './App' |
| | | |
| | | // #ifndef VUE3 |
| | | import Vue from 'vue' |
| | | import store from '@/store/index.js' |
| | | import uView from '@/uni_modules/uview-ui' |
| | | import './uni.promisify.adaptor' |
| | | import CustomPopup from '@/components/customPopup.vue' |
| | | Vue.config.productionTip = false |
| | | Vue.prototype.$store = store |
| | | import uView from '@/uni_modules/uview-ui' |
| | | Vue.use(uView) |
| | | Vue.component('CustomPopup', CustomPopup) |
| | | |
| | | App.mpType = 'app' |
| | | const app = new Vue({ |
| | | ...App |
| | | }) |
| | | app.$mount() |
| | | // #endif |
| | | |
| | | Vue.use(uView) |
| | | // #ifdef VUE3 |
| | | import { |
| | | createSSRApp |
| | | } from 'vue' |
| | | export function createApp() { |
| | | const app = createSSRApp(App) |
| | | return { |
| | | app |
| | | } |
| | | } |
| | | // #endif |
| | | app.$mount() |
| | |
| | | "navigationBarTitleText": "办理进度录入", |
| | | "navigationStyle": "custom" |
| | | } |
| | | }, |
| | | { |
| | | },{ |
| | | "path": "pages/evaluate/evaluate", |
| | | "style": { |
| | | "navigationBarTitleText": "诉求评价", |
| | | "navigationStyle": "custom" |
| | | } |
| | | }, |
| | | { |
| | | "path" : "pages/certificationAudit/certificationAudit", |
| | | "style" : |
| | | { |
| | | "navigationBarTitleText": "党员认证审核", |
| | | "navigationStyle": "custom" |
| | | } |
| | | } |
| | | ], |
| | | "globalStyle": { |
| | |
| | | } |
| | | |
| | | .bgcolor1 { |
| | | background: linear-gradient(270deg, rgba(255, 241, 0, 0.5) 0%, rgba(255, 249, 172, 0.25) 48%, rgba(255, 255, 255, 0.2) 100%, #FFFFFF 100%); |
| | | background: linear-gradient( 270deg, rgba(255,241,0,0.5) 0%, rgba(255,249,172,0.25) 48%, rgba(255,255,255,0.2) 100%, #FFFFFF 100%); |
| | | } |
| | | |
| | | .bgcolor2 { |
New file |
| | |
| | | <template> |
| | | <view> |
| | | <view v-if="list.length == 0 && status == 'noMore'" class="mt-200"> |
| | | <image src="../../static/空空如也@2x.png" mode="widthFix" class="w100"></image> |
| | | <view class="txt-center mt-94 fs-27 color9"> |
| | | 暂无数据 |
| | | </view> |
| | | </view> |
| | | <view v-else class="px-31"> |
| | | <view class="mt-38 br-19 bgColor3 shadow2 oh pb-31" v-for="(item,index) in list" :key="item.id"> |
| | | <view class="pt-21 px-31 flex a-center j-between font-bold"> |
| | | <view class="flex a-center"> |
| | | <view class="fs-31 mr-23">习婕海</view> |
| | | <view v-if="!index" class="flex a-center pr-19 border3"> |
| | | <image src="@/static/man.png" class="w-38 h-38 shrink0" /> |
| | | <view class="fs-23 ml-12"> |
| | | 男 |
| | | </view> |
| | | </view> |
| | | <view v-else class="flex a-center pr-19 border4"> |
| | | <image src="@/static/women.png" class="w-38 h-38 shrink0" /> |
| | | <view class="fs-23 ml-12"> |
| | | 女 |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="color3 flex a-center fs-31"> |
| | | 待审核 |
| | | </view> |
| | | </view> |
| | | <view class="mt-38 mx-31 pt-12 pb-23 px-31 br-19 bgColor8"> |
| | | <view class="flex a-center j-between lh-38 mt-19 fs-27 color11"> |
| | | <view class="font-w400">身份证号</view> |
| | | <view class="font-bold">500000000000000000</view> |
| | | </view> |
| | | <view class="flex a-center j-between lh-38 mt-19 fs-27 color11"> |
| | | <view class="font-w400">联系电话</view> |
| | | <view class="font-bold">15729765305</view> |
| | | </view> |
| | | <view class="flex j-between lh-38 mt-19 fs-27 color11"> |
| | | <view class="font-w400">服务社区</view> |
| | | <view class="font-bold">仁和区-仁和镇-仁和街社区</view> |
| | | </view> |
| | | <view class="flex j-between lh-38 mt-19 fs-27 color11"> |
| | | <view class="font-w400">服务对象</view> |
| | | <view class="font-bold">文化小区一栋一单元</view> |
| | | </view> |
| | | <view class="flex j-between lh-38 mt-19 fs-27 color11"> |
| | | <view class="font-w400">所在党组织</view> |
| | | <view class="font-bold max-w1">中共攀枝花市委组织部机关中共11攀枝花市委组织部机关</view> |
| | | </view> |
| | | <view class="flex wrap mt-19"> |
| | | <image src="/static/logo.png" class="w-142 h-142 mr-12 shrink0 br-19 mb-12" /> |
| | | </view> |
| | | </view> |
| | | <view class="mt-37 border1"> |
| | | <view class="left"></view> |
| | | <view class="right"></view> |
| | | <view class="txt-center fs-23 mt-31 color6"> |
| | | 申请时间:{{ item.createTime | formatTime }} |
| | | </view> |
| | | <view class="flex a-center j-center fs-23 mt-29 txt-center"> |
| | | <view @click.stop="refuse" class="h-58 lh-58 bgColor5 w-192 br-29 color10 border2"> |
| | | 拒绝 |
| | | </view> |
| | | <view @click.stop="pass" class="ml-38 h-58 lh-58 bgColor6 w-192 br-29 color8"> |
| | | 通过 |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="h-safe-b"></view> |
| | | |
| | | <CustomPopup ref="tipPoput" @close="closePopup" @comfirm="comfirmPopup"> |
| | | <view class="mt-50" :class="suditStatus ? 'mb-38' : 'mb-60'"> |
| | | <view class="txt-center fs-31 lh-42 color12">确认审核{{suditStatus ? '拒绝' : '通过'}}所选信息吗?</view> |
| | | <view v-if="suditStatus" class="mt-38"> |
| | | <view class="flex"> |
| | | <image src="/static/required.png" class="w-10 h-10 mt-12 mr-15 shrink0" /> |
| | | <view class="fs-31 lh-42 font-bold">拒绝理由:</view> |
| | | </view> |
| | | <view class="border5 br-19 mt-13 px-35 py-27 "> |
| | | <textarea v-model="reasonsRefusal" placeholder="请输入拒绝理由" class="fs-27 h-178 w100"></textarea> |
| | | <view v-if="showRequiredTip" class="fs-23 lh-33 color3">拒绝理由必填</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </CustomPopup> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import dayjs from '@/uni_modules/uview-ui/libs/util/dayjs.js' |
| | | import { |
| | | getList |
| | | } from './service.js' |
| | | export default { |
| | | data() { |
| | | return { |
| | | searchParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | }, |
| | | list: [{}, {}], |
| | | status: 'loadMore', |
| | | suditStatus: false, |
| | | reasonsRefusal: '', |
| | | showRequiredTip: false, |
| | | } |
| | | }, |
| | | filters: { |
| | | formatTime(val) { |
| | | if (!val) return '' |
| | | return dayjs(val).format('YYYY-MM-DD HH:mm:ss') |
| | | } |
| | | }, |
| | | onReachBottom() { |
| | | if (this.status == 'loadMore') { |
| | | this.searchParams.pageNum += 1 |
| | | this.fetchList(this.searchParams, (e) => { |
| | | this.list = [...this.list, ...e.records] |
| | | if (this.list.length == e.total) { |
| | | this.status = 'noMore' |
| | | } else { |
| | | this.status = 'loadMore' |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | onShow() { |
| | | |
| | | }, |
| | | onReady() {}, |
| | | methods: { |
| | | comfirmPopup() { |
| | | if (this.suditStatus) { |
| | | if (!this.reasonsRefusal) { |
| | | this.showRequiredTip = true |
| | | return |
| | | } |
| | | } |
| | | this.closePopup() |
| | | }, |
| | | refuse() { |
| | | this.suditStatus = true |
| | | this.$refs.tipPoput.showPopup() |
| | | }, |
| | | pass() { |
| | | this.$refs.tipPoput.showPopup() |
| | | }, |
| | | fetchList(params, callback) { |
| | | if (this.status == 'loading') return |
| | | this.status = 'loading' |
| | | getList(params).then(res => { |
| | | if (res.code == 200) { |
| | | res.data.records.map(item => { |
| | | if (item.images) { |
| | | item.images = item.images.split(',') |
| | | } |
| | | }) |
| | | callback(res.data) |
| | | } |
| | | }) |
| | | }, |
| | | closePopup() { |
| | | this.$refs.tipPoput.closePopup() |
| | | this.$nextTick(() => { |
| | | this.suditStatus = false |
| | | this.showRequiredTip = false |
| | | this.reasonsRefusal = '' |
| | | }) |
| | | |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .shadow2 { |
| | | box-shadow: 0rpx 0rpx 27rpx 0rpx rgba(0, 0, 0, 0.1); |
| | | } |
| | | |
| | | .color1 { |
| | | color: #4C4C4C; |
| | | } |
| | | |
| | | .color2 { |
| | | color: #232323; |
| | | } |
| | | |
| | | .color3 { |
| | | color: #FF4948; |
| | | } |
| | | |
| | | .color4 { |
| | | color: #929191; |
| | | } |
| | | |
| | | .color5 { |
| | | color: #000; |
| | | } |
| | | |
| | | .color6 { |
| | | color: #666666; |
| | | } |
| | | |
| | | .color7 { |
| | | color: #727272; |
| | | } |
| | | |
| | | .color8 { |
| | | color: #fff; |
| | | } |
| | | |
| | | .color9 { |
| | | color: #999999; |
| | | } |
| | | |
| | | .color10 { |
| | | color: #636363; |
| | | } |
| | | |
| | | .color11 { |
| | | color: rgba(0, 0, 0, 0.88); |
| | | } |
| | | |
| | | .color12 { |
| | | color: rgba(0, 0, 0, 0.6); |
| | | } |
| | | |
| | | .bgColor1 { |
| | | background: linear-gradient(270deg, #FFB318 0%, #FF330D 100%); |
| | | width: 58rpx; |
| | | height: 12rpx; |
| | | border-radius: 6rpx; |
| | | position: absolute; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: -5rpx; |
| | | margin: auto; |
| | | } |
| | | |
| | | .bgColor2 { |
| | | background-color: #fff; |
| | | } |
| | | |
| | | .bgColor3 { |
| | | background: linear-gradient(180deg, #FFDCDB 0%, rgba(255, 255, 255, 0) 138rpx, #fff 100%); |
| | | } |
| | | |
| | | .bgColor4 { |
| | | background: linear-gradient( 270deg, rgba(255,241,0,0.5) 0%, rgba(255,249,172,0.25) 48%, rgba(255,255,255,0.2) 100%, #FFFFFF 100%); |
| | | } |
| | | |
| | | .bgColor5 { |
| | | background: #F3F3F3; |
| | | } |
| | | |
| | | .bgColor6 { |
| | | background: linear-gradient(270deg, #FC8D55 0%, #FF4948 100%); |
| | | } |
| | | |
| | | .bgColor7 { |
| | | background: #FF4948; |
| | | } |
| | | |
| | | .bgColor8 { |
| | | background: rgba(0, 0, 0, 0.03); |
| | | } |
| | | |
| | | .border1 { |
| | | border-top: 2rpx solid #EDEEEF; |
| | | position: relative; |
| | | |
| | | .left { |
| | | width: 40rpx; |
| | | height: 40rpx; |
| | | background-color: #F4F4F4; |
| | | border-radius: 50%; |
| | | position: absolute; |
| | | left: -20rpx; |
| | | top: -20rpx; |
| | | } |
| | | |
| | | .right { |
| | | width: 40rpx; |
| | | height: 40rpx; |
| | | background-color: #F4F4F4; |
| | | border-radius: 50%; |
| | | position: absolute; |
| | | right: -20rpx; |
| | | top: -20rpx; |
| | | } |
| | | } |
| | | |
| | | .border2 { |
| | | border: 2rpx solid #E5E5E5; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .border3 { |
| | | background: #E4EFFF; |
| | | box-shadow: 0rpx 0rpx 27rpx 0rpx rgba(0, 0, 0, 0.1); |
| | | border-radius: 22rpx; |
| | | border: 2rpx solid #5599FF; |
| | | box-sizing: border-box; |
| | | color: #1677FF; |
| | | } |
| | | |
| | | .border4 { |
| | | background: #FFEEF1; |
| | | box-shadow: 0rpx 0rpx 27rpx 0rpx rgba(0, 0, 0, 0.1); |
| | | border-radius: 22rpx; |
| | | border: 2rpx solid #F7636E; |
| | | box-sizing: border-box; |
| | | color: #E5484D; |
| | | } |
| | | |
| | | .border5 { |
| | | border: 2rpx solid #E9E9E9; |
| | | } |
| | | |
| | | .max-w1 { |
| | | width: 329rpx; |
| | | } |
| | | </style> |
New file |
| | |
| | | import request from '@/utils/request.js' |
| | | // 工单列表 |
| | | export const getList =(params)=>{ |
| | | return request.post(`/api/huacheng-sangeshenbian/applet/complaint/list`,params) |
| | | } |
| | |
| | | display: flex; |
| | | justify-content: space-between; |
| | | // height: 106rpx; |
| | | background: linear-gradient(270deg, rgba(255, 241, 0, 0.5) 0%, rgba(255, 249, 172, 0.25) 48%, rgba(255, 255, 255, 0.2) 100%, #FFFFFF 100%); |
| | | background: linear-gradient( 270deg, rgba(255,241,0,0.5) 0%, rgba(255,249,172,0.25) 48%, rgba(255,255,255,0.2) 100%, #FFFFFF 100%); |
| | | box-shadow: 0rpx 0rpx 27rpx 0rpx rgba(0, 0, 0, 0.1); |
| | | border-radius: 19rpx; |
| | | align-items: center; |
| | |
| | | <image class="w-79 h-77 ml-38" src="/static/home/img1.png" mode=""></image> |
| | | <text class="ml-37 font-bold">回访评价</text> |
| | | </view> |
| | | |
| | | |
| | | <view class="pt-38 pb-38 bg1 w-333 br-19 mt-19 flex a-center" v-if="showData"> |
| | | <image class="w-81 h-77 ml-38" src="/static/home/img8.png" mode=""></image> |
| | | <text class="ml-37 font-bold">统计分析</text> |
| | |
| | | </view> |
| | | </view> |
| | | <popupCertificate :show="isClick" @onCancel="isClick=false"></popupCertificate> |
| | | |
| | | <!-- 用户多个角色时切换角色弹窗 --> |
| | | <u-popup :show="changeRolePopup" round="16rpx" @close="changeRolePopup = false"> |
| | | <view class="relative"> |
| | | <image @tap.stop="changeRolePopup = false" src="@/static/closeImg.png" class="w-35 h-35 absolute" |
| | | style="right: 31rpx;top: 46rpx;" /> |
| | | <view class="txt-center pt-38 pb-40 fs-35 lh-48 font-bold">选择角色</view> |
| | | <view class="lineBox mb-10"></view> |
| | | <view style="height: 546rpx;overflow-y: auto;"> |
| | | <view @tap.stop="changeRole(item)" v-for="(item,index) in 10" :key="index" |
| | | :class="index == activeRole && 'bgcolor2'" |
| | | class="mt-38 bgcolor1 br-58 fs-31 ml-54 mr-62 py-37 txt-center"> |
| | | <view>XXXXXXXX管理员</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </u-popup> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | isLoading: false, |
| | | noreadlist: [], |
| | | noreadlists: [], |
| | | changeRolePopup: true, |
| | | activeRole: 1, |
| | | } |
| | | }, |
| | | onPullDownRefresh() { |
| | |
| | | this.getappletcinfo() |
| | | }, |
| | | methods: { |
| | | changeRole(item) { |
| | | this.activeRole = item - 1 |
| | | this.changeRolePopup = false |
| | | }, |
| | | Allread() { |
| | | getread().then(resp => { |
| | | |
| | |
| | | |
| | | .color4 { |
| | | color: rgba(0, 0, 0, 0.4); |
| | | } |
| | | |
| | | .bgcolor1 { |
| | | background: #F7F7F7; |
| | | } |
| | | |
| | | .bgcolor2 { |
| | | color: #fff; |
| | | background: #FC8D55; |
| | | box-shadow: 0rpx 4rpx 19rpx 0rpx rgba(239, 119, 58, 0.5); |
| | | } |
| | | |
| | | .bg1 { |
| | |
| | | color: #FFFFFF; |
| | | font-weight: 600; |
| | | } |
| | | |
| | | .lineBox { |
| | | width: 100%; |
| | | height: 1rpx; |
| | | background: #E5E5E5; |
| | | } |
| | | </style> |
| | |
| | | }
|
| | |
|
| | | .bgColor4 {
|
| | | background: linear-gradient(270deg, rgba(255, 241, 0, 0.5) 0%, rgba(255, 249, 172, 0.25) 48%, rgba(255, 255, 255, 0.2) 100%, #FFFFFF 100%);
|
| | | background: linear-gradient( 270deg, rgba(255,241,0,0.5) 0%, rgba(255,249,172,0.25) 48%, rgba(255,255,255,0.2) 100%, #FFFFFF 100%);
|
| | | }
|
| | |
|
| | | .bgColor5 {
|
| | |
| | | display: flex; |
| | | justify-content: space-between; |
| | | // height: 106rpx; |
| | | background: linear-gradient(270deg, rgba(255, 241, 0, 0.5) 0%, rgba(255, 249, 172, 0.25) 48%, rgba(255, 255, 255, 0.2) 100%, #FFFFFF 100%); |
| | | background: linear-gradient( 270deg, rgba(255,241,0,0.5) 0%, rgba(255,249,172,0.25) 48%, rgba(255,255,255,0.2) 100%, #FFFFFF 100%); |
| | | box-shadow: 0rpx 0rpx 27rpx 0rpx rgba(0, 0, 0, 0.1); |
| | | border-radius: 19rpx; |
| | | align-items: center; |
| | |
| | | } |
| | | |
| | | .bgcolor1 { |
| | | background: linear-gradient(270deg, rgba(255, 241, 0, 0.5) 0%, rgba(255, 249, 172, 0.25) 48%, rgba(255, 255, 255, 0.2) 100%, #FFFFFF 100%); |
| | | background: linear-gradient( 270deg, rgba(255,241,0,0.5) 0%, rgba(255,249,172,0.25) 48%, rgba(255,255,255,0.2) 100%, #FFFFFF 100%); |
| | | } |
| | | |
| | | .bgcolor2 { |
| | |
| | | } |
| | | |
| | | .bgcolor1 { |
| | | background: linear-gradient(270deg, rgba(255, 241, 0, 0.5) 0%, rgba(255, 249, 172, 0.25) 48%, rgba(255, 255, 255, 0.2) 100%, #FFFFFF 100%); |
| | | background: linear-gradient( 270deg, rgba(255,241,0,0.5) 0%, rgba(255,249,172,0.25) 48%, rgba(255,255,255,0.2) 100%, #FFFFFF 100%); |
| | | } |
| | | |
| | | .bgcolor2 { |
| | |
| | | .addressCard { |
| | | margin: 33rpx 10rpx; |
| | | padding: 33rpx 27rpx; |
| | | background: linear-gradient(270deg, rgba(255, 241, 0, 0.5) 0%, rgba(255, 249, 172, 0.25) 48%, rgba(255, 255, 255, 0.2) 100%, #FFFFFF 100%); |
| | | background: linear-gradient( 270deg, rgba(255,241,0,0.5) 0%, rgba(255,249,172,0.25) 48%, rgba(255,255,255,0.2) 100%, #FFFFFF 100%); |
| | | border-radius: 19rpx; |
| | | display: flex; |
| | | justify-content: space-between; |
| | |
| | | .safe-b { |
| | | padding-bottom: env(safe-area-inset-bottom); |
| | | } |
| | | .h-safe-b{ |
| | | height: calc(env(safe-area-inset-bottom) + 10rpx); |
| | | } |
| | | .underline { |
| | | text-decoration: underline; |
| | | } |