素材库
This commit is contained in:
		| @@ -12,7 +12,7 @@ | |||||||
|         <span |         <span | ||||||
|           v-for="(item, index) in typeList" |           v-for="(item, index) in typeList" | ||||||
|           :key="index" |           :key="index" | ||||||
|           :class="[currIndex === index ? 'active' : '']" @click="currIndex = index"> |           :class="[currIndex === index ? 'active' : '']" @click="currIndex = index, search.current = 1, getList()"> | ||||||
|           {{ item }} |           {{ item }} | ||||||
|         </span> |         </span> | ||||||
|       </div> |       </div> | ||||||
| @@ -36,7 +36,6 @@ | |||||||
|         :tableData="tableData" |         :tableData="tableData" | ||||||
|         :col-configs="colConfigs" |         :col-configs="colConfigs" | ||||||
|         :total="total" |         :total="total" | ||||||
|         v-loading="loading" |  | ||||||
|         style="margin-top: 6px; width: 100%;" |         style="margin-top: 6px; width: 100%;" | ||||||
|         :current.sync="search.current" |         :current.sync="search.current" | ||||||
|         :size.sync="search.size" |         :size.sync="search.size" | ||||||
| @@ -61,8 +60,9 @@ | |||||||
|       <ai-dialog |       <ai-dialog | ||||||
|         :visible.sync="isShow" |         :visible.sync="isShow" | ||||||
|         width="920px" |         width="920px" | ||||||
|         title="小程序消息" |         :title="id ? '编辑' : '添加' + typeList[currIndex]" | ||||||
|         @close="onClose" |         @close="onClose" | ||||||
|  |         :close-on-click-modal="false" | ||||||
|         destroy-on-close |         destroy-on-close | ||||||
|         @onConfirm="confirm"> |         @onConfirm="confirm"> | ||||||
|         <el-form ref="form" v-if="isShow" :model="form" label-width="130px" label-position="right"> |         <el-form ref="form" v-if="isShow" :model="form" label-width="130px" label-position="right"> | ||||||
| @@ -95,9 +95,9 @@ | |||||||
|               </el-input> |               </el-input> | ||||||
|             </el-form-item> |             </el-form-item> | ||||||
|             <el-form-item v-if="currIndex === 1" label="上传图片" style="width: 100%;" prop="fileUrl" :rules="[{ required: true, message: '请上传', trigger: 'change' }]"> |             <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> | ||||||
|             <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 |               <el-input | ||||||
|                 size="small" |                 size="small" | ||||||
|                 placeholder="请输入图片名称" |                 placeholder="请输入图片名称" | ||||||
| @@ -106,8 +106,8 @@ | |||||||
|                 v-model="form.title"> |                 v-model="form.title"> | ||||||
|               </el-input> |               </el-input> | ||||||
|             </el-form-item> |             </el-form-item> | ||||||
|             <el-form-item v-if="currIndex === 3" label="上传文件" style="width: 100%;" prop="content" :rules="[{ required: true, message: '请上传', trigger: 'change' }]"> |             <el-form-item v-if="currIndex === 3" 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 fileType="file" url="/admin/file/add2" :instance="instance" v-model="form.fileUrl" :limit="1"></ai-uploader> | ||||||
|             </el-form-item> |             </el-form-item> | ||||||
|             <el-form-item v-if="currIndex === 4" label="视频标题" style="width: 100%;" prop="title" :rules="[{ required: true, message: '请输入视频标题', trigger: 'blur' }]"> |             <el-form-item v-if="currIndex === 4" label="视频标题" style="width: 100%;" prop="title" :rules="[{ required: true, message: '请输入视频标题', trigger: 'blur' }]"> | ||||||
|               <el-input |               <el-input | ||||||
| @@ -119,10 +119,10 @@ | |||||||
|               </el-input> |               </el-input> | ||||||
|             </el-form-item> |             </el-form-item> | ||||||
|             <el-form-item v-if="currIndex === 4" label="上传视频" style="width: 100%;" prop="fileUrl" :rules="[{ required: true, message: '请上传', trigger: 'change' }]"> |             <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> | ||||||
|             <el-form-item v-if="currIndex === 4" label="视频封面图" prop="pictureUrl" style="width: 100%;" :rules="[{ required: true, message: '请上传视频封面图', trigger: 'change' }]"> |             <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> | ||||||
|             <el-form-item v-if="currIndex === 4" label="视频描述" style="width: 100%;" prop="content" :rules="[{ required: true, message: '请输入视频描述', trigger: 'blur' }]"> |             <el-form-item v-if="currIndex === 4" label="视频描述" style="width: 100%;" prop="content" :rules="[{ required: true, message: '请输入视频描述', trigger: 'blur' }]"> | ||||||
|               <el-input |               <el-input | ||||||
| @@ -142,13 +142,13 @@ | |||||||
|                 v-model="form.title"> |                 v-model="form.title"> | ||||||
|               </el-input> |               </el-input> | ||||||
|             </el-form-item> |             </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 |               <el-input | ||||||
|                 size="small" |                 size="small" | ||||||
|                 placeholder="请输入网页链接链接" |                 placeholder="请输入网页链接链接" | ||||||
|                 maxlength="682" |                 maxlength="682" | ||||||
|                 show-word-limit |                 show-word-limit | ||||||
|                 v-model="form.linkUrl"> |                 v-model="form.pagePath"> | ||||||
|               </el-input> |               </el-input> | ||||||
|             </el-form-item> |             </el-form-item> | ||||||
|             <el-form-item v-if="form.currIndex === 5" label="网页描述" style="width: 100%;" prop="content"> |             <el-form-item v-if="form.currIndex === 5" label="网页描述" style="width: 100%;" prop="content"> | ||||||
| @@ -160,8 +160,8 @@ | |||||||
|                 v-model="form.content"> |                 v-model="form.content"> | ||||||
|               </el-input> |               </el-input> | ||||||
|             </el-form-item> |             </el-form-item> | ||||||
|             <el-form-item v-if="currIndex === 5" label="网页封面图" prop="media" style="width: 100%;" :rules="[{ required: true, message: '请上传封面图', trigger: 'change' }]"> |             <el-form-item v-if="currIndex === 5" 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.fileUrl" :limit="1"></ai-uploader> |               <ai-uploader :instance="instance" v-model="form.pictureUrl" :limit="1"></ai-uploader> | ||||||
|             </el-form-item> |             </el-form-item> | ||||||
|             <el-form-item v-if="currIndex === 2" label="小程序标题" style="width: 100%;" prop="title" :rules="[{ required: true, message: '请输入小程序标题', trigger: 'blur' }]"> |             <el-form-item v-if="currIndex === 2" label="小程序标题" style="width: 100%;" prop="title" :rules="[{ required: true, message: '请输入小程序标题', trigger: 'blur' }]"> | ||||||
|               <el-input |               <el-input | ||||||
| @@ -172,11 +172,11 @@ | |||||||
|                 v-model="form.title"> |                 v-model="form.title"> | ||||||
|               </el-input> |               </el-input> | ||||||
|             </el-form-item> |             </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 |               <el-input | ||||||
|                 size="small" |                 size="small" | ||||||
|                 placeholder="小程序appid" |                 placeholder="小程序appid" | ||||||
|                 v-model="form.appid"> |                 v-model="form.appId"> | ||||||
|               </el-input> |               </el-input> | ||||||
|             </el-form-item> |             </el-form-item> | ||||||
|             <el-form-item v-if="currIndex === 2" label="小程序路径" style="width: 100%;" prop="pagePath" :rules="[{ required: true, message: '请输入小程序路径', trigger: 'blur' }]"> |             <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"> |                 v-model="form.pagePath"> | ||||||
|               </el-input> |               </el-input> | ||||||
|             </el-form-item> |             </el-form-item> | ||||||
|             <el-form-item v-if="currIndex === 2" label="小程序封面图" prop="media" style="width: 100%;" :rules="[{ required: true, message: '请上传封面图', trigger: 'change' }]"> |             <el-form-item v-if="currIndex === 2" 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.fileUrl" :limit="1"></ai-uploader> |               <ai-uploader :instance="instance" v-model="form.pictureUrl" :limit="1"></ai-uploader> | ||||||
|             </el-form-item> |             </el-form-item> | ||||||
|           </div> |           </div> | ||||||
|         </el-form> |         </el-form> | ||||||
| @@ -217,51 +217,46 @@ | |||||||
|           appId: '', |           appId: '', | ||||||
|           content: '', |           content: '', | ||||||
|           fileUrl: [], |           fileUrl: [], | ||||||
|  |           appid: '', | ||||||
|           pagePath: '', |           pagePath: '', | ||||||
|           pictureUrl: [], |           pictureUrl: [], | ||||||
|           title: '' |           title: '' | ||||||
|         }, |         }, | ||||||
|  |         id: '', | ||||||
|         typeList: ['话术', '图片', '小程序', '文件', '视频', '网页'], |         typeList: ['话术', '图片', '小程序', '文件', '视频', '网页'], | ||||||
|         currIndex: 0, |         currIndex: 0, | ||||||
|         tableData: [], |         tableData: [], | ||||||
|         loading: false, |         total: 0 | ||||||
|         total: 0, |       } | ||||||
|         colConfigs: [ |     }, | ||||||
|  |  | ||||||
|  |     computed: { | ||||||
|  |       colConfigs () { | ||||||
|  |         return [ | ||||||
|           { prop: 'taskTitle', label: '任务名称' }, |           { prop: 'taskTitle', label: '任务名称' }, | ||||||
|           { prop: 'typeName', label: '群发类型', align: 'center' }, |           { prop: 'typeName', label: '群发类型', align: 'center' }, | ||||||
|           { slot: 'user', label: '创建人', openType: 'userName', align: 'center' }, |           { slot: 'user', label: '创建人', openType: 'userName', align: 'center' }, | ||||||
|           { prop: 'choiceTime', label: '群发时间', align: 'center' }, |           { prop: 'choiceTime', label: '群发时间', align: 'center' } | ||||||
|           { prop: 'completionRate', label: '任务完成率', align: 'center', format: v => v ? v === '0.0' ? '0%' : `${v}%` : '-' } |  | ||||||
|         ] |         ] | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|     created () { |     created () { | ||||||
|       this.dict.load('mstStatus').then(() => { |       this.getList() | ||||||
|         this.getList() |  | ||||||
|       }) |  | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|     methods: { |     methods: { | ||||||
|       getList() { |       getList() { | ||||||
|         this.loading = true |         this.instance.post(`/app/appmaterialinfo/list`, null, { | ||||||
|         this.instance.post(`/app/appmasssendingtask/list`, null, { |  | ||||||
|           params: { |           params: { | ||||||
|             ...this.search, |             ...this.search, | ||||||
|  |             type: this.currIndex | ||||||
|           } |           } | ||||||
|         }).then(res => { |         }).then(res => { | ||||||
|           if (res.code == 0) { |           if (res.code == 0) { | ||||||
|             this.tableData = res.data.records |             this.tableData = res.data.records | ||||||
|             this.total = res.data.total |             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) => { |         this.$refs.form.validate((valid) => { | ||||||
|           if (valid) { |           if (valid) { | ||||||
|             this.instance.post(`/app/appmaterialinfo/addOrUpdate`, { |             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 => { |             }).then(res => { | ||||||
|               if (res.code == 0) { |               if (res.code == 0) { | ||||||
|                 this.$message.success('提交成功') |                 this.$message.success('提交成功') | ||||||
|                 this.isShow = false |                 this.isShow = false | ||||||
|  |  | ||||||
|  |                 this.getList() | ||||||
|               } |               } | ||||||
|             }) |             }) | ||||||
|           } |           } | ||||||
|   | |||||||
| @@ -350,14 +350,29 @@ export default { | |||||||
|             this.$message.success('上传成功') |             this.$message.success('上传成功') | ||||||
|             return false |             return false | ||||||
|           } |           } | ||||||
|           let data = res.data[0].split(';') |  | ||||||
|           this.fileList.forEach(item => { |           if (Object.prototype.toString.call(res.data) === '[object Object]') { | ||||||
|             if (item.uid === file.file.uid) { |             this.fileList.forEach(item => { | ||||||
|               item.id = data[1] |               if (item.uid === file.file.uid) { | ||||||
|               item.path = data[0] |                 item.id = res.data.id | ||||||
|               item.url = data[0] |                 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) { | ||||||
|  |                 item.id = data[1] | ||||||
|  |                 item.path = data[0] | ||||||
|  |                 item.url = data[0] | ||||||
|  |               } | ||||||
|  |             }) | ||||||
|  |           } | ||||||
|  |  | ||||||
|           this.emitChange(this.fileList) |           this.emitChange(this.fileList) | ||||||
|           this.$message.success('上传成功') |           this.$message.success('上传成功') | ||||||
|         } |         } | ||||||
|   | |||||||
| @@ -57,7 +57,7 @@ module.exports = { | |||||||
|     proxy: { |     proxy: { | ||||||
|       //设置代理,可解决跨5 |       //设置代理,可解决跨5 | ||||||
|       '/lan': { |       '/lan': { | ||||||
|         target: 'http://192.168.1.87:39000', |         target: 'http://192.168.1.87:39010', | ||||||
|         changeOrigin: true, |         changeOrigin: true, | ||||||
|         pathRewrite: { |         pathRewrite: { | ||||||
|           //地址重写 |           //地址重写 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user