Sfoglia il codice sorgente

fix:二维码下载

master
xiaohei 1 anno fa
parent
commit
043e60699d
6 ha cambiato i file con 207 aggiunte e 122 eliminazioni
  1. +1
    -0
      package.json
  2. +122
    -109
      src/api/publicApi.js
  3. +3
    -2
      src/packages/people/pages/guide/guide.vue
  4. +78
    -8
      src/packages/public/pages/web-view/web-view.vue
  5. +3
    -3
      src/pages/people/people.vue
  6. BIN
      src/static/images/level.png

+ 1
- 0
package.json Vedi File

@@ -53,6 +53,7 @@
"@dcloudio/uni-mp-weixin": "3.0.0-3081220230817001",
"@dcloudio/uni-quickapp-webview": "3.0.0-3081220230817001",
"dayjs": "^1.10.4",
"html2canvas": "^1.4.1",
"less": "^4.2.0",
"less-loader": "^11.1.3",
"mp-html": "^2.4.1",


+ 122
- 109
src/api/publicApi.js Vedi File

@@ -11,36 +11,36 @@ import request from '../utils/request';
* 获得banner图分页
* @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
*/
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
*/
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.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
*/
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
*/
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
*/
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
*/
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
*/
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
*/
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
*/
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
*/
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
*/
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
*/
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
*/
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
};

+ 3
- 2
src/packages/people/pages/guide/guide.vue Vedi File

@@ -11,6 +11,7 @@
</swiper-item>
</block>
</swiper>

<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"
v-for="(item, index) in doctorPageList" :key="index">
@@ -31,10 +32,10 @@
</view>

<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 == 2 ? 'action' :''" @click="headerSonguid(2)">在线投诉</view>
</view>
</view> -->
<view class="rural-list flex">
<view class="guide-item flex flex-col flex-v-center" :data-item="item" @tap="toArea"
v-for="(item, index) in agencyPageList" :key="index">


+ 78
- 8
src/packages/public/pages/web-view/web-view.vue Vedi File

@@ -1,35 +1,65 @@
<template>
<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>

<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>
</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>
</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>
</template>

<script>
// const app = getApp();
import * as publicApi from '@/api/publicApi.js'; // 公共 API
import html2canvas from 'html2canvas';

export default {
data() {
return {
indicatorColor: 'rgba(255,255,255,0.4)',
indicatorActiveColor: '#FFFFFF',
optins: {
name: ''
},
url: ''
url: '',
imageList: null,
getCategorygetList: null
};
},
onLoad(optins) {
@@ -53,8 +83,36 @@
}
console.log(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>
<style lang="less">
@@ -69,7 +127,7 @@
position: absolute;
text-align: center;
transform: translate(-50% -50%);
margin-top: 100rpx;
// margin-top: 100rpx;
}

.img {
@@ -79,4 +137,16 @@
// width: 750rpx;
// height: 1334rpx;
}

.people-custom-swiper {
width: 100%;
height: 330rpx;
position: relative;

.custom-swiper-img {
width: 100%;
height: 100%;
display: block;
}
}
</style>

+ 3
- 3
src/pages/people/people.vue Vedi File

@@ -42,14 +42,14 @@
</view>

<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)"
hover-class="none"></navigator>

<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>


BIN
src/static/images/level.png Vedi File

Before After
Width: 1000  |  Height: 884  |  Size: 271KB

Loading…
Annulla
Salva