一 技术栈:vuecli+vuejs2+mintUI+axios

   vuecli :脚手架工具 vuejs:前端框架  mintUI:基于vuejs移动端UI  axios:vuejs ajax数据交互插件

其中 node版本 v6.2.0

1、安装vue-cli脚手架 cnpm install -g vue-cli

  1.1 cnpm是淘宝提供的镜像工具 安装办法 $ npm install -g cnpm --registry=https://registry.npm.taobao.org

2、执行vue

  2.1 vue list

  2.2 vue init webpack mintui(应用webpack模板 项目名称为mintui)

3、cd mintui / cnpm install / cnpm run dev

  总结用vue-cli共五步

  cnpm install -g vue-cli

  vue init webpack my-project

  cd my-project

  cnpm install

  cnpm run dev

4、安装stylus 不报错方法 1、stylus-loader:"2.4.0" 2、cnpm install

5、目录结构 src   main.js   -> 入口文件

         App.vue  -> vue大组件

          components -> 组件目录

            attachment attachment.vue ->组件

          list

            list.vue

6、app.vue

<template>
<div class="container">                 <!-- 从vue2开始 需要有根节点 -->
<transition name="router-fade" mode="out-in"> <!-- 路由切换淡入淡出的效果-->
<router-view></router-view>           <!-- 组件容器 --> 
</transition>
</div>
</template> <script type="text/javascript"> </script> <style lang="stylus" type="text/stylus">           <!-- stylus模板标签 -->
.router-fade-enter-active, .router-fade-leave-active
transition opacity .3s .router-fade-enter, .router-fade-leave-active
opacity 0 </style>

7、main.js

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue';  //引入vue  
import App from './App';  //App.vue主组件
import VueRouter from 'vue-router';  //引入路由
import Vuex from 'vuex';  //引入vuex状态管理 本来想用但因为还没弄明白,暂时放着
import axios from 'axios';  //axios ajax与服务端数据接口交互需要的插件
import list from './components/list/list.vue';  //列表组件
import goods from './components/goods/goods.vue';  //样本物流
import attachment from './components/attachment/attachment.vue';  //附件组件
import 'mint-ui/lib/style.css';  //mintui的样式表
import MintUI from 'mint-ui';  //引入mint-ui mint-ui为饿了么开源的移动端UI import { Navbar, TabItem } from 'mint-ui';  //tab切换需要的 import { TabContainer, TabContainerItem } from 'mint-ui';  //tab切换 import { Search } from 'mint-ui';  //搜索 import { InfiniteScroll } from 'mint-ui';  //滚动加载 Vue.config.productionTip = false;  //
Vue.use(VueRouter);        //使用路由
Vue.use(Vuex);           //使用vuex
Vue.use(MintUI);          //使用mintUI
Vue.use(InfiniteScroll);     //使用滚动加载 //Vue.component(MtRadio.name, MtRadio); Vue.component(Navbar.name, Navbar);  //
Vue.component(TabItem.name, TabItem); Vue.component(TabContainer.name, TabContainer);
Vue.component(TabContainerItem.name, TabContainerItem); Vue.component(Search.name, Search); let app = Vue.extend(App); const routes = [{    //定义路由
path:'/',      //默认请求
component:list    //列表页
},{
path:'/attachment',  //附件列表
component:attachment  //
},{
path:'/goods',    //
component:goods
}]; const router = new VueRouter({  //注册router
routes
}); /* eslint-disable no-new */
/*new Vue({
el: '#app',
template: '<App/>',
components: { App }
})*/ let apps = new Vue({  //实例化vue
template: '<App/>',
components: { App },
router
}).$mount("#app");

list.vue

