leisure-core 0.4.65 → 0.4.66

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.
@@ -8,6 +8,7 @@
8
8
  <le-button type="primary" @click="addItem()" v-if="isDispAddBtn"
9
9
  >新建</le-button
10
10
  >
11
+ <slot name="headerBtns"></slot>
11
12
  </el-form-item>
12
13
  </el-form>
13
14
  <el-table
@@ -23,6 +24,7 @@
23
24
  >
24
25
  <el-table-column
25
26
  v-for="column in tableColumns"
27
+ show-overflow-tooltip
26
28
  :key="column.prop"
27
29
  :prop="column.prop"
28
30
  :label="column.label"
@@ -53,15 +55,29 @@
53
55
  </span>
54
56
  </template>
55
57
  </el-table-column>
56
- <el-table-column fixed="right" label="操作" align="center">
58
+ <el-table-column
59
+ fixed="right"
60
+ label="操作"
61
+ :width="opWidht"
62
+ align="center"
63
+ >
57
64
  <template slot-scope="scope">
58
65
  <div class="rowBtns">
59
66
  <el-button
67
+ v-if="disBtn === 'edit'"
60
68
  type="primary"
61
69
  size="small"
62
70
  @click="editItem(scope.row)"
63
- >{{ editMode === "edit" ? "编辑" : "详情" }}</el-button
64
71
  >
72
+ 编辑
73
+ </el-button>
74
+ <el-button
75
+ v-if="disBtn === 'detail'"
76
+ type="primary"
77
+ size="small"
78
+ @click="detail(scope.row)"
79
+ >详情
80
+ </el-button>
65
81
  <el-popconfirm
66
82
  v-if="isDispDelBtn"
67
83
  :title="`该操作不可逆,确定删除?`"
@@ -74,7 +90,7 @@
74
90
  </template>
75
91
  </el-popconfirm>
76
92
  <div class="rowBtnsExt">
77
- <slot name="rowBtns"></slot>
93
+ <slot name="rowBtns" :scope="scope"></slot>
78
94
  </div>
79
95
  </div>
80
96
  </template>
@@ -102,11 +118,13 @@
102
118
  :formColumns="formColumns"
103
119
  :field-options="fieldOptions"
104
120
  :formData="rowItem"
105
- :editMode="editMode"
121
+ :isEditMode="isEditMode"
106
122
  @closeDialog="closeDialog"
107
123
  @saveData="saveData"
108
- v-if="showDialog"
109
- ></le-common-page-sub>
124
+ v-if="showDialog && isUserInnerSub"
125
+ >
126
+ </le-common-page-sub>
127
+ <slot name="sub" v-if="showDialog && !isUserInnerSub"></slot>
110
128
  </le-dialog-container>
111
129
  </div>
112
130
  </template>
@@ -127,6 +145,10 @@ export default {
127
145
  type: Array,
128
146
  default: () => [],
129
147
  },
148
+ opWidht: {
149
+ type: String,
150
+ default: "100px",
151
+ },
130
152
  totalData: {
131
153
  type: Number,
132
154
  default: 1,
@@ -135,6 +157,10 @@ export default {
135
157
  type: Array,
136
158
  default: () => [],
137
159
  },
160
+ isUserInnerSub: {
161
+ type: Boolean,
162
+ default: true,
163
+ },
138
164
  formColumns: {
139
165
  type: Array,
140
166
  default: () => [],
@@ -179,7 +205,7 @@ export default {
179
205
  type: Object,
180
206
  default: () => {},
181
207
  },
182
- editMode: {
208
+ disBtn: {
183
209
  type: String,
184
210
  default: "edit",
185
211
  },
@@ -207,6 +233,7 @@ export default {
207
233
  pageSize: 10,
208
234
  },
209
235
  showDialog: false,
236
+ isEditMode: true,
210
237
  };
211
238
  },
212
239
  computed: {},
@@ -238,10 +265,31 @@ export default {
238
265
  });
239
266
  },
240
267
  editItem(row) {
241
- this.rowItem = row;
242
- this.showDialog = true;
268
+ this.isEditMode = true;
269
+ if (this.$listeners["handleData"]) {
270
+ this.$emit("handleData", row, (res) => {
271
+ this.rowItem = res;
272
+ this.showDialog = true;
273
+ });
274
+ } else {
275
+ this.rowItem = row;
276
+ this.showDialog = true;
277
+ }
278
+ },
279
+ detail(row) {
280
+ this.isEditMode = false;
281
+ if (this.$listeners["handleData"]) {
282
+ this.$emit("handleData", row, (res) => {
283
+ this.rowItem = res;
284
+ this.showDialog = true;
285
+ });
286
+ } else {
287
+ this.rowItem = row;
288
+ this.showDialog = true;
289
+ }
243
290
  },
244
291
  addItem() {
292
+ this.isEditMode = true;
245
293
  this.initFormItem();
246
294
  this.showDialog = true;
247
295
  },
