Browse Source

图片编辑插件修改

360view
bianyaqi 2 years ago
parent
commit
306fde4f17
  1. 4
      public/index.html
  2. 4
      src/page-subspecialty/views/modules/imgEditorFabric/img-editor/setSize.vue
  3. 10
      src/page-subspecialty/views/modules/imgEditorFabric/img-editor/tools.vue
  4. 41
      src/page-subspecialty/views/modules/imgEditorFabric/index.vue
  5. 9
      src/page-subspecialty/views/modules/nurseManagement/reservation/schedule/addPatientOrder.vue

4
public/index.html

@ -39,8 +39,8 @@
<% if (process.env.VUE_APP_NODE_ENV === 'dev') { %>
<script>
//http://121.36.16.195:9002/huimu-admin/swagger-ui/index.html
// window.SITE_CONFIG['apiURL'] = 'http://47.110.224.240:8036/xiangan-crf';
window.SITE_CONFIG['apiURL'] = 'http://192.168.0.167:8036/xiangan-crf';
window.SITE_CONFIG['apiURL'] = 'http://47.110.224.240:8036/xiangan-crf';
// window.SITE_CONFIG['apiURL'] = 'http://192.168.0.167:8036/xiangan-crf';
</script>
<% } %>
<!-- 测试环境 -->

4
src/page-subspecialty/views/modules/imgEditorFabric/img-editor/setSize.vue

