diff --git a/project/sass/apps/Announce/AppAnnounce/components/Add.vue b/project/sass/apps/Announce/AppAnnounce/components/Add.vue index e5b13b0f..5a5d0a9f 100644 --- a/project/sass/apps/Announce/AppAnnounce/components/Add.vue +++ b/project/sass/apps/Announce/AppAnnounce/components/Add.vue @@ -11,13 +11,13 @@ -
+
+ + +
+ +
+
@@ -110,31 +154,20 @@ }, data () { - const validatorPhone = function (rule, value, callback) { - if (value === '') { - callback(new Error('请输入手机号')) - } else if (!/^1\d{10}$/.test(value)) { - callback(new Error('手机号格式错误')) - } else { - callback() - } - } return { info: {}, department: [], - validatorPhone: validatorPhone, + fileList: [], form: { - position: '', + choiceTime: '', + contents: {}, + enableExamine: '0', + examines: [], + wxGroups: [], + sendScope: '0', + sendType: 0, name: '', - email: '', - telephone: '', - gender: '', - mobile: '', - departmentName: '', - departmentIds: [], - tagIds: [], - id: '', - status: false + taskTitle: '' }, id: '', tagsList: [] @@ -173,6 +206,64 @@ }) }, + removeFile (index) { + this.fileList.splice(index, 1) + }, + + mapIcon (type) { + return { + image: 'https://cdn.cunwuyun.cn/dvcp/announce/img.png', + video: 'https://cdn.cunwuyun.cn/dvcp/announce/video.png', + folder: 'https://cdn.cunwuyun.cn/dvcp/announce/folder.png', + site: 'https://cdn.cunwuyun.cn/dvcp/announce/site.png', + miniapp: 'https://cdn.cunwuyun.cn/dvcp/announce/miniapp.png' + }[type] + }, + + onBeforeUpload(event) { + return this.onOverSize(event) + }, + + getExtension(name) { + return name.substring(name.lastIndexOf('.')) + }, + + handleChange (e, size, accept) { + const isLt10M = e.size / 1024 / 1024 < size + const suffixName = this.getExtension(e.name) + const suffixNameList = accept.split(',') + + if (suffixNameList.indexOf(`${suffixName.toLowerCase()}`) === -1) { + this.$message.error(`不支持该格式`) + return false + } + + if (!isLt10M) { + this.$message.error(`大小不超过${10}MB!`) + return false + } + + return true + }, + + submitUpload (file, type) { + let formData = new FormData() + formData.append('file', file.file) + formData.append('type', type) + this.instance.post(`/app/wxcp/upload/uploadFile`, formData, { + withCredentials: false + }).then(res => { + if (res.code == 0) { + this.fileList.push({ + ...res.data.file, + media: res.data.media + }) + + this.$message.success('上传成功') + } + }) + }, + onChange (e) { if (e.length) { this.form.departmentIds = e.map(v => v.id) @@ -304,6 +395,35 @@ font-size: 14px; } } + + .fileList { + margin-bottom: 12px; + + .add-item { + justify-content: space-between; + margin-bottom: 8px; + + .left { + display: flex; + align-items: center; + } + + i { + font-size: 14px; + cursor: pointer; + font-style: normal; + color: red; + + &:hover { + opacity: 0.6; + } + } + + &:last-child { + margin-bottom: 0; + } + } + } } .AppAnnounceDetail-container { @@ -321,10 +441,26 @@ .right { position: sticky; top: 0; - width: 400px; - height: 688px; - background: url(https://cdn.cunwuyun.cn/dvcp/announce/phone.png); - background-size: 400px 100%; + width: 338px; + height: 675px; + + .phone { + position: absolute; + left: 14px; + top: 14px; + z-index: 1; + width: 310px; + height: 647px; + } + + .phone-wrapper { + position: absolute; + left: 0; + top: 0; + z-index: 2; + width: 338px; + height: 675px; + } } } @@ -340,7 +476,7 @@ } i { - color: #c0c9db; + color: #8899bb; } em { diff --git a/project/sass/apps/Announce/AppAnnounce/components/List.vue b/project/sass/apps/Announce/AppAnnounce/components/List.vue index 962bec08..038f1507 100644 --- a/project/sass/apps/Announce/AppAnnounce/components/List.vue +++ b/project/sass/apps/Announce/AppAnnounce/components/List.vue @@ -12,32 +12,34 @@ @@ -86,20 +88,21 @@ export default { search: { current: 1, size: 10, - name: '', - startDate: '', - endDate: '' + status: '', + taskTitle: '', + startTime: '', + endTime: '' }, tableData: [], loading: false, total: 0, colConfigs: [ - { prop: 'position', label: '任务名称' }, - { prop: 'mobile', label: '群发类型' }, - { prop: 'position', label: '创建人' }, - { prop: 'mobile', label: '群发时间' }, - { prop: 'position', label: '状态' }, - { prop: 'mobile', label: '任务完成率' } + { prop: 'taskTitle', label: '任务名称' }, + { prop: 'sendType', label: '群发类型', formart: v => v === '0' ? '立即发送' : '定时发送', align: 'center' }, + { prop: 'createUserId', label: '创建人', openType: 'userName', align: 'center' }, + { prop: 'createTime', label: '群发时间', align: 'center' }, + { prop: 'status', label: '状态', formart: v => this.dict.getLabel('mstStatus', v), align: 'center' }, + { prop: 'completionRate', label: '任务完成率', align: 'center' } ] } }, @@ -108,29 +111,18 @@ export default { ...mapState(['user']) }, - created() { - this.getList() + created () { + this.dict.load('mstStatus', 'mstSendType').then(() => { + this.getList() + }) }, methods: { - removeDepart(id, parentid) { - this.$confirm('确定删除该数据?').then(() => { - this.instance.post(`/app/wxcp/wxdepartment/delete?id=${id}`).then(res => { - if (res.code == 0) { - this.defaultChecked = [parentid] - this.$message.success('删除成功!') - this.getTree() - } - }) - }) - }, - getList() { this.loading = true - this.instance.post(`/app/wxcp/wxuser/list`, null, { + this.instance.post(`/app/appmasssendingtask/list`, null, { params: { ...this.search, - departmentId: this.tabIndex === 0 ? this.search.departmentId : '' } }).then(res => { if (res.code == 0) { @@ -151,7 +143,7 @@ export default { remove(id) { this.$confirm('确定删除该数据?').then(() => { - this.instance.post(`/app/wxcp/wxuser/delete?id=${id}`).then(res => { + this.instance.post(`/app/appmasssendingtask/delete?ids=${id}`).then(res => { if (res.code == 0) { this.$message.success('删除成功!') this.getList()