|
|
@ -74,6 +74,7 @@ |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="m-table"> |
|
|
|
|
|
|
|
<div class="div_btn"> |
|
|
|
|
|
|
|
<el-button @click="handleExport" class="diy-button--white" size="small">导出</el-button> |
|
|
@ -102,8 +103,10 @@ |
|
|
|
</el-dropdown-menu> --> |
|
|
|
<!-- </el-dropdown> --> |
|
|
|
</div> |
|
|
|
<canvas id="watermarkCanvas" class="canvas"> </canvas> |
|
|
|
<el-table :data="tableData" border class="m-table-item" style="width: 100%" |
|
|
|
@selection-change="handleSelectionChange" :height="maxTableHeight"> |
|
|
|
|
|
|
|
<el-table-column label="" fixed="left" type="selection" align="center" width="50" /> |
|
|
|
<!-- <el-table-column label="序号" fixed="left" type="index" align="center" width="50" /> --> |
|
|
|
|
|
|
@ -177,6 +180,8 @@ |
|
|
|
<el-button @click="handleDel(scope.row)" type="text" size="small" >删除</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
|
|
|
|
</el-table> |
|
|
|
|
|
|
|
|
|
|
@ -203,10 +208,7 @@ import eventInfo from "../event/cpts/event-info.vue"; |
|
|
|
import axios from "axios"; |
|
|
|
|
|
|
|
export default { |
|
|
|
|
|
|
|
|
|
|
|
data() { |
|
|
|
|
|
|
|
let orgOptionProps = { |
|
|
|
multiple: false, |
|
|
|
value: 'agencyId', |
|
|
@ -328,7 +330,9 @@ export default { |
|
|
|
selVoiceUrl: "", |
|
|
|
multipleSelection: [], |
|
|
|
importLoading: false, |
|
|
|
importType: "1" |
|
|
|
importType: "1", |
|
|
|
phone:"", |
|
|
|
realName:"" |
|
|
|
}; |
|
|
|
}, |
|
|
|
components:{eventInfo}, |
|
|
@ -355,15 +359,42 @@ export default { |
|
|
|
}, |
|
|
|
}, |
|
|
|
mounted() { |
|
|
|
console.log(this.$store.state.user,"dslk;djklsg;ljk"); |
|
|
|
this.realName = this.$store.state.user.realName; |
|
|
|
this.phone = this.$store.state.user.phone; |
|
|
|
this.user = this.$store.state.user; |
|
|
|
this.agencyId = this.user.agencyId; |
|
|
|
|
|
|
|
this.getCanvas() |
|
|
|
this.getOrgTreeList() |
|
|
|
this.getGridList() |
|
|
|
this.getTableData(); |
|
|
|
this.getCateOptions(); |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
getCanvas() { |
|
|
|
var canvas = document.getElementById('watermarkCanvas'); |
|
|
|
var ctx = canvas.getContext('2d'); |
|
|
|
canvas.width = window.innerWidth ; // 设置更高的分辨率 |
|
|
|
canvas.height = window.innerHeight ; |
|
|
|
var watermarkText = this.realName+ this.phone; //内容 |
|
|
|
ctx.font = '12px Arial'; //大小 |
|
|
|
ctx.fillStyle = 'rgba(0, 0, 255, 0.2)'; //颜色+透明度 |
|
|
|
// ctx.textBaseline = 'middle'; |
|
|
|
ctx.scale(2, 2); // 缩放上下文以适应更高分辨率 |
|
|
|
var angle = -30 * Math.PI / 180; // 旋转-30度 |
|
|
|
var x = canvas.width / 2; |
|
|
|
var y = canvas.height / 2; |
|
|
|
var space = 150; // 水印间距 |
|
|
|
for (var i = 0; i < canvas.width; i += space) { |
|
|
|
for (var j = 0; j < canvas.height; j += space) { |
|
|
|
ctx.save(); |
|
|
|
ctx.translate(i, j); |
|
|
|
ctx.rotate(angle); |
|
|
|
ctx.fillText(watermarkText, 0, 0); |
|
|
|
ctx.restore(); |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
async handleDel(rowData) { |
|
|
|
let message = "确认删除?"; |
|
|
|
this.$confirm(message, "提示", { |
|
|
@ -858,4 +889,15 @@ export default { |
|
|
|
font-size: 40px; |
|
|
|
color: #fff; |
|
|
|
} |
|
|
|
.canvas { |
|
|
|
|
|
|
|
width: 100%; |
|
|
|
height: 100%; |
|
|
|
z-index: 10; |
|
|
|
position: absolute; |
|
|
|
top: 0; |
|
|
|
left: 0; |
|
|
|
pointer-events: none; |
|
|
|
/* 确保canvas不干扰其他元素 */ |
|
|
|
} |
|
|
|
</style> |
|
|
|