换框架,为了安卓app的uni.chooseLocation无法显示列表数据的问题

master
chen 2022-05-16 18:35:30 +08:00
parent 467d0d8ea0
commit 92d74dbe81
26 changed files with 1460 additions and 1539 deletions

View File

@ -6,7 +6,7 @@
<view class="btn-picker cancel" @click="open = false">取消</view>
<view class="btn-picker submit" @click="_onSubmit"></view>
</view>
<view class="picker-body">
<view class="picker-body" v-if="ifDate">
<picker-view :value="value" @change="_onChange">
<picker-view-column>
<view class="column-item" v-for="item in years" :key="item">
@ -68,6 +68,7 @@
hour: "",
minute: "",
value: [0, 0, 0, 0, 0],
ifDate:false
};
},
@ -148,6 +149,10 @@
}
}
this.minutes = minutes;
//
setTimeout(()=>{
this.ifDate = true;
},1000)
},
show() {

20
index.html Normal file
View File

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<script>
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
CSS.supports('top: constant(a)'))
document.write(
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
(coverSupport ? ', viewport-fit=cover' : '') + '" />')
</script>
<title></title>
<!--preload-links-->
<!--app-context-->
</head>
<body>
<div id="app"><!--app-html--></div>
<script type="module" src="/main.js"></script>
</body>
</html>

View File

@ -1,118 +1,74 @@
{
"name" : "飞猴",
"appid" : "__UNI__25FB71A",
"name" : "飞猴云服务",
"appid" : "__UNI__BDCAFA5",
"description" : "",
"versionName" : "1.0.0",
"versionCode" : "100",
"transformPx" : false,
/* 5+App */
"app-plus" : {
"usingComponents" : true,
"nvueStyleCompiler" : "uni-app",
"compilerVersion" : 3,
/* 5+App */
"modules" : {
"Payment" : {},
"Share" : {},
"Maps" : {},
"Geolocation" : {}
"splashscreen" : {
"alwaysShowBeforeRender" : true,
"waiting" : true,
"autoclose" : true,
"delay" : 0
},
/* */
"distribute" : {
"modules" : {},
/* */
"android" : {
"distribute" : {
/* android */
"android" : {
"permissions" : [
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
"ios" : {
"privacyDescription" : {
"NSLocationWhenInUseUsageDescription" : ""
},
"capabilities" : {
"entitlements" : {
"com.apple.developer.associated-domains" : [ "applinks:static-c27fa8d7-ef72-4327-ab9b-d4787a747ee3.bspapp.com" ]
}
}
},
/* ios */
"sdkConfigs" : {
"maps" : {
"amap" : {
"appkey_ios" : "",
"appkey_android" : "57d6437544bb36bd3b5f4efb5b06ddbf"
}
},
"payment" : {
"weixin" : {
"__platform__" : [ "ios", "android" ],
"appid" : "wx2654bc27c419ada6",
"UniversalLinks" : "https://static-c27fa8d7-ef72-4327-ab9b-d4787a747ee3.bspapp.com/uni-universallinks/__UNI__25FB71A/"
}
},
"push" : {},
"geolocation" : {
"system" : {
"__platform__" : [ "ios", "android" ]
},
"baidu" : {
"__platform__" : [ "ios", "android" ],
"appkey_ios" : "",
"appkey_android" : "mDcZsWM7gGKb7MC1bC8Mo33FScjYEr0I"
},
"amap" : {
"__platform__" : [ "ios", "android" ],
"appkey_ios" : "",
"appkey_android" : "57d6437544bb36bd3b5f4efb5b06ddbf"
}
},
"share" : {
"weixin" : {
"appid" : "wx2654bc27c419ada6",
"UniversalLinks" : "https://static-c27fa8d7-ef72-4327-ab9b-d4787a747ee3.bspapp.com/uni-universallinks/__UNI__25FB71A/"
}
},
"ad" : {}
}
},
"splashscreen" : {
"alwaysShowBeforeRender" : false,
"waiting" : false
}
},
"ios" : {},
/* SDK */
"quickapp" : {},
"sdkConfigs" : {}
}
},
/* */
"mp-weixin" : {
"quickapp" : {},
/* */
"mp-weixin" : {
"appid" : "wx372ffc194d87c693",
"setting" : {
"urlCheck" : true,
"es6" : true
"urlCheck" : false
},
"usingComponents" : true,
"permission" : {
"scope.userLocation" : {
"desc" : "您的位置信息将用于小程序位置接口的效果展示"
}
}
"usingComponents" : true
},
"mp-alipay" : {
"usingComponents" : true
},
"mp-baidu" : {
"usingComponents" : true
},
"mp-toutiao" : {
"usingComponents" : true
},
"uniStatistics" : {
"enable" : false
},
"vueVersion" : "2",
"h5" : {
"sdkConfigs" : {
"maps" : {
@ -136,9 +92,5 @@
}
}
}
},
"mp-baidu" : {
"appid" : "24346353"
},
"_spaceID" : "c27fa8d7-ef72-4327-ab9b-d4787a747ee3"
}
}

12
package-lock.json generated Normal file
View File

@ -0,0 +1,12 @@
{
"name": "轮播视频和图片",
"version": "1.0.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "轮播视频和图片",
"version": "1.0.1"
}
}
}

