大理市民卡小程序1.0提交
diff --git a/weui/cell/cell.js b/weui/cell/cell.js
new file mode 100644
index 0000000..18048aa
--- /dev/null
+++ b/weui/cell/cell.js
@@ -0,0 +1,219 @@
+module.exports =
+/******/ (function(modules) { // webpackBootstrap
+/******/ 	// The module cache
+/******/ 	var installedModules = {};
+/******/
+/******/ 	// The require function
+/******/ 	function __webpack_require__(moduleId) {
+/******/
+/******/ 		// Check if module is in cache
+/******/ 		if(installedModules[moduleId]) {
+/******/ 			return installedModules[moduleId].exports;
+/******/ 		}
+/******/ 		// Create a new module (and put it into the cache)
+/******/ 		var module = installedModules[moduleId] = {
+/******/ 			i: moduleId,
+/******/ 			l: false,
+/******/ 			exports: {}
+/******/ 		};
+/******/
+/******/ 		// Execute the module function
+/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ 		// Flag the module as loaded
+/******/ 		module.l = true;
+/******/
+/******/ 		// Return the exports of the module
+/******/ 		return module.exports;
+/******/ 	}
+/******/
+/******/
+/******/ 	// expose the modules object (__webpack_modules__)
+/******/ 	__webpack_require__.m = modules;
+/******/
+/******/ 	// expose the module cache
+/******/ 	__webpack_require__.c = installedModules;
+/******/
+/******/ 	// define getter function for harmony exports
+/******/ 	__webpack_require__.d = function(exports, name, getter) {
+/******/ 		if(!__webpack_require__.o(exports, name)) {
+/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ 		}
+/******/ 	};
+/******/
+/******/ 	// define __esModule on exports
+/******/ 	__webpack_require__.r = function(exports) {
+/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ 		}
+/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
+/******/ 	};
+/******/
+/******/ 	// create a fake namespace object
+/******/ 	// mode & 1: value is a module id, require it
+/******/ 	// mode & 2: merge all properties of value into the ns
+/******/ 	// mode & 4: return value when already ns object
+/******/ 	// mode & 8|1: behave like require
+/******/ 	__webpack_require__.t = function(value, mode) {
+/******/ 		if(mode & 1) value = __webpack_require__(value);
+/******/ 		if(mode & 8) return value;
+/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ 		var ns = Object.create(null);
+/******/ 		__webpack_require__.r(ns);
+/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ 		return ns;
+/******/ 	};
+/******/
+/******/ 	// getDefaultExport function for compatibility with non-harmony modules
+/******/ 	__webpack_require__.n = function(module) {
+/******/ 		var getter = module && module.__esModule ?
+/******/ 			function getDefault() { return module['default']; } :
+/******/ 			function getModuleExports() { return module; };
+/******/ 		__webpack_require__.d(getter, 'a', getter);
+/******/ 		return getter;
+/******/ 	};
+/******/
+/******/ 	// Object.prototype.hasOwnProperty.call
+/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ 	// __webpack_public_path__
+/******/ 	__webpack_require__.p = "";
+/******/
+/******/
+/******/ 	// Load entry module and return exports
+/******/ 	return __webpack_require__(__webpack_require__.s = 9);
+/******/ })
+/************************************************************************/
+/******/ ({
+
+/***/ 9:
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Component({
+    options: {
+        addGlobalClass: true,
+        multipleSlots: true
+    },
+    properties: {
+        hover: {
+            type: Boolean,
+            value: false
+        },
+        link: {
+            type: Boolean,
+            value: false
+        },
+        extClass: {
+            type: String,
+            value: ''
+        },
+        iconClass: {
+            type: String,
+            value: ''
+        },
+        bodyClass: {
+            type: String,
+            value: ''
+        },
+        icon: {
+            type: String,
+            value: ''
+        },
+        title: {
+            type: String,
+            value: ''
+        },
+        value: {
+            type: String,
+            value: ''
+        },
+        showError: {
+            type: Boolean,
+            value: false
+        },
+        prop: {
+            type: String,
+            value: ''
+        },
+        url: {
+            type: String,
+            value: ''
+        },
+        footerClass: {
+            type: String,
+            value: ''
+        },
+        footer: {
+            type: String,
+            value: ''
+        },
+        inline: {
+            type: Boolean,
+            value: true
+        },
+        hasHeader: {
+            type: Boolean,
+            value: true
+        },
+        hasFooter: {
+            type: Boolean,
+            value: true
+        },
+        hasBody: {
+            type: Boolean,
+            value: true
+        }
+    },
+    relations: {
+        '../form/form': {
+            type: 'ancestor'
+        },
+        '../cells/cells': {
+            type: 'ancestor'
+        }
+    },
+    data: {
+        inForm: false
+    },
+    methods: {
+        setError: function setError(error) {
+            this.setData({
+                error: error || false
+            });
+        },
+        setInForm: function setInForm() {
+            this.setData({
+                inForm: true
+            });
+        },
+        setOuterClass: function setOuterClass(className) {
+            this.setData({
+                outerClass: className
+            });
+        },
+        navigateTo: function navigateTo() {
+            var _this = this;
+
+            var data = this.data;
+            if (data.url && data.link) {
+                wx.navigateTo({
+                    url: data.url,
+                    success: function success(res) {
+                        _this.triggerEvent('navigatesuccess', res, {});
+                    },
+                    fail: function fail(_fail) {
+                        _this.triggerEvent('navigateerror', _fail, {});
+                    }
+                });
+            }
+        }
+    }
+});
+
+/***/ })
+
+/******/ });
\ No newline at end of file
diff --git a/weui/cell/cell.json b/weui/cell/cell.json
new file mode 100644
index 0000000..38feec9
--- /dev/null
+++ b/weui/cell/cell.json
@@ -0,0 +1,6 @@
+{
+    "component": true,
+    "usingComponents": {
+        "mp-cells": "../cells/cells"
+    }
+}
\ No newline at end of file
diff --git a/weui/cell/cell.wxml b/weui/cell/cell.wxml
new file mode 100644
index 0000000..6d61dbc
--- /dev/null
+++ b/weui/cell/cell.wxml
@@ -0,0 +1,73 @@
+<block wx:if="{{link}}">
+    <view bindtap="navigateTo" class="weui-cell weui-cell_access {{extClass}} {{outerClass}}{{inForm ? ' weui-cell-inform' : ''}}{{inline ? '' : ' .weui-cell_label-block'}}" hover-class="{{hover ? 'weui-cell_active' : ''}}">
+        <view wx:if="{{hasHeader}}" class="weui-cell__hd {{iconClass}}">
+            <block wx:if="{{icon}}">
+                <image src="{{icon}}" class="weui-cell__icon" mode="aspectFit"></image>
+            </block>
+            <block wx:else>
+                <slot name="icon"></slot>
+            </block>
+            <block wx:if="{{inForm}}">
+                <block wx:if="{{title}}"><view class="weui-label">{{title}}</view></block>
+                <block wx:else>
+                    <slot name="title"></slot>
+                </block>
+            </block>
+            <block wx:else>
+                <block wx:if="{{title}}">{{title}}</block>
+                <block wx:else>
+                    <slot name="title"></slot>
+                </block>
+            </block>
+        </view>
+        <view wx:if="{{hasBody}}" class="weui-cell__bd">
+            <block wx:if="{{value}}">{{value}}</block>
+            <block wx:else>
+                <slot></slot>
+            </block>
+        </view>
+        <view wx:if="{{hasFooter}}" class="weui-cell__ft weui-cell__ft_in-access {{footerClass}}">
+            <block wx:if="{{footer}}">{{footer}}</block>
+            <block wx:else>
+                <slot name="footer"></slot>
+            </block>
+        </view>
+    </view>
+</block>
+<block wx:else>
+    <view bindtap="navigateTo" class="weui-cell {{showError && error ? 'weui-cell_warn' : ''}} {{inForm ? 'weui-cell-inform' : ''}} {{extClass}} {{outerClass}}" hover-class="{{hover ? 'weui-cell_active' : ''}}">
+        <view wx:if="{{hasHeader}}" class="weui-cell__hd {{iconClass}}">
+            <block wx:if="{{icon}}">
+                <image src="{{icon}}" class="weui-cell__icon" mode="aspectFit"></image>
+            </block>
+            <block wx:else>
+                <slot name="icon"></slot>
+            </block>
+            <block wx:if="{{inForm}}">
+                <block wx:if="{{title}}"><view class="weui-label">{{title}}</view></block>
+                <block wx:else>
+                    <slot name="title"></slot>
+                </block>
+            </block>
+            <block wx:else>
+                <block wx:if="{{title}}">{{title}}</block>
+                <block wx:else>
+                    <slot name="title"></slot>
+                </block>
+            </block>
+        </view>
+        <view wx:if="{{hasBody}}" class="weui-cell__bd {{bodyClass}}">
+            <block wx:if="{{value}}">{{value}}</block>
+            <block wx:else>
+                <slot></slot>
+            </block>
+        </view>
+        <view wx:if="{{hasFooter}}" class="weui-cell__ft {{footerClass}}">
+            <block wx:if="{{footer}}">{{footer}}</block>
+            <block wx:else>
+                <slot name="footer"></slot>
+            </block>
+            <icon wx:if="{{showError && error}}" type="warn" size="23" color="#E64340"></icon>
+        </view>
+    </view>
+</block>
\ No newline at end of file
diff --git a/weui/cell/cell.wxss b/weui/cell/cell.wxss
new file mode 100644
index 0000000..e33b369
--- /dev/null
+++ b/weui/cell/cell.wxss
@@ -0,0 +1 @@
+.weui-cells{position:relative;margin-top:8px;background-color:#FFFFFF;line-height:1.41176471;font-size:17px}.weui-cells:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid rgba(0,0,0,0.1);color:rgba(0,0,0,0.1)}.weui-cells:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1rpx solid rgba(0,0,0,0.1);color:rgba(0,0,0,0.1)}.weui-cells__title{margin-top:16px;margin-bottom:3px;padding-left:16px;padding-right:16px;color:rgba(0,0,0,0.5);font-size:14px}.weui-cells_after-title{margin-top:0}.weui-cells__tips{margin-top:3px;color:rgba(0,0,0,0.5);padding-left:16px;padding-right:16px;font-size:14px}.weui-cell{padding:16px;position:relative;display:flex;align-items:center}.weui-cell:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid rgba(0,0,0,0.1);color:rgba(0,0,0,0.1);left:16px}.weui-cell:first-child:before{display:none}.weui-cell_active{background-color:#ECECEC}.weui-cell_primary{align-items:flex-start}.weui-cell__bd{flex:1}.weui-cell__ft{text-align:right;color:rgba(0,0,0,0.5)}.weui-cell_wxss.weui-cell_wxss:before{display:block}.weui-cell_label-block{display:block}.weui-cell_label-block .weui-label{width:auto;word-break:initial;-webkit-hyphens:auto;hyphens:auto}.weui-cell_vcode{padding-top:0;padding-right:0;padding-bottom:0}.weui-vcode-img{margin-left:5px;height:3.29411765em;vertical-align:middle}.weui-vcode-btn{display:inline-block;height:3.29411765em;margin-left:5px;padding:0 .6em 0 .7em;border-left:1rpx solid rgba(0,0,0,0.1);line-height:3.29411765em;vertical-align:middle;font-size:17px;color:#576B95;white-space:nowrap}button.weui-vcode-btn{min-height:0;background-color:transparent;border:0;outline:0}.weui-vcode-btn:active{color:#767676}
\ No newline at end of file