@ -38,8 +38,8 @@ export default {
inject: ['canvas', 'fabric'],
data() {
return {
width: 360 * 1.5,
height: 400 * 1.5,
width: 360 * 2,
height: 400 * 2,
presetSize: [{
label: '红书竖版',
width: 900,

10
src/page-subspecialty/views/modules/imgEditorFabric/img-editor/tools.vue

@ -122,6 +122,7 @@ export default {
},
methods: {
addText() {
this.closeLineMode()
const text = new this.fabric.IText('万事大吉', {
...defaultPosition,
fontSize: 40, id: uuid()
@ -130,6 +131,7 @@ export default {
this.canvas.c.setActiveObject(text)
},
addImg(e) {
this.closeLineMode()
const imgEl = e.target.cloneNode(true)
const imgInstance = new this.fabric.Image(imgEl, {
...defaultPosition,
@ -140,6 +142,7 @@ export default {
this.canvas.c.renderAll()
},
addTextBox() {
this.closeLineMode()
const text = new this.fabric.Textbox('诸事顺遂', {
...defaultPosition,
splitByGrapheme: true, width: 300,
@ -149,6 +152,7 @@ export default {
this.canvas.c.setActiveObject(text)
},
addTriangle() {
this.closeLineMode()
const triangle = new this.fabric.Triangle({
top: 100,
left: 100,
@ -160,6 +164,7 @@ export default {
this.canvas.c.setActiveObject(triangle)
},
addCircle() {
this.closeLineMode()
const circle = new this.fabric.Circle({
...defaultPosition,
radius: 50,
@ -171,6 +176,7 @@ export default {
this.canvas.c.setActiveObject(circle)
},
addRect() {
this.closeLineMode()
const circle = new this.fabric.Rect({
...defaultPosition,
fill: '#F57274',
@ -182,6 +188,10 @@ export default {
this.canvas.c.add(circle)
this.canvas.c.setActiveObject(circle)
},
closeLineMode() {
this.drawHandler.setMode(false)
this.drawHandler.setArrow(false)
},
drawingLineModeSwitch(isArrow) {
this.isArrow = isArrow
this.isDrawingLineMode = !this.isDrawingLineMode

41
src/page-subspecialty/views/modules/imgEditorFabric/index.vue

@ -11,30 +11,30 @@
<div style=" display: flex; height: calc(100vh - 70px);">
<div style="width: 380px; height: 100%; background:#fff; display: flex">
<el-tabs v-model="menuActive" tab-position="left">
<el-tab-pane label="元素" name="2" />
<el-tab-pane label="背景" name="3" />
<el-tab-pane label="画笔" name="4" />
<el-tab-pane label="元素" name="1" />
<el-tab-pane label="背景" name="2" />
<el-tab-pane label="画笔" name="3" />
</el-tabs>
<div class="content">
<template v-if="show">
<div v-show="menuActive === '2'" class="left-panel">
<div v-show="menuActive === '1'" class="left-panel">
<tools />
</div>
<!-- 背景设置 -->
<div v-show="menuActive === '3'" class="left-panel">
<div v-show="menuActive === '2'" class="left-panel">
<set-size />
<bg-bar ref="bgBar" :is-od-or-os="isOdOrOs" />
</div>
</template>
<!-- 画笔设置 -->
<div v-show="menuActive === '4'" class="left-panel">
<div v-show="menuActive === '3'" class="left-panel">
<div style="display: inline-block">
<el-button type="primary" class="btn btn-info" size="small" @click="changeDrawing">{{ controlBtn }}</el-button>
<div v-if="controlDrawing">
<div class="drawing_item" style="display: flex">
<span for="drawing-mode-selector">风格:</span>
<el-select id="drawing-mode-selector" v-model="model" class="modeStyle" style="flex: 1" @change="changeModel">
<el-option :value="'Pencil'">Pencil</el-option>
<el-option :value="'铅笔'">铅笔</el-option>
<el-option :value="'钻石'">钻石</el-option>
</el-select>
</div>
@ -47,14 +47,14 @@
<div for="drawing-color">线条颜色:</div>
<el-input id="drawing-color" class="toolStyle" type="color" value="#FF0000" />
</div>
<div class="drawing_item" id="eraser-btn" style="display: flex;align-items: center">
<div id="eraser-btn" class="drawing_item" style="display: flex;align-items: center">
<div>橡皮擦: </div>
<el-button size="mini" @click="setEarser" type="text" style="font-size: 16px;margin-left: 4px">橡皮擦</el-button>
<!-- <span @click="setUndoErasing">恢复擦拭</span>-->
<el-button size="mini" type="text" style="font-size: 16px;margin-left: 4px" @click="setEarser">橡皮擦</el-button>
<!-- <span @click="setUndoErasing">恢复擦拭</span>-->
</div>
<div class="drawing_item" style="display: flex;align-items: center">
<div>画笔: </div>
<el-button size="mini" @click="changeModel('钻石')" type="text" style="font-size: 16px;margin-left: 4px">画笔</el-button>
<el-button size="mini" type="text" style="font-size: 16px;margin-left: 4px" @click="changeModel('钻石')">画笔</el-button>
</div>
</div>
</div>
@ -126,7 +126,7 @@ export default {
},
data() {
return {
menuActive: '4',
menuActive: '3',
show: false,
select: null,
model: '钻石',
@ -135,6 +135,16 @@ export default {
lineWidth: 30
}
},
watch: {
menuActive(value) {
if (value !== '3') {
this.canvas.isDrawingMode = false
} else {
this.canvas.isDrawingMode = true
}
console.log(this.canvas.isDrawingMode)
}
},
mounted() {
this.canvas = canvas.c = new fabric.Canvas('canvas', {
isDrawingMode: true
@ -249,8 +259,9 @@ export default {
canvas.freeDrawingBrush = diamondPatternBrush
} else if (value === 'texture') {
canvas.freeDrawingBrush = texturePatternBrush
} else {
canvas.freeDrawingBrush = new fabric[value + 'Brush'](canvas)
} else if (value === '铅笔') {
const text = 'Pencil'
canvas.freeDrawingBrush = new fabric[text + 'Brush'](canvas)
}
if (canvas.freeDrawingBrush) {
var brush = canvas.freeDrawingBrush
@ -278,6 +289,8 @@ export default {
//
changeDrawing() {
this.canvas.isDrawingMode = !this.canvas.isDrawingMode
console.log(this.canvas.isDrawingMode)
if (this.canvas.isDrawingMode) {
this.controlBtn = '取消绘图模式'
this.controlDrawing = true

9
src/page-subspecialty/views/modules/nurseManagement/reservation/schedule/addPatientOrder.vue

@ -94,6 +94,15 @@
<el-col class="line" style="text-align: center" :span="2">-</el-col>
<el-col :span="11">
<el-form-item prop="date2">
<!-- <el-time-select-->
<!-- v-model="form.date2"-->
<!-- :picker-options="{-->
<!-- start: '08:30',-->
<!-- step: '00:15',-->
<!-- end: '18:30'-->
<!-- }"-->
<!-- placeholder="选择时间"-->
<!-- />-->
<el-time-picker
v-model="form.date2"
value-format="HH:mm:ss"

Loading…
Cancel
Save