View File

@ -7,7 +7,7 @@
<view class="queryFunction-head-nav">
<view class="li" @click="navIndex(index)"
:class="[dataIndex==0?'li1':'',dataIndex==1?'li2':'',dataIndex==2?'li3':'' ]"
v-for="(item,index) in dataList">
v-for="(item,index) in dataList" :key="index">
{{item.title}}
</view>
</view>
@ -19,7 +19,7 @@
<view class="recently-query-title">最近查询</view>
<view class="recently-query-content" v-for="(item,index) in recentlyQuery ">
<view class="li" @click="goDetail()">
<image class="icon" src="../../static/iocn/jfd.png" mode=""></image>
<image class="icon" src="../../static/iocn/jfd.png" mode="widthFix"></image>
<view class="text-content">
<view class="title clips1">{{item.name}}</view>
<view class="text">编号{{item.code}}</view>
@ -347,6 +347,7 @@
width: 37rpx;
height: 37rpx;
margin-right: 40rpx;
margin-top: 8rpx;
}
.recently-query-content .li .text-content {

View File

@ -139,7 +139,6 @@
chartData: {
series: [{
format: "tooltipDemo1",
data: [{
name: "网络故障",

View File

@ -336,54 +336,26 @@
"6月"
],
series: [
{
name: "",
index: 1,
data: [
40,
{
value: 30,
},
55,
110,
24,
58
],
data: [40,30,55,110,24,58],
type: "column",
"color": "#308de1"
},
{
"name": "",
"data": [
40,
30,
55,
110,
24,
58
],
"type": "line",
"color": "#308de1"
color: "#308de1"
},
{
"name": "",
"index": 2,
"data": [
40,
30,
55,
110,
24,
58
],
"type": "point",
"color": "#308de1"
name: "",
data: [40,30,55,110,24,58],
type: "line",
color: "#308de1"
},
{
name: "",
index: 2,
data: [40,30,55,110,24,58],
type: "point",
color: "#308de1"
}
]
},
chartData: {
@ -396,54 +368,26 @@
"6月"
],
series: [
{
name: "",
index: 1,
data: [
40,
{
value: 30,
},
55,
110,
24,
58
],
data: [40,30,55,110,24,58],
type: "column",
"color": "#fe4141"
},
{
"name": "",
"data": [
40,
30,
55,
110,
24,
58
],
"type": "line",
"color": "#fe4141"
color: "#fe4141",
},
{
"name": "",
"index": 2,
"data": [
40,
30,
55,
110,
24,
58
],
"type": "point",
"color": "#fe4141"
name: "",
data: [40,30,55,110,24,58],
type: "line",
color: "#fe4141",
},
{
name: "",
index: 2,
data: [40,30,55,110,24,58],
type: "point",
color: "#fe4141",
}
]
},
}
@ -456,11 +400,13 @@
<style>
.content {
padding:0rpx 10rpx;
padding: 0rpx 10rpx;
}
.charts-box{
.charts-box {
width: 100%;
}
}
.settlement-type-title {
font-size: 32rpx;
color: #2c2c2c;
@ -642,7 +588,8 @@
.serve-data-box .serve-data-left:nth-child(2) {
padding-left: 32rpx;
}
.expire-project{
.expire-project {
padding: 26rpx 24rpx;
margin-top: 27rpx;
box-shadow: 0rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);
@ -659,29 +606,35 @@
border-radius: 50rpx;
background: linear-gradient(#2ed5b6, #2fd9cf)
}
.expire-project-box .li-title{
.expire-project-box .li-title {
display: flex;
width: 100%;
font-size: 28rpx;
color: #a2a2a2;
margin-top: 20rpx;
width: 100%;
font-size: 28rpx;
color: #a2a2a2;
margin-top: 20rpx;
}
.expire-project-box .li-title .name{
.expire-project-box .li-title .name {
padding-left: 80rpx;
box-sizing: border-box;
}
.expire-project-box .li .name{
.expire-project-box .li .name {
width: 455rpx;
}
.expire-project-box .li .work-order{
.expire-project-box .li .work-order {
width: 80rpx;
text-align: center;
}
.expire-project-box .li .date{
.expire-project-box .li .date {
flex: 1;
text-align: center;
}
.expire-project-box .li-text{
.expire-project-box .li-text {
display: flex;
padding: 17rpx 0rpx;
font-size: 24rpx;
@ -689,10 +642,11 @@ margin-top: 20rpx;
color: #27cdc9;
}
.expire-project-box .li-text .name{
.expire-project-box .li-text .name {
color: #333333;
}
.expire-project-box .li-text:last-child{
.expire-project-box .li-text:last-child {
border: none;
}
</style>

View File

@ -99,7 +99,7 @@
return {
autoplay: true,
interval: 3000,
index: 1,
index: 0,
projectId: "",
recordState: [{
title: '维保记录',

View File

@ -18,7 +18,7 @@
<view class="fault-type-title padding">维保类型</view>
<view class="padding fault-type-content">
<view class="li" @click="repairsTypeFun(index)" :class="index==indexType?'on':''"
v-for="(item,index) in faultTypeData">
v-for="(item,index) in faultTypeData" :key="index">
{{item.name}}
</view>
</view>
@ -269,26 +269,26 @@
return out;
},
mapFun() {
const that = this
uni.getLocation({
type: 'gcj02', //uni.openLocation
success: function(res) {
const latitude = res.latitude;
const longitude = res.longitude;
let that = this
uni.chooseLocation({
success: function(res) {
that.data.service_address = res.address
success: (res) => {
}
});
// uni.openLocation({
// latitude: latitude,
// longitude: longitude,
// success: function () {
// console.log('success');
})
// uni.chooseLocation({
// success:(res)=> {
// console.log(res,275);
// that.data.service_address = res.address
// }
// });
// uni.getLocation({
// type: 'wgs84', //uni.openLocationgcj02
// success: function(res) {
// console.log(res);
// let latitude = res.latitude;
// let longitude = res.longitude;
// }
// });
}
});
},
repairsNavFun(index) {
this.current = index;

View File

@ -13,13 +13,13 @@
<text></text>
<text></text>
</view>
<input class="input" placeholder="请填写联系人称呼" type="text" placeholder-class="placeClass" />
<input class="input" v-model="name" placeholder="请填写联系人称呼" type="text" placeholder-class="placeClass" />
</view>
<view class="payReturnVisit-input">
<view class="title">
联系电话
</view>
<input class="input" placeholder="请输入手机号码" type="text" placeholder-class="placeClass" />
<input class="input" maxlength="11" v-model="phone" placeholder="请输入手机号码" type="number" placeholder-class="placeClass" />
</view>
<view class="payReturnVisit-input">
<view class="title">
@ -27,30 +27,31 @@
<text></text>
<text></text>
</view>
<input class="input" placeholder="请输入微信号码" type="text" placeholder-class="placeClass" />
<input class="input" v-model="wxcode" placeholder="请输入微信号码" type="text" placeholder-class="placeClass" />
</view>
<view class="payReturnVisit-textarea">
<view class="title">
回访内容
</view>
<textarea class="textarea" placeholder="请输入回访内容" placeholder-class="placeClass" />
<textarea class="textarea" v-model="content" placeholder="请输入回访内容" placeholder-class="placeClass" />
</view>
<view class="payReturnVisit-input">
<view class="title">
客服电话
</view>
<input class="input" placeholder="400-765-9876" type="text" placeholder-class="placeClass" />
<input class="input" disabled placeholder="400-765-9876" type="text" placeholder-class="placeClass" />
</view>
<view class="payReturnVisit-input">
<view class="title">
回访时间
</view>
<input class="input" placeholder="2022/02/13 14:18:00" type="text" placeholder-class="placeClass" />
<input class="input colc" v-model="custmertime" disabled placeholder="2022/02/13 14:18:00" type="text" placeholder-class="placeClass" />
<!-- <input class="input" v-model="custmertime" @tap="openDatetimePicker" disabled placeholder="2022/02/13 14:18:00" type="text" placeholder-class="placeClass" />
<yy-mm-dd-hh-ss ref="myPicker" @submit="handleSubmit" :start-year="2022" :end-year="2122"></yy-mm-dd-hh-ss> -->
</view>
</view>
<button class="submit-button" type="default">确认发送</button>
<button class="submit-button" @tap="setVisit" type="default">确认发送</button>
</view>
</container-subgroup-two>
@ -60,25 +61,89 @@
<script>
import statusNav from '../../components/status-nav.vue';
import containerSubgroupTwo from '@/components/containers/container-subgroup-two.vue';
import yyMmDdHhSs from '@/components/dates/yy-mm-dd-hh-ss.vue';
export default {
components: {
statusNav,
containerSubgroupTwo,
containerSubgroupTwo,
yyMmDdHhSs
},
data() {
return {
name:'',//
phone:'',//
wxcode:'',//
content:'',//访
custmerphone:'400-765-9876',//
custmertime:'',//访
workId:'',//id
flag:true
}
},
onLoad(op) {
if(op.id) {this.workId = op.id}
this.custmertime = this.$toolAll.tools.returnCurrentTime('/',1);
},
methods: {
// 访
setVisit() {
if(this.checkEmpty() && this.flag) {
this.flag = false;
uni.showLoading({
title:'正在发送',
mask:true
})
let parmas = {
id:this.workId,
a:this.name,
b:this.phone,
c:this.wxcode,
d:this.custmerphone,
e:this.custmertime,
f:this.content
}
this.$request.post('',parmas).then(res=>{
if(res.code) {
// ,
this.$toolAll.tools.automaticBack();
}
uni.hideLoading();
this.flag = true;
})
}
},
//
checkEmpty() {
let result = false;
if(!this.name) {
this.$toolAll.tools.showToast('请填写联系人称呼');
} else if(this.$toolAll.tools.isPhone(this.phone)) {
this.$toolAll.tools.showToast('请正确填写手机号码');
} else if(!this.content) {
this.$toolAll.tools.showToast('请输入回访内容');
} else {
result = true;
}
return result;
},
//
openDatetimePicker() {
this.$refs.myPicker.show();
},
//
handleSubmit(e) {
this.custmertime = `${e.year}/${e.month}/${e.day} ${e.hour}:${e.minute}:00`;
},
}
}
</script>
<style>
.placeClass {
color: #cccccc;
}
.placeClass{color:#cccccc;}
.hint {
color: #358ff0;
font-size: 24rpx;

View File

@ -3,7 +3,7 @@
<status-nav :navBarTitle="detailTitle" returnColor="#c2c2c2"></status-nav>
<container-subgroup>
<view slot="content" style="margin: 0 -30rpx;" class="fon28">
<view class="bacf pad-zy30 pad-sx20" style="margin-top: -10rpx;">
<view class="bacf pad-zy30 pad-sx20" style="margin-top: -10rpx;" v-if="dataObj">
<!-- 标题 -->
<view class="fon38 col0 tcenter">{{dataObj.title}}</view>
<!-- 时间 -->
@ -25,15 +25,17 @@
export default {
data() {
return {
detailTitle:'',
detailTitle:'方案详情',
current:0,
dataObj:{},
dataObj:'',
rich_text:''//
}
},
onLoad(op) {
if(op.index!=undefined) {
this.detailTitle = `${['方案详情','详情概述','产品详情'][op.index*1]}`;
this.current = op.index*1;
}
this.getDetail(op.id);
},
methods: {

View File

@ -42,7 +42,7 @@
data() {
return {
rateNum:5,
ifPlanFault:'',
ifPlanFault:'解决方案',
current:'',
size:20,
page:1,
@ -59,8 +59,10 @@
}
},
onLoad(op) {
if(op.index!=undefined) {
this.ifPlanFault = `${['解决方案','常见故障'][op.index*1]}`;
this.current = op.index*1;
}
if(op.type_id!=undefined) this.type_id = op.type_id;
this.getPlanFault();
},

View File

@ -1,77 +0,0 @@
{
"description": "项目配置文件",
"packOptions": {
"ignore": []
},
"setting": {
"urlCheck": true,
"es6": true,
"enhance": true,
"postcss": true,
"preloadBackgroundData": false,
"minified": true,
"newFeature": false,
"coverView": true,
"nodeModules": false,
"autoAudits": false,
"showShadowRootInWxmlPanel": true,
"scopeDataCheck": false,
"uglifyFileName": false,
"checkInvalidKey": true,
"checkSiteMap": true,
"uploadWithSourceMap": true,
"compileHotReLoad": false,
"lazyloadPlaceholderEnable": false,
"useMultiFrameRuntime": true,
"useApiHook": true,
"useApiHostProcess": true,
"babelSetting": {
"ignore": [],
"disablePlugins": [],
"outputPath": ""
},
"useIsolateContext": false,
"userConfirmedBundleSwitch": false,
"packNpmManually": false,
"packNpmRelationList": [],
"minifyWXSS": true,
"disableUseStrict": false,
"minifyWXML": true,
"showES6CompileOption": false,
"useCompilerPlugins": false,
"ignoreUploadUnusedFiles": true
},
"compileType": "miniprogram",
"libVersion": "2.22.0",
"appid": "wx987dc41899f719e8",
"projectname": "%E4%BD%A9%E4%B8%BD%E5%95%86%E5%9F%8E",
"debugOptions": {
"hidedInDevtools": []
},
"scripts": {},
"staticServerOptions": {
"baseURL": "",
"servePath": ""
},
"isGameTourist": false,
"condition": {
"search": {
"list": []
},
"conversation": {
"list": []
},
"game": {
"list": []
},
"plugin": {
"list": []
},
"gamePlugin": {
"list": []
},
"miniprogram": {
"list": []
}
}
}

View File

@ -1,19 +0,0 @@
<!-- 暂无更多组件参数的使用
组件一
<nothing-page
:imgSrc="图片路径可相对、可绝对、可网络"
:currentType="0,1,2,..."
:content="'-- NO MORE --'"></nothing-page>
组件二
<pitera
:textColor="'#999999'"
:textStr="'-- NO MORE --'"
:textFontSize="'24rpx'"
:ifBold="false"
:ifCenter="true"
:paddingStr="'20rpx'"></pitera>
-->

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 699 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 488 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 646 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 600 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 756 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 519 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 697 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 635 B

View File

@ -39,38 +39,38 @@ $uni-border-color:#c8c7cc;
/* 尺寸变量 */
/* 文字尺寸 */
$uni-font-size-sm:24upx;
$uni-font-size-base:28upx;
$uni-font-size-lg:32upx;
$uni-font-size-sm:12px;
$uni-font-size-base:14px;
$uni-font-size-lg:16;
/* 图片尺寸 */
$uni-img-size-sm:40upx;
$uni-img-size-base:52upx;
$uni-img-size-lg:80upx;
$uni-img-size-sm:20px;
$uni-img-size-base:26px;
$uni-img-size-lg:40px;
/* Border Radius */
$uni-border-radius-sm: 4upx;
$uni-border-radius-base: 6upx;
$uni-border-radius-lg: 12upx;
$uni-border-radius-sm: 2px;
$uni-border-radius-base: 3px;
$uni-border-radius-lg: 6px;
$uni-border-radius-circle: 50%;
/* 水平间距 */
$uni-spacing-row-sm: 10px;
$uni-spacing-row-base: 20upx;
$uni-spacing-row-lg: 30upx;
$uni-spacing-row-sm: 5px;
$uni-spacing-row-base: 10px;
$uni-spacing-row-lg: 15px;
/* 垂直间距 */
$uni-spacing-col-sm: 8upx;
$uni-spacing-col-base: 16upx;
$uni-spacing-col-lg: 24upx;
$uni-spacing-col-sm: 4px;
$uni-spacing-col-base: 8px;
$uni-spacing-col-lg: 12px;
/* 透明度 */
$uni-opacity-disabled: 0.3; //
/* 文章场景相关 */
$uni-color-title: #2C405A; //
$uni-font-size-title:40upx;
$uni-font-size-title:20px;
$uni-color-subtitle: #555555; //
$uni-font-size-subtitle:36upx;
$uni-font-size-subtitle:26px;
$uni-color-paragraph: #3F536E; //
$uni-font-size-paragraph:30upx;
$uni-font-size-paragraph:15px;

View File

@ -20,7 +20,7 @@
const color = ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc'];
//事件转换函数主要用作格式化x轴为时间轴根据需求自行修改
const formatDateTime = (timeStamp, returnType)=>{
const formatDateTime = (timeStamp, returnType) => {
var date = new Date();
date.setTime(timeStamp * 1000);
var y = date.getFullYear();
@ -34,51 +34,73 @@ const formatDateTime = (timeStamp, returnType)=>{
var second = date.getSeconds();
minute = minute < 10 ? ('0' + minute) : minute;
second = second < 10 ? ('0' + second) : second;
if(returnType == 'full'){return y + '-' + m + '-' + d + ' '+ h +':' + minute + ':' + second;}
if(returnType == 'y-m-d'){return y + '-' + m + '-' + d;}
if(returnType == 'h:m'){return h +':' + minute;}
if(returnType == 'h:m:s'){return h +':' + minute +':' + second;}
if (returnType == 'full') {
return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second;
}
if (returnType == 'y-m-d') {
return y + '-' + m + '-' + d;
}
if (returnType == 'h:m') {
return h + ':' + minute;
}
if (returnType == 'h:m:s') {
return h + ':' + minute + ':' + second;
}
return [y, m, d, h, minute, second];
}
const cfu = {
//demotype为自定义图表类型一般不需要自定义图表类型只需要改根节点上对应的类型即可
"type":["pie","ring","rose","word","funnel","map","arcbar","line","column","bar","area","radar","gauge","candle","mix","tline","tarea","scatter","bubble","demotype"],
"range":["饼状图","圆环图","玫瑰图","词云图","漏斗图","地图","圆弧进度条","折线图","柱状图","条状图","区域图","雷达图","仪表盘","K线图","混合图","时间轴折线","时间轴区域","散点图","气泡图","自定义类型"],
"type": ["pie", "ring", "rose", "word", "funnel", "map", "arcbar", "line", "column", "bar", "area", "radar",
"gauge", "candle", "mix", "tline", "tarea", "scatter", "bubble", "demotype"
],
"range": ["饼状图", "圆环图", "玫瑰图", "词云图", "漏斗图", "地图", "圆弧进度条", "折线图", "柱状图", "条状图", "区域图", "雷达图", "仪表盘", "K线图",
"混合图", "时间轴折线", "时间轴区域", "散点图", "气泡图", "自定义类型"
],
//增加自定义图表类型如果需要categories请在这里加入您的图表类型例如最后的"demotype"
//自定义类型时需要注意"tline","tarea","scatter","bubble"等时间轴矢量x轴类图表没有categories不需要加入categories
"categories":["line","column","bar","area","radar","gauge","candle","mix","demotype"],
"categories": ["line", "column", "bar", "area", "radar", "gauge", "candle", "mix", "demotype"],
//instance为实例变量承载属性不要删除
"instance":{},
"instance": {},
//option为opts及eopts承载属性不要删除
"option":{},
"option": {},
//下面是自定义format配置因除H5端外的其他端无法通过props传递函数只能通过此属性对应下标的方式来替换
"formatter":{
"yAxisDemo1":function(val){return val+'元'},
"yAxisDemo2":function(val){return val.toFixed(2)},
"xAxisDemo1":function(val){return val+'年'},
"xAxisDemo2":function(val){return formatDateTime(val,'h:m')},
"seriesDemo1":function(val){return val+'元'},
"tooltipDemo1":function(item, category, index, opts){
"formatter": {
"yAxisDemo1": function(val) {
return val + '元'
},
"yAxisDemo2": function(val) {
return val.toFixed(2)
},
"xAxisDemo1": function(val) {
return val + '年'
},
"xAxisDemo2": function(val) {
return formatDateTime(val, 'h:m')
},
"seriesDemo1": function(val) {
return val + '元'
},
"tooltipDemo1": function(item, category, index, opts) {
if(index==0){
return '随便用'+item.data+'年'
}else{
return item.name+item.data+'天'
if (index == 0) {
return '随便用' + item.data + '年'
} else {
return item.name + item.data + '%'
}
},
"pieDemo":function(val, index, series){
if(index !== undefined){
return series[index].name+"\n"+series[index].data+'元'
"pieDemo": function(val, index, series) {
if (index !== undefined) {
return series[index].name + "\n" + series[index].data + '元'
}
},
},
//这里演示了自定义您的图表类型的option可以随意命名之后在组件上 type="demotype" 后组件会调用这个花括号里的option如果组件上还存在opts参数会将demotype与opts中option合并后渲染图表。
"demotype":{
"demotype": {
//我这里把曲线图当做了自定义图表类型,您可以根据需要随意指定类型或配置
"type": "line",
"color": color,
"padding": [15,10,0,15],
"padding": [15, 10, 0, 15],
"xAxis": {
"disableGrid": true,
},
@ -86,8 +108,7 @@ const cfu = {
"gridType": "dash",
"dashLength": 2,
},
"legend": {
},
"legend": {},
"extra": {
"line": {
"type": "curve",
@ -96,7 +117,7 @@ const cfu = {
}
},
//下面是自定义配置,请添加项目所需的通用配置
"pie":{
"pie": {
"type": "pie",
"canvasId": "",
"canvas2d": false,
@ -183,10 +204,10 @@ const cfu = {
}
}
},
"ring":{
"ring": {
"type": "ring",
"color": color,
"padding": [5,5,5,5],
"padding": [5, 5, 5, 5],
"rotate": false,
"dataLabel": true,
"legend": {
@ -206,7 +227,7 @@ const cfu = {
// },
"extra": {
"ring": {
"ringWidth":30,
"ringWidth": 30,
"activeOpacity": 0.5,
"activeRadius": 10,
"offsetAngle": 0,
@ -217,10 +238,10 @@ const cfu = {
},
},
},
"rose":{
"rose": {
"type": "rose",
"color": color,
"padding": [5,5,5,5],
"padding": [5, 5, 5, 5],
"legend": {
"show": true,
"position": "left",
@ -240,7 +261,7 @@ const cfu = {
},
}
},
"word":{
"word": {
"type": "word",
"color": color,
"extra": {
@ -250,10 +271,10 @@ const cfu = {
}
}
},
"funnel":{
"funnel": {
"type": "funnel",
"color": color,
"padding": [15,15,0,15],
"padding": [15, 15, 0, 15],
"extra": {
"funnel": {
"activeOpacity": 0.3,
@ -266,10 +287,10 @@ const cfu = {
},
}
},
"map":{
"map": {
"type": "map",
"color": color,
"padding": [0,0,0,0],
"padding": [0, 0, 0, 0],
"dataLabel": true,
"extra": {
"map": {
@ -283,7 +304,7 @@ const cfu = {
},
}
},
"arcbar":{
"arcbar": {
"type": "arcbar",
"color": color,
"title": {
@ -307,10 +328,10 @@ const cfu = {
}
}
},
"line":{
"line": {
"type": "line",
"color": color,
"padding": [15,10,0,15],
"padding": [15, 10, 0, 15],
"xAxis": {
"disableGrid": true,
},
@ -318,8 +339,7 @@ const cfu = {
"gridType": "dash",
"dashLength": 2,
},
"legend": {
},
"legend": {},
"extra": {
"line": {
"type": "straight",
@ -327,26 +347,23 @@ const cfu = {
},
}
},
"tline":{
"tline": {
"type": "line",
"color": color,
"padding": [15,10,0,15],
"padding": [15, 10, 0, 15],
"xAxis": {
"disableGrid": false,
"boundaryGap":"justify",
"boundaryGap": "justify",
},
"yAxis": {
"gridType": "dash",
"dashLength": 2,
"data":[
{
"min":0,
"max":80
}
]
},
"legend": {
"data": [{
"min": 0,
"max": 80
}]
},
"legend": {},
"extra": {
"line": {
"type": "curve",
@ -354,26 +371,23 @@ const cfu = {
},
}
},
"tarea":{
"tarea": {
"type": "area",
"color": color,
"padding": [15,10,0,15],
"padding": [15, 10, 0, 15],
"xAxis": {
"disableGrid": true,
"boundaryGap":"justify",
"boundaryGap": "justify",
},
"yAxis": {
"gridType": "dash",
"dashLength": 2,
"data":[
{
"min":0,
"max":80
}
]
},
"legend": {
"data": [{
"min": 0,
"max": 80
}]
},
"legend": {},
"extra": {
"area": {
"type": "curve",
@ -384,18 +398,19 @@ const cfu = {
},
}
},
"column":{
"column": {
"type": "column",
"color": color,
"padding": [15,15,0,5],
"padding": [15, 15, 0, 5],
"xAxis": {
"disableGrid": true,
},
"yAxis": {
"data":[{"min":0}]
},
"legend": {
"data": [{
"min": 0
}]
},
"legend": {},
"extra": {
"column": {
"type": "group",
@ -405,20 +420,18 @@ const cfu = {
},
}
},
"bar":{
"bar": {
"type": "bar",
"color": color,
"padding": [15,30,0,5],
"padding": [15, 30, 0, 5],
"xAxis": {
"boundaryGap":"justify",
"disableGrid":false,
"min":0,
"axisLine":false
},
"yAxis": {
},
"legend": {
"boundaryGap": "justify",
"disableGrid": false,
"min": 0,
"axisLine": false
},
"yAxis": {},
"legend": {},
"extra": {
"bar": {
"type": "group",
@ -430,10 +443,10 @@ const cfu = {
},
}
},
"area":{
"area": {
"type": "area",
"color": color,
"padding": [15,15,0,15],
"padding": [15, 15, 0, 15],
"xAxis": {
"disableGrid": true,
},
@ -441,8 +454,7 @@ const cfu = {
"gridType": "dash",
"dashLength": 2,
},
"legend": {
},
"legend": {},
"extra": {
"area": {
"type": "straight",
@ -453,10 +465,10 @@ const cfu = {
},
}
},
"radar":{
"radar": {
"type": "radar",
"color": color,
"padding": [5,5,5,5],
"padding": [5, 5, 5, 5],
"dataLabel": false,
"legend": {
"show": true,
@ -473,7 +485,7 @@ const cfu = {
},
}
},
"gauge":{
"gauge": {
"type": "gauge",
"color": color,
"title": {
@ -513,10 +525,10 @@ const cfu = {
}
}
},
"candle":{
"candle": {
"type": "candle",
"color": color,
"padding": [15,15,0,15],
"padding": [15, 15, 0, 15],
"enableScroll": true,
"enableMarkLine": true,
"dataLabel": false,
@ -532,10 +544,8 @@ const cfu = {
"scrollColor": "#A6A6A6",
"scrollBackgroundColor": "#EFEBEF"
},
"yAxis": {
},
"legend": {
},
"yAxis": {},
"legend": {},
"extra": {
"candle": {
"color": {
@ -546,16 +556,15 @@ const cfu = {
},
"average": {
"show": true,
"name": ["MA5","MA10","MA30"],
"day": [5,10,20],
"color": ["#1890ff","#2fc25b","#facc14"]
"name": ["MA5", "MA10", "MA30"],
"day": [5, 10, 20],
"color": ["#1890ff", "#2fc25b", "#facc14"]
}
},
"markLine": {
"type": "dash",
"dashLength": 5,
"data": [
{
"data": [{
"value": 2150,
"lineColor": "#f04864",
"showLabel": true
@ -569,7 +578,7 @@ const cfu = {
}
}
},
"mix":{
"mix": {
"type": "mix",
"canvasId": "",
"canvas2d": false,
@ -597,7 +606,7 @@ const cfu = {
"rotate": false,
"errorReload": true,
"fontSize": 13,
"fontColor": "#666666",
"fontColor": "#666666",//数字颜色
"enableScroll": false,
"touchMoveLimit": 60,
"enableMarkLine": false,
@ -605,7 +614,7 @@ const cfu = {
"dataPointShape": true,
"dataPointShapeType": "solid",
"tapLegend": true,
"xAxis": {
"xAxis": {//x轴
"disabled": false,
"axisLine": true,
"axisLineColor": "#CCCCCC",
@ -626,19 +635,18 @@ const cfu = {
"scrollBackgroundColor": "#EFEBEF",
"format": ""
},
"yAxis": {
"yAxis": {//y轴
"disabled": false,
"disableGrid": false,
"splitNumber": 5,
"gridType": "dash",
"gridType": "solid",//dash虚线 solid:实线
"dashLength": 4,
"gridColor": "#CCCCCC",
"padding": 10,
"showTitle": true,
"data": [
{
"data": [{
"position": "top",
"title": "折线",
"title": "折线"
},
{
"position": "top",
@ -681,7 +689,7 @@ const cfu = {
}
},
"tooltip": {
"showBox": true,
"showBox": false,//点击时不显示描述信息
"showArrow": true,
"showCategory": false,
"borderWidth": 0,
@ -694,7 +702,7 @@ const cfu = {
"dashLength": 4,
"gridColor": "#CCCCCC",
"fontColor": "#FFFFFF",
"splitLine": true,
"splitLine": false,//点击时不显示选中竖线
"horizentalLine": false,
"xAxisLabel": false,
"yAxisLabel": false,
@ -709,54 +717,51 @@ const cfu = {
}
}
},
"scatter":{
"scatter": {
"type": "scatter",
"color":color,
"padding":[15,15,0,15],
"dataLabel":false,
"color": color,
"padding": [15, 15, 0, 15],
"dataLabel": false,
"xAxis": {
"disableGrid": false,
"gridType":"dash",
"splitNumber":5,
"boundaryGap":"justify",
"min":0
"gridType": "dash",
"splitNumber": 5,
"boundaryGap": "justify",
"min": 0
},
"yAxis": {
"disableGrid": false,
"gridType":"dash",
},
"legend": {
"gridType": "dash",
},
"legend": {},
"extra": {
"scatter": {
},
"scatter": {},
}
},
"bubble":{
"bubble": {
"type": "bubble",
"color":color,
"padding":[15,15,0,15],
"color": color,
"padding": [15, 15, 0, 15],
"xAxis": {
"disableGrid": false,
"gridType":"dash",
"splitNumber":5,
"boundaryGap":"justify",
"min":0,
"max":250
"gridType": "dash",
"splitNumber": 5,
"boundaryGap": "justify",
"min": 0,
"max": 250
},
"yAxis": {
"disableGrid": false,
"gridType":"dash",
"data":[{
"min":0,
"max":150
"gridType": "dash",
"data": [{
"min": 0,
"max": 150
}]
},
"legend": {
},
"legend": {},
"extra": {
"bubble": {
"border":2,
"border": 2,
"opacity": 0.5,
},
}