| @@ -53,6 +53,7 @@ | |||||
| "@dcloudio/uni-mp-weixin": "3.0.0-3081220230817001", | "@dcloudio/uni-mp-weixin": "3.0.0-3081220230817001", | ||||
| "@dcloudio/uni-quickapp-webview": "3.0.0-3081220230817001", | "@dcloudio/uni-quickapp-webview": "3.0.0-3081220230817001", | ||||
| "dayjs": "^1.10.4", | "dayjs": "^1.10.4", | ||||
| "html2canvas": "^1.4.1", | |||||
| "less": "^4.2.0", | "less": "^4.2.0", | ||||
| "less-loader": "^11.1.3", | "less-loader": "^11.1.3", | ||||
| "mp-html": "^2.4.1", | "mp-html": "^2.4.1", | ||||
| @@ -11,36 +11,36 @@ import request from '../utils/request'; | |||||
| * 获得banner图分页 | * 获得banner图分页 | ||||
| * @param {*} data | * @param {*} data | ||||
| */ | */ | ||||
| const getBannerApi = function (data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/banner/page', | |||||
| method: 'get', | |||||
| data: data | |||||
| }); | |||||
| const getBannerApi = function(data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/banner/page', | |||||
| method: 'get', | |||||
| data: data | |||||
| }); | |||||
| }; | }; | ||||
| /** | /** | ||||
| * 获得字典类型的分页列表 | * 获得字典类型的分页列表 | ||||
| * @param {*} data | * @param {*} data | ||||
| */ | */ | ||||
| const getDictDataApi = function (data) { | |||||
| return request({ | |||||
| url: '/admin-api/system/dict-data/page', | |||||
| method: 'get', | |||||
| data: data | |||||
| }); | |||||
| const getDictDataApi = function(data) { | |||||
| return request({ | |||||
| url: '/admin-api/system/dict-data/page', | |||||
| method: 'get', | |||||
| data: data | |||||
| }); | |||||
| }; | }; | ||||
| /** | /** | ||||
| * 上传文件 | * 上传文件 | ||||
| * @param {*} data | * @param {*} data | ||||
| */ | */ | ||||
| const uploadApi = function (data) { | |||||
| return request({ | |||||
| url: '/admin-api/infra/file/upload', | |||||
| method: 'post', | |||||
| data: data | |||||
| }); | |||||
| const uploadApi = function(data) { | |||||
| return request({ | |||||
| url: '/admin-api/infra/file/upload', | |||||
| method: 'post', | |||||
| data: data | |||||
| }); | |||||
| }; | }; | ||||
| /** | /** | ||||
| @@ -49,161 +49,174 @@ const uploadApi = function (data) { | |||||
| * @param {*} data.bannerType // 字典TabBar模块 1民生、2生活... | * @param {*} data.bannerType // 字典TabBar模块 1民生、2生活... | ||||
| * @param {*} data.parentId // 根据上级列表id查询下级列表 | * @param {*} data.parentId // 根据上级列表id查询下级列表 | ||||
| */ | */ | ||||
| const recursionApi = function (data) { | |||||
| return request( | |||||
| { | |||||
| url: '/admin-api/people/category/recursion', | |||||
| method: 'get', | |||||
| data: data | |||||
| }, | |||||
| false | |||||
| ); | |||||
| const recursionApi = function(data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/category/recursion', | |||||
| method: 'get', | |||||
| data: data | |||||
| }, | |||||
| false | |||||
| ); | |||||
| }; | }; | ||||
| /** | /** | ||||
| * 创建点赞 | * 创建点赞 | ||||
| * @param {*} data | * @param {*} data | ||||
| */ | */ | ||||
| const praiseCreateApi = function (data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/praise/create', | |||||
| method: 'post', | |||||
| data: data | |||||
| }); | |||||
| const praiseCreateApi = function(data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/praise/create', | |||||
| method: 'post', | |||||
| data: data | |||||
| }); | |||||
| }; | }; | ||||
| /** | /** | ||||
| * 取消点赞 | * 取消点赞 | ||||
| * @param {*} data | * @param {*} data | ||||
| */ | */ | ||||
| const praiseCancelApi = function (data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/praise/cancel', | |||||
| method: 'post', | |||||
| data: data | |||||
| }); | |||||
| const praiseCancelApi = function(data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/praise/cancel', | |||||
| method: 'post', | |||||
| data: data | |||||
| }); | |||||
| }; | }; | ||||
| /** | /** | ||||
| * 创建分享 | * 创建分享 | ||||
| * @param {*} data | * @param {*} data | ||||
| */ | */ | ||||
| const shareCreateApi = function (data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/share/create', | |||||
| method: 'post', | |||||
| data: data | |||||
| }); | |||||
| const shareCreateApi = function(data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/share/create', | |||||
| method: 'post', | |||||
| data: data | |||||
| }); | |||||
| }; | }; | ||||
| /** | /** | ||||
| * 创建用户收藏 | * 创建用户收藏 | ||||
| * @param {*} data | * @param {*} data | ||||
| */ | */ | ||||
| const collectionCreateApi = function (data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/collection/create', | |||||
| method: 'post', | |||||
| data: data | |||||
| }); | |||||
| const collectionCreateApi = function(data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/collection/create', | |||||
| method: 'post', | |||||
| data: data | |||||
| }); | |||||
| }; | }; | ||||
| /** | /** | ||||
| * 取消用户收藏 | * 取消用户收藏 | ||||
| * @param {*} data | * @param {*} data | ||||
| */ | */ | ||||
| const collectionCancelApi = function (data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/collection/cancel', | |||||
| method: 'post', | |||||
| data: data | |||||
| }); | |||||
| const collectionCancelApi = function(data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/collection/cancel', | |||||
| method: 'post', | |||||
| data: data | |||||
| }); | |||||
| }; | }; | ||||
| /** | /** | ||||
| * 获得案件处理过程分页 | * 获得案件处理过程分页 | ||||
| * @param {*} data | * @param {*} data | ||||
| */ | */ | ||||
| const casesProcessPageApi = function (data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/cases-process/page', | |||||
| method: 'get', | |||||
| data: data | |||||
| }); | |||||
| const casesProcessPageApi = function(data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/cases-process/page', | |||||
| method: 'get', | |||||
| data: data | |||||
| }); | |||||
| }; | }; | ||||
| /** | /** | ||||
| * 获取部门树 | * 获取部门树 | ||||
| * @param {*} data | * @param {*} data | ||||
| */ | */ | ||||
| const deptTreeApi = function (data) { | |||||
| return request({ | |||||
| url: '/admin-api/system/dept/tree', | |||||
| method: 'get', | |||||
| data: data | |||||
| }); | |||||
| const deptTreeApi = function(data) { | |||||
| return request({ | |||||
| url: '/admin-api/system/dept/tree', | |||||
| method: 'get', | |||||
| data: data | |||||
| }); | |||||
| }; | }; | ||||
| /** | /** | ||||
| * 获得服务记录详情 | * 获得服务记录详情 | ||||
| * @param {*} data | * @param {*} data | ||||
| */ | */ | ||||
| const serveRecordGetApi = function (data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/serve-record/get', | |||||
| method: 'get', | |||||
| data: data | |||||
| }); | |||||
| const serveRecordGetApi = function(data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/serve-record/get', | |||||
| method: 'get', | |||||
| data: data | |||||
| }); | |||||
| }; | }; | ||||
| /** | /** | ||||
| * 获得服务记录分页 | * 获得服务记录分页 | ||||
| * @param {*} data | * @param {*} data | ||||
| */ | */ | ||||
| const serveRecordPageApi = function (data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/serve-record/page', | |||||
| method: 'get', | |||||
| data: data | |||||
| }); | |||||
| const serveRecordPageApi = function(data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/serve-record/page', | |||||
| method: 'get', | |||||
| data: data | |||||
| }); | |||||
| }; | }; | ||||
| /** | /** | ||||
| * 获得线上问诊分页 | * 获得线上问诊分页 | ||||
| * @param {*} data | * @param {*} data | ||||
| */ | */ | ||||
| const inquiriesOnlinePageApi = function (data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/inquiries-online/page', | |||||
| method: 'get', | |||||
| data: data | |||||
| }); | |||||
| const inquiriesOnlinePageApi = function(data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/inquiries-online/page', | |||||
| method: 'get', | |||||
| data: data | |||||
| }); | |||||
| }; | }; | ||||
| /** | /** | ||||
| * 获得线上问诊详情 | * 获得线上问诊详情 | ||||
| * @param {*} data | * @param {*} data | ||||
| */ | */ | ||||
| const inquiriesOnlineGetApi = function (data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/inquiries-online/get', | |||||
| method: 'get', | |||||
| data: data | |||||
| }); | |||||
| const inquiriesOnlineGetApi = function(data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/inquiries-online/get', | |||||
| method: 'get', | |||||
| data: data | |||||
| }); | |||||
| }; | }; | ||||
| export { | |||||
| getBannerApi, | |||||
| getDictDataApi, | |||||
| uploadApi, | |||||
| recursionApi, | |||||
| praiseCreateApi, | |||||
| praiseCancelApi, | |||||
| shareCreateApi, | |||||
| collectionCreateApi, | |||||
| collectionCancelApi, | |||||
| casesProcessPageApi, | |||||
| deptTreeApi, | |||||
| serveRecordGetApi, | |||||
| serveRecordPageApi, | |||||
| inquiriesOnlineGetApi, | |||||
| inquiriesOnlinePageApi | |||||
| /** | |||||
| * 获得线上问诊详情 | |||||
| * @param {*} data | |||||
| */ | |||||
| const categorygetApi = function(data) { | |||||
| return request({ | |||||
| url: '/admin-api/people/category/get', | |||||
| method: 'get', | |||||
| data: data | |||||
| }); | |||||
| }; | }; | ||||
| export { | |||||
| getBannerApi, | |||||
| getDictDataApi, | |||||
| uploadApi, | |||||
| recursionApi, | |||||
| praiseCreateApi, | |||||
| praiseCancelApi, | |||||
| shareCreateApi, | |||||
| collectionCreateApi, | |||||
| collectionCancelApi, | |||||
| casesProcessPageApi, | |||||
| deptTreeApi, | |||||
| serveRecordGetApi, | |||||
| serveRecordPageApi, | |||||
| inquiriesOnlineGetApi, | |||||
| inquiriesOnlinePageApi, | |||||
| categorygetApi | |||||
| }; | |||||
| @@ -11,6 +11,7 @@ | |||||
| </swiper-item> | </swiper-item> | ||||
| </block> | </block> | ||||
| </swiper> | </swiper> | ||||
| <view class="guide-list flex" v-if="option.name === '五星党员'"> | <view class="guide-list flex" v-if="option.name === '五星党员'"> | ||||
| <view class="guide-item flex flex-col flex-v-center" :data-id="item.id" @tap="jumpDetail" | <view class="guide-item flex flex-col flex-v-center" :data-id="item.id" @tap="jumpDetail" | ||||
| v-for="(item, index) in doctorPageList" :key="index"> | v-for="(item, index) in doctorPageList" :key="index"> | ||||
| @@ -31,10 +32,10 @@ | |||||
| </view> | </view> | ||||
| <block v-if="option.path === 'sonGuide3'"> | <block v-if="option.path === 'sonGuide3'"> | ||||
| <view class="second-section-gird"> | |||||
| <!-- <view class="second-section-gird"> | |||||
| <view :class="songuid == 1 ? 'action' :''" @click="headerSonguid(1)">村务监督</view> | <view :class="songuid == 1 ? 'action' :''" @click="headerSonguid(1)">村务监督</view> | ||||
| <view :class="songuid == 2 ? 'action' :''" @click="headerSonguid(2)">在线投诉</view> | <view :class="songuid == 2 ? 'action' :''" @click="headerSonguid(2)">在线投诉</view> | ||||
| </view> | |||||
| </view> --> | |||||
| <view class="rural-list flex"> | <view class="rural-list flex"> | ||||
| <view class="guide-item flex flex-col flex-v-center" :data-item="item" @tap="toArea" | <view class="guide-item flex flex-col flex-v-center" :data-item="item" @tap="toArea" | ||||
| v-for="(item, index) in agencyPageList" :key="index"> | v-for="(item, index) in agencyPageList" :key="index"> | ||||
| @@ -1,35 +1,65 @@ | |||||
| <template> | <template> | ||||
| <view> | <view> | ||||
| <custom-nav-bar position="fixed" color="black" :left-text="optins.name" left-arrow /> | |||||
| <custom-nav-bar position="fiexd" color="block" v-if="getCategorygetList === null" :left-text="optins.name" | |||||
| left-arrow /> | |||||
| <custom-nav-bar v-else :left-text="optins.name" left-arrow /> | |||||
| <web-view v-if="optins.name === '手机充值' || optins.name === '生活缴费'" :src="url"></web-view> | <web-view v-if="optins.name === '手机充值' || optins.name === '生活缴费'" :src="url"></web-view> | ||||
| <view v-else class="web-view-image"> | <view v-else class="web-view-image"> | ||||
| <view v-if="optins.name === '随手拍'"> | |||||
| <image class="img" mode="aspectFit" src="/static/images/WechatIMG8826.jpg" /> | |||||
| <view v-if="optins.name === '随手拍'" style="margin-top: 100rpx;"> | |||||
| <image class="img" mode="aspectFit" ref="imgSrc" @click="Download" | |||||
| src="https://jiexiu.xuqidata.com:8083/jiexiujumin/be5140bf13039c546a08f2ec60fd18dee3341d442b281fe93dba0a2a2a1bdf96.jpg" /> | |||||
| <view style="padding:20rpx 100rpx;font-size:30rpx;line-height: 54rpx;"> | <view style="padding:20rpx 100rpx;font-size:30rpx;line-height: 54rpx;"> | ||||
| 长按图片前往“民生介休”公众号或保存图片并扫码,关注“民生介休”公众号 | 长按图片前往“民生介休”公众号或保存图片并扫码,关注“民生介休”公众号 | ||||
| 即可发布随手拍。 | 即可发布随手拍。 | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view v-if="optins.name === '智慧社区'"> | |||||
| <image class="img" mode="aspectFit" src="/static/images/WechatIMG8889.jpg" /> | |||||
| <view v-else-if="optins.name === '智慧社区'"> | |||||
| <image class="img" mode="aspectFit" ref="imgSrc" @click="Download" | |||||
| src="https://jiexiu.xuqidata.com:8083/jiexiujumin/ebce776f2737a8a74d99cb55c9d01ce009611bcc984dcf7c1735f87defcbd7f3.jpg" /> | |||||
| <view style="padding:20rpx 100rpx;font-size:30rpx;line-height: 54rpx;"> | <view style="padding:20rpx 100rpx;font-size:30rpx;line-height: 54rpx;"> | ||||
| 图片保存到手机本地,打开微信扫码此图片,前往“介休智慧示范社区服务端了解相关小区的智慧便民服务 | 图片保存到手机本地,打开微信扫码此图片,前往“介休智慧示范社区服务端了解相关小区的智慧便民服务 | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view v-else> | |||||
| <swiper class="people-custom-swiper" v-if="imageList" :indicator-color="indicatorColor" | |||||
| :indicator-active-color="indicatorActiveColor"> | |||||
| <!-- <block v-for="(item, index) in imageList" :key="index" @click="jumpDetails"> --> | |||||
| <swiper-item> | |||||
| <!-- <navigator v-if="item.clickUrl" open-type="navigate" class="line-navigator" :url="item.clickUrl" hover-class="none"></navigator> --> | |||||
| <image class="custom-swiper-img" :src="imageList.icon"></image> | |||||
| </swiper-item> | |||||
| <!-- </block> --> | |||||
| </swiper> | |||||
| <image class="img" mode="aspectFit" v-if="getCategorygetList" @click="Download" ref="imgSrc" | |||||
| :src="getCategorygetList.icon" /> | |||||
| <view style="padding:20rpx 100rpx;font-size:30rpx;line-height: 54rpx;text-align: left;"> | |||||
| 基层小微权力“监督一点通”平台聚焦群众身边腐败和作风问题,是为解决群众诉求、引导群众参与监督的服务平台,专门负责监督基层小微权力运行,督促解决群众身边的操心事、烦心事、揪心事。 | |||||
| </view> | |||||
| </view> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </template> | </template> | ||||
| <script> | <script> | ||||
| // const app = getApp(); | // const app = getApp(); | ||||
| import * as publicApi from '@/api/publicApi.js'; // 公共 API | |||||
| import html2canvas from 'html2canvas'; | |||||
| export default { | export default { | ||||
| data() { | data() { | ||||
| return { | return { | ||||
| indicatorColor: 'rgba(255,255,255,0.4)', | |||||
| indicatorActiveColor: '#FFFFFF', | |||||
| optins: { | optins: { | ||||
| name: '' | name: '' | ||||
| }, | }, | ||||
| url: '' | |||||
| url: '', | |||||
| imageList: null, | |||||
| getCategorygetList: null | |||||
| }; | }; | ||||
| }, | }, | ||||
| onLoad(optins) { | onLoad(optins) { | ||||
| @@ -53,8 +83,36 @@ | |||||
| } | } | ||||
| console.log(url) | console.log(url) | ||||
| this.url = url | this.url = url | ||||
| this.getCategorygetApi(); | |||||
| }, | }, | ||||
| methods: {} | |||||
| methods: { | |||||
| async getCategorygetApi() { | |||||
| const res = await publicApi.recursionApi({ | |||||
| bannerType: 1, | |||||
| parentId: this.optins.parentId | |||||
| }); | |||||
| if (res.data) { | |||||
| this.imageList = res.data[0] || null | |||||
| this.getCategorygetList = res.data[1] || null | |||||
| console.log(res) | |||||
| } | |||||
| }, | |||||
| Download() { | |||||
| console.log(this.$refs.imgSrc.src) | |||||
| // html2canvas(this.$refs.imgSrc, { | |||||
| // useCORS: true | |||||
| // }).then(canvas => { | |||||
| const file = document.createElement("a"); | |||||
| file.style.display = "none"; | |||||
| file.href = this.$refs.imgSrc.src | |||||
| // file.download = decodeURI(this.optins.name); | |||||
| document.body.appendChild(file); | |||||
| file.click(); | |||||
| document.body.removeChild(file); | |||||
| // }); | |||||
| } | |||||
| } | |||||
| }; | }; | ||||
| </script> | </script> | ||||
| <style lang="less"> | <style lang="less"> | ||||
| @@ -69,7 +127,7 @@ | |||||
| position: absolute; | position: absolute; | ||||
| text-align: center; | text-align: center; | ||||
| transform: translate(-50% -50%); | transform: translate(-50% -50%); | ||||
| margin-top: 100rpx; | |||||
| // margin-top: 100rpx; | |||||
| } | } | ||||
| .img { | .img { | ||||
| @@ -79,4 +137,16 @@ | |||||
| // width: 750rpx; | // width: 750rpx; | ||||
| // height: 1334rpx; | // height: 1334rpx; | ||||
| } | } | ||||
| .people-custom-swiper { | |||||
| width: 100%; | |||||
| height: 330rpx; | |||||
| position: relative; | |||||
| .custom-swiper-img { | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| display: block; | |||||
| } | |||||
| } | |||||
| </style> | </style> | ||||
| @@ -42,14 +42,14 @@ | |||||
| </view> | </view> | ||||
| <view class="second-model flex flex-v-center flex-between" v-else> | <view class="second-model flex flex-v-center flex-between" v-else> | ||||
| <view :class="'second-line flex flex-col ' + (idx === 0 || idx === 5 ? 'line1' : '')" | |||||
| :style="itemName.cssStyle" v-for="(itemName, idx) in item.children" :key="idx"> | |||||
| <view :class="'second-line flex flex-col ' + (idx === 0 ? 'line1' : '')" :style="itemName.cssStyle" | |||||
| v-for="(itemName, idx) in item.children" :key="idx"> | |||||
| <navigator v-if="itemName.clickUrl" class="line-navigator" :url="updateQuery(itemName.clickUrl, itemName)" | <navigator v-if="itemName.clickUrl" class="line-navigator" :url="updateQuery(itemName.clickUrl, itemName)" | ||||
| hover-class="none"></navigator> | hover-class="none"></navigator> | ||||
| <image class="line-bg" :src="itemName.icon"></image> | <image class="line-bg" :src="itemName.icon"></image> | ||||
| <view class="line-title">{{ itemName.name }}</view> | |||||
| <view class="line-title" :style="itemName.sort === 6 ? 'font-size:24rpx':''">{{ itemName.name }}</view> | |||||
| <view v-if="itemName.remark" class="line-msg">{{ itemName.remark }}</view> | <view v-if="itemName.remark" class="line-msg">{{ itemName.remark }}</view> | ||||
| </view> | </view> | ||||