Commit f2943a8e by 王锐

数据对接

parent 9e987216
......@@ -124,6 +124,10 @@ created(){
p {
font-weight: normal;
}
a:active{
background: rgb(194, 193, 193);
color: rgb(78, 78, 78)
}
@import "./assets/icon/iconfont.css";
@import "./assets/style/index.scss";
</style>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -35,4 +35,82 @@ export function fileWrite(name, data) {
});
});
};
\ No newline at end of file
export function fileDownload(downUrl, savePath, success, error,presence) {
//处理链接后问号
var allUrl = downUrl.split("?")[0]
//获取文件名称
var filename = allUrl.substring(
allUrl.lastIndexOf("/") + 1,
allUrl.length
);
//修改为本地路径
var relativePath = "_downloads/" + savePath + filename;
//检查文件是否已存在
plus.io.resolveLocalFileSystemURL(
relativePath,
function(entry) {
console.log(savePath + "文件存在=" + relativePath);
//如果文件存在
function callback(res) {
presence(res)
}
setUrlFromLocal(relativePath, callback)
},
function(e) {
console.log()
console.log(savePath + "文件不存在,联网下载=" + relativePath);
//如果文件不存在
downloadLocal(relativePath, savePath, success)
}
);
function downloadLocal(relativePath, savePath, success) {
var dtask = plus.downloader.createDownload(
allUrl, {
method: "GET",
filename: "_downloads/" + savePath
},
function(d, status) {
if (status == 200) {
//下载成功
console.log("下载成功=" + relativePath);
//d.filename
setUrlFromLocal(d.filename, callback)
function callback(res) {
success(res)
}
} else {
//下载失败,需删除 本地临时文件,否则下次进来时会检查到文件已存在
console.log("下载失败=" + status + "==" + relativePath);
//dtask.abort();//文档描述:取消下载,删除临时文件(但经测试临时文件没有删除,故使用delFile()方法删除);
error()
if (relativePath != null) {
delFile(relativePath);
}
}
}
);
dtask.start();
}
//本地相对路径("_downloads/logo.jpg")转成SD卡绝对路径("/storage/emulated/0/Android/data/io.dcloud.HBuilder/.HBuilder/downloads/logo.jpg");
function setUrlFromLocal(relativePath, callback) {
var sd_path = plus.io.convertLocalFileSystemURL(relativePath);
callback(sd_path)
}
function delFile(relativePath) {
plus.io.resolveLocalFileSystemURL(relativePath, function(entry) {
entry.remove(
function(entry) {
console.log("文件删除成功==" + relativePath);
},
function(e) {
console.log("文件删除失败=" + relativePath);
}
);
});
}
}
\ No newline at end of file
export function latitude() {
plus.geolocation.getCurrentPosition(
function(res) {
//成功回调
var user_latitude = res.coords.latitude; //纬度
var user_longitude = res.coords.longitude; //经度
},
function(e) {
console.log(
"Gelocation Error: code - " + e.code + "; message - " + e.message
);
switch (e.code) {
case 10:
mui.alert(
"请开启应用的定位权限",
"温馨提示",
"确定",
function() {},
"div"
);
break;
case 9:
//mui.alert('请开启手机定位服务');
mui.alert(
"请开启手机定位服务",
"温馨提示",
"确定",
function() {},
"div"
);
break;
case 2:
if (e.message.indexOf("[geolocation:13]") > -1) {
//如果网络开启,定位失败,提示检查定位权限
mui.alert(
"请开启应用的定位权限",
"温馨提示",
"确定",
function() {},
"div"
);
}
if (e.message.indexOf("[geolocation:14]") > -1) {
//如果应用的权限开了,提示网络异常
mui.alert(
"请检查网络是否正常",
"温馨提示",
"确定",
function() {},
"div"
);
}
break;
case e.PERMISSION_DENIED:
mui.alert(
"请求定位被拒绝",
"温馨提示",
"确定",
function() {},
"div"
);
break;
case e.POSITION_UNAVAILABLE:
mui.alert(
"位置信息不可用",
"温馨提示",
"确定",
function() {},
"div"
);
break;
case e.TIMEOUT:
mui.alert(
"获取位置信息超时",
"温馨提示",
"确定",
function() {},
"div"
);
break;
case e.UNKNOWN_ERROR:
mui.alert("未知错误", "温馨提示", "确定", function() {}, "div");
break;
}
},
{
//超时未获取到经纬度信息 执行失败回调 (默认为5秒)
timeout: 3000
}
);
}
\ No newline at end of file
export default{
    pySort(arr){
        var $this = this;
var letters = "ABCDEFGHJKLMNOPQRSTWXYZ".split('');
var result = [];
var curr;
for(var i=0;i<letters.length;i++){
curr = {letter: letters[i], data:[]};
for(var j =0;j<arr.length;j++){
var firstLetter = pinyinUtil.getFirstLetter(arr[j].Name)
var initial = firstLetter.charAt(0);//截取第一个字符
if(initial==letters[i]||initial==letters[i].toLowerCase()){
curr.data.push({
Name:arr[j].Name,
Image:arr[j].Image,
MonitorFlag:arr[j].MonitorFlag,
Student_ID:arr[j].Student_ID
});
}
}
if(curr.data.length) {
result.push(curr);
}
}
return result;
}
}
\ No newline at end of file
export function video() {
// 调用原生android摄像头
var VIDEOZOOM = 200;
var MediaStore = plus.android.importClass("android.provider.MediaStore");
var Intent = plus.android.importClass("android.content.Intent");
// 导入后可以使用new方法创建类的示例对象
var intent = new Intent("android.media.action.VIDEO_CAPTURE");
intent.putExtra("android.intent.extra.videoQuality", 1); //0 means low quality, 1 means high quality
//intent.putExtra("android.provider.MediaStore.EXTRA_OUTPUT", url);
intent.putExtra("android.intent.extra.durationLimit", 3); //设置录像时间
var main = plus.android.runtimeMainActivity();
main.startActivityForResult(intent, VIDEOZOOM);
//获取返回参数
main.onActivityResult = function(requestCode, resultCode, data) {
var context = main;
plus.android.importClass(data);
var uri = data.getData();
var resolver = context.getContentResolver();
plus.android.importClass(resolver);
var cursor = resolver.query(uri, null, null, null, null);
plus.android.importClass(cursor);
cursor.moveToFirst();
var column = cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA);
// 获取录制的视频路径
var filePath = cursor.getString(column);
// 解析视频文件的属性
plus.io.resolveLocalFileSystemURL(
filePath,
function(entry) {
entry.file(function(file) {
console.log("size==" + file.size);
console.log("name==" + file.name);
});
},
function(e) {
console.log("Resolve file URL failed: " + e.message);
}
);
};
}
\ No newline at end of file
......@@ -7,7 +7,8 @@ import {
import $ from "jquery"
import mui from './assets/js/mui.js'
Vue.prototype.$mui = mui;
import "Directives";
import fastclick from 'fastclick';
import VueScroller from 'vue-scroller'
......@@ -37,7 +38,7 @@ import {
helpers
} from "./components/common/mixin";
import filters from "./components/common/filters";
Object.keys(filters).forEach((k) =>{ Vue.filter(k, filters[k])});
Object.keys(filters).forEach((k) => { Vue.filter(k, filters[k]) });
Vue.prototype.$baseurl = baseUrl;
Vue.prototype.$helpers = helpers
Vue.prototype.$echarts = echarts;
......
......@@ -42,6 +42,26 @@
</router-link>
</div>
</template>
<script>
document.addEventListener('plusready', function() {
var webview = plus.webview.currentWebview();
plus.key.addEventListener('backbutton', function() {
webview.canBack(function(e) {
if(e.canBack) {
webview.back();
} else {
webview.close(); //hide,quit
//plus.runtime.quit();
}
})
});
});
export default {
}
</script>
<style >
.home_list {
border-bottom: 1px solid #e1e1e1;
......
<template>
<div>
<yd-navbar title="报告详情">
<a href="javascript:;window.history.go(-1)" slot="left">
<a href="javascript:;window.history.go(-1)" class="detr_back" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<div class="detr">
<div class="detr_title">
报告编号:
<b>JST_HHHHHH</b>
<b>{{resaults.ReportId}}</b>
</div>
<div class="detr_list">报告归档:</div>
<div class="detr_list">日期:</div>
......@@ -29,9 +29,87 @@
<div class="detr_list">检验结论:</div>
<div class="detr_list">快递单号:</div>
</div>
<div class="detr_down_file">附件:</div>
<div class="detr_down_file" @click="downpdf">附件:</div>
</div>
</template>
<script>
import { fileDownload } from "../../../components/common/file";
export default {
data() {
return {
resaults: ""
};
},
methods: {
downpdf() {
var vm = this;
var url = "/Restful/Kivii.Storages.Entities.DbFile/Query";
var _data = {
params: {}
};
(_data.params.Name = vm.resaults.ReportId + ".pdf"),
(_data.params.EntityType = "Jst.Lims.Entities.Report"),
(_data.params.OwnerKvid = vm.resaults.Kvid);
vm.$ajax
.get(url, _data)
.then(function(res) {
var downurl = vm.$baseurl + res.data.Results[0].Path;
fileDownload(
downurl,
"pdf/",
function(res) {
plus.runtime.openFile(res, {}, function(e) {
vm.$dialog.toast({
mes: "打开失败",
timeout: 1500,
icon: "error"
});
});
},
function(res) {
vm.$dialog.toast({
mes: "下载失败",
timeout: 1500,
icon: "error"
});
},
function(res) {
vm.$dialog.confirm({
mes: "文件已存是否打开",
opts: [
{
txt: "取消",
color: false
},
{
txt: "确定",
color: true,
callback: () => {
plus.runtime.openFile(res, {}, function(e) {
vm.$dialog.toast({
mes: "打开失败",
timeout: 1500,
icon: "error"
});
});
}
}
]
});
}
);
})
.catch(function(res) {
console.log(res);
});
}
},
created() {
this.resaults = this.$route.params.data;
}
};
</script>
<style>
.detr {
padding: 0.2rem;
......@@ -50,4 +128,5 @@
padding: 0.2rem;
font-size: 0.26rem;
}
</style>
......@@ -5,8 +5,8 @@
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<yd-search v-model="searchvalue" placeholder="报告编号/款号/商标" :on-submit="submitHandler"></yd-search>
<router-link v-for="(item , key) in results" :key="key" :to="{name:'detailreport',query:{kvid:item.Kvid}}" tag="div" class="repo_list">
<yd-search v-model="searchvalue" placeholder="报告编号" :on-submit="submitHandler"></yd-search>
<router-link v-for="(item , key) in results" :key="key" :to="{name:'detailreport',query:{kvid:item.Kvid},params:{data:item}}" tag="div" class="repo_list">
<p class="repo_title">
<b>{{item.ReportId}}</b>
</p>
......@@ -32,7 +32,6 @@ export default {
},
getData(url) {
var vm = this;
vm.$ajax.get(url).then(res => {
vm.results = res.data.Results;
console.log( vm.results)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment