Hello.vue 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. <template>
  2. <div id="app"
  3. class="container">
  4. <h1>复选框</h1>
  5. <Checkbox></Checkbox>
  6. <h1>日期控件</h1>
  7. <Date :dateValue="dateValue"
  8. @on-value-change="dateValue = $event"></Date>
  9. {{dateValue}}
  10. <h1>日期+时间控件</h1>
  11. <DateTime></DateTime>
  12. <h1>时间日期控件V2</h1>
  13. <div class="form-inline">
  14. <div class="form-group">
  15. <DateTimeV2 :dateValue="dateValueV2"
  16. v-on:on-value-change="dateValueV2 = $event"></DateTimeV2>
  17. </div>
  18. </div>
  19. <div>
  20. <div class="form-group">
  21. <DateTimeV2 :dateValue="dateValueV2"
  22. v-on:on-value-change="dateValueV2 = $event"></DateTimeV2>
  23. </div>
  24. </div>
  25. {{ dateValueV2 }}
  26. <h1>时间日期控件V2-只读</h1>
  27. <DateTimeV2 :dateValue="dateValueV2"
  28. :readonly="true"></DateTimeV2>
  29. {{ dateValueV2 }}
  30. <h1>时间日期控件V2-复制/粘贴</h1>
  31. <DateTimeV2 :dateValue="dateValueV2_1"
  32. v-on:on-value-change="dateValueV2_1 = $event"></DateTimeV2>
  33. {{ dateValueV2_1 }}
  34. <h1>时间控件</h1>
  35. <Time></Time>
  36. <h1>加载中</h1>
  37. <button @click="showHideLoading">打开加载中</button>
  38. <Loading ref="loading"></Loading>
  39. <h1>模态框</h1>
  40. <button @click="$refs.modal.showModal()">打开模态框</button>
  41. <Modal ref="modal"
  42. @ok="closeModal">
  43. <template #header>
  44. hello1
  45. </template>
  46. <div>Hello World</div>
  47. </Modal>
  48. <h1>页面大小</h1>
  49. <PageSizeSelect v-on:pageSizeChanged="gridSizeSelect"></PageSizeSelect>
  50. <h1>复选框</h1>
  51. <Switches></Switches>
  52. <h1>上传控件</h1>
  53. <UploadWidget></UploadWidget>
  54. <h1>扫描仪</h1>
  55. <Scanner></Scanner>
  56. <h1>年份选择器</h1>
  57. <YearPicker></YearPicker>
  58. <h1>导航栏</h1>
  59. <div style="border: 1px solid">
  60. <NavBar :title="'导航栏1'"
  61. :isGoBack="true"></NavBar>
  62. </div>
  63. <div style="border: 1px solid">
  64. <NavBar :title="'导航栏2'"
  65. :isGoBack="false"></NavBar>
  66. </div>
  67. <h1>分页组件</h1>
  68. <Pagination v-model="pagination"
  69. @callback='pageChanged'></Pagination>
  70. 数据总数
  71. <input type="number"
  72. v-model.number="pagination.total" />
  73. 页面大小
  74. <input type="number"
  75. v-model.number="pagination.perPage" />
  76. <div>
  77. 当前页数 {{ pagination.currentPage }}
  78. </div>
  79. </div>
  80. </template>
  81. <script>
  82. import Checkbox from "../../packages/checkbox/index.js";
  83. import Date from "../../packages/date/index.js";
  84. import DateTime from "../../packages/datetime/index.js";
  85. import DateTimeV2 from "../../packages/datetime-v2/index.js";
  86. import Time from "../../packages/time/index.js";
  87. import Loading from "../../packages/loading/index.js";
  88. import Modal from '../../packages/modal/index.js';
  89. import PageSizeSelect from '../../packages/page-size-select/index.js';
  90. import Scanner from '../../packages/scanner/index.js';
  91. import Switches from '../../packages/switches/index.js';
  92. import UploadWidget from '../../packages/upload-widget/index.js';
  93. import YearPicker from "../../packages/year-picker/index.js";
  94. import NavBar from '../../packages/navbar/index.js';
  95. import Pagination from "../../packages/pagination/index.js";
  96. export default {
  97. name: 'app',
  98. data: function () {
  99. return {
  100. msg: 'Welcome to Your Vue.js App',
  101. users: [
  102. {
  103. id: 1,
  104. name: "张三",
  105. },
  106. {
  107. id: 2,
  108. name: "李四",
  109. }
  110. ],
  111. selectedUserId: null,
  112. selectedUserName: null,
  113. suggestStyles: {
  114. "defaultInput": "form-control"
  115. },
  116. pagination: {
  117. currentPage: 1, // 当前的页数
  118. perPage: 12, // 每页的显示数量
  119. total: 100, // 显示总数
  120. },
  121. paginationOptions: {
  122. offset: 4,
  123. previousText: 'Prev',
  124. nextText: 'Next',
  125. alwaysShowPrevNext: true
  126. },
  127. selectedMonth: null,
  128. dateValue: '2021-10-09',
  129. dateValueV2: '2021-10-09 14:02:00',
  130. dateValueV2_1: '',
  131. }
  132. },
  133. components: {
  134. Checkbox,
  135. Date,
  136. DateTime,
  137. DateTimeV2,
  138. Time,
  139. Loading,
  140. Modal,
  141. PageSizeSelect,
  142. Scanner,
  143. Switches,
  144. UploadWidget,
  145. YearPicker,
  146. NavBar,
  147. Pagination
  148. },
  149. methods: {
  150. showHideLoading: function () {
  151. let _self = this;
  152. _self.$refs.loading.show();
  153. window.setTimeout(function () {
  154. _self.$refs.loading.hide();
  155. }, 3000);
  156. },
  157. /**
  158. * 修改页Size
  159. */
  160. gridSizeSelect: function (newPageSize) {
  161. console.log("page size changed: " + newPageSize);
  162. },
  163. /**
  164. * 选择了用户
  165. */
  166. selectUser: function (user) {
  167. if (user) {
  168. this.selectedUserId = user.id;
  169. } else {
  170. this.selectedUserId = null;
  171. }
  172. },
  173. loadData: function () {
  174. },
  175. /**
  176. * 关闭模态框
  177. */
  178. closeModal: function () {
  179. alert("准备关闭模态框。");
  180. this.$refs.modal.hideModal();
  181. },
  182. /**
  183. * 页面发生了改变
  184. */
  185. pageChanged: function () {
  186. console.log('页面发生了改变%o', this.pagination);
  187. },
  188. }
  189. }
  190. </script>
  191. <style>
  192. </style>