@@ -261,10 +309,11 @@ export default {
261
309
  .rowBtns {
262
310
  display: flex;
263
311
  display: -webkit-flex;
312
+ flex-direction: row;
264
313
  justify-content: center;
265
314
  }
266
315
 
267
316
  .rowBtnsExt {
268
- margin-left: 8px;
317
+ margin-left: 3px;
269
318
  }
270
319
  </style>
@@ -11,54 +11,56 @@
11
11
  :label="item.label"
12
12
  :prop="item.prop"
13
13
  >
14
- <le-input
15
- v-if="!item.type || item.type === 'input'"
16
- v-model="formPop[item.prop]"
17
- v-bind="item.attr || {}"
18
- />
19
- <le-input-number
20
- v-else-if="item.type === 'number'"
21
- v-model="formPop[item.prop]"
22
- v-bind="item.attr || {}"
23
- :min="item.min || 0"
24
- :max="item.max || 9999999999"
25
- label="item.label||''"
26
- />
27
- <el-radio-group
28
- v-else-if="item.type === 'radio'"
29
- v-model="formPop[item.prop]"
30
- >
31
- <el-radio
32
- v-for="(option, index) in item.options"
33
- :label="option.id"
34
- :key="index + '_radio'"
35
- >{{ option.label }}</el-radio
14
+ <div class="comContainerClass">
15
+ <le-input
16
+ v-if="!item.type || item.type === 'input'"
17
+ v-model="formPop[item.prop]"
18
+ v-bind="item.attr || {}"
19
+ />
20
+ <le-input-number
21
+ v-else-if="item.type === 'number'"
22
+ v-model="formPop[item.prop]"
23
+ v-bind="item.attr || {}"
24
+ :min="item.min || 0"
25
+ :max="item.max || 9999999999"
26
+ label="item.label||''"
27
+ />
28
+ <el-radio-group
29
+ v-else-if="item.type === 'radio'"
30
+ v-model="formPop[item.prop]"
36
31
  >
37
- </el-radio-group>
38
- <el-date-picker
39
- v-else-if="item.type === 'date'"
40
- v-model="formPop[item.prop]"
41
- v-bind="item.attr || {}"
42
- value-format="timestamp"
43
- type="date"
44
- placeholder="选择日期"
45
- />
46
- <le-select
47
- v-else-if="item.type === 'select'"
48
- v-model="formPop[item.prop]"
49
- v-bind="item.attr || {}"
50
- placeholder="请选择"
51
- >
52
- <le-option
53
- :options="fieldOptions[item.prop]"
54
- :label="item.kv.label"
55
- :value="item.kv.key"
56
- :keyNum="item.keyNum"
32
+ <el-radio
33
+ v-for="(option, index) in item.options"
34
+ :label="option.id"
35
+ :key="index + '_radio'"
36
+ >{{ option.label }}</el-radio
37
+ >
38
+ </el-radio-group>
39
+ <el-date-picker
40
+ v-else-if="item.type === 'date'"
41
+ v-model="formPop[item.prop]"
42
+ v-bind="item.attr || {}"
43
+ value-format="timestamp"
44
+ type="date"
45
+ placeholder="选择日期"
57
46
  />
58
- </le-select>
47
+ <le-select
48
+ v-else-if="item.type === 'select'"
49
+ v-model="formPop[item.prop]"
50
+ v-bind="item.attr || {}"
51
+ placeholder="请选择"
52
+ >
53
+ <le-option
54
+ :options="fieldOptions[item.prop]"
55
+ :label="item.kv.label"
56
+ :value="item.kv.key"
57
+ :keyNum="item.keyNum"
58
+ />
59
+ </le-select>
60
+ </div>
59
61
  </el-form-item>
60
62
  <el-form-item v-rfooter>
61
- <le-button type="primary" @click="saveData" v-if="editMode === 'edit'"
63
+ <le-button type="primary" @click="saveData" v-if="isEditMode"
62
64
  >保存</le-button
63
65
  >
64
66
  <le-button type="info" @click="close()">关闭</le-button>
@@ -94,9 +96,9 @@ export default {
94
96
  type: Object,
95
97
  default: () => {},
96
98
  },
97
- editMode: {
98
- type: String,
99
- default: "edit",
99
+ isEditMode: {
100
+ type: Boolean,
101
+ default: true,
100
102
  },
101
103
  },
102
104
  watch: {
@@ -139,4 +141,9 @@ export default {
139
141
  },
140
142
  };
141
143
  </script>
142
- <style lang="less" scoped></style>
144
+ <style lang="scss" scoped>
145
+ .comContainerClass {
146
+ display: flex;
147
+ display: -webkit-flex;
148
+ }
149
+ </style>
@@ -15,7 +15,7 @@
15
15
  <el-table-column prop="mp_param" label="参数" width="50"> </el-table-column>
16
16
  <el-table-column prop="wx_url" label="微信url" width="100">
17
17
  </el-table-column>
18
- <el-table-column prop="url_jump" label="推广链接" width="200">
18
+ <el-table-column prop="url_jump" label="推广链接(仅系统使用)" width="200">
19
19
  </el-table-column>
20
20
  <!-- <el-table-column prop="url_wx" label="小程序url地址"> </el-table-column> -->
21
21
  <el-table-column prop="cdate" label="时间" width="150">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "leisure-core",
3
- "version": "0.4.65",
3
+ "version": "0.4.66",
4
4
  "description": "leisure-core是京心数据基于vue2.x开发的一套后台管理系统桌面端组件库,封装了大量实用的UI控件模板,非常方便开发者快速搭建前端应用",
5
5
  "private": false,
6
6
  "author": "北方乐逍遥(zcx7878)",