@ajaxjs/ui 1.3.1 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ajaxjs/ui",
3
- "version": "1.3.1",
3
+ "version": "1.3.3",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -23,7 +23,7 @@
23
23
  "build": "vue-cli-service build",
24
24
  "lint": "vue-cli-service lint",
25
25
  "lib": "vue-cli-service build --target lib --name @ajaxjs/widgets --dest dist src/index.js",
26
- "deploy": "npm run lib && tsc && npm version patch && npm publish"
26
+ "deploy": "npm run lib && npm version patch && npm publish"
27
27
  },
28
28
  "main": "dist/@ajaxjs/widgets.umd.js",
29
29
  "types": "dist/types.d.ts",
package/src/iam/iam.ts CHANGED
@@ -19,7 +19,7 @@ export default {
19
19
 
20
20
  if (!accessToken && !token) {
21
21
  console.log('你未登录!');
22
- let target: string = `${loginUrl}?web_url=${encodeURIComponent(thisPageUrl)}`;
22
+ const target = `${loginUrl}?web_url=${encodeURIComponent(thisPageUrl)}`;
23
23
 
24
24
  confirm('你未登录。是否跳转到登录页面?') && location.assign(target);
25
25
 
@@ -51,11 +51,11 @@ export default {
51
51
  };
52
52
 
53
53
  function getQueryParam(variable: string, isParent: boolean): string | null {
54
- var query: string = (isParent ? parent.location : window.location).search.substring(1);
55
- var vars: string[] = query.split("&");
54
+ const query: string = (isParent ? parent.location : window.location).search.substring(1);
55
+ const vars: string[] = query.split("&");
56
56
 
57
- for (var i: number = 0; i < vars.length; i++) {
58
- var pair: string[] = vars[i].split("=");
57
+ for (let i = 0; i < vars.length; i++) {
58
+ const pair: string[] = vars[i].split("=");
59
59
 
60
60
  if (pair[0] == variable)
61
61
  return pair[1];
package/src/iam/user.vue CHANGED
@@ -9,7 +9,7 @@ import Vue from "vue";
9
9
  const logout = "localStorage.removeItem('accessToken');location.reload();";
10
10
 
11
11
  export default Vue.extend({
12
- name: 'IAM',
12
+ name: 'IamUser',
13
13
  data() {
14
14
  return {
15
15
  state: "未登录",
package/src/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  // 动态引入组件
2
2
  const requireComponent = require.context('./', true, /\.vue$/);
3
- // import FooAbc from './FooAbc.vue';
3
+ import List from './iview-ext/list';
4
+ import IAM from './iam/iam';
5
+
4
6
  const components = [];
5
7
 
6
8
  requireComponent.keys().forEach(fileName => {
@@ -44,5 +46,7 @@ if (typeof window !== 'undefined' && window.Vue)
44
46
 
45
47
  export default {
46
48
  install,
49
+ List,
50
+ IAM,
47
51
  ...components//组件也一样要暴露
48
52
  }
@@ -0,0 +1,133 @@
1
+ import Vue from "vue";
2
+ import List from "./list";
3
+ import { Xhr } from '@ajaxjs/util';
4
+
5
+ export default Vue.extend({
6
+ name: "FastViewTable",
7
+ props: {
8
+ widgetName: { type: String, required: false },
9
+ apiUrl: { type: String, required: false }, // 接口地址
10
+ columnsDef: { type: Array, required: false }, // 列定义
11
+ listApiUrl: { type: String, required: true },
12
+ createRoute: { type: String, required: false }, // 新建事件触发时候,进入的路由地址
13
+ editRoute: { type: String, required: false }, // 编辑事件触发时候,进入的路由地址
14
+ pickup: { type: Boolean, required: false }, // 编辑事件触发时候,进入的路由地址
15
+ },
16
+ data() {
17
+ return {
18
+ widgetName_: this.widgetName,
19
+ listApiUrl_: this.listApiUrl,
20
+ colDefId: 0,
21
+ list: {
22
+ columns: this.columnsDef || [],
23
+ data: [],
24
+ total: 0,
25
+ start: 0,
26
+ limit: 9,
27
+ pageNo: 1,
28
+ pageSize: 9,
29
+ loading: false,
30
+ search: {
31
+ name: ''
32
+ },
33
+ } as TableListConfig
34
+ };
35
+ },
36
+ mounted() {
37
+ this.getData();
38
+ },
39
+ methods: {
40
+ getData(): void {
41
+ this.list.loading = true;
42
+ const params: any = { pageNo: this.list.pageNo, pageSize: this.list.pageSize };
43
+
44
+ // if (this.list.search.name)
45
+ // params.where = `name LIKE '%${this.list.search.name}%'`;
46
+
47
+ this.listApiUrl_ && Xhr.xhr_get(this.listApiUrl_, (j: RepsonseResult) => {
48
+ this.list.loading = false;
49
+
50
+ if (j.status) {
51
+ this.list.data = j.data.rows;
52
+ this.list.total = j.data.total;
53
+ } else
54
+ this.$Message.warning(j.message || '获取列表失败');
55
+ }, params);
56
+ },
57
+
58
+ /**
59
+ * 分页记录数
60
+ */
61
+ handleChangePageSize(pageSize: number): void {
62
+ this.list.limit = pageSize;
63
+ this.getData();
64
+ },
65
+ reset(): void {
66
+ for (const i in this.search)
67
+ this.search[i] = "";
68
+
69
+ this.getData();
70
+ },
71
+
72
+ /**
73
+ * 新建
74
+ */
75
+ onCreate(): void {
76
+ if (this.createRoute)
77
+ this.$router.push({ path: this.createRoute }); // 进入详情页,采用相对路径
78
+ else {
79
+ if (!this.$parent.onCreate)
80
+ throw '请设置父组件的 onCreate 事件处理器';
81
+
82
+ this.$parent.onCreate();
83
+ }
84
+ },
85
+
86
+ /**
87
+ * 编辑
88
+ */
89
+ onEdit(id: number): void {
90
+ if (this.editRoute)
91
+ this.$router.push({ path: this.editRoute, query: { id } }); // 进入详情页,采用相对路径
92
+ else {
93
+ if (!this.$parent.onEdit)
94
+ throw '请设置父组件的 onEdit 事件处理器';
95
+
96
+ this.$parent.onEdit(id);
97
+ }
98
+ },
99
+
100
+ doPickup(data: any): void {
101
+ this.$emit("on-select", data);
102
+ },
103
+ deleteInfo(id: number, index: number): void {
104
+ this.list.loading = true;
105
+ Xhr.xhr_del(`${this.apiUrl}/${id}`, List.afterDelete(() => {
106
+ this.list.data.splice(index, 1);
107
+ this.list.total--;
108
+ this.list.loading = false;
109
+ }).bind(this));
110
+ },
111
+ },
112
+ watch: {
113
+ listApiUrl(v: string): void {
114
+ // debugger
115
+ this.listApiUrl_ = v;
116
+ this.getData();
117
+ },
118
+
119
+ /**
120
+ * 分页
121
+ *
122
+ * @param v
123
+ */
124
+ current(v: number): void {
125
+ this.start = (v - 1) * this.list.limit;
126
+ this.getData();
127
+ },
128
+ 'list.pageNo'(v: number): void {
129
+ this.list.start = (v - 1) * this.list.limit;
130
+ this.getData();
131
+ }
132
+ },
133
+ });
@@ -0,0 +1,67 @@
1
+ <template>
2
+ <div>
3
+ <!-- 搜索表单 -->
4
+ <Card :bordered="false" dis-hover class="common-search-panel" style="text-align:left">
5
+ <span style="float:right;">
6
+ <Button type="primary" icon="ios-search" @click="$parent.getData()">查询</Button>
7
+ <Button style="margin-left:10px" @click="reset">重置</Button>
8
+ </span>
9
+ <Input suffix="ios-search" v-model="list.search.name" @on-enter="getData" clearable :placeholder="'请输入' + widgetName_ + '名称'" />
10
+ </Card>
11
+
12
+ <div>
13
+ <Card :bordered="false" dis-hover>
14
+ <div class="toolbar">
15
+ <Tooltip class="ivu-ml" content="刷新" placement="top">
16
+ <Icon size="20" type="ios-refresh" @click="getData" style="cursor: pointer;" />
17
+ </Tooltip>
18
+
19
+ <slot name="toolbar"></slot>
20
+ <Button v-if="!!createRoute || !! $parent.onCreate" type="primary" icon="md-add" @click="onCreate">新建{{widgetName_}}</Button>
21
+ </div>
22
+
23
+ <Table :columns="list.columns" :data="list.data" :loading="list.loading" height="500">
24
+ <template slot-scope="{ row, index }" slot="action">
25
+ <slot name="list_action" :item="row"></slot>
26
+ <a v-if="pickup" style="color:green;" @click="doPickup(row)">选择</a>
27
+
28
+ <span v-if="!pickup">
29
+ <a style="color:green;" @click="onEdit(row.id)">编辑</a>
30
+ <Divider type="vertical" />
31
+ <Poptip confirm transfer title="是否要删除此行?" @on-ok="deleteInfo(row.id, index)">
32
+ <a style="color:red;">删除</a>
33
+ </Poptip>
34
+ </span>
35
+ </template>
36
+ </Table>
37
+
38
+ <Page class="ivu-mt ivu-text-right" :total="list.total" :current.sync="list.pageNo" show-total show-sizer :page-size="list.limit" @on-page-size-change="handleChangePageSize" />
39
+ </Card>
40
+ </div>
41
+ </div>
42
+ </template>
43
+
44
+ <style scoped>
45
+ .toolbar {
46
+ margin-bottom: 20px;
47
+ overflow: hidden;
48
+ }
49
+
50
+ .toolbar .ivu-ml {
51
+ float: right;
52
+ padding-top: 10px;
53
+ }
54
+
55
+ /* 分页控件有点问题,修改下 */
56
+ .ivu-mt.ivu-text-right {
57
+ text-align: right;
58
+ margin-top: 20px;
59
+ }
60
+
61
+ .common-search-panel .ivu-input-type-text {
62
+ width: 280px;
63
+ margin: 0 10px 16px 0;
64
+ }
65
+ </style>
66
+
67
+ <script lang="ts" src="./fast-iview-table.ts"></script>
@@ -3,11 +3,11 @@ import { Xhr, Utils } from "@ajaxjs/util";
3
3
  /**
4
4
  * 处理响应的回调函数
5
5
  */
6
- type XhrCallback = (json: {}, text: string) => void;
6
+ type XhrCallback = (json: object, text: string) => void;
7
7
 
8
8
  export default {
9
- afterDelete(cb?: Function): Function {
10
- return function (j: RepsonseResult) {
9
+ afterDelete(cb?: (a: RepsonseResult) => void): (j: RepsonseResult) => void {
10
+ return function (j: RepsonseResult): void {
11
11
  if (j.status) {
12
12
  cb && cb(j);
13
13
  this.$Message.success('删除成功');
@@ -37,7 +37,7 @@ export default {
37
37
  * 创建日期
38
38
  */
39
39
  createDate: {
40
- title: '创建日期',/* key: 'createDate', */ width: 160, align: 'center', render(h: Function, params: any) {
40
+ title: '创建日期',/* key: 'createDate', */ width: 160, align: 'center', render(h: (a: string, b: string) => object, params: any) {
41
41
  return h('div', Utils.dateFormat.call(new Date(params.row.createDate), 'yyyy-MM-dd hh:mm'));
42
42
  }
43
43
  },
@@ -49,8 +49,8 @@ export default {
49
49
 
50
50
  status: {
51
51
  title: '状态', width: 80,
52
- render(h: Function, params: any) {
53
- let str: string = '', color: string = '';
52
+ render(h: (a: string, b: object, c: string) => void, params: any) {
53
+ let str = '', color = '';
54
54
 
55
55
  switch (params.row.stat) {
56
56
  case -1:
@@ -79,7 +79,7 @@ export default {
79
79
  }, str);
80
80
  }
81
81
  },
82
- getPageList(self: any, listArray: any, callback?: Function): XhrCallback {
82
+ getPageList(self: any, listArray: any, callback?: () => void): XhrCallback {
83
83
  return (j: JsonResponse) => {
84
84
  if (j.status) {
85
85
  listArray.total = j.data.total;
@@ -91,7 +91,7 @@ export default {
91
91
  }
92
92
  },
93
93
 
94
- copyBeanClean(bean: {}): {} {
94
+ copyBeanClean(bean: object): object {
95
95
  const deepCopy: any = JSON.parse(JSON.stringify(bean));
96
96
 
97
97
  delete deepCopy.createDate;
@@ -1,97 +0,0 @@
1
- import { Xhr } from "@ajaxjs/util";
2
- import Vue from "vue";
3
- const DBType = { 'MY_SQL': 'MySQL', 'ORACLE': 'Oracle', 'SQL_SERVER': 'Sql Server', 'SPARK': 'Spark', 'SQLITE': 'SQLite', DB2: 'DB2' };
4
- // @ts-ignore xxxxxxxx
5
- const DATASOURCE_API = window.API_ROOT ? API_ROOT + '/data_service/datasource' : '../../data_service/datasource';
6
- // @ts-ignore xxxxxxxxxx
7
- const DATA_SERVICE_API = window.API_ROOT ? API_ROOT + '/data_service/admin' : '../../data_service/admin';
8
- export default Vue.extend({
9
- name: 'DataSource',
10
- data() {
11
- return {
12
- isCreate: true,
13
- datasources: [
14
- {
15
- id: 1,
16
- name: '加载中……'
17
- }
18
- ],
19
- activedItem: null,
20
- editing: {},
21
- form: {
22
- data: {},
23
- rules: {
24
- name: [
25
- { required: true, message: '数据源名称不能为空', trigger: 'blur' }
26
- ],
27
- }
28
- },
29
- DBType: DBType
30
- };
31
- },
32
- mounted() {
33
- this.getList();
34
- },
35
- methods: {
36
- active(item) {
37
- this.activedItem = item.id;
38
- this.form.data = item;
39
- },
40
- getList(cb) {
41
- // @ts-ignore xxxx
42
- xhr_get(`${window.config.dsApiRoot}/datasource`, (j) => {
43
- this.datasources = j.data;
44
- }, { start: 0, limit: 99 });
45
- },
46
- add() {
47
- this.activedItem = null;
48
- this.form.data = {
49
- name: ''
50
- };
51
- },
52
- create() {
53
- this.$refs.editForm.validate((valid) => {
54
- if (valid) {
55
- Xhr.xhr_post(DATASOURCE_API, this.form.data, j => {
56
- if (j.status === 1) {
57
- const newlyId = j.data;
58
- this.getList(() => this.activedItem = newlyId);
59
- this.$Message.success('创建数据源成功');
60
- this.form.data.id = newlyId;
61
- }
62
- });
63
- }
64
- else
65
- this.$Message.error('表单验证不通过');
66
- });
67
- },
68
- update() {
69
- const entity = Object.assign({}, this.form.data);
70
- Xhr.xhr_put(DATASOURCE_API, entity, j => {
71
- if (j.status === 1) {
72
- this.$Message.success('修改数据源成功');
73
- }
74
- });
75
- },
76
- del(id, name) {
77
- this.$Modal.confirm({
78
- title: '删除数据源',
79
- content: `是否删除数据源 #${name}?`,
80
- onOk: () => {
81
- Xhr.xhr_del(DATASOURCE_API + id, j => {
82
- this.$Message.success('删除数据源成功');
83
- this.getList(() => this.add());
84
- });
85
- }
86
- });
87
- },
88
- test() {
89
- // @ts-ignore xxxxxx
90
- xhr_get(`${window.config.dsApiRoot}/datasource/test/` + this.activedItem, (j) => {
91
- if (j.status)
92
- this.$Modal.success({ title: '连接数据源成功' });
93
- });
94
- }
95
- }
96
- });
97
- //# sourceMappingURL=data-source.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-source.js","sourceRoot":"","sources":["data-source.ts"],"names":[],"mappings":"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"}
package/src/iam/iam.js DELETED
@@ -1,52 +0,0 @@
1
- import { Xhr } from "@ajaxjs/util";
2
- /**
3
- * 获取登录信息
4
- *
5
- * @returns 用户 JWT
6
- */
7
- export default {
8
- /**
9
- *
10
- *
11
- * @param loginUrl 登录页面地址
12
- * @param thisPageUrl 前端页面的地址,最后返回这里
13
- * @returns
14
- */
15
- getLoginInfo(loginUrl, thisPageUrl) {
16
- const token = getQueryParam("token", false);
17
- let accessToken = localStorage.getItem("accessToken");
18
- if (!accessToken && !token) {
19
- console.log('你未登录!');
20
- let target = `${loginUrl}?web_url=${encodeURIComponent(thisPageUrl)}`;
21
- confirm('你未登录。是否跳转到登录页面?') && location.assign(target);
22
- return;
23
- }
24
- if (token) {
25
- accessToken = decodeURIComponent(token);
26
- localStorage.setItem("accessToken", accessToken);
27
- // 只需要第一次的参数,之后不需要,现在清除
28
- const url = new URL(location.href); // 创建一个包含查询参数的URL
29
- const params = new URLSearchParams(url.search); // 获取URL中的查询参数
30
- params.delete('token'); // 删除名为'b'的参数
31
- url.search = params.toString(); // 更新URL的查询参数
32
- location.assign(url.href);
33
- }
34
- // window.JWT_TOKEN = JSON.parse(accessToken);
35
- Xhr.setBaseHeadParams({ Authorization: 'Bearer ' + accessToken });
36
- // 将 JWT Token 拆分为三个部分
37
- const tokenParts = accessToken.split('.');
38
- const payload = JSON.parse(atob(tokenParts[1])); // 解析载荷
39
- return payload;
40
- }
41
- };
42
- function getQueryParam(variable, isParent) {
43
- var query = (isParent ? parent.location : window.location).search.substring(1);
44
- var vars = query.split("&");
45
- for (var i = 0; i < vars.length; i++) {
46
- var pair = vars[i].split("=");
47
- if (pair[0] == variable)
48
- return pair[1];
49
- }
50
- return null;
51
- }
52
- //# sourceMappingURL=iam.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iam.js","sourceRoot":"","sources":["iam.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC;;;;GAIG;AACH,eAAe;IACX;;;;;;OAMG;IACH,YAAY,CAAC,QAAgB,EAAE,WAAmB;QAC9C,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,WAAW,GAAW,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAE9D,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,IAAI,MAAM,GAAW,GAAG,QAAQ,YAAY,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;YAE9E,OAAO,CAAC,iBAAiB,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAEtD,OAAO;SACV;QAED,IAAI,KAAK,EAAE;YACP,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACxC,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAEjD,8BAA8B;YAC9B,MAAM,GAAG,GAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB;YAC1D,MAAM,MAAM,GAAoB,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA,cAAc;YAC9E,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA,aAAa;YACpC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA,aAAa;YAE5C,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAC7B;QAED,8CAA8C;QAC9C,GAAG,CAAC,iBAAiB,CAAC,EAAE,aAAa,EAAE,SAAS,GAAG,WAAW,EAAE,CAAC,CAAC;QAElE,sBAAsB;QACtB,MAAM,UAAU,GAAa,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;QAExD,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ,CAAC;AAEF,SAAS,aAAa,CAAC,QAAgB,EAAE,QAAiB;IACtD,IAAI,KAAK,GAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACvF,IAAI,IAAI,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEtC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC1C,IAAI,IAAI,GAAa,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAExC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ;YACnB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;KACtB;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,94 +0,0 @@
1
- import { Xhr, Utils } from "@ajaxjs/util";
2
- export default {
3
- afterDelete(cb) {
4
- return function (j) {
5
- if (j.status) {
6
- cb && cb(j);
7
- this.$Message.success('删除成功');
8
- }
9
- else
10
- this.$Message.info('删除失败。' + j.message);
11
- };
12
- },
13
- delInfo(index) {
14
- Xhr.xhr_del(`${this.API}/${this.list.data[index].id}`, (j) => {
15
- if (j.status) {
16
- this.list.data.splice(index, 1);
17
- this.list.total--;
18
- this.$Message.success('删除成功');
19
- }
20
- else
21
- this.$Message.info('删除失败。' + j.message);
22
- });
23
- },
24
- /**
25
- * id 列
26
- */
27
- id: { title: '#', width: 60, key: 'id', align: 'center' },
28
- /**
29
- * 创建日期
30
- */
31
- createDate: {
32
- title: '创建日期', /* key: 'createDate', */ width: 160, align: 'center', render(h, params) {
33
- return h('div', Utils.dateFormat.call(new Date(params.row.createDate), 'yyyy-MM-dd hh:mm'));
34
- }
35
- },
36
- /**
37
- * 分类标签
38
- */
39
- tags: { title: '分类标签', minWidth: 100, key: 'tagsNames', align: 'center', ellipsis: true },
40
- status: {
41
- title: '状态', width: 80,
42
- render(h, params) {
43
- let str = '', color = '';
44
- switch (params.row.stat) {
45
- case -1:
46
- str = '草稿';
47
- color = 'gray';
48
- break;
49
- case 2:
50
- color = 'red';
51
- str = '禁用';
52
- break;
53
- case 1:
54
- color = 'red';
55
- str = '已删除';
56
- break;
57
- case null:
58
- case 0:
59
- default:
60
- color = 'green';
61
- str = "启用";
62
- }
63
- return h('div', {
64
- style: {
65
- color: color
66
- }
67
- }, str);
68
- }
69
- },
70
- getPageList(self, listArray, callback) {
71
- return (j) => {
72
- if (j.status) {
73
- listArray.total = j.data.total;
74
- listArray.data = j.data.rows;
75
- callback && callback();
76
- }
77
- else
78
- self.$Message.warning(j.message || '获取数据失败');
79
- };
80
- },
81
- copyBeanClean(bean) {
82
- const deepCopy = JSON.parse(JSON.stringify(bean));
83
- delete deepCopy.createDate;
84
- delete deepCopy.updateDate;
85
- delete deepCopy.updateDate;
86
- delete deepCopy.creatorId;
87
- delete deepCopy.updaterId;
88
- delete deepCopy.creator;
89
- delete deepCopy.updater;
90
- delete deepCopy.extend;
91
- return deepCopy;
92
- }
93
- };
94
- //# sourceMappingURL=list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["list.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=entity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["entity.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- // iView 组件的配置定义
2
- //# sourceMappingURL=iview-widgets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iview-widgets.js","sourceRoot":"","sources":["iview-widgets.ts"],"names":[],"mappings":"AAAA,gBAAgB"}
package/src/main.js DELETED
@@ -1,6 +0,0 @@
1
- import Vue from 'vue';
2
- import App from '../examples/App.vue';
3
- import 'view-design/dist/styles/iview.css';
4
- Vue.config.productionTip = false;
5
- new Vue({ render: h => h(App) }).$mount('#app');
6
- //# sourceMappingURL=main.js.map
package/src/main.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["main.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,mCAAmC,CAAC;AAE3C,GAAG,CAAC,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC;AAEjC,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC"}