|
@@ -31,19 +31,19 @@
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="发送次数" prop="sendCount">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.sendCount"
|
|
|
- placeholder="请输入发送次数"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
+<!-- <el-form-item label="发送次数" prop="sendCount">-->
|
|
|
+<!-- <el-input-->
|
|
|
+<!-- v-model="queryParams.sendCount"-->
|
|
|
+<!-- placeholder="请输入发送次数"-->
|
|
|
+<!-- clearable-->
|
|
|
+<!-- size="small"-->
|
|
|
+<!-- @keyup.enter.native="handleQuery"-->
|
|
|
+<!-- />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置/刷新页面/回到全部</el-button>
|
|
|
- <el-button type="primary" size="mini" @click="handleAdd()">添加素材</el-button>
|
|
|
+ <el-button type="primary" size="mini" @click="handleAdd()" v-hasPermi="['qw:material:add']">添加素材</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
|
|
@@ -102,14 +102,14 @@
|
|
|
</video>
|
|
|
<div v-else-if="scope.row.materialType == 'file'" class="file-link-container" style="width: 100%">
|
|
|
<el-link type="primary" :href="downloadUrl(scope.row.materialUrl)" download>
|
|
|
- 下载文件
|
|
|
+ {{scope.row.materialUrl}}
|
|
|
</el-link>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="标题" align="center" prop="title"/>
|
|
|
<el-table-column label="创建人" align="center" prop="createName"/>
|
|
|
- <el-table-column label="发送次数" align="center" prop="sendCount"/>
|
|
|
+<!-- <el-table-column label="发送次数" align="center" prop="sendCount"/>-->
|
|
|
<el-table-column label="隶属分组" align="center" prop="materialGroupName"></el-table-column>
|
|
|
<el-table-column label="创建时间" align="center" prop="createTime"/>
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
@@ -119,14 +119,14 @@
|
|
|
type="text"
|
|
|
icon="el-icon-edit"
|
|
|
@click="handleUpdate(scope.row)"
|
|
|
- v-hasPermi="['qw:tag:edit']"
|
|
|
+ v-hasPermi="['qw:material:edit']"
|
|
|
>修改</el-button>
|
|
|
<el-button
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
icon="el-icon-delete"
|
|
|
@click="handleDelete(scope.row)"
|
|
|
- v-hasPermi="['qw:tag:remove']"
|
|
|
+ v-hasPermi="['qw:material:remove']"
|
|
|
>删除</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -146,7 +146,7 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="标题" align="center" prop="title"/>
|
|
|
<el-table-column label="创建人" align="center" prop="createName"/>
|
|
|
- <el-table-column label="发送次数" align="center" prop="sendCount"/>
|
|
|
+<!-- <el-table-column label="发送次数" align="center" prop="sendCount"/>-->
|
|
|
<el-table-column label="隶属分组" align="center" prop="materialGroupName"></el-table-column>
|
|
|
<el-table-column label="创建时间" align="center" prop="createTime"/>
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
@@ -156,14 +156,14 @@
|
|
|
type="text"
|
|
|
icon="el-icon-edit"
|
|
|
@click="handleUpdate(scope.row)"
|
|
|
- v-hasPermi="['qw:tag:edit']"
|
|
|
+ v-hasPermi="['qw:material:edit']"
|
|
|
>修改</el-button>
|
|
|
<el-button
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
icon="el-icon-delete"
|
|
|
@click="handleDelete(scope.row)"
|
|
|
- v-hasPermi="['qw:tag:remove']"
|
|
|
+ v-hasPermi="['qw:material:remove']"
|
|
|
>删除</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -199,7 +199,7 @@
|
|
|
type="text"
|
|
|
icon="el-icon-edit"
|
|
|
@click="handleUpdate(item)"
|
|
|
- v-hasPermi="['qw:tag:edit']"
|
|
|
+ v-hasPermi="['qw:material:edit']"
|
|
|
>修改</el-button>
|
|
|
<el-button
|
|
|
class="button"
|
|
@@ -207,101 +207,102 @@
|
|
|
type="text"
|
|
|
icon="el-icon-delete"
|
|
|
@click="handleDelete(item)"
|
|
|
- v-hasPermi="['qw:tag:remove']"
|
|
|
+ v-hasPermi="['qw:material:remove']"
|
|
|
>删除</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-card>
|
|
|
</div>
|
|
|
</el-tab-pane>
|
|
|
- <el-tab-pane label="图文" name="4">
|
|
|
- <div style="display: flex; flex-wrap: wrap; gap: 10px; ">
|
|
|
- <el-card
|
|
|
- v-for="(item, index) in imagetextMaterialsList"
|
|
|
- :key="index">
|
|
|
- <el-image
|
|
|
- v-if="item.titleUrl"
|
|
|
- style="width: 200px; height: 180px"
|
|
|
- :src="item.titleUrl"
|
|
|
- fit="contain"
|
|
|
- @click="openImageViewer(item.titleUrl)"
|
|
|
- />
|
|
|
- <div v-else style="width: 200px; height: 180px; display: flex; justify-content: center; align-items: center; border: 1px solid #dcdcdc;">
|
|
|
- 暂无标题图片
|
|
|
- </div>
|
|
|
- <div style="margin-top: 3%">
|
|
|
- <div style=" display: flex;flex-direction: column;width: 200px">
|
|
|
- <span>标题:{{ item.title }}</span>
|
|
|
- <div style="display: flex; flex-wrap: wrap; word-break: break-all;margin:3% 0">
|
|
|
- <span>链接:</span>
|
|
|
- <el-link :href="item.materialUrl" target="_blank">{{ item.materialUrl }}</el-link>
|
|
|
- </div>
|
|
|
- <span>创建人:{{item.createName}}</span>
|
|
|
- <time class="time" style="white-space: nowrap">时间:{{ item.createTime }}</time>
|
|
|
- </div>
|
|
|
- <div class="bottom clearfix">
|
|
|
- <el-button
|
|
|
- class="button"
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-edit"
|
|
|
- @click="handleUpdate(item)"
|
|
|
- v-hasPermi="['qw:tag:edit']"
|
|
|
- >修改</el-button>
|
|
|
- <el-button
|
|
|
- class="button"
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-delete"
|
|
|
- @click="handleDelete(item)"
|
|
|
- v-hasPermi="['qw:tag:remove']"
|
|
|
- >删除</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-card>
|
|
|
- </div>
|
|
|
- </el-tab-pane>
|
|
|
- <el-tab-pane label="语音" name="5">
|
|
|
- <div style="display: flex; flex-wrap: wrap; gap: 10px; ">
|
|
|
- <el-card
|
|
|
- v-for="(item, index) in voiceMaterialsList"
|
|
|
- :key="index">
|
|
|
- <!-- style="width: 250px;height: 300px">-->
|
|
|
- <!-- <div class="card-header">-->
|
|
|
- <!-- <el-checkbox-->
|
|
|
- <!-- :label="item.id"-->
|
|
|
- <!-- @change="handleSelectionChange($event, item)"-->
|
|
|
- <!-- ></el-checkbox>-->
|
|
|
- <!-- </div>-->
|
|
|
- <audio controls :src="item.materialUrl" style="width: 300px;height: 50px"/>
|
|
|
- <div>
|
|
|
- <div style=" display: flex;flex-direction: column;width: 200px">
|
|
|
- <span>标题:{{ item.title }}</span>
|
|
|
- <span>创建人:{{item.createName}}</span>
|
|
|
- <time class="time" style="white-space: nowrap">时间:{{ item.createTime }}</time>
|
|
|
- </div>
|
|
|
- <div class="bottom clearfix">
|
|
|
- <el-button
|
|
|
- class="button"
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-edit"
|
|
|
- @click="handleUpdate(item)"
|
|
|
- v-hasPermi="['qw:tag:edit']"
|
|
|
- >修改</el-button>
|
|
|
- <el-button
|
|
|
- class="button"
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-delete"
|
|
|
- @click="handleDelete(item)"
|
|
|
- v-hasPermi="['qw:tag:remove']"
|
|
|
- >删除</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-card>
|
|
|
- </div>
|
|
|
- </el-tab-pane>
|
|
|
+
|
|
|
+<!-- <el-tab-pane label="图文" name="4">-->
|
|
|
+<!-- <div style="display: flex; flex-wrap: wrap; gap: 10px; ">-->
|
|
|
+<!-- <el-card-->
|
|
|
+<!-- v-for="(item, index) in imagetextMaterialsList"-->
|
|
|
+<!-- :key="index">-->
|
|
|
+<!-- <el-image-->
|
|
|
+<!-- v-if="item.titleUrl"-->
|
|
|
+<!-- style="width: 200px; height: 180px"-->
|
|
|
+<!-- :src="item.titleUrl"-->
|
|
|
+<!-- fit="contain"-->
|
|
|
+<!-- @click="openImageViewer(item.titleUrl)"-->
|
|
|
+<!-- />-->
|
|
|
+<!-- <div v-else style="width: 200px; height: 180px; display: flex; justify-content: center; align-items: center; border: 1px solid #dcdcdc;">-->
|
|
|
+<!-- 暂无标题图片-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div style="margin-top: 3%">-->
|
|
|
+<!-- <div style=" display: flex;flex-direction: column;width: 200px">-->
|
|
|
+<!-- <span>标题:{{ item.title }}</span>-->
|
|
|
+<!-- <div style="display: flex; flex-wrap: wrap; word-break: break-all;margin:3% 0">-->
|
|
|
+<!-- <span>链接:</span>-->
|
|
|
+<!-- <el-link :href="item.materialUrl" target="_blank">{{ item.materialUrl }}</el-link>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <span>创建人:{{item.createName}}</span>-->
|
|
|
+<!-- <time class="time" style="white-space: nowrap">时间:{{ item.createTime }}</time>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="bottom clearfix">-->
|
|
|
+<!-- <el-button-->
|
|
|
+<!-- class="button"-->
|
|
|
+<!-- size="mini"-->
|
|
|
+<!-- type="text"-->
|
|
|
+<!-- icon="el-icon-edit"-->
|
|
|
+<!-- @click="handleUpdate(item)"-->
|
|
|
+<!-- v-hasPermi="['qw:material:edit']"-->
|
|
|
+<!-- >修改</el-button>-->
|
|
|
+<!-- <el-button-->
|
|
|
+<!-- class="button"-->
|
|
|
+<!-- size="mini"-->
|
|
|
+<!-- type="text"-->
|
|
|
+<!-- icon="el-icon-delete"-->
|
|
|
+<!-- @click="handleDelete(item)"-->
|
|
|
+<!-- v-hasPermi="['qw:material:remove']"-->
|
|
|
+<!-- >删除</el-button>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </el-card>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </el-tab-pane>-->
|
|
|
+<!-- <el-tab-pane label="语音" name="5">-->
|
|
|
+<!-- <div style="display: flex; flex-wrap: wrap; gap: 10px; ">-->
|
|
|
+<!-- <el-card-->
|
|
|
+<!-- v-for="(item, index) in voiceMaterialsList"-->
|
|
|
+<!-- :key="index">-->
|
|
|
+<!-- <!– style="width: 250px;height: 300px">–>-->
|
|
|
+<!-- <!– <div class="card-header">–>-->
|
|
|
+<!-- <!– <el-checkbox–>-->
|
|
|
+<!-- <!– :label="item.id"–>-->
|
|
|
+<!-- <!– @change="handleSelectionChange($event, item)"–>-->
|
|
|
+<!-- <!– ></el-checkbox>–>-->
|
|
|
+<!-- <!– </div>–>-->
|
|
|
+<!-- <audio controls :src="item.materialUrl" style="width: 300px;height: 50px"/>-->
|
|
|
+<!-- <div>-->
|
|
|
+<!-- <div style=" display: flex;flex-direction: column;width: 200px">-->
|
|
|
+<!-- <span>标题:{{ item.title }}</span>-->
|
|
|
+<!-- <span>创建人:{{item.createName}}</span>-->
|
|
|
+<!-- <time class="time" style="white-space: nowrap">时间:{{ item.createTime }}</time>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="bottom clearfix">-->
|
|
|
+<!-- <el-button-->
|
|
|
+<!-- class="button"-->
|
|
|
+<!-- size="mini"-->
|
|
|
+<!-- type="text"-->
|
|
|
+<!-- icon="el-icon-edit"-->
|
|
|
+<!-- @click="handleUpdate(item)"-->
|
|
|
+<!-- v-hasPermi="['qw:material:edit']"-->
|
|
|
+<!-- >修改</el-button>-->
|
|
|
+<!-- <el-button-->
|
|
|
+<!-- class="button"-->
|
|
|
+<!-- size="mini"-->
|
|
|
+<!-- type="text"-->
|
|
|
+<!-- icon="el-icon-delete"-->
|
|
|
+<!-- @click="handleDelete(item)"-->
|
|
|
+<!-- v-hasPermi="['qw:material:remove']"-->
|
|
|
+<!-- >删除</el-button>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </el-card>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </el-tab-pane>-->
|
|
|
<el-tab-pane label="视频" name="6">
|
|
|
<div style="display: flex; flex-wrap: wrap; gap: 10px; ">
|
|
|
<el-card
|
|
@@ -331,7 +332,7 @@
|
|
|
type="text"
|
|
|
icon="el-icon-edit"
|
|
|
@click="handleUpdate(item)"
|
|
|
- v-hasPermi="['qw:tag:edit']"
|
|
|
+ v-hasPermi="['qw:material:edit']"
|
|
|
>修改</el-button>
|
|
|
<el-button
|
|
|
class="button"
|
|
@@ -339,7 +340,7 @@
|
|
|
type="text"
|
|
|
icon="el-icon-delete"
|
|
|
@click="handleDelete(item)"
|
|
|
- v-hasPermi="['qw:tag:remove']"
|
|
|
+ v-hasPermi="['qw:material:remove']"
|
|
|
>删除</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -359,7 +360,7 @@
|
|
|
<!-- ></el-checkbox>-->
|
|
|
<!-- </div>-->
|
|
|
<el-link type="primary" :href="downloadUrl(item.materialUrl)" download>
|
|
|
- 下载文件
|
|
|
+ {{item.materialUrl}}
|
|
|
</el-link>
|
|
|
<div>
|
|
|
<div style=" display: flex;flex-direction: column;width: 200px">
|
|
@@ -374,7 +375,7 @@
|
|
|
type="text"
|
|
|
icon="el-icon-edit"
|
|
|
@click="handleUpdate(item)"
|
|
|
- v-hasPermi="['qw:tag:edit']"
|
|
|
+ v-hasPermi="['qw:material:edit']"
|
|
|
>修改</el-button>
|
|
|
<el-button
|
|
|
class="button"
|
|
@@ -382,7 +383,7 @@
|
|
|
type="text"
|
|
|
icon="el-icon-delete"
|
|
|
@click="handleDelete(item)"
|
|
|
- v-hasPermi="['qw:tag:remove']"
|
|
|
+ v-hasPermi="['qw:material:remove']"
|
|
|
>删除</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -444,7 +445,7 @@
|
|
|
</div>
|
|
|
<div v-else-if="form.materialType=='image'">
|
|
|
<el-form-item label="上传图片" prop="materialUrl">
|
|
|
- <ImageUpload v-model="form.materialUrl" type="image" :num="10" :width="150" :height="150" />
|
|
|
+ <ImageUpload v-model="form.materialUrl" type="image" :num="1" :width="150" :height="150" />
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div v-else-if="form.materialType=='imagetext'">
|
|
@@ -486,7 +487,7 @@
|
|
|
</el-upload>
|
|
|
<video v-if="form.materialUrl"
|
|
|
:src="form.materialUrl"
|
|
|
- controls style="width: 200px;height: 100px">
|
|
|
+ controls style="width: 300px;height: 200px">
|
|
|
</video>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
@@ -502,7 +503,7 @@
|
|
|
<i class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
</el-upload>
|
|
|
<el-link v-if="form.materialUrl" type="primary" :href="downloadUrl(form.materialUrl)" download>
|
|
|
- 下载文件
|
|
|
+ {{ form.materialUrl }}
|
|
|
</el-link>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
@@ -530,7 +531,7 @@ export default {
|
|
|
dialogVisible: false,
|
|
|
dialogImageUrl:null,
|
|
|
//上传地址
|
|
|
- uploadUrl:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
|
|
|
+ uploadUrl:process.env.VUE_APP_BASE_API+"/common/uploadOSS2",
|
|
|
myQwCompanyList:[],
|
|
|
// 遮罩层
|
|
|
loading: true,
|
|
@@ -581,7 +582,6 @@ export default {
|
|
|
title: null,
|
|
|
createName: null,
|
|
|
sendCount: null,
|
|
|
- corpId: null,
|
|
|
groupType:"1",
|
|
|
},
|
|
|
|
|
@@ -695,14 +695,14 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
beforeAvatarUploadVoice(file){
|
|
|
- const isLt1M = file.size / 1024 / 1024 < 1;
|
|
|
+ const isLt1M = file.size / 1024 / 1024 < 2;
|
|
|
if (!isLt1M) {
|
|
|
this.$message.error('上传大小不能超过 2MB!');
|
|
|
}
|
|
|
return isLt1M;
|
|
|
},
|
|
|
beforeAvatarUploadVideo(file){
|
|
|
- const isLt1M = file.size / 1024 / 1024 < 1;
|
|
|
+ const isLt1M = file.size / 1024 / 1024 < 10;
|
|
|
if (!isLt1M) {
|
|
|
this.$message.error('上传大小不能超过 10MB!');
|
|
|
}
|
|
@@ -710,7 +710,7 @@ export default {
|
|
|
},
|
|
|
|
|
|
beforeAvatarUploadFile(file){
|
|
|
- const isLt1M = file.size / 1024 / 1024 < 1;
|
|
|
+ const isLt1M = file.size / 1024 / 1024 < 20;
|
|
|
if (!isLt1M) {
|
|
|
this.$message.error('上传大小不能超过 20MB!');
|
|
|
}
|
|
@@ -719,27 +719,28 @@ export default {
|
|
|
|
|
|
//选择小板块方法
|
|
|
handleClick(row){
|
|
|
- switch (row.index) {
|
|
|
- case '0':
|
|
|
+
|
|
|
+ switch (row.name) {
|
|
|
+ case '1':
|
|
|
this.resetParam();
|
|
|
this.getList();
|
|
|
break;
|
|
|
- case '1':
|
|
|
+ case '2':
|
|
|
this.textMaterials();
|
|
|
break;
|
|
|
- case '2':
|
|
|
+ case '3':
|
|
|
this.imageMaterials();
|
|
|
break;
|
|
|
- case '3':
|
|
|
+ case '4':
|
|
|
this.imagetextMaterials()
|
|
|
break;
|
|
|
- case '4':
|
|
|
+ case '5':
|
|
|
this.voiceMaterials();
|
|
|
break;
|
|
|
- case '5':
|
|
|
+ case '6':
|
|
|
this.videoMaterials()
|
|
|
break;
|
|
|
- case '6':
|
|
|
+ case '7':
|
|
|
this.fileMaterials()
|
|
|
break;
|
|
|
default:
|
|
@@ -865,16 +866,38 @@ export default {
|
|
|
this.form.corpId=this.queryParams.corpId;
|
|
|
if (valid) {
|
|
|
if (this.form.materialId != null) {
|
|
|
+
|
|
|
+ this.open = false;
|
|
|
+ let loadingRock = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: '正在执行中请稍后~!',
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
+ background: 'rgba(0, 0, 0, 0.7)'
|
|
|
+ });
|
|
|
+
|
|
|
updateMaterial(this.form).then(response => {
|
|
|
this.msgSuccess("修改成功");
|
|
|
- this.open = false;
|
|
|
this.getList();
|
|
|
+ }).finally(res=>{
|
|
|
+ loadingRock.close();
|
|
|
});
|
|
|
+
|
|
|
} else {
|
|
|
+
|
|
|
+ this.open = false;
|
|
|
+ let loadingRock = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: '正在执行中请稍后~~',
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
+ background: 'rgba(0, 0, 0, 0.7)'
|
|
|
+ });
|
|
|
+
|
|
|
addMaterial(this.form).then(response => {
|
|
|
this.msgSuccess("新增成功");
|
|
|
- this.open = false;
|
|
|
this.getList();
|
|
|
+ loadingRock.close();
|
|
|
+ }).finally(res=>{
|
|
|
+ loadingRock.close();
|
|
|
});
|
|
|
}
|
|
|
}
|