<template>
<div class="list">
<mt-navbar v-model="selected">
<mt-tab-item id="1">已完成</mt-tab-item>
<mt-tab-item id="2">未完成</mt-tab-item>
</mt-navbar>
<!-- tab-container -->
<mt-tab-container v-model="selected">
<mt-tab-container-item id="1">
<ul>
<li v-for="task in tasks">
<div class="irow">
<div class="ileft">患 者 姓 名</div>
<div class="im">:</div>
<div class="iright">{{task.HZNAME}}</div>
</div>
<div class="irow">
<div class="ileft">订 单 编 号</div>
<div class="im">:</div>
<div class="iright">{{task.ORDERID}}</div>
</div>
<div class="irow">
<div class="ileft">检测包条码</div>
<div class="im">:</div>
<div class="iright">{{task.PKG_NUM}}</div>
</div>
<div class="irow">
<div class="ileft">检 测 类 型</div>
<div class="im">:</div>
<div class="iright">{{task.EXAMNAME}}</div>
</div>
<div class="irow">
<div class="ileft">状 态</div>
<div class="im">:</div>
<div class="iright">订单未完成</div>
</div>
<div class="irow">
<div class="ileft">送 检 日 期</div>
<div class="im">:</div>
<div class="iright">{{task.SEND_TIME}}</div>
</div>
<div class="icount">
<!-- <router-link to="./attachment"><mt-button type="primary" size="small">查看附件</mt-button></router-link> -->
<router-link :to="{ path:'./attachment',query:{order_id: task.ORDERID}}"><mt-button type="primary" size="small">查看附件</mt-button></router-link>
<router-link to="./goods"><mt-button type="primary" size="small">样本物流</mt-button></router-link>
<mt-button type="primary" size="small">报告物流</mt-button>
</div>
</li>
</ul> <mt-button type="primary" size="large" @click="loadMore">加载更多</mt-button> </mt-tab-container-item> <mt-tab-container-item id="2">
<!-- <mt-cell v-for="n in 45" :title="'测试 ' + n" /> -->
</mt-tab-container-item>
</mt-tab-container>
</div>
</template>
<script>
import axios from 'axios';
import { Indicator } from 'mint-ui';
export default {
data () {
return {
selected:'1',
p:1,
tasks:[]
}
},
methods:{
loadData (p) {
Indicator.open('加载中...');
var that = this;
axios.get("http://testqywx.origimed.com:18082/weixin-qy/order/Order/userOrderList.json?usercode=sysadmin&orderState=0&page="+p+"&rows=10")
.then(response=>{let reason=response.data.reason;for(var v of reason){this.tasks.push(v)};Indicator.close();}); },
loadMore (){
this.p++;
this.loadData(this.p); }
},
mounted () {
this.loadData(1);
}
}
</script>
<style lang="stylus" type="text/stylus">
.mint-tab-container
margin-top 2px
.container ul li
list-style none
ul
padding 0
.irow
width 100%
height 30px
line-height 30px
.ileft
width 40%
float left
text-align right .im
float left
width 5%
padding 0 10px
text-align center .iright
width 40%
float left
.icount
width 90%
margin 10px auto 0
text-align center
button
margin-left 14px
.page-infinite-loading
text-align center
line-height 50px </style>

attachment.vue

<template>
<div class="attachment">
<div v-for="task in tasks">
<div class="page-cell">
<a class="mint-cell">
<div class="mint-cell-left"></div>
<div class="mint-cell-wrapper">
<div class="mint-cell-title">
<span class="mint-cell-text">附件名称 : {{task.ATTACH_NAME}}</span>
</div>
<div class="mint-cell-value">
<span></span>
</div>
</div>
<div class="mint-cell-right"></div>
</a>
<a class="mint-cell"><!---->
<div class="mint-cell-left"></div>
<div class="mint-cell-wrapper">
<div class="mint-cell-title"><!---->
<span class="mint-cell-text">
<img v-bind:src=task.ATTACH_PATH width="120" height="120">
</span> <!---->
</div>
<div class="mint-cell-value">
<div class="iarticle">
<p>样本ID:{{task.ATTACH_ID}}</p>
<p>上传环节:{{task.TO_DO}}</p>
<p>上传人:{{task.TRANS_NAME}}</p>
<p>{{task.TRANS_TIME}}</p>
</div>
</div>
</div>
<div class="mint-cell-right"></div> <!---->
</a>
</div>
</div>
</div>
</template>
<script>
import axios from 'axios';
export default{
data(){
return{
id:'',
tasks:[]
}
},
methods:{
loadData:function(){
this.id = this.$route.query.order_id;
axios.get("http://testqywx.origimed.com:18082/weixin-qy/order/Order/userOrderFilesList.json?usercode=sysadmin&orderId="+this.id)
.then(response=>this.tasks=response.data.reason);
}
},
mounted(){
this.loadData();
} }
</script>
<style type="text/stylus" lang="stylus">
.mint-cell-title
margin 10px 0
.iarticle
width 179px
height 150px
.mint-cell
margin-bottom 10px
</style>

这样就形成了一个最简单的例子

最总效果:

mintUI中文文档参考地址http://mint-ui.github.io/docs/#/zh-cn2

