@jx3box/jx3box-common-ui 8.3.3 → 8.3.5
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 +1 -1
- package/service/design.js +4 -0
- package/src/Breadcrumb.vue +2 -2
- package/src/bread/AdminDrop.vue +2 -1
- package/src/bread/DesignTask.vue +66 -5
package/package.json
CHANGED
package/service/design.js
CHANGED
|
@@ -7,3 +7,7 @@ export const createDesignTask = (data) => {
|
|
|
7
7
|
export const getDesignTask = (params) => {
|
|
8
8
|
return $cms().get(`/api/cms/design/task/log`, { params });
|
|
9
9
|
}
|
|
10
|
+
|
|
11
|
+
export const getConfigBannerTypes = (params) => {
|
|
12
|
+
return $cms().get(`/api/cms/config/banner/types`, { params });
|
|
13
|
+
}
|
package/src/Breadcrumb.vue
CHANGED
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
<!-- <Adminbutton v-if="adminEnable" class="u-admin" /> -->
|
|
49
49
|
<!-- <ListAdmin v-if="topicEnable" /> -->
|
|
50
50
|
<Admin v-if="adminEnable" :marksOptions="adminMarks" :show-extend="showExtend" :app="slug" :subtypeMap="subtypeMap" />
|
|
51
|
-
<AdminDrop v-if="adminEnable" />
|
|
51
|
+
<!-- <AdminDrop v-if="adminEnable" /> -->
|
|
52
52
|
<slot name="op-prepend"></slot>
|
|
53
53
|
</div>
|
|
54
54
|
</div>
|
|
@@ -149,7 +149,7 @@ export default {
|
|
|
149
149
|
Crumb,
|
|
150
150
|
// Adminbutton,
|
|
151
151
|
// ListAdmin,
|
|
152
|
-
AdminDrop,
|
|
152
|
+
// AdminDrop,
|
|
153
153
|
},
|
|
154
154
|
};
|
|
155
155
|
</script>
|
package/src/bread/AdminDrop.vue
CHANGED
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
import Bus from "../../service/bus";
|
|
26
26
|
import User from "@jx3box/jx3box-common/js/user";
|
|
27
27
|
import DesignTask from "./DesignTask.vue";
|
|
28
|
+
import { sendMessage } from "../../service/admin";
|
|
28
29
|
export default {
|
|
29
30
|
name: "AdminDrop",
|
|
30
31
|
components: {
|
|
@@ -80,7 +81,7 @@ export default {
|
|
|
80
81
|
beforeClose: (action, instance, done) => {
|
|
81
82
|
if (action === "confirm") {
|
|
82
83
|
const data = {
|
|
83
|
-
source_id: this.sourceId,
|
|
84
|
+
source_id: String(this.sourceId),
|
|
84
85
|
source_type: this.sourceType,
|
|
85
86
|
user_id: this.userId,
|
|
86
87
|
content: "运营通知:" + instance.inputValue,
|
package/src/bread/DesignTask.vue
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<el-dialog custom-class="m-design-task" :visible="modelValue" @close="close" title="快捷推送" append-to-body>
|
|
3
|
-
<el-form :model="form" :rules="rules" ref="form" label-position="left" label-width="80px">
|
|
2
|
+
<el-dialog custom-class="m-design-task" :width="isPhone ? '95%' : '600px'" :visible="modelValue" @close="close" title="快捷推送" append-to-body>
|
|
3
|
+
<el-form :model="form" :rules="rules" ref="form" :label-position="isPhone ? 'top' : 'left'" label-width="80px">
|
|
4
4
|
<el-form-item label="标题" required>
|
|
5
5
|
<el-input v-model="form.title" placeholder="请输入标题"></el-input>
|
|
6
6
|
</el-form-item>
|
|
7
|
+
<el-form-item label="类型">
|
|
8
|
+
<el-select v-model="form.type" placeholder="请选择类型" style="width:100%;">
|
|
9
|
+
<el-option v-for="item in config" :key="item.id" :label="item.label" :value="item.name"></el-option>
|
|
10
|
+
</el-select>
|
|
11
|
+
</el-form-item>
|
|
7
12
|
<el-form-item label="备注">
|
|
8
13
|
<el-input v-model="form.remark" placeholder="请输入备注"></el-input>
|
|
9
14
|
</el-form-item>
|
|
@@ -11,6 +16,27 @@
|
|
|
11
16
|
<el-rate v-model="form.star" :colors="colors"></el-rate>
|
|
12
17
|
</el-form-item>
|
|
13
18
|
</el-form>
|
|
19
|
+
|
|
20
|
+
<el-divider content-position="left">
|
|
21
|
+
近期推送
|
|
22
|
+
</el-divider>
|
|
23
|
+
<template v-if="logs && logs.length">
|
|
24
|
+
<el-table :data="logs" border size="small">
|
|
25
|
+
<el-table-column label="推送时间" prop="push_at" align="center">
|
|
26
|
+
<template #default="{row}">
|
|
27
|
+
{{ formatTime(row.push_at) }}
|
|
28
|
+
</template>
|
|
29
|
+
</el-table-column>
|
|
30
|
+
<el-table-column label="推送人" prop="pusher.display_name" align="center"></el-table-column>
|
|
31
|
+
<el-table-column label="星级" prop="star" align="center">
|
|
32
|
+
<template #default="{row}">
|
|
33
|
+
<el-rate v-model="row.star" disabled :colors="colors"></el-rate>
|
|
34
|
+
</template>
|
|
35
|
+
</el-table-column>
|
|
36
|
+
<el-table-column label="备注" prop="remark" align="center"></el-table-column>
|
|
37
|
+
</el-table>
|
|
38
|
+
</template>
|
|
39
|
+
<el-alert v-else title="当前文章暂无历史推送" type="info" show-icon :closable="false"></el-alert>
|
|
14
40
|
<template #footer>
|
|
15
41
|
<el-button @click="close">取 消</el-button>
|
|
16
42
|
<el-button type="primary" @click="onConfirm">确 定</el-button>
|
|
@@ -19,8 +45,9 @@
|
|
|
19
45
|
</template>
|
|
20
46
|
|
|
21
47
|
<script>
|
|
22
|
-
import { createDesignTask, getDesignTask } from "../../service/design";
|
|
48
|
+
import { createDesignTask, getDesignTask, getConfigBannerTypes } from "../../service/design";
|
|
23
49
|
import {pick} from "lodash";
|
|
50
|
+
import dayjs from "dayjs";
|
|
24
51
|
export default {
|
|
25
52
|
name: "DesignTask",
|
|
26
53
|
props: {
|
|
@@ -44,6 +71,7 @@ export default {
|
|
|
44
71
|
title: "",
|
|
45
72
|
remark: "",
|
|
46
73
|
star: 0,
|
|
74
|
+
subtype: "",
|
|
47
75
|
},
|
|
48
76
|
colors: ['#99A9BF', '#F7BA2A', '#FF9900'],
|
|
49
77
|
|
|
@@ -53,15 +81,24 @@ export default {
|
|
|
53
81
|
{ required: true, message: "请输入标题", trigger: "blur" },
|
|
54
82
|
],
|
|
55
83
|
},
|
|
84
|
+
config: [],
|
|
85
|
+
|
|
86
|
+
isPhone: window.innerWidth < 768
|
|
56
87
|
}
|
|
57
88
|
},
|
|
58
89
|
watch: {
|
|
59
90
|
modelValue(val) {
|
|
60
91
|
if (val) {
|
|
92
|
+
if (this.post) {
|
|
93
|
+
this.form.title = this.post.post_title;
|
|
94
|
+
}
|
|
61
95
|
this.loadLogs();
|
|
62
96
|
}
|
|
63
97
|
}
|
|
64
98
|
},
|
|
99
|
+
mounted() {
|
|
100
|
+
this.loadConfig();
|
|
101
|
+
},
|
|
65
102
|
methods: {
|
|
66
103
|
close(){
|
|
67
104
|
this.$emit("update:modelValue",false)
|
|
@@ -81,8 +118,10 @@ export default {
|
|
|
81
118
|
data.title = this.form.title;
|
|
82
119
|
data.remark = this.form.remark;
|
|
83
120
|
data.star = this.form.star;
|
|
121
|
+
data.subtype = this.form.type;
|
|
122
|
+
|
|
84
123
|
data.source_type = this.post?.post_type;
|
|
85
|
-
data.source_id = this.post?.ID;
|
|
124
|
+
data.source_id = String(this.post?.ID);
|
|
86
125
|
data.link = `/${this.post?.post_type}/${this.post?.ID}`;
|
|
87
126
|
data.flow = 0;
|
|
88
127
|
|
|
@@ -96,9 +135,18 @@ export default {
|
|
|
96
135
|
this.clearForm();
|
|
97
136
|
},
|
|
98
137
|
loadLogs() {
|
|
99
|
-
|
|
138
|
+
if (!this.post?.ID) return;
|
|
139
|
+
getDesignTask({ source_id: this.post?.ID }).then(res => {
|
|
100
140
|
this.logs = res.data.data || [];
|
|
101
141
|
})
|
|
142
|
+
},
|
|
143
|
+
loadConfig() {
|
|
144
|
+
getConfigBannerTypes({ _no_page: 1 }).then(res => {
|
|
145
|
+
this.config = res.data.data || [];
|
|
146
|
+
})
|
|
147
|
+
},
|
|
148
|
+
formatTime(time) {
|
|
149
|
+
return dayjs(time).format("YYYY-MM-DD HH:mm:ss");
|
|
102
150
|
}
|
|
103
151
|
}
|
|
104
152
|
}
|
|
@@ -111,5 +159,18 @@ export default {
|
|
|
111
159
|
top: 10px;
|
|
112
160
|
}
|
|
113
161
|
}
|
|
162
|
+
.u-time {
|
|
163
|
+
color: #c0c4cc;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
@media screen and (max-width: @phone) {
|
|
168
|
+
.m-design-task {
|
|
169
|
+
.m-star-line {
|
|
170
|
+
.el-form-item__content {
|
|
171
|
+
top: 0;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
114
175
|
}
|
|
115
176
|
</style>
|