素材库

This commit is contained in:
yanran200730
2023-03-03 13:48:14 +08:00
parent cec0cf34e4
commit 1b95c37826
3 changed files with 61 additions and 45 deletions

View File

@@ -12,7 +12,7 @@
<span
v-for="(item, index) in typeList"
:key="index"
:class="[currIndex === index ? 'active' : '']" @click="currIndex = index">
:class="[currIndex === index ? 'active' : '']" @click="currIndex = index, search.current = 1, getList()">
{{ item }}
</span>
</div>
@@ -36,7 +36,6 @@
:tableData="tableData"
:col-configs="colConfigs"
:total="total"
v-loading="loading"
style="margin-top: 6px; width: 100%;"
:current.sync="search.current"
:size.sync="search.size"
@@ -61,8 +60,9 @@
<ai-dialog
:visible.sync="isShow"
width="920px"
title="小程序消息"
:title="id ? '编辑' : '添加' + typeList[currIndex]"
@close="onClose"
:close-on-click-modal="false"
destroy-on-close
@onConfirm="confirm">
<el-form ref="form" v-if="isShow" :model="form" label-width="130px" label-position="right">
@@ -95,9 +95,9 @@
</el-input>
</el-form-item>
<el-form-item v-if="currIndex === 1" label="上传图片" style="width: 100%;" prop="fileUrl" :rules="[{ required: true, message: '请上传', trigger: 'change' }]">
<ai-uploader url="/app/wxcp/upload/uploadFile?type=image" :instance="instance" isWechat v-model="form.fileUrl" :limit="1"></ai-uploader>
<ai-uploader :instance="instance" v-model="form.fileUrl" :limit="1"></ai-uploader>
</el-form-item>
<el-form-item v-if="currIndex === 3" label="文件名称" style="width: 100%;" prop="title" :rules="[{ required: true, message: '请输入图片名称', trigger: 'blur' }]">
<el-form-item v-if="currIndex === 3" label="文件名称" style="width: 100%;" prop="title" :rules="[{ required: true, message: '请输入文件名称', trigger: 'blur' }]">
<el-input
size="small"
placeholder="请输入图片名称"
@@ -106,8 +106,8 @@
v-model="form.title">
</el-input>
</el-form-item>
<el-form-item v-if="currIndex === 3" label="上传文件" style="width: 100%;" prop="content" :rules="[{ required: true, message: '请上传', trigger: 'change' }]">
<ai-uploader url="/app/wxcp/upload/uploadFile?type=image" type="file" :instance="instance" isWechat v-model="form.fileUrl" :limit="1"></ai-uploader>
<el-form-item v-if="currIndex === 3" label="上传文件" style="width: 100%;" prop="fileUrl" :rules="[{ required: true, message: '请上传', trigger: 'change' }]">
<ai-uploader fileType="file" url="/admin/file/add2" :instance="instance" v-model="form.fileUrl" :limit="1"></ai-uploader>
</el-form-item>
<el-form-item v-if="currIndex === 4" label="视频标题" style="width: 100%;" prop="title" :rules="[{ required: true, message: '请输入视频标题', trigger: 'blur' }]">
<el-input
@@ -119,10 +119,10 @@
</el-input>
</el-form-item>
<el-form-item v-if="currIndex === 4" label="上传视频" style="width: 100%;" prop="fileUrl" :rules="[{ required: true, message: '请上传', trigger: 'change' }]">
<ai-uploader url="/app/wxcp/upload/uploadFile?type=image" type="file" :instance="instance" isWechat v-model="form.fileUrl" :limit="1"></ai-uploader>
<ai-uploader :instance="instance" fileType="file" v-model="form.fileUrl" :limit="1"></ai-uploader>
</el-form-item>
<el-form-item v-if="currIndex === 4" label="视频封面图" prop="pictureUrl" style="width: 100%;" :rules="[{ required: true, message: '请上传视频封面图', trigger: 'change' }]">
<ai-uploader url="/app/wxcp/upload/uploadFile?type=image" :instance="instance" isWechat v-model="form.pictureUrl" :limit="1"></ai-uploader>
<ai-uploader :instance="instance" v-model="form.pictureUrl" :limit="1"></ai-uploader>
</el-form-item>
<el-form-item v-if="currIndex === 4" label="视频描述" style="width: 100%;" prop="content" :rules="[{ required: true, message: '请输入视频描述', trigger: 'blur' }]">
<el-input
@@ -142,13 +142,13 @@
v-model="form.title">
</el-input>
</el-form-item>
<el-form-item v-if="currIndex === 5" label="网页链接" style="width: 100%;" prop="linkUrl" :rules="[{ required: true, message: '请输入网页链接链接', trigger: 'blur' }]">
<el-form-item v-if="currIndex === 5" label="网页链接" style="width: 100%;" prop="pagePath" :rules="[{ required: true, message: '请输入网页链接链接', trigger: 'blur' }]">
<el-input
size="small"
placeholder="请输入网页链接链接"
maxlength="682"
show-word-limit
v-model="form.linkUrl">
v-model="form.pagePath">
</el-input>
</el-form-item>
<el-form-item v-if="form.currIndex === 5" label="网页描述" style="width: 100%;" prop="content">
@@ -160,8 +160,8 @@
v-model="form.content">
</el-input>
</el-form-item>
<el-form-item v-if="currIndex === 5" label="网页封面图" prop="media" style="width: 100%;" :rules="[{ required: true, message: '请上传封面图', trigger: 'change' }]">
<ai-uploader url="/app/wxcp/upload/uploadFile?type=image" :instance="instance" isWechat v-model="form.fileUrl" :limit="1"></ai-uploader>
<el-form-item v-if="currIndex === 5" label="网页封面图" prop="pictureUrl" style="width: 100%;" :rules="[{ required: true, message: '请上传封面图', trigger: 'change' }]">
<ai-uploader :instance="instance" v-model="form.pictureUrl" :limit="1"></ai-uploader>
</el-form-item>
<el-form-item v-if="currIndex === 2" label="小程序标题" style="width: 100%;" prop="title" :rules="[{ required: true, message: '请输入小程序标题', trigger: 'blur' }]">
<el-input
@@ -172,11 +172,11 @@
v-model="form.title">
</el-input>
</el-form-item>
<el-form-item v-if="currIndex === 2" label="小程序appid" style="width: 100%;" prop="appid" :rules="[{ required: true, message: '小程序appid', trigger: 'blur' }]">
<el-form-item v-if="currIndex === 2" label="小程序appid" style="width: 100%;" prop="appId" :rules="[{ required: true, message: '小程序appid', trigger: 'blur' }]">
<el-input
size="small"
placeholder="小程序appid"
v-model="form.appid">
v-model="form.appId">
</el-input>
</el-form-item>
<el-form-item v-if="currIndex === 2" label="小程序路径" style="width: 100%;" prop="pagePath" :rules="[{ required: true, message: '请输入小程序路径', trigger: 'blur' }]">
@@ -186,8 +186,8 @@
v-model="form.pagePath">
</el-input>
</el-form-item>
<el-form-item v-if="currIndex === 2" label="小程序封面图" prop="media" style="width: 100%;" :rules="[{ required: true, message: '请上传封面图', trigger: 'change' }]">
<ai-uploader url="/app/wxcp/upload/uploadFile?type=image" :instance="instance" isWechat v-model="form.fileUrl" :limit="1"></ai-uploader>
<el-form-item v-if="currIndex === 2" label="小程序封面图" prop="pictureUrl" style="width: 100%;" :rules="[{ required: true, message: '请上传封面图', trigger: 'change' }]">
<ai-uploader :instance="instance" v-model="form.pictureUrl" :limit="1"></ai-uploader>
</el-form-item>
</div>
</el-form>
@@ -217,51 +217,46 @@
appId: '',
content: '',
fileUrl: [],
appid: '',
pagePath: '',
pictureUrl: [],
title: ''
},
id: '',
typeList: ['话术', '图片', '小程序', '文件', '视频', '网页'],
currIndex: 0,
tableData: [],
loading: false,
total: 0,
colConfigs: [
total: 0
}
},
computed: {
colConfigs () {
return [
{ prop: 'taskTitle', label: '任务名称' },
{ prop: 'typeName', label: '群发类型', align: 'center' },
{ slot: 'user', label: '创建人', openType: 'userName', align: 'center' },
{ prop: 'choiceTime', label: '群发时间', align: 'center' },
{ prop: 'completionRate', label: '任务完成率', align: 'center', format: v => v ? v === '0.0' ? '0%' : `${v}%` : '-' }
{ prop: 'choiceTime', label: '群发时间', align: 'center' }
]
}
},
created () {
this.dict.load('mstStatus').then(() => {
this.getList()
})
},
methods: {
getList() {
this.loading = true
this.instance.post(`/app/appmasssendingtask/list`, null, {
this.instance.post(`/app/appmaterialinfo/list`, null, {
params: {
...this.search,
type: this.currIndex
}
}).then(res => {
if (res.code == 0) {
this.tableData = res.data.records
this.total = res.data.total
this.$nextTick(() => {
this.loading = false
})
} else {
this.loading = false
}
}).catch(() => {
this.loading = false
})
},
@@ -278,11 +273,17 @@
this.$refs.form.validate((valid) => {
if (valid) {
this.instance.post(`/app/appmaterialinfo/addOrUpdate`, {
...this.form
...this.form,
type: this.currIndex,
fileUrl: this.form.fileUrl.length ? this.form.fileUrl[0].url : '',
pictureUrl: this.form.pictureUrl.length ? this.form.pictureUrl[0].url : '',
fileSizeStr: this.form.fileUrl.length ? this.form.fileUrl[0].fileSizeStr : '',
}).then(res => {
if (res.code == 0) {
this.$message.success('提交成功')
this.isShow = false
this.getList()
}
})
}

View File

@@ -350,6 +350,19 @@ export default {
this.$message.success('上传成功')
return false
}
if (Object.prototype.toString.call(res.data) === '[object Object]') {
this.fileList.forEach(item => {
if (item.uid === file.file.uid) {
item.id = res.data.id
item.path = res.data.url
item.url = res.data.url
item.url = res.data.url
item.fileSizeStr = res.data.fileSizeStr
item.postfix = res.data.postfix
}
})
} else {
let data = res.data[0].split(';')
this.fileList.forEach(item => {
if (item.uid === file.file.uid) {
@@ -358,6 +371,8 @@ export default {
item.url = data[0]
}
})
}
this.emitChange(this.fileList)
this.$message.success('上传成功')
}

View File

@@ -57,7 +57,7 @@ module.exports = {
proxy: {
//设置代理,可解决跨5
'/lan': {
target: 'http://192.168.1.87:39000',
target: 'http://192.168.1.87:39010',
changeOrigin: true,
pathRewrite: {
//地址重写