vue2.0 mintUI 学习备忘的更多相关文章

  1. Android学习备忘笺01Activity

    01.设置视图 在Android Studio新建的项目中,通过 setContentView(R.layout.activity_main);方法将res/layout/activity_main. ...

  2. leaflet 学习备忘

    leaflet 开源js地图工具.非常好用. leaflet参考:http://leafletjs.com/ 特性: 完全开源,可以基于不同的第三方瓦片生成地图. 基于原始GPS,无需转换 可创建离线 ...

  3. 【数据售卖平台】—— Vue2.0入门学习项目爬坑

    前言:这个项目是我从零学习Vue2.0时用于练习基础知识的入门项目,包含了Vue2.0几乎所有项目都会用到的基础功能,是新手用来练手的好项目,这里温故知新对功能点做一个总结.github地址:http ...

  4. vue2.0 element学习

    1,bootstrap和vue2.0结合使用 vue文件搭建好后,引入jquery和bootstrap 我采用的方式为外部引用 在main.js内部直接导入 用vue-cli直接安装jquery和bo ...

  5. vue2.0 路由学习笔记

    昨天温故了一下vue2.0的路由 做个笔记简单记录一下! 1.首相和vue1.0一样 要使用vuejs的路由功能需要先引入vue-router.js 2.然后修改原有a标签处代码 这里以一个ul li ...

  6. Git学习备忘

    本文参考廖雪峰写的精彩的git学习文档,大家可以直接去官网看原版,我这里只是便于自己记录梳理 原版地址:http://www.liaoxuefeng.com/wiki/0013739516305929 ...

  7. MVC4 学习备忘

    WebConfig文件里添加数据库链接字符: <add name="MovieDBContext(可以自己取字符串名字)" connectionString="Da ...

  8. UML学习备忘

    两大类UML图: 行为图(behavior diagrams)和结构图(structure diagrams)     行为图将引导系统分析员分析且理清"系统该做些什么"?系统分析 ...

  9. vue2.0 MintUI安装和基本使用

    http://mint-ui.github.io/docs/#/en2 Mintui 详细地址 基于2.0的安装 npm install mint-ui -S 主要就三行指令 import Mint ...

随机推荐

  1. -安装与配置 FTP 服务器

    我们经常会使用 FTP,把本地电脑上的文件上传到服务器上,或者把服务器上的文件下载到自己的电脑里面.FTP 有服务端和客户端,FTP 的服务端提供了这种传输文件的服务,FTP 的客户端提供了传输文件的 ...

  2. Bootstrap滚动监听(Scrollspy)插件

    Bootstrap滚动监听(Scrollspy)插件,即自动更新导航插件,会根据滚动条的位置自动更新对应的导航目标

  3. 在线聊天项目1.4版 使用Gson方法解析Json字符串以便重构request和response的各种请求和响应 解决聊天不畅问题 Gson包下载地址

    在线聊天项目结构图: 多用户登陆效果图: 多用户聊天效果图: 数据库效果图: 重新构建了Server类,使用了Gson方法,通过解析Json字符串,增加Info类,简化判断过程. Server类代码如 ...

  4. iOS应用架构谈-part1概述

    当我们讨论客户端应用架构的时候,我们在讨论什么? 其实市面上大部分应用不外乎就是颠过来倒过去地做以下这些事情: --------------- --------------- ------------ ...

  5. HTML与XHTML区别

    1. html超文本标记语言,xhtml可扩展超文本标记语言,xhtml是将html作为xml的应用重新定义的一个标准. 2. xhtm比html的代码规则严格很多,例如'a < b'在xhtm ...

  6. gradle更换国内镜像、配置本地仓库地址

    gradle更换国内镜像,安装包解压后init.d文件夹下面创建init.gradle文件,内容如下 allprojects{ repositories { def REPOSITORY_URL = ...

  7. html5新结构标签

    html5新结构标签 <header>  定义 section 或 page 的页眉,也就是定义头部的标签. <footer> 定义 section 或 page 的页脚. & ...

  8. .Net Core依赖注入中TryAddEnumerable 和TryAddTransient方法的区别

    .Net Core依赖注入添加的每个服务,最终都会转换为一个ServiceDescriptor的实例,ServiceDescriptor包含以下属性: Lifetime:服务的生命周期(Singlet ...

  9. 关于使用Java实现的简单网络爬虫Demo

    什么是网络爬虫? 网络爬虫又叫蜘蛛,网络蜘蛛是通过网页的链接地址来寻找网页,从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直 ...

  10. 经典MSSQL语句大全和常用SQL语句命令的作用

    下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL类型包括数据库.表的创建,修改,删除,声明—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML类 ...