├── .gitignore ├── src ├── data │ ├── yuexuequan │ │ ├── score.data │ │ ├── task-details.data │ │ ├── table-wages-count.data │ │ ├── subject-details.data │ │ ├── student-details.data │ │ ├── task-remind.data │ │ ├── details.data │ │ ├── select-person.data │ │ ├── table-subject.data │ │ ├── calendar.data │ │ ├── table-wages.data │ │ ├── table-task.data │ │ └── table-score.data │ ├── main-info.data │ ├── discount-add.data │ ├── form.data │ ├── upload.data │ ├── form-edit.data │ ├── roles.data │ ├── jobs.data │ ├── autocomplete.data │ ├── selectlist2.data │ ├── selectlist.data │ ├── project-details.data │ ├── tree-discount.data │ ├── tags.data │ ├── room-list2.data │ ├── customer-list-rc.data │ ├── discount-list.data │ ├── project-menu.data │ ├── tree-contact.data │ ├── customer-list.data │ ├── line-chart3.data │ ├── members.data │ ├── project-panel.data │ ├── form-structure.data │ ├── tree-org.data │ ├── room-filter.data │ ├── pie-chart.data │ ├── room-table-list.data │ ├── table-list.data │ ├── price-filter.data │ ├── customer-filter.data │ ├── line-average.data │ ├── line-chart2.data │ ├── tree.data │ ├── radar-chart.data │ ├── room-list.data │ ├── price-list.data │ ├── bar-chart.data │ └── line-chart.data ├── ui │ ├── img │ │ ├── 404.png │ │ ├── 500.png │ │ ├── file.png │ │ ├── logo.png │ │ ├── avatar.png │ │ ├── default.png │ │ ├── example-1.jpg │ │ ├── example-2.jpg │ │ ├── loading.gif │ │ ├── nav-fold.png │ │ ├── browser │ │ │ ├── ie.jpg │ │ │ ├── chrome.jpg │ │ │ ├── opera.jpg │ │ │ └── firefox.jpg │ │ └── font │ │ │ ├── iconfont.eot │ │ │ ├── iconfont.ttf │ │ │ └── iconfont.woff │ ├── modules │ │ ├── main │ │ │ ├── init.js │ │ │ ├── filters.js │ │ │ ├── controllers.js │ │ │ └── services.js │ │ ├── modal │ │ │ ├── init.js │ │ │ └── directives.js │ │ ├── project │ │ │ ├── init.js │ │ │ ├── filters.js │ │ │ └── services.js │ │ └── upload │ │ │ └── init.js │ ├── less │ │ ├── angucomplete.less │ │ ├── ie6.less │ │ ├── login.less │ │ ├── flex-layout.less │ │ └── project.less │ ├── css │ │ ├── angucomplete.css │ │ ├── ie6.css │ │ ├── login.css │ │ ├── project.css │ │ └── datepicker.css │ └── app.js └── demo │ ├── tpl │ ├── table-cell.html │ ├── dialog-center.html │ ├── dialog-alert.html │ ├── dialog-confirm.html │ ├── config-floor.html │ ├── dialog-tree.html │ ├── pagination2.html │ ├── pagination.html │ ├── table-list.html │ ├── custom-config.html │ ├── autocomplete.html │ ├── uploader.html │ ├── tree.html │ └── datepicker.html │ ├── views │ ├── dialog-chart.html │ ├── yuexuequan │ │ ├── average-chart.html │ │ ├── org-edit.html │ │ ├── main.html │ │ ├── courseware-add.html │ │ ├── main2.html │ │ ├── task.html │ │ ├── organization.html │ │ ├── main-chart.html │ │ ├── task-view.html │ │ ├── calendar.html │ │ ├── notice.html │ │ ├── wages.html │ │ └── wages2.html │ ├── dialog.html │ ├── navigation.html │ ├── dialog-table.html │ ├── example.html │ ├── list-view.html │ ├── chart.html │ ├── finance-o2o │ │ ├── list-4.html │ │ ├── form.html │ │ └── list-3.html │ └── list-edit.html │ ├── 404.html │ ├── 500.html │ ├── index.html │ ├── login.html │ └── ie6.html ├── .github └── FUNDING.yml ├── package.json └── gulpfile.js /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /src/data/yuexuequan/score.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "hasScore": true 4 | } -------------------------------------------------------------------------------- /src/ui/img/404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quteam/manage3/HEAD/src/ui/img/404.png -------------------------------------------------------------------------------- /src/ui/img/500.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quteam/manage3/HEAD/src/ui/img/500.png -------------------------------------------------------------------------------- /src/ui/img/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quteam/manage3/HEAD/src/ui/img/file.png -------------------------------------------------------------------------------- /src/ui/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quteam/manage3/HEAD/src/ui/img/logo.png -------------------------------------------------------------------------------- /src/ui/img/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quteam/manage3/HEAD/src/ui/img/avatar.png -------------------------------------------------------------------------------- /src/data/main-info.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "data": { 4 | "msgBubble": 6 5 | } 6 | } -------------------------------------------------------------------------------- /src/ui/img/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quteam/manage3/HEAD/src/ui/img/default.png -------------------------------------------------------------------------------- /src/ui/img/example-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quteam/manage3/HEAD/src/ui/img/example-1.jpg -------------------------------------------------------------------------------- /src/ui/img/example-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quteam/manage3/HEAD/src/ui/img/example-2.jpg -------------------------------------------------------------------------------- /src/ui/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quteam/manage3/HEAD/src/ui/img/loading.gif -------------------------------------------------------------------------------- /src/ui/img/nav-fold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quteam/manage3/HEAD/src/ui/img/nav-fold.png -------------------------------------------------------------------------------- /src/ui/img/browser/ie.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quteam/manage3/HEAD/src/ui/img/browser/ie.jpg -------------------------------------------------------------------------------- /src/ui/img/browser/chrome.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quteam/manage3/HEAD/src/ui/img/browser/chrome.jpg -------------------------------------------------------------------------------- /src/ui/img/browser/opera.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quteam/manage3/HEAD/src/ui/img/browser/opera.jpg -------------------------------------------------------------------------------- /src/ui/img/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quteam/manage3/HEAD/src/ui/img/font/iconfont.eot -------------------------------------------------------------------------------- /src/ui/img/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quteam/manage3/HEAD/src/ui/img/font/iconfont.ttf -------------------------------------------------------------------------------- /src/ui/img/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quteam/manage3/HEAD/src/ui/img/font/iconfont.woff -------------------------------------------------------------------------------- /src/ui/img/browser/firefox.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/quteam/manage3/HEAD/src/ui/img/browser/firefox.jpg -------------------------------------------------------------------------------- /src/data/discount-add.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "提交成功", 4 | "url": "#/project-discount.html" 5 | } -------------------------------------------------------------------------------- /src/data/yuexuequan/task-details.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "data": { 4 | "name": "检查各班学生仪表是否合格" 5 | } 6 | } -------------------------------------------------------------------------------- /src/demo/tpl/table-cell.html: -------------------------------------------------------------------------------- 1 | 2 | {{cell.text}} 3 | -------------------------------------------------------------------------------- /src/data/form.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "data": { 4 | "url": "#/form.html", 5 | "message": "保存成功" 6 | } 7 | } -------------------------------------------------------------------------------- /src/demo/views/dialog-chart.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /src/data/yuexuequan/table-wages-count.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "data": { 5 | "salaryAll": 123 6 | } 7 | } -------------------------------------------------------------------------------- /src/data/upload.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "上传成功", 4 | "data": { 5 | "id": 12, 6 | "url": "../ui/img/avatar.png" 7 | } 8 | } -------------------------------------------------------------------------------- /src/ui/modules/main/init.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hao on 15/11/11. 3 | */ 4 | define('main/init', ['angular'], function () { 5 | angular.module('manageApp.main', []); 6 | }); -------------------------------------------------------------------------------- /src/data/yuexuequan/subject-details.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "data": { 4 | "name": "高二(1)班", 5 | "personCount": 60, 6 | "num1": 25, 7 | "num2": 2 8 | } 9 | } -------------------------------------------------------------------------------- /src/ui/modules/main/filters.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hao on 16/1/7. 3 | */ 4 | define('main/filters', ['main/init'], function () { 5 | angular.module('manageApp.main'); 6 | }); -------------------------------------------------------------------------------- /src/ui/modules/modal/init.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hao on 15/11/21. 3 | */ 4 | define('modal/init', ['angular'], function () { 5 | angular.module('manageApp.modal', []); 6 | }); -------------------------------------------------------------------------------- /src/ui/modules/project/init.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hao on 15/11/11. 3 | */ 4 | define('project/init', ['angular'], function () { 5 | angular.module('manageApp.project', []); 6 | }); -------------------------------------------------------------------------------- /src/ui/modules/upload/init.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hao on 15/11/15. 3 | */ 4 | define('upload/init', ['angular'], function () { 5 | angular.module('manageApp.upload', []); 6 | }); -------------------------------------------------------------------------------- /src/ui/modules/project/filters.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hao on 16/1/7. 3 | */ 4 | define('project/filters', ['project/init'], function () { 5 | angular.module('manageApp.project'); 6 | }); -------------------------------------------------------------------------------- /src/ui/modules/project/services.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hao on 15/11/18. 3 | */ 4 | define('project/services', ['project/init'], function () { 5 | angular.module('manageApp.project') 6 | }); -------------------------------------------------------------------------------- /src/data/yuexuequan/student-details.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "data": { 4 | "no": "G123456788", 5 | "name": "张三", 6 | "class": "高二(1)班", 7 | "subject": "语文", 8 | "score": 88 9 | } 10 | } -------------------------------------------------------------------------------- /src/demo/tpl/dialog-center.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 |
6 |
7 |
-------------------------------------------------------------------------------- /src/data/form-edit.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "提交成功", 4 | "data": { 5 | "id": 11, 6 | "name": "A1", 7 | "col1": "住宅", 8 | "col2": "三房两卫", 9 | "col3": "112 m2", 10 | "col4": "修改了", 11 | "col5": "无", 12 | "col6": "无" 13 | } 14 | } -------------------------------------------------------------------------------- /src/data/yuexuequan/task-remind.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "提交成功", 4 | "data": { 5 | "id": 11, 6 | "col1": "检查各班学生仪表是否合格", 7 | "col2": "教务处", 8 | "col3": "教务处", 9 | "col4": "2016-2-29", 10 | "status": 2, 11 | "overdue": 2 12 | } 13 | } -------------------------------------------------------------------------------- /src/data/yuexuequan/details.data: -------------------------------------------------------------------------------- 1 | { 2 | "data": [ 3 | { 4 | "text": "高一", 5 | "value": "高一" 6 | }, 7 | { 8 | "text": "高二", 9 | "value": "高二" 10 | }, 11 | { 12 | "text": "高三", 13 | "value": "高三" 14 | } 15 | ], 16 | "code": 200 17 | } -------------------------------------------------------------------------------- /src/data/roles.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "data": [ 5 | { 6 | "id": 1, 7 | "col1": "产品总监", 8 | "col2": 8, 9 | "col3": "上级岗位名称" 10 | }, 11 | { 12 | "id": 2, 13 | "col1": "岗位名称A", 14 | "col2": 8, 15 | "col3": "上级岗位名称" 16 | } 17 | ] 18 | } -------------------------------------------------------------------------------- /src/data/jobs.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "data": [ 5 | { 6 | "id": 1, 7 | "name": "产品总监", 8 | "number": 8, 9 | "pname": "上级岗位名称" 10 | }, 11 | { 12 | "id": 2, 13 | "name": "岗位名称A", 14 | "number": 8, 15 | "pname": "上级岗位名称" 16 | } 17 | ] 18 | } -------------------------------------------------------------------------------- /src/data/yuexuequan/select-person.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "data": [ 4 | { 5 | "id": 1, 6 | "text": "张三" 7 | }, 8 | { 9 | "id": 2, 10 | "text": "李四" 11 | }, 12 | { 13 | "id": 3, 14 | "text": "王五" 15 | }, 16 | { 17 | "id": 4, 18 | "text": "赵六" 19 | } 20 | ] 21 | } -------------------------------------------------------------------------------- /src/demo/tpl/dialog-alert.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
{{confirmText}}
4 |
5 | 6 |
7 |
8 |
-------------------------------------------------------------------------------- /src/demo/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 404 6 | 7 | 8 | 9 | 10 | 11 |
12 |
13 | 抱歉,您请求的页面没有找到! 14 |
15 |
16 | 17 | 18 | -------------------------------------------------------------------------------- /src/data/autocomplete.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "data": [ 4 | { 5 | "id": 1, 6 | "text": "A1" 7 | }, 8 | { 9 | "id": 2, 10 | "text": "A2" 11 | }, 12 | { 13 | "id": 3, 14 | "text": "A3" 15 | }, 16 | { 17 | "id": 4, 18 | "text": "A4" 19 | }, 20 | { 21 | "id": 5, 22 | "text": "A5" 23 | }, 24 | { 25 | "id": 6, 26 | "text": "A6" 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /src/demo/tpl/dialog-confirm.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
{{confirmText}}
4 |
5 | 6 | 7 |
8 |
9 |
-------------------------------------------------------------------------------- /src/demo/500.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 500 6 | 7 | 8 | 9 | 10 | 11 |
12 |
13 | 抱歉,您请求的页面现在无法打开!
14 | 返回首页 15 |
16 |
17 | 18 | 19 | -------------------------------------------------------------------------------- /src/data/selectlist2.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "data": [ 4 | { 5 | "value": "1", 6 | "text": "B1" 7 | }, 8 | { 9 | "value": "2", 10 | "text": "B2" 11 | }, 12 | { 13 | "value": "3", 14 | "text": "B3" 15 | }, 16 | { 17 | "value": "4", 18 | "text": "B4" 19 | }, 20 | { 21 | "value": "5", 22 | "text": "B5" 23 | }, 24 | { 25 | "value": "6", 26 | "text": "B6" 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /src/data/selectlist.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "data": [ 4 | { 5 | "value": "1", 6 | "text": "A1" 7 | }, 8 | { 9 | "value": "2", 10 | "text": "A2", 11 | "selected": 1 12 | }, 13 | { 14 | "value": "3", 15 | "text": "A3" 16 | }, 17 | { 18 | "value": "4", 19 | "text": "A4" 20 | }, 21 | { 22 | "value": "5", 23 | "text": "A5" 24 | }, 25 | { 26 | "value": "6", 27 | "text": "A6" 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /src/demo/tpl/config-floor.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
单元名称
每层户数
-------------------------------------------------------------------------------- /src/data/project-details.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "data": { 4 | "id": 1, 5 | "projectName": "万科 · 金色领域", 6 | "city": "成都", 7 | "companyName": "万科", 8 | "date": "2015.09.12", 9 | "pics": [ 10 | { 11 | "url": "../ui/img/example-1.jpg", 12 | "name": "图片一" 13 | }, 14 | { 15 | "url": "../ui/img/example-2.jpg", 16 | "name": "图片二" 17 | }, 18 | { 19 | "url": "../ui/img/example-2.jpg", 20 | "name": "图片三" 21 | } 22 | ] 23 | } 24 | } -------------------------------------------------------------------------------- /src/data/tree-discount.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "data": [ 4 | { 5 | "id": "1", 6 | "pid": "0", 7 | "name": "普通折扣列表" 8 | }, 9 | { 10 | "id": "11", 11 | "pid": "1", 12 | "name": "物业类型折扣" 13 | }, 14 | { 15 | "id": "12", 16 | "pid": "1", 17 | "name": "物业类型折扣" 18 | }, 19 | { 20 | "id": "2", 21 | "pid": "0", 22 | "name": "活动折扣列表" 23 | }, 24 | { 25 | "id": "3", 26 | "pid": "0", 27 | "name": "暗扣列表" 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /src/demo/tpl/dialog-tree.html: -------------------------------------------------------------------------------- 1 |
2 |
选择
3 |
4 |
5 |
6 | 7 | 8 |
9 |
10 |
-------------------------------------------------------------------------------- /src/data/tags.data: -------------------------------------------------------------------------------- 1 | { 2 | "code":200, 3 | "data":{ 4 | "suburb":["市中心", "郊 区"], 5 | "area":["新城区", "老城区"], 6 | "position":["东", "南", "西", "北"], 7 | "subway":["500米", "1000米内", "大于1000米"], 8 | "bus":["500米", "1000米内", "大于1000米"], 9 | "waterBus":["500米", "1000米内", "大于1000米"], 10 | "school":["学区房", "非学区房"], 11 | "property":["刚 需", "改 善", "第一居所", "第二居所"], 12 | "price":["领导者", "跟随者"], 13 | "priceType":["高价格", "中价格", "低价格"], 14 | "brand":["一线品牌", "二线品牌"], 15 | "brandArea":["全国品牌", "区域品牌", "地方品牌"], 16 | "propertyRatio":["低层低密度", "低层高密度", "高层低密度", "高层高密度"] 17 | } 18 | } -------------------------------------------------------------------------------- /src/demo/views/yuexuequan/average-chart.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
图表
5 |
6 |
7 |
8 | 9 |
10 |
13 |
14 |
15 |
16 |
-------------------------------------------------------------------------------- /src/data/room-list2.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "data": [ 5 | { 6 | "id": 11, 7 | "status":"sale", 8 | "col1": "1", 9 | "col2": "101", 10 | "col3": "A1", 11 | "col4": "三房两卫", 12 | "col5": "112 m2", 13 | "col6": "阳台 12 m2、露台 6 m2、地下室 60 m2", 14 | "col7": "无", 15 | "image": "../ui/img/default.png" 16 | }, 17 | { 18 | "id": 12, 19 | "status":"", 20 | "col1": "1", 21 | "col2": "101", 22 | "col3": "A1", 23 | "col4": "三房两卫", 24 | "col5": "112 m2", 25 | "col6": "阳台 12 m2、露台 6 m2、地下室 60 m2", 26 | "col7": "无" 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /src/demo/tpl/pagination2.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/data/yuexuequan/table-subject.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "options": { 5 | "totalCount": 60, 6 | "pageSize": 20 7 | }, 8 | "thead": [ 9 | "科目", 10 | "优秀线", 11 | "及格线", 12 | "差控线" 13 | ], 14 | "data": [ 15 | { 16 | "id": 1, 17 | "name": "语文", 18 | "score1": "120", 19 | "score2": "90", 20 | "score3": "54" 21 | }, 22 | { 23 | "id": 2, 24 | "name": "数学", 25 | "score1": "120", 26 | "score2": "90", 27 | "score3": "54" 28 | }, 29 | { 30 | "id": 3, 31 | "name": "英语", 32 | "score1": "120", 33 | "score2": "90", 34 | "score3": "54" 35 | } 36 | ] 37 | } -------------------------------------------------------------------------------- /src/data/customer-list-rc.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "options": { 5 | "totalCount": 60, 6 | "pageSize": 20 7 | }, 8 | "data": [ 9 | { 10 | "id": 11, 11 | "status": "未到访", 12 | "name": "张三", 13 | "tel": "13800138000", 14 | "gender": "男", 15 | "advisor": "顾问A", 16 | "saleGroup": "1组", 17 | "saleAgent": "张经理", 18 | "hasUpdateDoc": "down.html" 19 | }, 20 | { 21 | "id": 12, 22 | "status": "未到访", 23 | "name": "张三", 24 | "tel": "13800138000", 25 | "gender": "男", 26 | "advisor": "顾问A", 27 | "saleGroup": "2组", 28 | "saleAgent": "张经理", 29 | "hasUpdateDoc": "down.html" 30 | } 31 | ] 32 | } -------------------------------------------------------------------------------- /src/data/discount-list.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "data": [ 5 | { 6 | "id": 11, 7 | "col1": "北岸组团", 8 | "col2": "VIP优惠", 9 | "col3": "开发商金卡优惠", 10 | "col4": "减点", 11 | "col5": "3.5%", 12 | "col6": "/", 13 | "col7": "否", 14 | "col8": "--", 15 | "col9": "--", 16 | "col10": "整个项目", 17 | "col11": "--" 18 | }, 19 | { 20 | "id": 12, 21 | "col1": "北岸组团", 22 | "col2": "金卡优惠", 23 | "col3": "开发商金卡优惠", 24 | "col4": "减点", 25 | "col5": "2.5%", 26 | "col6": "/", 27 | "col7": "否", 28 | "col8": "--", 29 | "col9": "--", 30 | "col10": "整个项目", 31 | "col11": "--" 32 | } 33 | ] 34 | } -------------------------------------------------------------------------------- /src/data/yuexuequan/calendar.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "data": { 4 | "20160508": { 5 | "css": "expire", 6 | "eventList": [ 7 | "测试1测试1测试1测试1测试1测试1测试1", 8 | "测试1测试1测试1测试1测试1测试1测试1", 9 | "测试1测试1测试1测试1测试1测试1测试1" 10 | ] 11 | }, 12 | "20160522": { 13 | "css": "remind", 14 | "eventList": [ 15 | "测试1测试1测试1测试1测试1测试2测试1", 16 | "测试1测试1测试1测试1测试1测试2测试2", 17 | "测试1测试1测试1测试1测试1测试2测试3" 18 | ] 19 | }, 20 | "20160525": { 21 | "css": "remind", 22 | "eventList": [ 23 | "测试1测试1测试1测试1测试1测试3测试1", 24 | "测试1测试1测试1测试1测试1测试3测试2", 25 | "测试1测试1测试1测试1测试1测试3测试3", 26 | "测试1测试1测试1测试1测试1测试3测试4" 27 | ] 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /src/demo/tpl/pagination.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/demo/tpl/table-list.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 |
6 |
7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 20 | 21 | 22 |
{{hValue}}
{{$index}} 18 | 19 |
-------------------------------------------------------------------------------- /src/data/project-menu.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "data": [ 4 | { 5 | "id": 1, 6 | "projectName": "4万科 · 金色领域", 7 | "date": "2015.09.12", 8 | "avatar": "../ui/img/avatar.png", 9 | "name": "肖瑞玲" 10 | }, 11 | { 12 | "id": 2, 13 | "projectName": "3万科 · 金色领域", 14 | "date": "2015.09.13", 15 | "avatar": "../ui/img/avatar.png", 16 | "name": "肖瑞玲" 17 | }, 18 | { 19 | "id": 3, 20 | "projectName": "2万科 · 金色领域", 21 | "date": "2015.09.14", 22 | "avatar": "../ui/img/avatar.png", 23 | "name": "肖瑞玲" 24 | }, 25 | { 26 | "id": 4, 27 | "projectName": "1万科 · 金色领域", 28 | "date": "2015.09.15", 29 | "avatar": "../ui/img/avatar.png", 30 | "name": "肖瑞玲" 31 | } 32 | ] 33 | } -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [haovei]# Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 13 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 14 | -------------------------------------------------------------------------------- /src/data/yuexuequan/table-wages.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "options": { 5 | "totalCount": 60, 6 | "pageSize": 20 7 | }, 8 | "data": [ 9 | { 10 | "id": 11, 11 | "teacherName": "张三", 12 | "col2": "教务处", 13 | "col3": "教务处", 14 | "col4": "2016-2-29", 15 | "status": 1, 16 | "overdue": 2 17 | }, 18 | { 19 | "id": 12, 20 | "teacherName": "李四", 21 | "col2": "教务处", 22 | "col3": "教务处", 23 | "col4": "2016-2-29", 24 | "status": 2, 25 | "overdue": 2 26 | }, 27 | { 28 | "id": 13, 29 | "teacherName": "王五", 30 | "col2": "教务处", 31 | "col3": "教务处", 32 | "col4": "2016-2-29", 33 | "status": 2 34 | }, 35 | { 36 | "id": 14, 37 | "teacherName": "赵六", 38 | "col2": "教务处", 39 | "col3": "教务处", 40 | "col4": "2016-2-29", 41 | "status": 2 42 | } 43 | ] 44 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "manage", 3 | "version": "3.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "start": "gulp develop", 9 | "build": "gulp" 10 | }, 11 | "author": "", 12 | "license": "ISC", 13 | "devDependencies": { 14 | "gulp": "^3.9.1", 15 | "gulp-autoprefixer": "^3.1.0", 16 | "gulp-babel": "^6.1.2", 17 | "gulp-cdn": "^1.1.3", 18 | "gulp-clean": "^0.3.2", 19 | "gulp-concat": "^2.6.0", 20 | "gulp-footer": "^1.0.5", 21 | "gulp-header": "^1.8.7", 22 | "gulp-imagemin": "^3.0.2", 23 | "gulp-jshint": "^2.0.1", 24 | "gulp-less": "^3.1.0", 25 | "gulp-minify-css": "^1.2.4", 26 | "gulp-minify-html": "^1.0.6", 27 | "gulp-ng-template": "^0.2.3", 28 | "gulp-nodemon": "^2.1.0", 29 | "gulp-preprocess": "^2.0.0", 30 | "gulp-uglify": "^2.0.0", 31 | "jshint": "^2.9.2" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/demo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 11 | 12 | 19 | 20 | 21 | 22 |
23 |
24 |
25 |
26 |
27 |
28 | 29 | -------------------------------------------------------------------------------- /src/demo/tpl/custom-config.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 16 | 19 | 20 | 21 | 22 | 23 | 24 | 27 | 28 | 29 |
{{th}}
{{$trIndex = $index + 1}} 12 | 14 | 15 | 17 | 18 |
25 | 26 |
-------------------------------------------------------------------------------- /src/data/yuexuequan/table-task.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "options": { 5 | "totalCount": 60, 6 | "pageSize": 20 7 | }, 8 | "thead": [ 9 | "任务名称", 10 | "接收人", 11 | "创建人", 12 | "创建时间", 13 | "状态", 14 | "操作" 15 | ], 16 | "data": [ 17 | { 18 | "id": 11, 19 | "col1": "检查各班学生仪表是否合格", 20 | "col2": "教务处", 21 | "col3": "教务处", 22 | "col4": "2016-2-29", 23 | "status": 1, 24 | "overdue": 2 25 | }, 26 | { 27 | "id": 12, 28 | "col1": "学习十八大精神", 29 | "col2": "教务处", 30 | "col3": "教务处", 31 | "col4": "2016-2-29", 32 | "status": 2, 33 | "overdue": 2 34 | }, 35 | { 36 | "id": 13, 37 | "col1": "检查各班寝室是否有危险物品", 38 | "col2": "教务处", 39 | "col3": "教务处", 40 | "col4": "2016-2-29", 41 | "status": 2 42 | }, 43 | { 44 | "id": 14, 45 | "col1": "征集论文", 46 | "col2": "教务处", 47 | "col3": "教务处", 48 | "col4": "2016-2-29", 49 | "status": 2 50 | } 51 | ] 52 | } -------------------------------------------------------------------------------- /src/demo/tpl/autocomplete.html: -------------------------------------------------------------------------------- 1 |
2 | 4 |
5 |
正在查询...
6 |
没有结果
7 |
8 |
9 |
{{ result.title }}
10 |
{{result.description}}
11 |
12 |
13 |
-------------------------------------------------------------------------------- /src/demo/login.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 登录 6 | 7 | 8 | 11 | 12 | 13 | 14 |
15 |
16 | 17 |
18 |
19 |
20 |
21 | 22 | 23 |
24 |
25 | 26 |
27 |
忘记密码?
28 |
29 | 30 | 31 | -------------------------------------------------------------------------------- /src/data/tree-contact.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "data": [ 4 | { 5 | "id": "1", 6 | "pid": "0", 7 | "name": "德育处" 8 | }, 9 | { 10 | "id": "5", 11 | "pid": "1", 12 | "name": "张三" 13 | }, 14 | { 15 | "id": "6", 16 | "pid": "1", 17 | "name": "李四" 18 | }, 19 | { 20 | "id": "2", 21 | "pid": "0", 22 | "name": "总务处" 23 | }, 24 | { 25 | "id": "21", 26 | "pid": "2", 27 | "name": "王五" 28 | }, 29 | { 30 | "id": "22", 31 | "pid": "2", 32 | "name": "赵六" 33 | }, 34 | { 35 | "id": "3", 36 | "pid": "0", 37 | "name": "教务处" 38 | }, 39 | { 40 | "id": "31", 41 | "pid": "3", 42 | "name": "张三" 43 | }, 44 | { 45 | "id": "32", 46 | "pid": "3", 47 | "name": "李四" 48 | }, 49 | { 50 | "id": "4", 51 | "pid": "0", 52 | "name": "后勤部门" 53 | }, 54 | { 55 | "id": "41", 56 | "pid": "4", 57 | "name": "王五" 58 | }, 59 | { 60 | "id": "42", 61 | "pid": "4", 62 | "name": "赵六" 63 | } 64 | ] 65 | } -------------------------------------------------------------------------------- /src/data/customer-list.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "options": { 5 | "totalCount": 60, 6 | "pageSize": 20 7 | }, 8 | "data": [ 9 | { 10 | "id": 11, 11 | "status": "未到访", 12 | "name": "张三", 13 | "tel": "13800138000", 14 | "gender": "男", 15 | "isAppoint": true, 16 | "time1": "12.16", 17 | "time2": "12.20", 18 | "isExpect": true, 19 | "inclination": "高", 20 | "callSuccessNum": 2, 21 | "callNum": 4, 22 | "customerSource": "来电", 23 | "advisor": "顾问A", 24 | "saleGroup": "1组", 25 | "saleAgent": "张经理", 26 | "hasDoc": "down.html" 27 | }, 28 | { 29 | "id": 12, 30 | "status": "未到访", 31 | "name": "张三", 32 | "tel": "13800138000", 33 | "gender": "男", 34 | "isAppoint": true, 35 | "time1": "12.16", 36 | "time2": "12.20", 37 | "isExpect": true, 38 | "inclination": "高", 39 | "callSuccessNum": 2, 40 | "callNum": 4, 41 | "customerSource": "来电", 42 | "advisor": "顾问A", 43 | "saleGroup": "2组", 44 | "saleAgent": "张经理", 45 | "hasDoc": "down.html" 46 | } 47 | ] 48 | } -------------------------------------------------------------------------------- /src/data/line-chart3.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "Success", 4 | "data": { 5 | "tooltip": { 6 | "formatter": "function (params) {return params.seriesName +'
' + params.name +'
' + params.data.name}", 7 | "trigger": "item" 8 | }, 9 | "xAxis": { 10 | "splitLine": { 11 | "show": false 12 | }, 13 | "name": "操作教师", 14 | "data": [ 15 | "王强(2016/02/15)", 16 | "王强(2016/02/15)", 17 | "唐应树(2016/02/22)", 18 | "李彦康(2016/02/22)" 19 | ], 20 | "type": "category" 21 | }, 22 | "yAxis": { 23 | "name": "操行" 24 | }, 25 | "series": [ 26 | { 27 | "name": "操行", 28 | "data": [ 29 | { 30 | "name": "上课不认真听讲", 31 | "value": "5" 32 | }, 33 | { 34 | "name": "上课不尊重老师", 35 | "value": "5" 36 | }, 37 | { 38 | "name": "宿舍熄灯后还在大声喧哗", 39 | "value": "10" 40 | }, 41 | { 42 | "name": "宿舍熄灯后还在大声喧哗", 43 | "value": "10" 44 | } 45 | ], 46 | "type": "line" 47 | } 48 | ] 49 | } 50 | } -------------------------------------------------------------------------------- /src/demo/ie6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 升级您的浏览器 6 | 7 | 8 | 9 |
10 |

请升级您的浏览器

11 | 12 |

你正在使用 Internet Explorer 的过期版本(IE6、IE7、IE8 或使用该内核的浏览器)。这意味着在升级浏览器前,你将无法访问此网站。为了给您带来更好的经验,我们建议您的浏览器升级到最新版本或其他标准web浏览器

13 | 14 |

如果你不知道升级浏览器是什么意思,请请教一些熟练电脑操作的朋友。如果你使用的不是IE6/7/8,而是360浏览器、QQ浏览器、搜狗浏览器等,出现这个页面是因为你使用的不是该浏览器的最新版本,升级至最新即可。

15 | 25 |
26 | 27 | 28 | -------------------------------------------------------------------------------- /src/data/yuexuequan/table-score.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "hasScore": false, 5 | "data": { 6 | "noScoreNum": 4, 7 | "hasScoreNum": 2, 8 | "list": [ 9 | { 10 | "id": 11, 11 | "col1": "高一1班", 12 | "col2": "WJ2ZG1101", 13 | "col3": "陈", 14 | "col4": "语文", 15 | "score": 112 16 | }, 17 | { 18 | "id": 12, 19 | "col1": "高一1班", 20 | "col2": "WJ2ZG1101", 21 | "col3": "陈", 22 | "col4": "语文", 23 | "score": 100 24 | }, 25 | { 26 | "id": 13, 27 | "col1": "高一1班", 28 | "col2": "WJ2ZG1101", 29 | "col3": "陈", 30 | "col4": "语文" 31 | }, 32 | { 33 | "id": 14, 34 | "col1": "高一1班", 35 | "col2": "WJ2ZG1101", 36 | "col3": "陈", 37 | "col4": "语文" 38 | }, 39 | { 40 | "id": 15, 41 | "col1": "高一1班", 42 | "col2": "WJ2ZG1101", 43 | "col3": "陈", 44 | "col4": "语文" 45 | }, 46 | { 47 | "id": 16, 48 | "col1": "高一1班", 49 | "col2": "WJ2ZG1101", 50 | "col3": "陈", 51 | "col4": "语文" 52 | } 53 | ] 54 | } 55 | } -------------------------------------------------------------------------------- /src/demo/tpl/uploader.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
' + 8 |
9 |
10 |
11 |
12 |
{{file.text}}{{file.progress}}%
13 |
{{file.name}}
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
-------------------------------------------------------------------------------- /src/data/members.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "data": [ 5 | { 6 | "id": 1, 7 | "col1": "2015001", 8 | "col2": "王晟", 9 | "col3": "产品总监", 10 | "col4": "中层管理", 11 | "col5": "新鸿基悦城", 12 | "status": true 13 | }, 14 | { 15 | "id": 2, 16 | "col1": "2015018", 17 | "col2": "兰剑", 18 | "col3": "技术总监", 19 | "col4": "中层管理", 20 | "col5": "华润凤凰城", 21 | "status": true 22 | }, 23 | { 24 | "id": 3, 25 | "col1": "2015001", 26 | "col2": "王晟", 27 | "col3": "产品总监", 28 | "col4": "中层管理", 29 | "col5": "新鸿基悦城", 30 | "status": false 31 | }, 32 | { 33 | "id": 4, 34 | "col1": "2015018", 35 | "col2": "兰剑", 36 | "col3": "技术总监", 37 | "col4": "中层管理", 38 | "col5": "华润凤凰城", 39 | "status": false 40 | }, 41 | { 42 | "id": 5, 43 | "col1": "2015001", 44 | "col2": "王晟", 45 | "col3": "产品总监", 46 | "col4": "中层管理", 47 | "col5": "新鸿基悦城", 48 | "status": false 49 | }, 50 | { 51 | "id": 6, 52 | "col1": "2015018", 53 | "col2": "兰剑", 54 | "col3": "技术总监", 55 | "col4": "中层管理", 56 | "col5": "华润凤凰城", 57 | "status": false 58 | } 59 | ] 60 | } -------------------------------------------------------------------------------- /src/demo/tpl/tree.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
什么也没有
14 |
15 | 30 |
-------------------------------------------------------------------------------- /src/data/project-panel.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "data": { 4 | "process1": 70, 5 | "process2": 50, 6 | "authList": [ 7 | { 8 | "id": 1, 9 | "name": "项目信息管理", 10 | "num": 6, 11 | "unit": "个项目标签", 12 | "url": "#/project-info.html" 13 | }, 14 | { 15 | "id": 2, 16 | "name": "户型管理", 17 | "num": 8, 18 | "unit": "个当前户型种类", 19 | "url": "#/project-house.html" 20 | }, 21 | { 22 | "id": 3, 23 | "name": "房源标签管理", 24 | "num": 32, 25 | "unit": "个房源标签", 26 | "url": "#/project-tags.html" 27 | }, 28 | { 29 | "id": 4, 30 | "name": "价格管理", 31 | "num": 13, 32 | "unit": "套报价房源", 33 | "url": "#/project-price.html" 34 | }, 35 | { 36 | "id": 5, 37 | "name": "生成房源", 38 | "num": 56, 39 | "unit": "套生成房源", 40 | "url": "#/project-source.html" 41 | }, 42 | { 43 | "id": 6, 44 | "name": "房间管理", 45 | "num": 37, 46 | "unit": "套可管理房间", 47 | "url": "#/project-room.html" 48 | }, 49 | { 50 | "id": 7, 51 | "name": "折扣管理", 52 | "num": 5, 53 | "unit": "套优惠房源", 54 | "url": "#/project-discount.html" 55 | } 56 | ] 57 | } 58 | } -------------------------------------------------------------------------------- /src/ui/less/angucomplete.less: -------------------------------------------------------------------------------- 1 | .angucomplete-holder { 2 | position: relative; 3 | } 4 | .angucomplete-dropdown { 5 | border: 1px solid #ECECEC; 6 | border-radius: 2px; 7 | width: 280px; 8 | max-height: 200px; 9 | overflow: auto; 10 | padding: 6px; 11 | cursor: pointer; 12 | z-index: 9999; 13 | position: absolute; 14 | /*top: 32px; 15 | left: 0px; 16 | */ 17 | margin-top: -2px; 18 | background-color: #FFF; 19 | box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); 20 | } 21 | .angucomplete-searching { 22 | color: #ACACAC; 23 | font-size: 14px; 24 | } 25 | .angucomplete-description { 26 | font-size: 14px; 27 | } 28 | .angucomplete-row { 29 | padding: 5px; 30 | color: #000; 31 | margin-bottom: 4px; 32 | } 33 | .angucomplete-selected-row, .angucomplete-row:hover { 34 | background-color: #4C637B; 35 | color: #FFF; 36 | border-radius: 3px; 37 | } 38 | .angucomplete-image-holder { 39 | padding-top: 2px; 40 | float: left; 41 | margin-right: 10px; 42 | margin-left: 5px; 43 | } 44 | .angucomplete-image { 45 | height: 34px; 46 | width: 34px; 47 | border-radius: 50%; 48 | border-color: #ECECEC; 49 | border-style: solid; 50 | border-width: 1px; 51 | } 52 | .angucomplete-image-default { 53 | /* Add your own default image here 54 | background-image: url('/assets/default.png'); 55 | */ 56 | background-position: center; 57 | background-size: contain; 58 | height: 34px; 59 | width: 34px; 60 | } -------------------------------------------------------------------------------- /src/data/form-structure.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "data": { 4 | "action": "../data/form.data", 5 | "items": [ 6 | { 7 | "name": "输入框", 8 | "value": "abc", 9 | "type": "text", 10 | "key": "input", 11 | "placeholder": "请输入" 12 | }, 13 | { 14 | "name": "日期", 15 | "type": "date", 16 | "key": "date", 17 | "placeholder": "请输入日期" 18 | }, 19 | { 20 | "name": "多选", 21 | "value": "选项2", 22 | "type": "checkbox", 23 | "key": "checkbox", 24 | "options": [ 25 | "选项1", 26 | "选项2", 27 | "选项3", 28 | "选项4" 29 | ] 30 | }, 31 | { 32 | "name": "单选", 33 | "value": "选项2", 34 | "type": "radio", 35 | "key": "radio", 36 | "options": [ 37 | "选项1", 38 | "选项2", 39 | "选项3", 40 | "选项4" 41 | ] 42 | }, 43 | { 44 | "name": "下拉", 45 | "value": "选项2", 46 | "type": "select", 47 | "key": "select", 48 | "options": [ 49 | "选项1", 50 | "选项2", 51 | "选项3", 52 | "选项4" 53 | ] 54 | }, 55 | { 56 | "name": "备注", 57 | "type": "textarea", 58 | "key": "textarea", 59 | "placeholder": "请输入备注" 60 | } 61 | ] 62 | } 63 | } -------------------------------------------------------------------------------- /src/ui/css/angucomplete.css: -------------------------------------------------------------------------------- 1 | .angucomplete-holder { 2 | position: relative; 3 | } 4 | .angucomplete-dropdown { 5 | border: 1px solid #ECECEC; 6 | border-radius: 2px; 7 | width: 280px; 8 | max-height: 200px; 9 | overflow: auto; 10 | padding: 6px; 11 | cursor: pointer; 12 | z-index: 9999; 13 | position: absolute; 14 | /*top: 32px; 15 | left: 0px; 16 | */ 17 | margin-top: -2px; 18 | background-color: #FFF; 19 | box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); 20 | } 21 | .angucomplete-searching { 22 | color: #ACACAC; 23 | font-size: 14px; 24 | } 25 | .angucomplete-description { 26 | font-size: 14px; 27 | } 28 | .angucomplete-row { 29 | padding: 5px; 30 | color: #000; 31 | margin-bottom: 4px; 32 | } 33 | .angucomplete-selected-row, 34 | .angucomplete-row:hover { 35 | background-color: #4C637B; 36 | color: #FFF; 37 | border-radius: 3px; 38 | } 39 | .angucomplete-image-holder { 40 | padding-top: 2px; 41 | float: left; 42 | margin-right: 10px; 43 | margin-left: 5px; 44 | } 45 | .angucomplete-image { 46 | height: 34px; 47 | width: 34px; 48 | border-radius: 50%; 49 | border-color: #ECECEC; 50 | border-style: solid; 51 | border-width: 1px; 52 | } 53 | .angucomplete-image-default { 54 | /* Add your own default image here 55 | background-image: url('/assets/default.png'); 56 | */ 57 | background-position: center; 58 | background-size: contain; 59 | height: 34px; 60 | width: 34px; 61 | } 62 | -------------------------------------------------------------------------------- /src/data/tree-org.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "data": [ 4 | { 5 | "id": "1", 6 | "pid": "0", 7 | "name": "校长" 8 | }, 9 | { 10 | "id": "11", 11 | "pid": "1", 12 | "name": "副校长1" 13 | }, 14 | { 15 | "id": "12", 16 | "pid": "1", 17 | "name": "副校长2" 18 | }, 19 | { 20 | "id": "13", 21 | "pid": "1", 22 | "name": "副校长3" 23 | }, 24 | { 25 | "id": "14", 26 | "pid": "1", 27 | "name": "总书记" 28 | }, 29 | { 30 | "id": "15", 31 | "pid": "1", 32 | "name": "校长助理" 33 | }, 34 | { 35 | "id": "111", 36 | "pid": "11", 37 | "name": "人员" 38 | }, 39 | { 40 | "id": "112", 41 | "pid": "11", 42 | "name": "教导处" 43 | }, 44 | { 45 | "id": "113", 46 | "pid": "11", 47 | "name": "教科室" 48 | }, 49 | { 50 | "id": "1121", 51 | "pid": "112", 52 | "name": "人员" 53 | }, 54 | { 55 | "id": "1122", 56 | "pid": "112", 57 | "name": "教研组" 58 | }, 59 | { 60 | "id": "1123", 61 | "pid": "112", 62 | "name": "实验室" 63 | }, 64 | { 65 | "id": "11221", 66 | "pid": "1122", 67 | "name": "人员" 68 | }, 69 | { 70 | "id": "11222", 71 | "pid": "1122", 72 | "name": "语文科目组" 73 | }, 74 | { 75 | "id": "11223", 76 | "pid": "1122", 77 | "name": "数学科目组" 78 | } 79 | ] 80 | } -------------------------------------------------------------------------------- /src/data/room-filter.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "data": { 5 | "area": [ 6 | { 7 | "id": 1, 8 | "name": "北岸组团" 9 | }, 10 | { 11 | "id": 2, 12 | "name": "南岸组团" 13 | }, 14 | { 15 | "id": 3, 16 | "name": "滨河组团" 17 | }, 18 | { 19 | "id": 4, 20 | "name": "中央组团" 21 | } 22 | ], 23 | "building": [ 24 | { 25 | "id": 1, 26 | "name": "1栋" 27 | }, 28 | { 29 | "id": 2, 30 | "name": "2栋" 31 | }, 32 | { 33 | "id": 3, 34 | "name": "3栋" 35 | }, 36 | { 37 | "id": 4, 38 | "name": "4栋" 39 | }, 40 | { 41 | "id": 5, 42 | "name": "5栋" 43 | }, 44 | { 45 | "id": 6, 46 | "name": "6栋" 47 | }, 48 | { 49 | "id": 7, 50 | "name": "7栋" 51 | }, 52 | { 53 | "id": 8, 54 | "name": "8栋" 55 | } 56 | ], 57 | "house": [ 58 | { 59 | "id": 1, 60 | "name": "A-1" 61 | }, 62 | { 63 | "id": 2, 64 | "name": "A-2" 65 | }, 66 | { 67 | "id": 3, 68 | "name": "A-3" 69 | }, 70 | { 71 | "id": 4, 72 | "name": "A-4" 73 | } 74 | ], 75 | "sale": [ 76 | { 77 | "id": 1, 78 | "name": "销控" 79 | }, 80 | { 81 | "id": 2, 82 | "name": "待售" 83 | }, 84 | { 85 | "id": 3, 86 | "name": "签约" 87 | } 88 | ] 89 | } 90 | } -------------------------------------------------------------------------------- /src/demo/views/dialog.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
弹窗
5 |
6 | 11 |
12 |
13 |
14 |
15 |
弹窗
16 |
17 | 20 | 23 |
24 |
25 |
26 |
编辑
27 |
28 | 31 |
32 |
33 |
34 |
-------------------------------------------------------------------------------- /src/demo/views/navigation.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 |
Haovei
6 |
项目经理
7 |
8 |
9 | 19 | 20 | 21 |
-------------------------------------------------------------------------------- /src/data/pie-chart.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "Success", 4 | "data": { 5 | "tooltip": { 6 | "trigger": "item", 7 | "formatter": "{a}
{b}: {c} ({d}%)" 8 | }, 9 | "legend": { 10 | "orient": "vertical", 11 | "x": "left", 12 | "data": [ 13 | "直接访问", 14 | "邮件营销", 15 | "联盟广告", 16 | "视频广告", 17 | "搜索引擎" 18 | ] 19 | }, 20 | "series": [ 21 | { 22 | "name": "访问来源", 23 | "type": "pie", 24 | "radius": [ 25 | "50%", 26 | "70%" 27 | ], 28 | "avoidLabelOverlap": false, 29 | "label": { 30 | "normal": { 31 | "show": false, 32 | "position": "center" 33 | }, 34 | "emphasis": { 35 | "show": true, 36 | "textStyle": { 37 | "fontSize": "30", 38 | "fontWeight": "bold" 39 | } 40 | } 41 | }, 42 | "labelLine": { 43 | "normal": { 44 | "show": false 45 | } 46 | }, 47 | "data": [ 48 | { 49 | "id": 1, 50 | "value": 335, 51 | "name": "直接访问" 52 | }, 53 | { 54 | "id": 2, 55 | "value": 310, 56 | "name": "邮件营销" 57 | }, 58 | { 59 | "id": 3, 60 | "value": 234, 61 | "name": "联盟广告" 62 | }, 63 | { 64 | "id": 4, 65 | "value": 135, 66 | "name": "视频广告" 67 | }, 68 | { 69 | "id": 5, 70 | "value": 1548, 71 | "name": "搜索引擎" 72 | } 73 | ] 74 | } 75 | ] 76 | } 77 | } -------------------------------------------------------------------------------- /src/data/room-table-list.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "options": { 5 | "totalCount": 20, 6 | "pageSize": 20 7 | }, 8 | "data": [ 9 | { 10 | "floor": 1, 11 | "col1": "101", 12 | "col1Status": "sale", 13 | "col2": "102", 14 | "col2Status": "sign", 15 | "col3": "103", 16 | "col3Status": "", 17 | "col4": "104", 18 | "col4Status": "sale" 19 | }, 20 | { 21 | "floor": 2, 22 | "col1": "201", 23 | "col1Status": "sale", 24 | "col2": "202", 25 | "col2Status": "sign", 26 | "col3": "203", 27 | "col3Status": "", 28 | "col4": "204", 29 | "col4Status": "sale" 30 | }, 31 | { 32 | "floor": 3, 33 | "col1": "301", 34 | "col1Status": "sale", 35 | "col2": "302", 36 | "col2Status": "sign", 37 | "col3": "303", 38 | "col3Status": "", 39 | "col4": "304", 40 | "col4Status": "sale" 41 | }, 42 | { 43 | "floor": 4, 44 | "col1": "401", 45 | "col1Status": "sale", 46 | "col2": "402", 47 | "col2Status": "sign", 48 | "col3": "403", 49 | "col3Status": "", 50 | "col4": "404", 51 | "col4Status": "sale" 52 | }, 53 | { 54 | "floor": 5, 55 | "col1": "501", 56 | "col1Status": "sale", 57 | "col2": "502", 58 | "col2Status": "sign", 59 | "col3": "503", 60 | "col3Status": "", 61 | "col4": "504", 62 | "col4Status": "sale" 63 | }, 64 | { 65 | "floor": 6, 66 | "col1": "601", 67 | "col1Status": "sale", 68 | "col2": "602", 69 | "col2Status": "sign", 70 | "col3": "603", 71 | "col3Status": "", 72 | "col4": "604", 73 | "col4Status": "sale" 74 | } 75 | ] 76 | } -------------------------------------------------------------------------------- /src/ui/modules/main/controllers.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hao on 15/11/5. 3 | */ 4 | 5 | define('main/controllers', ['main/init'], function () { 6 | /** 7 | * 主控 8 | */ 9 | function mainCtrl($scope) { 10 | $scope.mainStatus = { 11 | navFold: document.body.clientWidth < 1500, 12 | navigation: "", 13 | msgBubble: 0 //消息气泡 14 | }; 15 | $scope.mainConfig = window.Config || {}; 16 | 17 | 18 | //页面跳转 19 | $scope.pageTo = function (_url) { 20 | window.location.assign(_url); 21 | }; 22 | 23 | //获取主要信息 24 | if ($scope.mainConfig.getMainInfo) { 25 | $.getJSON($scope.mainConfig.getMainInfo, function (_data) { 26 | if (_data.code == 200) { 27 | angular.extend($scope.mainStatus, _data.data); 28 | } 29 | }) 30 | .complete(function () { 31 | $scope.$digest(); 32 | }); 33 | } 34 | 35 | //后退 36 | $(document).on("click", ".top-nav-wrap .backBtn", function () { 37 | window.history.back(); 38 | }) 39 | }; 40 | mainCtrl.$inject = ["$scope"]; 41 | 42 | /** 43 | * 一个空控制器 44 | */ 45 | function oneCtrl() { 46 | 47 | } 48 | 49 | /** 50 | * 侧边菜单 51 | */ 52 | function sideNav($scope) { 53 | }; 54 | sideNav.$inject = ["$scope"]; 55 | 56 | /** 57 | * 58 | */ 59 | function pageCtrl($scope, modal) { 60 | modal.closeAll(); 61 | }; 62 | pageCtrl.$inject = ["$scope", "modal"]; 63 | 64 | 65 | angular.module('manageApp.main') 66 | .controller('mainCtrl', mainCtrl) 67 | .controller('oneCtrl', oneCtrl) 68 | .controller('sideNav', sideNav) 69 | .controller('pageCtrl', pageCtrl) 70 | }); -------------------------------------------------------------------------------- /src/demo/views/dialog-table.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
什么也没有
15 |
16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 |
户型名称房屋用途房 型预售面积附属/赠送类型和面积户型图其他信息
{{tr.name}}{{tr.col1}}{{tr.col2}}{{tr.col3}}{{tr.col4}}{{tr.col5}}{{tr.col6}}
43 |
44 |
45 |
-------------------------------------------------------------------------------- /src/data/table-list.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "options": { 5 | "totalCount": 60, 6 | "pageSize": 20 7 | }, 8 | "thead": [ 9 | "户型名称", 10 | "房屋用途", 11 | "房型", 12 | "预售面积", 13 | "附属/赠送类型和面积", 14 | "户型图", 15 | "其他信息" 16 | ], 17 | "data": [ 18 | { 19 | "id": 11, 20 | "name": "A1", 21 | "col1": "住宅", 22 | "col2": "三房两卫", 23 | "col3": "112 m2", 24 | "col4": "阳台 12 m2、露台 6 m2、地下室 60 m2", 25 | "col5": "无", 26 | "col6": "无" 27 | }, 28 | { 29 | "id": 12, 30 | "name": "A1", 31 | "col1": "住宅", 32 | "col2": "三房两卫", 33 | "col3": "112 m2", 34 | "col4": "阳台 12 m2", 35 | "col5": "无", 36 | "col6": "无" 37 | }, 38 | { 39 | "id": 13, 40 | "name": "A1", 41 | "col1": "住宅", 42 | "col2": "三房两卫", 43 | "col3": "112 m2", 44 | "col4": "露台 6 m2、地下室 60 m2", 45 | "col5": "无", 46 | "col6": "无" 47 | }, 48 | { 49 | "id": 14, 50 | "name": "A1", 51 | "col1": "住宅", 52 | "col2": "两房两卫", 53 | "col3": "96 m2", 54 | "col4": "阳台 12 m2、露台 6 m2、地下室 60 m2", 55 | "col5": "无", 56 | "col6": "无" 57 | }, 58 | { 59 | "id": 15, 60 | "name": "A1", 61 | "col1": "住宅", 62 | "col2": "三房两卫", 63 | "col3": "112 m2", 64 | "col4": "露台 6 m2、地下室 60 m2", 65 | "col5": "无", 66 | "col6": "无" 67 | }, 68 | { 69 | "id": 16, 70 | "name": "A1", 71 | "col1": "住宅", 72 | "col2": "两房两卫", 73 | "col3": "98 m2", 74 | "col4": "阳台 12 m2、露台 6 m2、地下室 60 m2", 75 | "col5": "无", 76 | "col6": "无" 77 | }, 78 | { 79 | "id": 17, 80 | "name": "A1", 81 | "col1": "住宅", 82 | "col2": "三房两卫", 83 | "col3": "112 m2", 84 | "col4": "阳台 12 m2", 85 | "col5": "无", 86 | "col6": "无" 87 | } 88 | ] 89 | } -------------------------------------------------------------------------------- /src/ui/less/ie6.less: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | /*reset*/ 3 | body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input, textarea, th, td { margin: 0; padding: 0 } 4 | form { display: inline } 5 | body, button, input, select, textarea { font: 12px/1.8 tahoma, arial, "\5b8b\4f53", sans-serif } 6 | h1, h2, h3, h4, h5, h6 { font-size: 100% } 7 | address, cite, dfn, em, var { font-style: normal } 8 | code, kbd, pre, samp { font-family: courier new, courier, monospace } 9 | small { font-size: 12px } 10 | ul, ol { list-style: none } 11 | a { text-decoration: none } 12 | sup { vertical-align: text-top } 13 | sub { vertical-align: text-bottom } 14 | legend { color: #000 } 15 | fieldset, img { border: 0 } 16 | button, input, select, textarea { font-size: 100% } 17 | table { border-collapse: collapse; border-spacing: 0 } 18 | article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { display: block; margin: 0; padding: 0 } 19 | mark { background: #FF0 } 20 | .clearfix { *zoom: 1 21 | } 22 | .clearfix:before, .clearfix:after { display: table; content: "" } 23 | .clearfix:after { clear: both } 24 | .undis { display: none } 25 | .text-muted { color: #AAA; } 26 | /**/ 27 | .box { position: absolute; top: 40%; left: 50%; width: 800px; margin-left: -400px; margin-top: -150px } 28 | .box h1 { font: 36px "Microsoft Yahei", "SimHei"; color: #333 } 29 | .box p { margin: 10px 0; font-size: 14px; } 30 | .box ul { margin-top: 20px; } 31 | .box li { float: left;} 32 | .box li a { display: inline-block; width: 130px; padding:10px 0 10px 70px; color: #808080; background: 0 50% no-repeat; } 33 | .box li a:hover { color: #000; } 34 | .box .icon-ie { background-image: url(../img/browser/ie.jpg); } 35 | .box .icon-chrome { background-image: url(../img/browser/chrome.jpg); } 36 | .box .icon-ff { background-image: url(../img/browser/firefox.jpg); } 37 | .box .icon-opera { background-image: url(../img/browser/opera.jpg); } -------------------------------------------------------------------------------- /src/data/price-filter.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "data": { 5 | "area": [ 6 | { 7 | "id": 1, 8 | "name": "北岸组团" 9 | }, 10 | { 11 | "id": 2, 12 | "name": "南岸组团" 13 | }, 14 | { 15 | "id": 3, 16 | "name": "滨河组团" 17 | }, 18 | { 19 | "id": 4, 20 | "name": "中央组团" 21 | } 22 | ], 23 | "building": [ 24 | { 25 | "id": 1, 26 | "name": "1栋" 27 | }, 28 | { 29 | "id": 2, 30 | "name": "2栋" 31 | }, 32 | { 33 | "id": 3, 34 | "name": "3栋" 35 | }, 36 | { 37 | "id": 4, 38 | "name": "4栋" 39 | }, 40 | { 41 | "id": 5, 42 | "name": "5栋" 43 | }, 44 | { 45 | "id": 6, 46 | "name": "6栋" 47 | }, 48 | { 49 | "id": 7, 50 | "name": "7栋" 51 | }, 52 | { 53 | "id": 8, 54 | "name": "8栋" 55 | } 56 | ], 57 | "house": [ 58 | { 59 | "id": 1, 60 | "name": "A-1" 61 | }, 62 | { 63 | "id": 2, 64 | "name": "A-2" 65 | }, 66 | { 67 | "id": 3, 68 | "name": "A-3" 69 | }, 70 | { 71 | "id": 4, 72 | "name": "A-4" 73 | } 74 | ], 75 | "sale": [ 76 | { 77 | "id": 1, 78 | "name": "销控" 79 | }, 80 | { 81 | "id": 2, 82 | "name": "待售" 83 | }, 84 | { 85 | "id": 3, 86 | "name": "签约" 87 | } 88 | ], 89 | "priceStatus": [ 90 | { 91 | "id": 1, 92 | "name": "完成报价" 93 | }, 94 | { 95 | "id": 2, 96 | "name": "未完成报价" 97 | } 98 | ], 99 | "discount": [], 100 | "date": [ 101 | { 102 | "id": 1, 103 | "name": "15.10.06" 104 | }, 105 | { 106 | "id": 2, 107 | "name": "15.10.08" 108 | } 109 | ] 110 | } 111 | } -------------------------------------------------------------------------------- /src/data/customer-filter.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "data": { 5 | "saleGroup": [ 6 | { 7 | "id": 1, 8 | "name": "北岸组团" 9 | }, 10 | { 11 | "id": 2, 12 | "name": "南岸组团" 13 | }, 14 | { 15 | "id": 3, 16 | "name": "滨河组团" 17 | }, 18 | { 19 | "id": 4, 20 | "name": "中央组团" 21 | } 22 | ], 23 | "building": [ 24 | { 25 | "id": 1, 26 | "name": "1栋" 27 | }, 28 | { 29 | "id": 2, 30 | "name": "2栋" 31 | }, 32 | { 33 | "id": 3, 34 | "name": "3栋" 35 | }, 36 | { 37 | "id": 4, 38 | "name": "4栋" 39 | }, 40 | { 41 | "id": 5, 42 | "name": "5栋" 43 | }, 44 | { 45 | "id": 6, 46 | "name": "6栋" 47 | }, 48 | { 49 | "id": 7, 50 | "name": "7栋" 51 | }, 52 | { 53 | "id": 8, 54 | "name": "8栋" 55 | } 56 | ], 57 | "house": [ 58 | { 59 | "id": 1, 60 | "name": "A-1" 61 | }, 62 | { 63 | "id": 2, 64 | "name": "A-2" 65 | }, 66 | { 67 | "id": 3, 68 | "name": "A-3" 69 | }, 70 | { 71 | "id": 4, 72 | "name": "A-4" 73 | } 74 | ], 75 | "sale": [ 76 | { 77 | "id": 1, 78 | "name": "销控" 79 | }, 80 | { 81 | "id": 2, 82 | "name": "待售" 83 | }, 84 | { 85 | "id": 3, 86 | "name": "签约" 87 | } 88 | ], 89 | "priceStatus": [ 90 | { 91 | "id": 1, 92 | "name": "完成报价" 93 | }, 94 | { 95 | "id": 2, 96 | "name": "未完成报价" 97 | } 98 | ], 99 | "discount": [], 100 | "date": [ 101 | { 102 | "id": 1, 103 | "name": "15.10.06" 104 | }, 105 | { 106 | "id": 2, 107 | "name": "15.10.08" 108 | } 109 | ] 110 | } 111 | } -------------------------------------------------------------------------------- /src/demo/views/example.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
实例
4 |
5 | 10 |
11 |
12 |
13 |
14 |
实例1
15 | 28 |
29 |
30 |
实例2
31 |
32 | 列表1 33 | 列表2 34 | 列表3 35 | 列表4 36 | Form 37 |
38 |
39 |
40 |
-------------------------------------------------------------------------------- /src/ui/less/login.less: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /*reset*/ 3 | body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input, textarea, th, td { margin: 0; padding: 0 } 4 | form { display: inline } 5 | body, button, input, select, textarea { font: 14px/1.5 Helvetica, "lantinghei sc", "Microsoft Yahei", tahoma, arial, "\5b8b\4f53", sans-serif; 6 | -webkit-font-smoothing: antialiased; -webkit-text-stroke-width: 0.2px; -moz-osx-font-smoothing: grayscale; } 7 | h1, h2, h3, h4, h5, h6 { font-size: 100% } 8 | address, cite, dfn, em, var { font-style: normal } 9 | code, kbd, pre, samp { font-family: courier new, courier, monospace } 10 | small { font-size: 12px } 11 | ul, ol { list-style: none } 12 | a { text-decoration: none; color: #9BA5A7; cursor: pointer; white-space: nowrap; } 13 | a:hover { text-decoration: underline; } 14 | sup { vertical-align: text-top } 15 | sub { vertical-align: text-bottom } 16 | legend { color: #000 } 17 | fieldset, img { border: 0 } 18 | button, input, select, textarea { font-size: 14px; } 19 | table { border-collapse: collapse; border-spacing: 0 } 20 | article, aside, details, figcaption, figure, footer, header, menu, nav, section, summary, time, mark, audio, video { display: block; margin: 0; padding: 0 } 21 | .text-right { text-align: right; } 22 | .fl { float: left; } 23 | .fr { float: right; } 24 | /**/ 25 | body { background: #4D637B; } 26 | .login-wrap { position: fixed; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 280px; } 27 | .login-wrap .avatar { width: 128px; margin: 0 auto 38px auto; } 28 | .login-wrap .avatar img { width: 128px; height: 128px; border-radius: 64px; display: block; } 29 | .login-wrap .row { margin-bottom: 12px; } 30 | .login-wrap .ipt { width: 100%; height: 36px; box-sizing: border-box; padding: 5px 10px; border-radius: 3px; background: #F5F5F5; border: 1px solid #E6E6E6; outline: none; } 31 | .login-wrap .ipt-s { width: 175px; } 32 | .login-wrap .btn { width: 100%; height: 36px; box-sizing: border-box; border-radius: 3px; border: none; background: #15BBF9; color: #FFF; outline: none; } 33 | .login-wrap .captcha { height: 36px; width: 90px; border-radius: 3px; } 34 | .logo { position: fixed; bottom: 0; left: 0; right: 0; width: 260px; margin: auto; text-align: center; } 35 | -------------------------------------------------------------------------------- /src/data/line-average.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "Success", 4 | "data": { 5 | "tooltip": { 6 | "trigger": "axis" 7 | }, 8 | "legend": { 9 | "data": [ 10 | "语文", 11 | "数学", 12 | "总成绩" 13 | ], 14 | "selectedMode": "single", 15 | "selected": { 16 | "数学": false 17 | } 18 | }, 19 | "xAxis": [ 20 | { 21 | "type": "category", 22 | "boundaryGap": true, 23 | "data": [ 24 | "入学考", 25 | "考试一", 26 | "考试二", 27 | "考试三", 28 | "考试四", 29 | "考试五", 30 | "期末考" 31 | ] 32 | } 33 | ], 34 | "yAxis": [ 35 | { 36 | "type": "value" 37 | } 38 | ], 39 | "series": [ 40 | { 41 | "name": "语文", 42 | "type": "line", 43 | "data": [ 44 | 120, 45 | 110, 46 | 123, 47 | 120, 48 | 130, 49 | 121, 50 | 133 51 | ], 52 | "markLine": { 53 | "data": [ 54 | { 55 | "type": "average", 56 | "name": "平均值", 57 | "yAxis": 100 58 | } 59 | ] 60 | } 61 | }, 62 | { 63 | "name": "数学", 64 | "type": "line", 65 | "data": [ 66 | 133, 67 | { 68 | "value": 120, 69 | "symbolSize": 10 70 | }, 71 | 110, 72 | 123, 73 | { 74 | "value": 120, 75 | "symbolSize": 10 76 | }, 77 | 130, 78 | { 79 | "value": 121, 80 | "symbolSize": 10 81 | } 82 | ] 83 | }, 84 | { 85 | "name": "总成绩", 86 | "type": "line", 87 | "data": [ 88 | 633, 89 | { 90 | "value": 620, 91 | "symbolSize": 10 92 | }, 93 | 610, 94 | 623, 95 | { 96 | "value": 620, 97 | "symbolSize": 10 98 | }, 99 | 630, 100 | { 101 | "value": 621, 102 | "symbolSize": 10 103 | } 104 | ] 105 | } 106 | ] 107 | } 108 | } -------------------------------------------------------------------------------- /src/data/line-chart2.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "Success", 4 | "data": { 5 | "tooltip": { 6 | "trigger": "axis" 7 | }, 8 | "legend": { 9 | "data": [ 10 | "语文", 11 | "数学", 12 | "总成绩" 13 | ], 14 | "selectedMode": "single", 15 | "selected": { 16 | "数学": false 17 | } 18 | }, 19 | "xAxis": [ 20 | { 21 | "type": "category", 22 | "boundaryGap": true, 23 | "data": [ 24 | "入学考", 25 | "考试一", 26 | "考试二", 27 | "考试三", 28 | "考试四", 29 | "考试五", 30 | "期末考" 31 | ] 32 | } 33 | ], 34 | "yAxis": [ 35 | { 36 | "type": "value" 37 | } 38 | ], 39 | "series": [ 40 | { 41 | "name": "语文", 42 | "type": "line", 43 | "data": [ 44 | 120, 45 | { 46 | "value": 110, 47 | "symbolSize": 10 48 | }, 49 | 123, 50 | 120, 51 | { 52 | "value": 130, 53 | "symbolSize": 10 54 | }, 55 | 121, 56 | { 57 | "value": 133, 58 | "symbolSize": 10 59 | } 60 | ] 61 | }, 62 | { 63 | "name": "数学", 64 | "type": "line", 65 | "data": [ 66 | 133, 67 | { 68 | "value": 120, 69 | "symbolSize": 10 70 | }, 71 | 110, 72 | 123, 73 | { 74 | "value": 120, 75 | "symbolSize": 10 76 | }, 77 | 130, 78 | { 79 | "value": 121, 80 | "symbolSize": 10 81 | } 82 | ] 83 | }, 84 | { 85 | "name": "总成绩", 86 | "type": "line", 87 | "data": [ 88 | 633, 89 | { 90 | "value": 620, 91 | "symbolSize": 10 92 | }, 93 | 610, 94 | 623, 95 | { 96 | "value": 620, 97 | "symbolSize": 10 98 | }, 99 | 630, 100 | { 101 | "value": 621, 102 | "symbolSize": 10 103 | } 104 | ] 105 | } 106 | ] 107 | } 108 | } -------------------------------------------------------------------------------- /src/demo/views/list-view.html: -------------------------------------------------------------------------------- 1 |
2 |
查看折扣
3 |
4 |
5 |
6 |
项目名称
7 |
/ 北岸组团 {{ngDialogData.id}}
8 |
9 |
10 |
折扣类型
11 |
/ 银卡优惠
12 |
13 |
14 |
15 |
16 |
折扣名称
17 |
开发银金卡优惠
18 |
19 |
20 |
特价房是否适用
21 |
适用
22 |
23 |
24 |
计算方法
25 |
减点
26 |
27 |
28 |
折扣(%)
29 |
1.5
30 |
31 |
32 |
优惠金额
33 |
--
34 |
35 |
36 |
折扣范围
37 |
整个项目
38 |
39 |
40 |
生效日期
41 |
--
42 |
43 |
44 |
失效日期
45 |
--
46 |
47 |
48 |
折扣说明
49 |
--
50 |
51 |
52 |
53 |
-------------------------------------------------------------------------------- /src/data/tree.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "data": [ 4 | { 5 | "id": "1", 6 | "pid": "0", 7 | "name": "北岸组团" 8 | }, 9 | { 10 | "id": "11", 11 | "pid": "1", 12 | "name": "一期" 13 | }, 14 | { 15 | "id": "12", 16 | "pid": "1", 17 | "name": "二期" 18 | }, 19 | { 20 | "id": "121", 21 | "pid": "12", 22 | "name": "1栋" 23 | }, 24 | { 25 | "id": "122", 26 | "pid": "12", 27 | "name": "2栋" 28 | }, 29 | { 30 | "id": "2", 31 | "pid": "0", 32 | "name": "南岸组团" 33 | }, 34 | { 35 | "id": 21, 36 | "pid": 2, 37 | "name": "一期" 38 | }, 39 | { 40 | "id": "22", 41 | "pid": "2", 42 | "name": "二期" 43 | }, 44 | { 45 | "id": "211", 46 | "pid": "21", 47 | "name": "3栋" 48 | }, 49 | { 50 | "id": "212", 51 | "pid": "21", 52 | "name": "4栋" 53 | }, 54 | { 55 | "id": "221", 56 | "pid": "22", 57 | "name": "1栋" 58 | }, 59 | { 60 | "id": "222", 61 | "pid": "22", 62 | "name": "2栋" 63 | }, 64 | { 65 | "id": "3", 66 | "pid": "0", 67 | "name": "滨河组团" 68 | }, 69 | { 70 | "id": "31", 71 | "pid": "3", 72 | "name": "一期" 73 | }, 74 | { 75 | "id": "32", 76 | "pid": "3", 77 | "name": "二期" 78 | }, 79 | { 80 | "id": "311", 81 | "pid": "31", 82 | "name": "3栋" 83 | }, 84 | { 85 | "id": "312", 86 | "pid": "31", 87 | "name": "4栋" 88 | }, 89 | { 90 | "id": "321", 91 | "pid": "32", 92 | "name": "1栋" 93 | }, 94 | { 95 | "id": "322", 96 | "pid": "32", 97 | "name": "2栋" 98 | }, 99 | { 100 | "id": "4", 101 | "pid": "0", 102 | "name": "中央组团" 103 | }, 104 | { 105 | "id": "41", 106 | "pid": "4", 107 | "name": "一期" 108 | }, 109 | { 110 | "id": "42", 111 | "pid": "4", 112 | "name": "二期" 113 | }, 114 | { 115 | "id": "411", 116 | "pid": "41", 117 | "name": "3栋" 118 | }, 119 | { 120 | "id": "412", 121 | "pid": "41", 122 | "name": "4栋" 123 | }, 124 | { 125 | "id": "421", 126 | "pid": "42", 127 | "name": "1栋" 128 | }, 129 | { 130 | "id": "422", 131 | "pid": "42", 132 | "name": "2栋" 133 | } 134 | ] 135 | } -------------------------------------------------------------------------------- /src/demo/views/yuexuequan/org-edit.html: -------------------------------------------------------------------------------- 1 |
2 |
人员配置
3 |
4 |
5 |
6 |
7 |
机构名称
8 |
9 |
10 |
11 |
负责人
12 |
13 | 17 |
18 |
19 |
20 |
助理
21 |
22 | 26 |
27 |
28 |
29 |
语文科目组负责人
30 |
31 | 35 |
36 |
37 |
38 |
数学科目组负责人
39 |
40 | 44 |
45 |
46 |
47 | 48 | 49 |
50 |
51 |
52 |
53 |
-------------------------------------------------------------------------------- /src/data/radar-chart.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "Success", 4 | "data": { 5 | "tooltip": { 6 | "trigger": "axis", 7 | "axisPointer": { 8 | "type": "shadow" 9 | } 10 | }, 11 | "legend": { 12 | "orient": "vertical", 13 | "x": "left", 14 | "data": [ 15 | "当前成绩", 16 | "平均成绩" 17 | ] 18 | }, 19 | "polar": [ 20 | { 21 | "indicator": [ 22 | { 23 | "text": "语文", 24 | "max": 150 25 | }, 26 | { 27 | "text": "数学", 28 | "max": 150 29 | }, 30 | { 31 | "text": "英语", 32 | "max": 150 33 | }, 34 | { 35 | "text": "政治", 36 | "max": 100 37 | }, 38 | { 39 | "text": "历史", 40 | "max": 100 41 | }, 42 | { 43 | "text": "地理", 44 | "max": 100 45 | }, 46 | { 47 | "text": "物理", 48 | "max": 100 49 | }, 50 | { 51 | "text": "化学", 52 | "max": 100 53 | }, 54 | { 55 | "text": "生物", 56 | "max": 100 57 | } 58 | ] 59 | } 60 | ], 61 | "series": [ 62 | { 63 | "type": "radar", 64 | "itemStyle": { 65 | "normal": { 66 | "areaStyle": {} 67 | } 68 | }, 69 | "data": [ 70 | { 71 | "value": [ 72 | 100, 73 | 130, 74 | 110, 75 | 78, 76 | 89, 77 | 89, 78 | 95, 79 | 90 80 | ], 81 | "name": "当前成绩" 82 | } 83 | ] 84 | }, 85 | { 86 | "type": "radar", 87 | "itemStyle": { 88 | "normal": { 89 | "borderColor": "rgba(0, 0, 0)", 90 | "areaStyle": { 91 | "opacity": 0.1 92 | } 93 | } 94 | }, 95 | "lineStyle": { 96 | "normal": { 97 | "opacity": 0.2 98 | } 99 | }, 100 | "data": [ 101 | { 102 | "value": [ 103 | 145, 104 | 100, 105 | 130, 106 | 99, 107 | 78, 108 | 89, 109 | 89, 110 | 95 111 | ], 112 | "name": "平均成绩" 113 | } 114 | ] 115 | } 116 | ] 117 | } 118 | } -------------------------------------------------------------------------------- /src/demo/views/chart.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
图表
5 |
6 | 11 |
12 |
13 |
14 |
图表
15 |
16 |
饼状图
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
雷达图
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
柱状图
43 |
44 |
45 |
46 |
47 |
48 |
线状图
49 |
50 |
51 |
52 |
53 |
54 |
-------------------------------------------------------------------------------- /src/ui/less/flex-layout.less: -------------------------------------------------------------------------------- 1 | @flex-column: 12; 2 | 3 | .flex-clearfix() { 4 | &:before, &:after { 5 | content: " "; 6 | display: flex; 7 | box-sizing: border-box; 8 | width: 0; 9 | height: 0; 10 | font-size: 0; 11 | } 12 | &:after { 13 | clear: both; 14 | } 15 | } 16 | .flex-column, .flex-row { 17 | display: flex; 18 | flex-wrap: wrap; 19 | .flex-clearfix(); 20 | } 21 | .flex-nowrap { 22 | flex-wrap: nowrap; 23 | } 24 | .flex-column { 25 | flex-direction: row; 26 | } 27 | .flex-row { 28 | flex-direction: column; 29 | } 30 | .flex-around { 31 | justify-content: space-around; 32 | } 33 | .flex-between { 34 | justify-content: space-between; 35 | } 36 | .flex-baseline { 37 | align-items: baseline; 38 | } 39 | .flex-strech { 40 | align-items: stretch; 41 | } 42 | .flex-item { 43 | float: left; 44 | flex-grow: 1; 45 | } 46 | // 递归生成栅格 47 | .build-item(@i) when (@i > 0) { 48 | .build-item((@i - 1)); 49 | 50 | // 栅格 51 | .flex-item-@{i} { 52 | float: left; 53 | width: percentage(@i / @flex-column); 54 | } 55 | 56 | // 向左偏移 57 | .flex-offset-@{i} { 58 | margin-left: percentage(@i / @flex-column); 59 | } 60 | 61 | // 排序 62 | .flex-order-@{i} { 63 | order: @i; 64 | } 65 | } 66 | .build-item(@flex-column); 67 | 68 | // flex-row的对齐方式 69 | .build-align(@type) when (@type = row) { 70 | &.flex-left { 71 | align-items: flex-start; 72 | } 73 | &.flex-right { 74 | align-items: flex-end; 75 | } 76 | &.flex-top { 77 | justify-content: flex-start; 78 | } 79 | &.flex-bottom { 80 | justify-content: flex-end; 81 | } 82 | &.flex-center { 83 | align-items: center; 84 | } 85 | &.flex-middle { 86 | justify-content: center; 87 | } 88 | } 89 | // flex-column的对齐方式 90 | .build-align(@type) when (@type = column) { 91 | &.flex-left { 92 | justify-content: flex-start; 93 | } 94 | &.flex-right { 95 | justify-content: flex-end; 96 | } 97 | &.flex-top { 98 | align-items: flex-start; 99 | } 100 | &.flex-bottom { 101 | align-items: flex-end; 102 | } 103 | &.flex-center { 104 | justify-content: center; 105 | } 106 | &.flex-middle { 107 | align-items: center; 108 | } 109 | } 110 | .flex-column { 111 | .build-align(column); 112 | } 113 | .flex-row { 114 | .build-align(row); 115 | } 116 | [class*=flex-item] { 117 | &.flex-left { 118 | margin-right: auto; 119 | } 120 | &.flex-right { 121 | margin-left: auto; 122 | } 123 | &.flex-top { 124 | margin-bottom: auto; 125 | } 126 | &.flex-bottom { 127 | margin-top: auto; 128 | } 129 | &.flex-center { 130 | margin-left: auto; 131 | margin-right: auto; 132 | } 133 | &.flex-middle { 134 | margin-top: auto; 135 | margin-bottom: auto; 136 | } 137 | } 138 | .flex-sm-show, .flex-md-show { 139 | display: none; 140 | } 141 | 142 | 143 | -------------------------------------------------------------------------------- /src/ui/css/ie6.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | /*reset*/ 3 | body, 4 | h1, 5 | h2, 6 | h3, 7 | h4, 8 | h5, 9 | h6, 10 | hr, 11 | p, 12 | blockquote, 13 | dl, 14 | dt, 15 | dd, 16 | ul, 17 | ol, 18 | li, 19 | pre, 20 | form, 21 | fieldset, 22 | legend, 23 | button, 24 | input, 25 | textarea, 26 | th, 27 | td { 28 | margin: 0; 29 | padding: 0; 30 | } 31 | form { 32 | display: inline; 33 | } 34 | body, 35 | button, 36 | input, 37 | select, 38 | textarea { 39 | font: 12px/1.8 tahoma, arial, "\5b8b\4f53", sans-serif; 40 | } 41 | h1, 42 | h2, 43 | h3, 44 | h4, 45 | h5, 46 | h6 { 47 | font-size: 100%; 48 | } 49 | address, 50 | cite, 51 | dfn, 52 | em, 53 | var { 54 | font-style: normal; 55 | } 56 | code, 57 | kbd, 58 | pre, 59 | samp { 60 | font-family: courier new, courier, monospace; 61 | } 62 | small { 63 | font-size: 12px; 64 | } 65 | ul, 66 | ol { 67 | list-style: none; 68 | } 69 | a { 70 | text-decoration: none; 71 | } 72 | sup { 73 | vertical-align: text-top; 74 | } 75 | sub { 76 | vertical-align: text-bottom; 77 | } 78 | legend { 79 | color: #000; 80 | } 81 | fieldset, 82 | img { 83 | border: 0; 84 | } 85 | button, 86 | input, 87 | select, 88 | textarea { 89 | font-size: 100%; 90 | } 91 | table { 92 | border-collapse: collapse; 93 | border-spacing: 0; 94 | } 95 | article, 96 | aside, 97 | details, 98 | figcaption, 99 | figure, 100 | footer, 101 | header, 102 | hgroup, 103 | menu, 104 | nav, 105 | section, 106 | summary, 107 | time, 108 | mark, 109 | audio, 110 | video { 111 | display: block; 112 | margin: 0; 113 | padding: 0; 114 | } 115 | mark { 116 | background: #FF0; 117 | } 118 | .clearfix { 119 | *zoom: 1; 120 | } 121 | .clearfix:before, 122 | .clearfix:after { 123 | display: table; 124 | content: ""; 125 | } 126 | .clearfix:after { 127 | clear: both; 128 | } 129 | .undis { 130 | display: none; 131 | } 132 | .text-muted { 133 | color: #AAA; 134 | } 135 | /**/ 136 | .box { 137 | position: absolute; 138 | top: 40%; 139 | left: 50%; 140 | width: 800px; 141 | margin-left: -400px; 142 | margin-top: -150px; 143 | } 144 | .box h1 { 145 | font: 36px "Microsoft Yahei", "SimHei"; 146 | color: #333; 147 | } 148 | .box p { 149 | margin: 10px 0; 150 | font-size: 14px; 151 | } 152 | .box ul { 153 | margin-top: 20px; 154 | } 155 | .box li { 156 | float: left; 157 | } 158 | .box li a { 159 | display: inline-block; 160 | width: 130px; 161 | padding: 10px 0 10px 70px; 162 | color: #808080; 163 | background: 0 50% no-repeat; 164 | } 165 | .box li a:hover { 166 | color: #000; 167 | } 168 | .box .icon-ie { 169 | background-image: url(../img/browser/ie.jpg); 170 | } 171 | .box .icon-chrome { 172 | background-image: url(../img/browser/chrome.jpg); 173 | } 174 | .box .icon-ff { 175 | background-image: url(../img/browser/firefox.jpg); 176 | } 177 | .box .icon-opera { 178 | background-image: url(../img/browser/opera.jpg); 179 | } 180 | -------------------------------------------------------------------------------- /src/data/room-list.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "options": { 5 | "totalCount": 60, 6 | "pageSize": 20 7 | }, 8 | "data": [ 9 | { 10 | "id": 11, 11 | "status":"", 12 | "col1": "北岸组团", 13 | "col2": "2", 14 | "col3": "1", 15 | "col4": "304", 16 | "col5": "A1", 17 | "col6": "销控", 18 | "col7": "97 ㎡", 19 | "col8": "80 ㎡", 20 | "col9": "108 ㎡", 21 | "col10": "87 ㎡", 22 | "col11": "-", 23 | "col12": "-", 24 | "col13": "-", 25 | "col14": "-", 26 | "col15": "-", 27 | "col16": "-" 28 | }, 29 | { 30 | "id": 12, 31 | "status":"sale", 32 | "col1": "北岸组团", 33 | "col2": "2", 34 | "col3": "1", 35 | "col4": "304", 36 | "col5": "A1", 37 | "col6": "销控", 38 | "col7": "97 ㎡", 39 | "col8": "80 ㎡", 40 | "col9": "108 ㎡", 41 | "col10": "87 ㎡", 42 | "col11": "-", 43 | "col12": "-", 44 | "col13": "-", 45 | "col14": "-", 46 | "col15": "-", 47 | "col16": "-" 48 | }, 49 | { 50 | "id": 13, 51 | "status":"sign", 52 | "col1": "北岸组团", 53 | "col2": "2", 54 | "col3": "1", 55 | "col4": "304", 56 | "col5": "A1", 57 | "col6": "销控", 58 | "col7": "97 ㎡", 59 | "col8": "80 ㎡", 60 | "col9": "108 ㎡", 61 | "col10": "87 ㎡", 62 | "col11": "-", 63 | "col12": "-", 64 | "col13": "-", 65 | "col14": "-", 66 | "col15": "-", 67 | "col16": "-" 68 | }, 69 | { 70 | "id": 14, 71 | "col1": "北岸组团", 72 | "col2": "2", 73 | "col3": "1", 74 | "col4": "304", 75 | "col5": "A1", 76 | "col6": "销控", 77 | "col7": "97 ㎡", 78 | "col8": "80 ㎡", 79 | "col9": "108 ㎡", 80 | "col10": "87 ㎡", 81 | "col11": "87 ㎡", 82 | "col12": "-", 83 | "col13": "-", 84 | "col14": "-", 85 | "col15": "-", 86 | "col16": "87 ㎡" 87 | }, 88 | { 89 | "id": 15, 90 | "col1": "北岸组团", 91 | "col2": "2", 92 | "col3": "1", 93 | "col4": "304", 94 | "col5": "A1", 95 | "col6": "销控", 96 | "col7": "97 ㎡", 97 | "col8": "80 ㎡", 98 | "col9": "108 ㎡", 99 | "col10": "87 ㎡", 100 | "col11": "-", 101 | "col12": "-", 102 | "col13": "-", 103 | "col14": "-", 104 | "col15": "-", 105 | "col16": "-" 106 | }, 107 | { 108 | "id": 16, 109 | "col1": "北岸组团", 110 | "col2": "2", 111 | "col3": "1", 112 | "col4": "304", 113 | "col5": "A1", 114 | "col6": "销控", 115 | "col7": "97 ㎡", 116 | "col8": "80 ㎡", 117 | "col9": "108 ㎡", 118 | "col10": "87 ㎡", 119 | "col11": "-", 120 | "col12": "87 ㎡", 121 | "col13": "87 ㎡", 122 | "col14": "87 ㎡", 123 | "col15": "87 ㎡", 124 | "col16": "-" 125 | } 126 | ] 127 | } -------------------------------------------------------------------------------- /src/data/price-list.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "没有权限", 4 | "options": { 5 | "totalCount": 60, 6 | "pageSize": 20 7 | }, 8 | "data": [ 9 | { 10 | "id": 11, 11 | "status":"", 12 | "col1": "北岸组团", 13 | "col2": "2", 14 | "col3": "1", 15 | "col4": "304", 16 | "col5": "A1", 17 | "col6": "销控", 18 | "col7": "97 ㎡", 19 | "col8": "80 ㎡", 20 | "col9": "108 ㎡", 21 | "col10": "87 ㎡", 22 | "col11": "-", 23 | "col12": "-", 24 | "col13": "-", 25 | "col14": "-", 26 | "col15": "-", 27 | "col16": "-" 28 | }, 29 | { 30 | "id": 12, 31 | "status":"sale", 32 | "col1": "北岸组团", 33 | "col2": "2", 34 | "col3": "1", 35 | "col4": "304", 36 | "col5": "A1", 37 | "col6": "销控", 38 | "col7": "97 ㎡", 39 | "col8": "80 ㎡", 40 | "col9": "108 ㎡", 41 | "col10": "87 ㎡", 42 | "col11": "-", 43 | "col12": "-", 44 | "col13": "-", 45 | "col14": "-", 46 | "col15": "-", 47 | "col16": "-" 48 | }, 49 | { 50 | "id": 13, 51 | "status":"sign", 52 | "col1": "北岸组团", 53 | "col2": "2", 54 | "col3": "1", 55 | "col4": "304", 56 | "col5": "A1", 57 | "col6": "销控", 58 | "col7": "97 ㎡", 59 | "col8": "80 ㎡", 60 | "col9": "108 ㎡", 61 | "col10": "87 ㎡", 62 | "col11": "-", 63 | "col12": "-", 64 | "col13": "-", 65 | "col14": "-", 66 | "col15": "-", 67 | "col16": "-" 68 | }, 69 | { 70 | "id": 14, 71 | "col1": "北岸组团", 72 | "col2": "2", 73 | "col3": "1", 74 | "col4": "304", 75 | "col5": "A1", 76 | "col6": "销控", 77 | "col7": "97 ㎡", 78 | "col8": "80 ㎡", 79 | "col9": "108 ㎡", 80 | "col10": "87 ㎡", 81 | "col11": "87 ㎡", 82 | "col12": "-", 83 | "col13": "-", 84 | "col14": "-", 85 | "col15": "-", 86 | "col16": "87 ㎡" 87 | }, 88 | { 89 | "id": 15, 90 | "col1": "北岸组团", 91 | "col2": "2", 92 | "col3": "1", 93 | "col4": "304", 94 | "col5": "A1", 95 | "col6": "销控", 96 | "col7": "97 ㎡", 97 | "col8": "80 ㎡", 98 | "col9": "108 ㎡", 99 | "col10": "87 ㎡", 100 | "col11": "-", 101 | "col12": "-", 102 | "col13": "-", 103 | "col14": "-", 104 | "col15": "-", 105 | "col16": "-" 106 | }, 107 | { 108 | "id": 16, 109 | "col1": "北岸组团", 110 | "col2": "2", 111 | "col3": "1", 112 | "col4": "304", 113 | "col5": "A1", 114 | "col6": "销控", 115 | "col7": "97 ㎡", 116 | "col8": "80 ㎡", 117 | "col9": "108 ㎡", 118 | "col10": "87 ㎡", 119 | "col11": "-", 120 | "col12": "87 ㎡", 121 | "col13": "87 ㎡", 122 | "col14": "87 ㎡", 123 | "col15": "87 ㎡", 124 | "col16": "-" 125 | } 126 | ] 127 | } -------------------------------------------------------------------------------- /src/ui/css/login.css: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | /*reset*/ 3 | body, 4 | h1, 5 | h2, 6 | h3, 7 | h4, 8 | h5, 9 | h6, 10 | hr, 11 | p, 12 | blockquote, 13 | dl, 14 | dt, 15 | dd, 16 | ul, 17 | ol, 18 | li, 19 | pre, 20 | form, 21 | fieldset, 22 | legend, 23 | button, 24 | input, 25 | textarea, 26 | th, 27 | td { 28 | margin: 0; 29 | padding: 0; 30 | } 31 | form { 32 | display: inline; 33 | } 34 | body, 35 | button, 36 | input, 37 | select, 38 | textarea { 39 | font: 14px/1.5 Helvetica, "lantinghei sc", "Microsoft Yahei", tahoma, arial, "\5b8b\4f53", sans-serif; 40 | -webkit-font-smoothing: antialiased; 41 | -webkit-text-stroke-width: 0.2px; 42 | -moz-osx-font-smoothing: grayscale; 43 | } 44 | h1, 45 | h2, 46 | h3, 47 | h4, 48 | h5, 49 | h6 { 50 | font-size: 100%; 51 | } 52 | address, 53 | cite, 54 | dfn, 55 | em, 56 | var { 57 | font-style: normal; 58 | } 59 | code, 60 | kbd, 61 | pre, 62 | samp { 63 | font-family: courier new, courier, monospace; 64 | } 65 | small { 66 | font-size: 12px; 67 | } 68 | ul, 69 | ol { 70 | list-style: none; 71 | } 72 | a { 73 | text-decoration: none; 74 | color: #9BA5A7; 75 | cursor: pointer; 76 | white-space: nowrap; 77 | } 78 | a:hover { 79 | text-decoration: underline; 80 | } 81 | sup { 82 | vertical-align: text-top; 83 | } 84 | sub { 85 | vertical-align: text-bottom; 86 | } 87 | legend { 88 | color: #000; 89 | } 90 | fieldset, 91 | img { 92 | border: 0; 93 | } 94 | button, 95 | input, 96 | select, 97 | textarea { 98 | font-size: 14px; 99 | } 100 | table { 101 | border-collapse: collapse; 102 | border-spacing: 0; 103 | } 104 | article, 105 | aside, 106 | details, 107 | figcaption, 108 | figure, 109 | footer, 110 | header, 111 | menu, 112 | nav, 113 | section, 114 | summary, 115 | time, 116 | mark, 117 | audio, 118 | video { 119 | display: block; 120 | margin: 0; 121 | padding: 0; 122 | } 123 | .text-right { 124 | text-align: right; 125 | } 126 | .fl { 127 | float: left; 128 | } 129 | .fr { 130 | float: right; 131 | } 132 | /**/ 133 | body { 134 | background: #4D637B; 135 | } 136 | .login-wrap { 137 | position: fixed; 138 | top: 50%; 139 | left: 50%; 140 | -webkit-transform: translate(-50%, -50%); 141 | transform: translate(-50%, -50%); 142 | width: 280px; 143 | } 144 | .login-wrap .avatar { 145 | width: 128px; 146 | margin: 0 auto 38px auto; 147 | } 148 | .login-wrap .avatar img { 149 | width: 128px; 150 | height: 128px; 151 | border-radius: 64px; 152 | display: block; 153 | } 154 | .login-wrap .row { 155 | margin-bottom: 12px; 156 | } 157 | .login-wrap .ipt { 158 | width: 100%; 159 | height: 36px; 160 | box-sizing: border-box; 161 | padding: 5px 10px; 162 | border-radius: 3px; 163 | background: #F5F5F5; 164 | border: 1px solid #E6E6E6; 165 | outline: none; 166 | } 167 | .login-wrap .ipt-s { 168 | width: 175px; 169 | } 170 | .login-wrap .btn { 171 | width: 100%; 172 | height: 36px; 173 | box-sizing: border-box; 174 | border-radius: 3px; 175 | border: none; 176 | background: #15BBF9; 177 | color: #FFF; 178 | outline: none; 179 | } 180 | .login-wrap .captcha { 181 | height: 36px; 182 | width: 90px; 183 | border-radius: 3px; 184 | } 185 | .logo { 186 | position: fixed; 187 | bottom: 0; 188 | left: 0; 189 | right: 0; 190 | width: 260px; 191 | margin: auto; 192 | text-align: center; 193 | } 194 | -------------------------------------------------------------------------------- /src/demo/views/yuexuequan/main.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
项目管理
5 |
6 | 11 |
12 |
13 |
14 |
15 |
16 |
17 |
{{details.length}} 个项目
18 |
19 | 23 |
24 |
25 |
26 |
    27 |
  • 28 |
    {{project.date}}
    29 |
    {{project.projectName}}
    30 |
    {{project.name}}
    31 |
  • 32 |
33 |
34 |
35 |
36 |
37 |
项目信息管理
38 |
39 |
40 |
基本资料
41 |
{{details.process1}}%
42 |
43 |
44 |
规划信息
45 |
{{details.process2}}%
46 |
47 |
48 |
49 |
50 |
    51 |
  • 52 |
    {{auth.name}}
    53 |
    {{auth.num}}
    54 |
    {{auth.unit}}
    55 |
  • 56 |
57 |
58 |
59 |
60 |
61 |
-------------------------------------------------------------------------------- /src/ui/less/project.less: -------------------------------------------------------------------------------- 1 | .project-page-wrap { height: 100%; } 2 | .project-list { width: 320px; height: 100%; background: #F2F6FA; float: left; position: relative; padding-top: 60px; box-sizing: border-box; } 3 | .project-list .hd { height: 60px; padding: 15px 28px; margin-top: -60px; line-height: 30px; box-sizing: border-box; border-bottom: 1px solid #DFE2E6; } 4 | .project-list .list { overflow: hidden; height: 100%; position: relative; } 5 | .project-list .list:hover { overflow-y: auto; } 6 | .project-list .list ul { position: absolute; width: 320px; } 7 | .project-list .list li { height: 130px; padding: 15px 28px; position: relative; box-sizing: border-box; border-bottom: 1px solid #D9DCE0; } 8 | .project-list .list li.on { background: #E3EAF3; } 9 | .project-list .list li.on:before { content: ""; position: absolute; right: 0; top: 50%; margin-top: -8px; border: 9px dashed #FFF; border-color: transparent #FFF transparent transparent; } 10 | .project-list .date { color: #9A9EA3; font-size: 14px; } 11 | .project-list .name { font-size: 20px; margin-bottom: 10px; } 12 | .project-list .meta { color: #9A9EA3; font-size: 14px; } 13 | .project-list .avatar { width: 32px; height: 32px; vertical-align: middle; border-radius: 16px; } 14 | .project-panel { padding: 20px 28px; height: 100%; box-sizing: border-box; overflow: auto; } 15 | .project-panel::-webkit-scrollbar-thumb { background-color: transparent; } 16 | .project-panel:hover::-webkit-scrollbar-thumb { background-color: #4C637B; } 17 | .project-info { padding: 10px 16px; background: #F2F6FA; border-radius: 3px; } 18 | .project-info .tt { font-size: 18px; margin-bottom: 20px; } 19 | .project-auth { 20 | background: #F2F6FA; 21 | border-radius: 3px; 22 | margin-top: 20px; 23 | .list > :nth-child(even) { 24 | background: #EBF1F5; 25 | } 26 | li, .li { 27 | height: 80px; box-sizing: border-box; padding: 20px 15px; line-height: 40px; font-size: 0; transition: all .2s ease; 28 | &:hover { 29 | background: #E3EAF3; 30 | } 31 | &.on + .li-sub { 32 | display: block; 33 | } 34 | } 35 | .li-sub { 36 | display: none; 37 | background: #FFF; 38 | border: 1px solid #F2F6FA; 39 | padding: 20px; 40 | } 41 | .col { display: inline-block; vertical-align: top; padding: 0 5px; box-sizing: border-box; } 42 | .col-1 { width: 50%; font-size: 18px; } 43 | .col-2 { width: 10%; color: rgba(60, 60, 60, 0.80); font-size: 44px; font-style: italic; text-align: right; font-weight: 100; } 44 | .col-3 { width: 40%; color: rgba(60, 60, 60, 0.70); font-size: 14px; font-style: italic; } 45 | } 46 | /**/ 47 | .process-bar { height: 50px; position: relative; padding: 1px 0; margin: 5px 0; } 48 | .process-bar .text { font-size: 14px; margin: 5px 0; color: rgba(60, 60, 60, 0.80); } 49 | .process-bar .bar { background: #E3EAF3; height: 5px; font-size: 0; } 50 | .process-bar .bar i { display: block; position: relative; height: 5px; background: -webkit-gradient(linear, 0 0, 100% 0, from(#D0F1FE), to(#15BBF8)); 51 | -webkit-transition: all .2s ease; transition: all .2s ease; } 52 | .process-bar .bar .num { position: absolute; bottom: 5px; right: 5px; font-size: 20px; font-style: normal; color: #15BBF8; } 53 | .process-bar-2 .bar i { background: -webkit-gradient(linear, 0 0, 100% 0, from(#FFE0CE), to(#FF6000)); } 54 | .process-bar-2 .bar .num { color: #FF6000; } 55 | /**/ 56 | .import-score-wrap { 57 | .studentNameIpt .ipt { 58 | height: 50px; 59 | padding: 5px 15px; 60 | } 61 | .studentScoreIpt { 62 | height: 50px; 63 | padding: 5px 15px; 64 | } 65 | } -------------------------------------------------------------------------------- /src/demo/views/finance-o2o/list-4.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
实例4
5 |
6 | 11 |
12 |
13 |
14 |
15 |
  • 代办事件(9)
  • 16 |
  • 已办事件
  • 17 |
    18 |
    19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 42 | 43 | 44 |
    企业名称企业法人代表资产规模资产销售备注创建时间
    企业名称张三1000万200万补强资料{{1453794845667|date:'yyyy-MM-dd'}} 40 | 41 |
    45 |
    46 |
    47 |
  • 信息录入
  • 48 |
  • 待后监控
  • 49 |
    50 |
    51 | 每期还款金额 52 | 53 | 利率 54 | 55 | 期数 56 | 59 | 还款时间 60 | 61 | 62 |
    63 |
    64 |
    65 |
    66 |
    67 |
    借款合同
    68 |
    69 |
    70 |
    71 |
    贷款凭证
    72 |
    73 |
    74 |
    75 |
    76 | 77 |
    78 |
    79 |
    80 |
    81 |
    -------------------------------------------------------------------------------- /src/data/bar-chart.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "Success", 4 | "data": { 5 | "tooltip": { 6 | "trigger": "axis", 7 | "axisPointer": { 8 | "type": "shadow" 9 | } 10 | }, 11 | "legend": { 12 | "data": [ 13 | "直接访问", 14 | "邮件营销", 15 | "联盟广告", 16 | "视频广告", 17 | "搜索引擎" 18 | ] 19 | }, 20 | "grid": { 21 | "left": "3%", 22 | "right": "4%", 23 | "bottom": "3%", 24 | "containLabel": true 25 | }, 26 | "xAxis": [ 27 | { 28 | "type": "value" 29 | } 30 | ], 31 | "yAxis": [ 32 | { 33 | "type": "category", 34 | "data": [ 35 | "周一", 36 | "周二", 37 | "周三", 38 | "周四", 39 | "周五", 40 | "周六", 41 | "周日" 42 | ] 43 | } 44 | ], 45 | "series": [ 46 | { 47 | "name": "直接访问", 48 | "type": "bar", 49 | "stack": "总量", 50 | "itemStyle": { 51 | "normal": { 52 | "label": { 53 | "show": true, 54 | "position": "insideRight" 55 | } 56 | } 57 | }, 58 | "data": [ 59 | 320, 60 | 302, 61 | 301, 62 | 334, 63 | 390, 64 | 330, 65 | 320 66 | ] 67 | }, 68 | { 69 | "name": "邮件营销", 70 | "type": "bar", 71 | "stack": "总量", 72 | "itemStyle": { 73 | "normal": { 74 | "label": { 75 | "show": true, 76 | "position": "insideRight" 77 | } 78 | } 79 | }, 80 | "data": [ 81 | 120, 82 | 132, 83 | 101, 84 | 134, 85 | 90, 86 | 230, 87 | 210 88 | ] 89 | }, 90 | { 91 | "name": "联盟广告", 92 | "type": "bar", 93 | "stack": "总量", 94 | "itemStyle": { 95 | "normal": { 96 | "label": { 97 | "show": true, 98 | "position": "insideRight" 99 | } 100 | } 101 | }, 102 | "data": [ 103 | 220, 104 | 182, 105 | 191, 106 | 234, 107 | 290, 108 | 330, 109 | 310 110 | ] 111 | }, 112 | { 113 | "name": "视频广告", 114 | "type": "bar", 115 | "stack": "总量", 116 | "itemStyle": { 117 | "normal": { 118 | "label": { 119 | "show": true, 120 | "position": "insideRight" 121 | } 122 | } 123 | }, 124 | "data": [ 125 | 150, 126 | 212, 127 | 201, 128 | 154, 129 | 190, 130 | 330, 131 | 410 132 | ] 133 | }, 134 | { 135 | "name": "搜索引擎", 136 | "type": "bar", 137 | "stack": "总量", 138 | "itemStyle": { 139 | "normal": { 140 | "label": { 141 | "show": true, 142 | "position": "insideRight" 143 | } 144 | } 145 | }, 146 | "data": [ 147 | { 148 | "id": 1, 149 | "value": 820 150 | }, 151 | 832, 152 | 901, 153 | 934, 154 | 1290, 155 | 1330, 156 | 1320 157 | ] 158 | } 159 | ] 160 | } 161 | } -------------------------------------------------------------------------------- /src/data/line-chart.data: -------------------------------------------------------------------------------- 1 | { 2 | "code": 200, 3 | "message": "Success", 4 | "data": { 5 | "title": { 6 | "text": "堆叠区域图" 7 | }, 8 | "tooltip": { 9 | "trigger": "axis" 10 | }, 11 | "legend": { 12 | "data": [ 13 | "邮件营销", 14 | "联盟广告", 15 | "视频广告", 16 | "直接访问", 17 | "搜索引擎" 18 | ] 19 | }, 20 | "toolbox": { 21 | "feature": { 22 | "saveAsImage": {} 23 | } 24 | }, 25 | "grid": { 26 | "left": "3%", 27 | "right": "4%", 28 | "bottom": "3%", 29 | "containLabel": true 30 | }, 31 | "xAxis": [ 32 | { 33 | "type": "category", 34 | "boundaryGap": false, 35 | "data": [ 36 | "周一", 37 | "周二", 38 | "周三", 39 | "周四", 40 | "周五", 41 | "周六", 42 | "周日" 43 | ] 44 | } 45 | ], 46 | "yAxis": [ 47 | { 48 | "type": "value" 49 | } 50 | ], 51 | "series": [ 52 | { 53 | "name": "邮件营销", 54 | "type": "line", 55 | "stack": "总量", 56 | "areaStyle": { 57 | "normal": {} 58 | }, 59 | "data": [ 60 | { 61 | "id": 1, 62 | "value": 120 63 | }, 64 | { 65 | "id": 2, 66 | "value": 132 67 | }, 68 | { 69 | "id": 3, 70 | "value": 101 71 | }, 72 | { 73 | "id": 4, 74 | "value": 134 75 | }, 76 | { 77 | "id": 5, 78 | "value": 90 79 | }, 80 | { 81 | "id": 6, 82 | "value": 230 83 | }, 84 | { 85 | "id": 7, 86 | "value": 220 87 | } 88 | ] 89 | }, 90 | { 91 | "name": "联盟广告", 92 | "type": "line", 93 | "stack": "总量", 94 | "areaStyle": { 95 | "normal": {} 96 | }, 97 | "data": [ 98 | 220, 99 | 182, 100 | 191, 101 | 234, 102 | 290, 103 | 330, 104 | 310 105 | ] 106 | }, 107 | { 108 | "name": "视频广告", 109 | "type": "line", 110 | "stack": "总量", 111 | "areaStyle": { 112 | "normal": {} 113 | }, 114 | "data": [ 115 | 150, 116 | 232, 117 | 201, 118 | 154, 119 | 190, 120 | 330, 121 | 410 122 | ] 123 | }, 124 | { 125 | "name": "直接访问", 126 | "type": "line", 127 | "stack": "总量", 128 | "areaStyle": { 129 | "normal": {} 130 | }, 131 | "data": [ 132 | 320, 133 | 332, 134 | 301, 135 | 334, 136 | 390, 137 | 330, 138 | 320 139 | ] 140 | }, 141 | { 142 | "name": "搜索引擎", 143 | "type": "line", 144 | "stack": "总量", 145 | "label": { 146 | "normal": { 147 | "show": true, 148 | "position": "top" 149 | } 150 | }, 151 | "areaStyle": { 152 | "normal": {} 153 | }, 154 | "data": [ 155 | 820, 156 | 932, 157 | 901, 158 | 934, 159 | 1290, 160 | 1330, 161 | 1320 162 | ] 163 | } 164 | ] 165 | } 166 | } -------------------------------------------------------------------------------- /src/demo/views/yuexuequan/courseware-add.html: -------------------------------------------------------------------------------- 1 |
    2 |
    添加课件
    3 |
    4 |
    5 |
    6 |
    7 |
    机构名称
    8 |
    9 |
    10 |
    11 |
    所属学科
    12 |
    13 | 17 |
    18 |
    19 |
    20 |
    所属年级
    21 |
    22 | 26 |
    27 |
    28 |
    29 |
    所属章节
    30 |
    31 | 35 |
    36 |
    37 |
    38 |
    课题
    39 |
    40 | 44 |
    45 |
    46 |
    47 |
    上传电子教案
    48 |
    49 | 50 |
    51 |
    52 |
    53 |
    是否共享
    54 |
    55 | 59 |
    60 | 63 |
    64 |
    65 |
    66 | 67 | 68 |
    69 |
    70 |
    71 |
    72 |
    -------------------------------------------------------------------------------- /src/ui/app.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hao on 15/11/5. 3 | */ 4 | 5 | //load css files 6 | !(function () { 7 | var scripts = document.getElementsByTagName("script"); 8 | var loaderScript = scripts[scripts.length - 1]; 9 | require.dir = loaderScript.src.match(/[^?#]*\//)[0]; 10 | })(); 11 | 12 | 13 | require.config({ 14 | baseUrl: require.dir + 'modules', 15 | paths: { 16 | 'moment': '../libs/moment.min', 17 | 'echarts': '../libs/echarts.min', 18 | 'chosen': '../libs/chosen.jquery.min', 19 | 'jQuery': '../libs/jquery.min', 20 | 'angular': '../libs/angular.min' 21 | }, 22 | shim: { 23 | 'jQuery': { 24 | exports: 'jQuery' 25 | }, 26 | 'chosen': { 27 | deps: ['jQuery'] 28 | }, 29 | 'echarts': { 30 | exports: 'echarts' 31 | }, 32 | 'angular': { 33 | deps: ['jQuery'], 34 | exports: 'angular' 35 | } 36 | }, 37 | urlArgs: '' 38 | }); 39 | 40 | //@ifdef !production 41 | define('manageApp.template', ['angular'], function () { 42 | angular.module('manageApp.template', []) 43 | }); 44 | //@endif 45 | 46 | 47 | define('manageApp.main', ['main/init', 'main/services', 'main/controllers', 'main/directives', 'main/filters']); 48 | define('manageApp.project', ['project/init', 'project/services', 'project/controllers', 'project/directives', 'project/filters']); 49 | define('manageApp.modal', ['modal/init', 'modal/services', 'modal/directives']); 50 | define('manageApp.upload', ['upload/init', 'upload/directives']); 51 | define('datePicker', ['datepicker/datepicker']); 52 | 53 | define('manageApp', [ 54 | 'angular', 55 | 'manageApp.template', 56 | 'manageApp.modal', 57 | 'manageApp.main', 58 | 'manageApp.project', 59 | 'manageApp.upload', 60 | 'datePicker' 61 | ], function () { 62 | return angular.module('manageApp', [ 63 | 'ngRoute', 64 | 'manageApp.template', 65 | 'manageApp.modal', 66 | 'manageApp.main', 67 | 'manageApp.project', 68 | 'manageApp.upload', 69 | 'datePicker' 70 | ]); 71 | }); 72 | 73 | require(['manageApp'], function (app) { 74 | app.config(['$routeProvider', '$templateRequestProvider', function ($routeProvider, $templateRequestProvider) { 75 | if (window.Config) { 76 | $routeProvider 77 | .when("/:page*", { 78 | templateUrl: function (param) { 79 | var _url = (Config.viewsDir || '') + param.page; 80 | delete param.page; 81 | var _param = $.param(param); 82 | return _param ? _url + "?" + _param : _url; 83 | }, 84 | resolve: { 85 | load: function () { 86 | } 87 | } 88 | }) 89 | .otherwise({redirectTo: Config.indexPage}); 90 | } else { 91 | $routeProvider 92 | .when("/:page*", { 93 | templateUrl: function (param) { 94 | var _url = param.page; 95 | delete param.page; 96 | var _param = $.param(param); 97 | return _param ? _url + "?" + _param : _url; 98 | }, 99 | resolve: { 100 | load: function () { 101 | } 102 | } 103 | }) 104 | } 105 | 106 | $templateRequestProvider.httpOptions({ 107 | headers: { 108 | 'template': '1' 109 | } 110 | }); 111 | }]); 112 | 113 | angular.bootstrap(document, ['manageApp']); 114 | }); -------------------------------------------------------------------------------- /src/demo/views/yuexuequan/main2.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    项目管理2
    5 |
    6 | 11 |
    12 |
    13 |
    14 |
    15 |
    16 |
    17 |
    18 |
    {{auth.name}}
    19 |
    {{auth.num}}
    20 |
    {{auth.unit}}
    21 |
    22 |
    23 | 24 |
    25 |
    26 |
    27 |
    28 |
    29 |
    30 |
    31 |
    32 |
    33 |
    34 |
    35 |
    36 |
    什么也没有
    37 |
    38 |
    39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 |
    户型名称房屋用途房 型预售面积附属/赠送类型和面积户型图其他信息
    {{tr.name}}{{tr.col1}}{{tr.col2}}{{tr.col3}}{{tr.col4}}{{tr.col5}}{{tr.col6}}
    63 |
    64 |
    65 |
    66 |
    67 |
    68 |
    69 |
    70 |
    71 |
    -------------------------------------------------------------------------------- /src/demo/views/yuexuequan/task.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    任务
    5 |
    6 | 11 |
    12 |
    13 |
    14 | 15 |
    16 |
    17 |
    18 |
    19 |
    20 |
    21 |
    22 |
    23 |
    24 |
    25 |
    26 |
    27 |
    什么也没有
    28 |
    29 |
    30 |
    31 |
    32 | 35 |
    36 |
    37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 54 | 66 | 67 | 68 |
    {{th}}
    {{tr.col1}}{{tr.col2}}{{tr.col3}}{{tr.col4}} 50 | 进行中 51 | 过期 52 | (工作报告逾期{{tr.overdue}}天) 53 | 55 | 58 | 65 |
    69 |
    70 |
    71 | 72 |
    73 |
    74 |
    75 |
    76 |
    77 |
    78 |
    -------------------------------------------------------------------------------- /src/demo/views/list-edit.html: -------------------------------------------------------------------------------- 1 |
    2 |
    折扣编辑
    3 |
    4 |
    5 |
    6 |
    项目名称
    7 |
    / 北岸组团
    8 |
    9 |
    10 |
    折扣类型
    11 |
    / 银卡优惠
    12 |
    13 |
    14 |
    15 |
    16 |
    17 |
    折扣名称
    18 |
    19 |
    20 |
    21 |
    特价房是否适用
    22 |
    23 | 24 | 25 |
    26 |
    27 |
    28 |
    计算方法
    29 |
    30 | 31 | 32 | 33 | 34 |
    35 |
    36 |
    37 |
    折扣(%)
    38 |
    39 |
    40 |
    41 |
    优惠金额
    42 |
    43 |
    44 |
    45 |
    折扣范围
    46 |
    47 | 48 | 49 |
    50 |
    51 |
    52 |
    生效日期
    53 |
    54 |
    55 |
    56 |
    失效日期
    57 |
    58 |
    59 |
    60 |
    折扣说明
    61 |
    62 | 63 |
    64 |
    65 |
    66 | 67 | 68 |
    69 |
    70 |
    71 |
    72 |
    -------------------------------------------------------------------------------- /src/demo/views/yuexuequan/organization.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    组织架构
    5 |
    6 | 11 |
    12 |
    13 |
    14 |
    15 |
      16 |
    • 17 | {{tree.name}} 18 |
        19 |
      • 20 | {{tree2.name}} 21 |
          22 |
        • 23 | 24 | {{tree3.name}} 25 | 26 | 27 | 28 | 29 | 30 | 31 |
            32 |
          • 33 | 34 | {{tree4.name}} 35 | 36 | 37 |
              38 |
            • 39 | 40 | {{tree5.name}} 41 | 42 | 43 |
                44 |
              • 45 | {{tree6.name}} 46 |
              • 47 |
              48 |
            • 49 |
            50 |
          • 51 |
          52 |
        • 53 |
        54 |
      • 55 |
      56 |
    • 57 |
    58 |
    59 |
    60 |
    -------------------------------------------------------------------------------- /src/demo/tpl/datepicker.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 24 | 25 | 26 |
    17 | 23 |
    27 |
    28 |
    29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 44 | 45 | 46 |
    40 | 43 |
    47 |
    48 |
    49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 65 | 66 | 67 |
    60 | 64 |
    68 |
    69 |
    70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 85 | 86 | 87 |
    81 | 84 |
    88 |
    89 |
    90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 106 | 107 | 108 |
    101 | 105 |
    109 |
    110 |
    -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | var exec = require('child_process').exec, 2 | through2 = require('through2'), 3 | gulp = require('gulp'), 4 | imagemin = require('gulp-imagemin'), 5 | concat = require('gulp-concat'), 6 | cssmin = require('gulp-minify-css'), 7 | jshint = require('gulp-jshint'), 8 | header = require('gulp-header'), 9 | footer = require('gulp-footer'), 10 | uglify = require('gulp-uglify'), 11 | template = require('gulp-ng-template'), 12 | minifyHtml = require('gulp-minify-html'), 13 | preprocess = require('gulp-preprocess'), 14 | less = require('gulp-less'), 15 | autoprefixer = require('gulp-autoprefixer'), 16 | cdn = require('gulp-cdn'); 17 | 18 | var Config = { 19 | name: "manageApp", 20 | itemName: "Manage System", 21 | version: "3.0", 22 | author: "haovei@qq.com", 23 | cdn: "//ui.quteam.com/manage3" 24 | }; 25 | 26 | gulp.task('clean', function () { 27 | exec('rm -rf build', function (err, out) { 28 | console.log(out); 29 | err && console.log(err); 30 | }); 31 | }); 32 | 33 | //template 没有 define 34 | gulp.task('template', ['clean'], function () { 35 | return gulp.src('./src/demo/tpl/**/*.html') 36 | .pipe(minifyHtml({ 37 | quotes: true, 38 | spare: true, 39 | empty: true 40 | })) 41 | .pipe(template({ 42 | prefix: 'tpl/', 43 | moduleName: Config.name + ".template", 44 | standalone: true 45 | })) 46 | .pipe(header('define("' + Config.name + '.template",["angular"], function () {')) 47 | .pipe(footer('});')) 48 | .pipe(gulp.dest('./build/ui')); 49 | }); 50 | 51 | gulp.task('js', ['template'], function () { 52 | gulp.src(['./src/ui/modules/**/*.js', './build/ui/templates.js', './src/ui/app.js']) 53 | .pipe(jshint()) 54 | .pipe(concat('app.js')) 55 | .pipe(preprocess({context: {production: true}})) 56 | .pipe(uglify()) 57 | .pipe(header('/**\n * ${itemName} v<%= version %> | <%= author %>\n */\n', Config)) 58 | .pipe(gulp.dest('./build/ui')) 59 | .pipe(function () { 60 | //删除临时的模版文件 61 | return through2.obj(function (file, enc, cb) { 62 | exec('rm ./build/ui/templates.js', function (err, out) { 63 | console.log(out); 64 | err && console.log(err); 65 | }); 66 | cb(); 67 | }); 68 | }()); 69 | 70 | gulp.src(['./src/ui/libs/**/*.*']) 71 | //.pipe(uglify()) 72 | .pipe(gulp.dest('./build/ui/libs')); 73 | gulp.src(['./src/ui/r.js']).pipe(gulp.dest('./build/ui')); 74 | }); 75 | 76 | gulp.task('image', ['clean'], function () { 77 | gulp.src(['./src/ui/**/*.{png,jpg,gif,ico}']) 78 | .pipe(imagemin({ 79 | progressive: true, 80 | interlaced: true, 81 | multipass: true 82 | })) 83 | .pipe(gulp.dest('./build/ui')); 84 | }); 85 | 86 | gulp.task('css', ['clean'], function () { 87 | gulp.src(['./src/ui/less/*.less']) 88 | .pipe(less()) 89 | .pipe(autoprefixer()) 90 | .pipe(cssmin({ 91 | advanced: false, 92 | compatibility: "*", 93 | keepBreaks: true 94 | })) 95 | .pipe(header('/**\n * ${itemName} v<%= version %> | <%= author %>\n */\n', Config)) 96 | .pipe(gulp.dest('./build/ui/css')); 97 | }); 98 | 99 | gulp.task('copy', ['clean'], function () { 100 | gulp.src(['./src/ui/img/**/*.*', '!./src/ui/img/**/*.{png,jpg,gif,ico}']) 101 | .pipe(gulp.dest('./build/ui/img')); 102 | //复制其他文件 103 | gulp.src(['./src/data/**/*.*']).pipe(gulp.dest('./build/data')); 104 | gulp.src(['./src/demo/**/*.*', '!./src/demo/tpl/**/*.*']) 105 | .pipe(cdn({ 106 | domain: "../ui", 107 | cdn: Config.cdn 108 | })) 109 | .pipe(gulp.dest('./build/demo')); 110 | }); 111 | 112 | gulp.task('clean-css', function () { 113 | return gulp.src("./src/ui/css") 114 | .pipe(clean()); 115 | }); 116 | 117 | gulp.task('build-less', function () { 118 | gulp.src(['./src/ui/less/*.less']) 119 | .pipe(less()) 120 | .pipe(autoprefixer()) 121 | .pipe(gulp.dest('./src/ui/css')) 122 | }); 123 | 124 | // 日常开发中使用 125 | gulp.task('develop', function () { 126 | gulp.watch('./src/ui/less/*.less', ['build-less']); 127 | }); 128 | 129 | 130 | gulp.task('default', ['clean', 'css', 'image', 'js', 'copy']); 131 | -------------------------------------------------------------------------------- /src/demo/views/yuexuequan/main-chart.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    图表
    5 |
    6 |
    7 | 8 |
    9 | 10 |
    11 |
    12 |
    13 | 初中三率 14 |
    15 |
    16 |
    19 |
    20 |
    21 |
    24 |
    25 |
    26 |
    29 |
    30 |
    31 |
    32 |
    33 | 34 |
    35 |
    36 | 高中三率 37 |
    38 |
    39 |
    42 |
    43 |
    44 |
    47 |
    48 |
    49 |
    52 |
    53 |
    54 |
    55 |
    56 |
    57 | 58 |
    59 |
    62 |
    63 | 64 |
    65 |
    68 |
    69 |
    70 |
    71 | 72 |
    73 |
    76 |
    77 | 78 |
    79 |
    82 |
    83 |
    84 |
    85 |
    -------------------------------------------------------------------------------- /src/ui/css/project.css: -------------------------------------------------------------------------------- 1 | .project-page-wrap { 2 | height: 100%; 3 | } 4 | .project-list { 5 | width: 320px; 6 | height: 100%; 7 | background: #F2F6FA; 8 | float: left; 9 | position: relative; 10 | padding-top: 60px; 11 | box-sizing: border-box; 12 | } 13 | .project-list .hd { 14 | height: 60px; 15 | padding: 15px 28px; 16 | margin-top: -60px; 17 | line-height: 30px; 18 | box-sizing: border-box; 19 | border-bottom: 1px solid #DFE2E6; 20 | } 21 | .project-list .list { 22 | overflow: hidden; 23 | height: 100%; 24 | position: relative; 25 | } 26 | .project-list .list:hover { 27 | overflow-y: auto; 28 | } 29 | .project-list .list ul { 30 | position: absolute; 31 | width: 320px; 32 | } 33 | .project-list .list li { 34 | height: 130px; 35 | padding: 15px 28px; 36 | position: relative; 37 | box-sizing: border-box; 38 | border-bottom: 1px solid #D9DCE0; 39 | } 40 | .project-list .list li.on { 41 | background: #E3EAF3; 42 | } 43 | .project-list .list li.on:before { 44 | content: ""; 45 | position: absolute; 46 | right: 0; 47 | top: 50%; 48 | margin-top: -8px; 49 | border: 9px dashed #FFF; 50 | border-color: transparent #FFF transparent transparent; 51 | } 52 | .project-list .date { 53 | color: #9A9EA3; 54 | font-size: 14px; 55 | } 56 | .project-list .name { 57 | font-size: 20px; 58 | margin-bottom: 10px; 59 | } 60 | .project-list .meta { 61 | color: #9A9EA3; 62 | font-size: 14px; 63 | } 64 | .project-list .avatar { 65 | width: 32px; 66 | height: 32px; 67 | vertical-align: middle; 68 | border-radius: 16px; 69 | } 70 | .project-panel { 71 | padding: 20px 28px; 72 | height: 100%; 73 | box-sizing: border-box; 74 | overflow: auto; 75 | } 76 | .project-panel::-webkit-scrollbar-thumb { 77 | background-color: transparent; 78 | } 79 | .project-panel:hover::-webkit-scrollbar-thumb { 80 | background-color: #4C637B; 81 | } 82 | .project-info { 83 | padding: 10px 16px; 84 | background: #F2F6FA; 85 | border-radius: 3px; 86 | } 87 | .project-info .tt { 88 | font-size: 18px; 89 | margin-bottom: 20px; 90 | } 91 | .project-auth { 92 | background: #F2F6FA; 93 | border-radius: 3px; 94 | margin-top: 20px; 95 | } 96 | .project-auth .list > :nth-child(even) { 97 | background: #EBF1F5; 98 | } 99 | .project-auth li, 100 | .project-auth .li { 101 | height: 80px; 102 | box-sizing: border-box; 103 | padding: 20px 15px; 104 | line-height: 40px; 105 | font-size: 0; 106 | -webkit-transition: all .2s ease; 107 | transition: all .2s ease; 108 | } 109 | .project-auth li:hover, 110 | .project-auth .li:hover { 111 | background: #E3EAF3; 112 | } 113 | .project-auth li.on + .li-sub, 114 | .project-auth .li.on + .li-sub { 115 | display: block; 116 | } 117 | .project-auth .li-sub { 118 | display: none; 119 | background: #FFF; 120 | border: 1px solid #F2F6FA; 121 | padding: 20px; 122 | } 123 | .project-auth .col { 124 | display: inline-block; 125 | vertical-align: top; 126 | padding: 0 5px; 127 | box-sizing: border-box; 128 | } 129 | .project-auth .col-1 { 130 | width: 50%; 131 | font-size: 18px; 132 | } 133 | .project-auth .col-2 { 134 | width: 10%; 135 | color: rgba(60, 60, 60, 0.8); 136 | font-size: 44px; 137 | font-style: italic; 138 | text-align: right; 139 | font-weight: 100; 140 | } 141 | .project-auth .col-3 { 142 | width: 40%; 143 | color: rgba(60, 60, 60, 0.7); 144 | font-size: 14px; 145 | font-style: italic; 146 | } 147 | /**/ 148 | .process-bar { 149 | height: 50px; 150 | position: relative; 151 | padding: 1px 0; 152 | margin: 5px 0; 153 | } 154 | .process-bar .text { 155 | font-size: 14px; 156 | margin: 5px 0; 157 | color: rgba(60, 60, 60, 0.8); 158 | } 159 | .process-bar .bar { 160 | background: #E3EAF3; 161 | height: 5px; 162 | font-size: 0; 163 | } 164 | .process-bar .bar i { 165 | display: block; 166 | position: relative; 167 | height: 5px; 168 | background: -webkit-gradient(linear, 0 0, 100% 0, from(#D0F1FE), to(#15BBF8)); 169 | -webkit-transition: all .2s ease; 170 | transition: all .2s ease; 171 | } 172 | .process-bar .bar .num { 173 | position: absolute; 174 | bottom: 5px; 175 | right: 5px; 176 | font-size: 20px; 177 | font-style: normal; 178 | color: #15BBF8; 179 | } 180 | .process-bar-2 .bar i { 181 | background: -webkit-gradient(linear, 0 0, 100% 0, from(#FFE0CE), to(#FF6000)); 182 | } 183 | .process-bar-2 .bar .num { 184 | color: #FF6000; 185 | } 186 | /**/ 187 | .import-score-wrap .studentNameIpt .ipt { 188 | height: 50px; 189 | padding: 5px 15px; 190 | } 191 | .import-score-wrap .studentScoreIpt { 192 | height: 50px; 193 | padding: 5px 15px; 194 | } 195 | -------------------------------------------------------------------------------- /src/demo/views/finance-o2o/form.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    表单
    5 |
    6 | 11 |
    12 |
    13 |
    14 |
    表单元素
    15 |
    16 |
    17 |
    输入框
    18 |
    19 | 20 |
    21 |
    22 |
    23 |
    自定义
    24 |
    25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 53 | 54 | 55 | 58 | 59 | 60 | 61 | 62 | 63 | 66 | 67 | 68 |
    NameTypeKeyPalceholder
    {{$index+1}} 42 | 49 |
    50 | 51 |
    52 |
    56 | 57 |
    64 | 65 |
    69 |
    70 |
    71 |
    72 |
    73 |
    74 |
    75 | 76 |
    77 |
    78 |
    79 |
    80 |
    -------------------------------------------------------------------------------- /src/ui/modules/main/services.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hao on 15/11/18. 3 | */ 4 | define('main/services', ['main/init'], function () { 5 | //请求拦截 用于登录超时 6 | function redirectInterceptor($q, $location) { 7 | return { 8 | response: function (response) { 9 | if (typeof response.data === 'string' && /^/.test(response.data)) { 10 | window.location.assign(response.config.url); 11 | return response; 12 | } else { 13 | return response; 14 | } 15 | } 16 | } 17 | }; 18 | redirectInterceptor.$inject = ['$q', '$location']; 19 | 20 | //数据请求 21 | function requestData($q, $http, $httpParamSerializer) { 22 | return function (_url, _params) { 23 | var defer = $q.defer(); 24 | $http({ 25 | method: 'POST', 26 | url: _url, 27 | data: _params || {}, 28 | transformRequest: function (data) { 29 | return $httpParamSerializer(data); 30 | }, 31 | headers: { 32 | 'Content-Type': 'application/x-www-form-urlencoded', 33 | 'X-Requested-With': 'XMLHttpRequest' 34 | } 35 | }) 36 | .success(function (_data, status, headers, config) { 37 | if (status == 200 && _data.code == 200) { 38 | defer.resolve([_data.data, _data]); 39 | } else { 40 | defer.reject(_data.message || '出错了'); 41 | } 42 | }) 43 | .error(function () { 44 | defer.reject("提交失败!"); 45 | }); 46 | 47 | return defer.promise; 48 | } 49 | }; 50 | requestData.$inject = ['$q', '$http', '$httpParamSerializer']; 51 | 52 | //弹窗确认 53 | function dialogConfirm($rootScope, modal) { 54 | return function (_text, _callBack) { 55 | var _$scope = $rootScope.$new(false); 56 | _$scope.confirmText = _text || '确定删除?'; 57 | modal.openConfirm({ 58 | template: 'tpl/dialog-confirm.html', 59 | scope: _$scope 60 | }).then(_callBack); 61 | }; 62 | }; 63 | dialogConfirm.$inject = ['$rootScope', 'modal']; 64 | 65 | //弹窗提示 66 | function dialogAlert($rootScope, modal) { 67 | return function (_text, _callBack) { 68 | var _$scope = $rootScope.$new(false); 69 | _$scope.confirmText = _text || '确定'; 70 | modal.openConfirm({ 71 | template: 'tpl/dialog-alert.html', 72 | scope: _$scope 73 | }).then(_callBack); 74 | }; 75 | }; 76 | dialogAlert.$inject = ['$rootScope', 'modal']; 77 | 78 | //普通弹窗 79 | function dialog($rootScope, modal) { 80 | return function (_content, _callBack) { 81 | var _$scope = $rootScope.$new(false); 82 | _$scope.content = _content; 83 | modal.openConfirm({ 84 | template: 'tpl/dialog-center.html', 85 | scope: _$scope 86 | }).then(_callBack); 87 | }; 88 | }; 89 | dialog.$inject = ['$rootScope', 'modal']; 90 | 91 | //图表弹窗 92 | function dialogChart($rootScope, modal, $http) { 93 | return function (_url) { 94 | var _$scope = $rootScope.$new(false); 95 | var _params = {}; 96 | var _urlObj = _url.split("?"); 97 | if (_urlObj[1]) { 98 | angular.forEach(_urlObj[1].split("&"), function (_row) { 99 | var _arr = _row.split("="); 100 | _params[_arr[0]] = _arr[1]; 101 | }) 102 | } 103 | _$scope.url = _url; 104 | _$scope.urlParams = _params; 105 | modal.open({ 106 | template: 'tpl/dialog-center.html', 107 | scope: _$scope 108 | }); 109 | }; 110 | }; 111 | dialogChart.$inject = ['$rootScope', 'modal', '$http']; 112 | 113 | angular.module('manageApp.main') 114 | .factory('redirectInterceptor', redirectInterceptor) 115 | .service('requestData', requestData) 116 | .service('dialogConfirm', dialogConfirm) 117 | .service('dialogAlert', dialogAlert) 118 | .service('dialog', dialog) 119 | .service('dialogChart', dialogChart) 120 | .config(['$httpProvider', function ($httpProvider) { 121 | $httpProvider.interceptors.push('redirectInterceptor'); 122 | }]) 123 | }); -------------------------------------------------------------------------------- /src/demo/views/yuexuequan/task-view.html: -------------------------------------------------------------------------------- 1 |
    2 |
    任务详情
    3 |
    4 |
    5 |
    6 |
    7 |
    任务名称
    8 |
    9 |
    10 |
    11 |
    截止时间
    12 |
    13 | 14 |
    15 |
    16 |
    17 |
    任务内容
    18 |
    19 | 20 |
    21 |
    22 |
    23 |
    汇报周期
    24 |
    25 | 每周 26 |
    27 |
    28 |
    29 |
    执行人
    30 |
    31 | 张三 32 |
    33 |
    34 |
    35 |
    工作报告
    36 |
    42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 58 | 61 | 62 | 63 | 64 | 65 | 68 | 71 | 74 | 75 | 76 | 77 | 78 | 79 | 82 | 83 | 84 |
    日期总结计划
    {{tr.date}} 56 | {{tr.zj}} 57 | 59 | {{tr.jh}} 60 |
    66 | 67 | 69 | 70 | 72 | 73 |
    80 | 81 |
    85 |
    86 |
    87 |
    88 |
    89 |
    90 |
    91 | 92 | 93 |
    94 |
    95 |
    96 |
    97 |
    98 |
    -------------------------------------------------------------------------------- /src/ui/modules/modal/directives.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hao on 15/11/21. 3 | */ 4 | 5 | define('modal/directives', ['modal/init'], function () { 6 | 7 | //弹窗 8 | function modal(ngDialog) { 9 | return { 10 | restrict: 'A', 11 | scope: { 12 | modalScope: '=' 13 | }, 14 | link: function (scope, elem, attrs) { 15 | elem.on('click', function (e) { 16 | e.preventDefault(); 17 | 18 | var ngDialogScope = angular.isDefined(scope.modalScope) ? scope.modalScope : 'noScope'; 19 | angular.isDefined(attrs.ngDialogClosePrevious) && ngDialog.close(attrs.ngDialogClosePrevious); 20 | 21 | var defaults = ngDialog.getDefaults(); 22 | 23 | ngDialog.open({ 24 | template: attrs.ngDialog, 25 | className: attrs.ngDialogClass || defaults.className, 26 | controller: attrs.ngDialogController, 27 | controllerAs: attrs.ngDialogControllerAs, 28 | bindToController: attrs.ngDialogBindToController, 29 | scope: ngDialogScope, 30 | data: attrs.ngDialogData, 31 | showClose: attrs.ngDialogShowClose === 'false' ? false : (attrs.ngDialogShowClose === 'true' ? true : defaults.showClose), 32 | closeByDocument: attrs.ngDialogCloseByDocument === 'false' ? false : (attrs.ngDialogCloseByDocument === 'true' ? true : defaults.closeByDocument), 33 | closeByEscape: attrs.ngDialogCloseByEscape === 'false' ? false : (attrs.ngDialogCloseByEscape === 'true' ? true : defaults.closeByEscape), 34 | overlay: attrs.ngDialogOverlay === 'false' ? false : (attrs.ngDialogOverlay === 'true' ? true : defaults.overlay), 35 | preCloseCallback: attrs.ngDialogPreCloseCallback || defaults.preCloseCallback 36 | }); 37 | }); 38 | } 39 | }; 40 | }; 41 | modal.$inject = ['modal']; 42 | 43 | //右侧遮罩层 44 | function modalRight(ngDialog) { 45 | return { 46 | restrict: 'A', 47 | scope: { 48 | modalScope: '=' 49 | }, 50 | link: function ($scope, $elem, $attrs) { 51 | var dialogWidth = $attrs.modalRight || "50%"; 52 | $elem.on('click', function (e) { 53 | e.preventDefault(); 54 | 55 | ngDialog.closeAll(); 56 | //var _dialogs = ngDialog.getOpenDialogs(); 57 | //if (_dialogs.length) { 58 | // return; 59 | //}; 60 | 61 | ngDialog.open({ 62 | template: $attrs.modalUrl, 63 | className: 'ngdialog-theme-right', 64 | cache: false, 65 | trapFocus: true, 66 | overlay: ($attrs.modalOverlay == "true"), 67 | data: $attrs.modalData || $scope.modalScope.tr, 68 | scope: $scope.modalScope, 69 | controller: ["$scope", "$element", function ($scope, $element) { 70 | $(".ngdialog-content", $element).width(dialogWidth); 71 | }] 72 | }); 73 | }); 74 | } 75 | }; 76 | }; 77 | modalRight.$inject = ['modal']; 78 | 79 | //中间遮罩层 80 | function modalCenter(ngDialog) { 81 | return { 82 | restrict: 'A', 83 | scope: { 84 | modalScope: '=' 85 | }, 86 | link: function ($scope, $elem, $attrs) { 87 | var dialogWidth = $attrs.modalCenter || "50%"; 88 | $elem.on('click', function (e) { 89 | e.preventDefault(); 90 | 91 | //ngDialog.close(); 92 | 93 | ngDialog.open({ 94 | template: $attrs.modalUrl, 95 | //className: 'ngdialog-theme-right', 96 | cache: false, 97 | trapFocus: false, 98 | //overlay: false, 99 | data: $attrs.modalData || $scope.modalScope.tr, 100 | scope: $scope.modalScope, 101 | controller: ["$scope", "$element", function ($scope, $element) { 102 | $(".ngdialog-content", $element).width(dialogWidth); 103 | }] 104 | }); 105 | }); 106 | } 107 | }; 108 | }; 109 | modalCenter.$inject = ['modal']; 110 | 111 | angular.module('manageApp.modal') 112 | .directive("modal", modal) 113 | .directive("modalRight", modalRight) 114 | .directive("modalCenter", modalCenter); 115 | }); -------------------------------------------------------------------------------- /src/demo/views/yuexuequan/calendar.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    日历系统
    5 |
    6 | 11 |
    12 |
    13 |
    14 |
    15 |
    16 |
    17 |
    18 |
    19 |
    20 |
    {{auth.name}}
    21 |
    {{auth.num}}
    22 |
    {{auth.unit}}
    23 |
    24 |
    25 | 26 |
    27 |
    28 |
    29 |
    30 |
    31 |
    32 |
    33 |
    34 |
    35 |
    36 |
    37 |
    38 |
    什么也没有
    39 |
    40 |
    41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 |
    户型名称房屋用途房 型预售面积附属/赠送类型和面积户型图其他信息
    {{tr.name}}{{tr.col1}}{{tr.col2}}{{tr.col3}}{{tr.col4}}{{tr.col5}}{{tr.col6}}
    65 |
    66 |
    67 |
    68 |
    69 |
    70 |
    71 |
    72 |
    73 |
    74 |
    75 | 76 |
    77 |
    78 |
    79 |
    80 |
    81 |
    82 |
    83 |
    84 |
    85 |
    -------------------------------------------------------------------------------- /src/demo/views/finance-o2o/list-3.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    实例3
    5 |
    6 | 11 |
    12 |
    13 |
    14 |
    15 |
    16 |
    17 |
    显示内容
    18 |
    19 | 24 |    25 | 30 | 万 - 31 | 万 32 |
    33 |
    34 |
    35 |
    36 | 项目列表 37 |
    38 |
    39 |
      40 |
    • 代办事件(9)
    • 41 |
    • 已办事件
    • 42 |
    43 | 44 |
    45 |
    46 |
    47 |
    48 |
    49 |
    50 |
    51 |
    52 |
    53 |
    54 |
    55 |
    56 |
    什么也没有
    57 |
    58 |
    59 |
    60 | 61 |
    62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 85 | 86 | 87 |
    企业名称企业法人代表资产规模资产销售备注创建时间
    企业名称张三1000万200万补强资料{{1453794845667|date:'yyyy-MM-dd'}} 83 | 进入工作区 84 |
    88 |
    89 | 90 |
    91 |
    92 |
    93 |
    94 |
    95 |
    96 |
    97 |
    -------------------------------------------------------------------------------- /src/demo/views/yuexuequan/notice.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    发送通知
    5 |
    6 | 11 |
    12 |
    13 |
    14 |
    15 |
    16 |
    17 |
    18 |
    收件人:
    19 |
    20 | 31 |
    32 |
    33 |
    34 |
    主题:
    35 |
    36 | 37 |
    38 |
    39 |
    40 |
    41 |
    42 | 47 | 49 | 50 |
    51 |
    52 |
    53 |
    54 |
    55 |
    56 |
    57 |
    58 |
    59 |
    内容:
    60 |
    61 | 62 |
    63 |
    64 | {{formData}} 65 |
    66 |
    67 |
    68 | 69 |
    70 |
    71 |
    72 |
    73 |
    74 |
    通讯录
    75 |
      76 |
    • 77 | 全选 78 | {{tree.name}} 79 |
        80 |
      • 81 | {{tree2.name}} 82 |
      • 83 |
      84 |
    • 85 |
    86 |
    87 |
    88 |
    89 |
    90 |
    91 |
    -------------------------------------------------------------------------------- /src/ui/css/datepicker.css: -------------------------------------------------------------------------------- 1 | .hide-text { 2 | font: 0/0 a; 3 | color: transparent; 4 | text-shadow: none; 5 | background-color: transparent; 6 | border: 0; 7 | } 8 | .input-block-level { 9 | display: block; 10 | width: 100%; 11 | min-height: 30px; 12 | box-sizing: border-box; 13 | } 14 | .date-picker-date-time { 15 | position: absolute; 16 | } 17 | .date-range .date-picker-date-time { 18 | position: inherit; 19 | } 20 | [date-picker-wrapper] { 21 | position: absolute; 22 | min-width: 220px; 23 | z-index: 10; 24 | display: block; 25 | font-size: 14px; 26 | } 27 | [date-picker-wrapper] [date-picker] { 28 | box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); 29 | } 30 | [date-time-append] [date-picker-wrapper] [date-picker] { 31 | margin-top: -30px; 32 | } 33 | [date-time-append] [date-picker] { 34 | position: relative; 35 | margin-right: -1000px; 36 | margin-bottom: -1000px; 37 | } 38 | [date-range] [date-picker] .after.before { 39 | color: #FFF; 40 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); 41 | background-color: #499dcd; 42 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5BC0DE), to(#2f6ab4)); 43 | background-image: -webkit-linear-gradient(top, #5BC0DE, #2f6ab4); 44 | background-image: linear-gradient(to bottom, #5BC0DE, #2f6ab4); 45 | background-repeat: repeat-x; 46 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f6ab4', GradientType=0); 47 | border-color: #2f6ab4 #2f6ab4 #1f4677; 48 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); 49 | *background-color: #2f6ab4; 50 | /* Darken IE7 buttons by default so they stand out more given they won't have borders */ 51 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 52 | } 53 | [date-range] [date-picker] .after.before:hover, 54 | [date-range] [date-picker] .after.before:active, 55 | [date-range] [date-picker] .after.before.active, 56 | [date-range] [date-picker] .after.before.disabled, 57 | [date-range] [date-picker] .after.before[disabled] { 58 | color: #FFF; 59 | background-color: #2f6ab4; 60 | *background-color: #2a5ea0; 61 | } 62 | [date-range] [date-picker] .after.before:active, 63 | [date-range] [date-picker] .after.before.active { 64 | background-color: #24528c \9; 65 | } 66 | [date-picker].hidden { 67 | display: none; 68 | } 69 | [date-picker] { 70 | -webkit-user-select: none; 71 | -moz-user-select: none; 72 | -ms-user-select: none; 73 | -o-user-select: none; 74 | user-select: none; 75 | border-radius: 4px; 76 | background-color: #FFF; 77 | min-width: 300px; 78 | /* GENERAL */ 79 | padding: 4px; 80 | /* SPECIFIC */ 81 | } 82 | [date-picker] table { 83 | margin: 0; 84 | width: 100%; 85 | } 86 | [date-picker] td, 87 | [date-picker] th { 88 | background: #FFF; 89 | padding: 4px 5px; 90 | text-align: center; 91 | width: 20px; 92 | height: 20px; 93 | border-radius: 4px; 94 | border: none; 95 | } 96 | [date-picker] .switch { 97 | width: 145px; 98 | } 99 | [date-picker] span { 100 | display: block; 101 | width: 23%; 102 | height: 26px; 103 | line-height: 25px; 104 | float: left; 105 | margin: 1%; 106 | cursor: pointer; 107 | } 108 | [date-picker] span:hover { 109 | background: #EEE; 110 | } 111 | [date-picker] span.disabled, 112 | [date-picker] span.disabled:hover { 113 | background: none; 114 | cursor: default; 115 | } 116 | [date-picker] .active { 117 | background-color: #006dcc; 118 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08C), to(#0044cc)); 119 | background-image: -webkit-linear-gradient(top, #08C, #0044cc); 120 | background-image: linear-gradient(to bottom, #08C, #0044cc); 121 | background-repeat: repeat-x; 122 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); 123 | border-color: #0044cc #0044cc #002a80; 124 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); 125 | *background-color: #0044cc; 126 | /* Darken IE7 buttons by default so they stand out more given they won't have borders */ 127 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 128 | color: #FFF; 129 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); 130 | } 131 | [date-picker] .active:hover, 132 | [date-picker] .active:active, 133 | [date-picker] .active.active, 134 | [date-picker] .active.disabled, 135 | [date-picker] .active[disabled] { 136 | color: #FFF; 137 | background-color: #0044cc; 138 | *background-color: #003bb3; 139 | } 140 | [date-picker] .active:active, 141 | [date-picker] .active.active { 142 | background-color: #003399 \9; 143 | } 144 | [date-picker] .now { 145 | background: transparent; 146 | color: #EE5F5B !important; 147 | } 148 | [date-picker] .disabled { 149 | background: none; 150 | color: #CCC; 151 | cursor: default; 152 | } 153 | [date-picker] [ng-switch-when="year"] span, 154 | [date-picker] [ng-switch-when="month"] span, 155 | [date-picker] [ng-switch-when="minutes"] span { 156 | height: 54px; 157 | line-height: 54px; 158 | } 159 | [date-picker] [ng-switch-when="date"] td { 160 | padding: 0; 161 | } 162 | [date-picker] [ng-switch-when="date"] span { 163 | width: 100%; 164 | height: 26px; 165 | line-height: 26px; 166 | } 167 | [date-picker] th:hover, 168 | [date-picker] span:hover { 169 | background: #EEE; 170 | cursor: pointer; 171 | } 172 | .date-picker-block th, 173 | .date-picker-block td { 174 | border: 1px solid #CCC; 175 | } 176 | .date-picker-block td { 177 | height: 50px; 178 | } 179 | .date-picker-block [ng-switch-when="date"] span { 180 | height: 50px; 181 | line-height: 50px; 182 | border-radius: 0; 183 | margin: 0; 184 | position: relative; 185 | } 186 | .date-picker-block [ng-switch-when="date"] span.active { 187 | background: transparent; 188 | color: inherit; 189 | } 190 | .date-picker-block [ng-switch-when="date"] span.expire { 191 | background: #F00; 192 | color: #FFF; 193 | } 194 | .date-picker-block [ng-switch-when="date"] span.remind { 195 | background: green; 196 | color: #FFF; 197 | } 198 | -------------------------------------------------------------------------------- /src/demo/views/yuexuequan/wages.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 |
    教师工资管理
    5 |
    6 |
    7 | 13 |
    14 | 15 | 16 |
    17 | 18 | 19 |
    20 | 22 |
    23 |
    24 |
    25 |
    26 |
    27 |
    28 |
    29 |
    30 |
    31 |
    32 |
    33 |
    34 |
    35 |
    什么也没有
    36 |
    37 |
    38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 104 | 105 | 106 | 107 |
    月份姓名薪级工资岗位工资绩效工资10%教龄粮贴津补贴班主任驾驶补贴生活补贴岗位津贴适当补贴独子费其他补贴个人所得税住房公积金医疗保险养老保险失业保险其他保险其他扣发工资补发应发工资扣发工资实发工资操作
    {{tr.year}}{{tr.month}}{{tr.teacherName}}{{tr.salaryScale}}{{tr.postSalary}}{{tr.meritPay}}{{tr.tenPercent}}{{tr.seniority}}{{tr.grainPaste}}{{tr.allowances}}{{tr.headmaster}}{{tr.drivingSubsidy}}{{tr.livingFee}}{{tr.postAllowance}}{{tr.appropriateFee}}{{tr.onlyChildFee}}{{tr.otherFee}}{{tr.individualTax}}{{tr.housingFound}}{{tr.medicalInsurance}}{{tr.endowmentInsurance}}{{tr.unemploymentInsurance}}{{tr.otherInsurance}}{{tr.otherWithholdingWages}}{{tr.reissue}}{{tr.paidWages}}{{tr.withholdingWages}}{{tr.realWages}} 101 | 102 | 103 |
    108 |
    109 |
    110 | 111 |
    112 |
    113 |
    114 |
    115 |
    116 | 117 |
    118 | 合计:{{details.salaryAll}} 119 |
    120 |
    121 |
    -------------------------------------------------------------------------------- /src/demo/views/yuexuequan/wages2.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 | 4 |
    教师工资管理
    5 |
    6 |
    7 | 13 |
    14 | 15 | 16 |
    17 | 18 | 19 |
    20 | 22 |
    23 |
    24 |
    25 |
    26 |
    27 |
    28 |
    29 |
    30 |
    31 |
    32 |
    33 |
    34 |
    35 |
    什么也没有
    36 |
    37 |
    38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 104 | 105 | 106 | 107 |
    月份姓名薪级工资岗位工资绩效工资10%教龄粮贴津补贴班主任驾驶补贴生活补贴岗位津贴适当补贴独子费其他补贴个人所得税住房公积金医疗保险养老保险失业保险其他保险其他扣发工资补发应发工资扣发工资实发工资操作
    {{tr.year}}{{tr.month}}{{tr.teacherName}}{{tr.salaryScale}}{{tr.postSalary}}{{tr.meritPay}}{{tr.tenPercent}}{{tr.seniority}}{{tr.grainPaste}}{{tr.allowances}}{{tr.headmaster}}{{tr.drivingSubsidy}}{{tr.livingFee}}{{tr.postAllowance}}{{tr.appropriateFee}}{{tr.onlyChildFee}}{{tr.otherFee}}{{tr.individualTax}}{{tr.housingFound}}{{tr.medicalInsurance}}{{tr.endowmentInsurance}}{{tr.unemploymentInsurance}}{{tr.otherInsurance}}{{tr.otherWithholdingWages}}{{tr.reissue}}{{tr.paidWages}}{{tr.withholdingWages}}{{tr.realWages}} 101 | 102 | 103 |
    108 |
    109 |
    110 | 111 |
    112 |
    113 |
    114 |
    115 |
    116 | 117 |
    118 | 合计:{{details.salaryAll}} 119 |
    120 |
    121 |
    --------------------------------------------------------------------------------