拆分图片上传问题

This commit is contained in:
caoyang
2022-04-01 18:19:53 +08:00
parent 9fafb83c43
commit c146d817b1
5 changed files with 110 additions and 62 deletions
+5 -5
View File
@@ -28,7 +28,7 @@
<a-form-model-item class="itemModel" :prop="item.db_field_name"> <a-form-model-item class="itemModel" :prop="item.db_field_name">
<j-multi-select-tag class="box-input" v-model="formInline[item.db_field_name]" <j-multi-select-tag class="box-input" v-model="formInline[item.db_field_name]"
:disabled="disabled" :disabled="disabled"
:placeholder="$t('selectStatus')" :type="'checkbox'" :placeholder="$t('PleaseSelect')+item.db_field_txt" :type="'checkbox'"
:triggerChange="false" :dictCode="item.dict_field"/> :triggerChange="false" :dictCode="item.dict_field"/>
</a-form-model-item> </a-form-model-item>
</div> </div>
@@ -91,7 +91,7 @@
<a-form-model-item class="itemModel" :prop="item.db_field_name"> <a-form-model-item class="itemModel" :prop="item.db_field_name">
<j-dict-select-tag class="box-input" v-model="formInline[item.db_field_name]" <j-dict-select-tag class="box-input" v-model="formInline[item.db_field_name]"
:disabled="disabled" :disabled="disabled"
:placeholder="$t('selectStatus')" :type="'select'" :placeholder="$t('PleaseSelect')+item.db_field_txt" :type="'select'"
:triggerChange="false" :dictCode="item.dict_field"/> :triggerChange="false" :dictCode="item.dict_field"/>
</a-form-model-item> </a-form-model-item>
</div> </div>
@@ -107,7 +107,7 @@
<a-form-model-item class="itemModel" :prop="item.db_field_name"> <a-form-model-item class="itemModel" :prop="item.db_field_name">
<j-multi-select-tag class="box-input" v-model="formInline[item.db_field_name]" <j-multi-select-tag class="box-input" v-model="formInline[item.db_field_name]"
:disabled="disabled" :disabled="disabled"
:placeholder="$t('selectStatus')" :type="'select'" :placeholder="$t('PleaseSelect')+item.db_field_txt" :type="'select'"
:triggerChange="false" :dictCode="item.dict_field"/> :triggerChange="false" :dictCode="item.dict_field"/>
</a-form-model-item> </a-form-model-item>
</div> </div>
@@ -121,7 +121,7 @@
<span class="title-text-text">{{item.db_field_txt}}</span> <span class="title-text-text">{{item.db_field_txt}}</span>
</div> </div>
<a-form-model-item class="itemModel" :prop="item.db_field_name"> <a-form-model-item class="itemModel" :prop="item.db_field_name">
<j-dict-select-tag v-model="formInline[item.db_field_name]" :placeholder="$t('selectStatus')" <j-dict-select-tag v-model="formInline[item.db_field_name]" :placeholder="$t('PleaseSelect')+item.db_field_txt"
:disabled="disabled" :disabled="disabled"
:type="'radio'" :triggerChange="false" :dictCode="item.dict_field"/> :type="'radio'" :triggerChange="false" :dictCode="item.dict_field"/>
</a-form-model-item> </a-form-model-item>
@@ -136,7 +136,7 @@
<span class="title-text-text">{{item.db_field_txt}}</span> <span class="title-text-text">{{item.db_field_txt}}</span>
</div> </div>
<a-form-model-item class="itemModel" :prop="item.db_field_name"> <a-form-model-item class="itemModel" :prop="item.db_field_name">
<a-textarea :placeholder="$t('selectStatus')" <a-textarea :placeholder="$t('PleaseSelect')+item.db_field_txt"
:disabled="disabled" :disabled="disabled"
v-model="formInline[item.db_field_name]" :rows="4"/> v-model="formInline[item.db_field_name]" :rows="4"/>
</a-form-model-item> </a-form-model-item>
@@ -28,7 +28,7 @@
<a-form-model-item class="itemModel" :prop="item.db_field_name"> <a-form-model-item class="itemModel" :prop="item.db_field_name">
<j-multi-select-tag class="box-input" v-model="formInline[item.db_field_name]" <j-multi-select-tag class="box-input" v-model="formInline[item.db_field_name]"
:disabled="disabled" :disabled="disabled"
:placeholder="$t('selectStatus')" :type="'checkbox'" :placeholder="$t('PleaseSelect')+item.db_field_txt" :type="'checkbox'"
:triggerChange="false" :dictCode="item.dict_field"/> :triggerChange="false" :dictCode="item.dict_field"/>
</a-form-model-item> </a-form-model-item>
</div> </div>
@@ -91,7 +91,7 @@
<a-form-model-item class="itemModel" :prop="item.db_field_name"> <a-form-model-item class="itemModel" :prop="item.db_field_name">
<j-dict-select-tag class="box-input" v-model="formInline[item.db_field_name]" <j-dict-select-tag class="box-input" v-model="formInline[item.db_field_name]"
:disabled="disabled" :disabled="disabled"
:placeholder="$t('selectStatus')" :type="'select'" :placeholder="$t('PleaseSelect')+item.db_field_txt" :type="'select'"
:triggerChange="false" :dictCode="item.dict_field"/> :triggerChange="false" :dictCode="item.dict_field"/>
</a-form-model-item> </a-form-model-item>
</div> </div>
@@ -107,7 +107,7 @@
<a-form-model-item class="itemModel" :prop="item.db_field_name"> <a-form-model-item class="itemModel" :prop="item.db_field_name">
<j-multi-select-tag class="box-input" v-model="formInline[item.db_field_name]" <j-multi-select-tag class="box-input" v-model="formInline[item.db_field_name]"
:disabled="disabled" :disabled="disabled"
:placeholder="$t('selectStatus')" :type="'select'" :placeholder="$t('PleaseSelect')+item.db_field_txt" :type="'select'"
:triggerChange="false" :dictCode="item.dict_field"/> :triggerChange="false" :dictCode="item.dict_field"/>
</a-form-model-item> </a-form-model-item>
</div> </div>
@@ -121,7 +121,7 @@
<span class="title-text-text">{{item.db_field_txt}}</span> <span class="title-text-text">{{item.db_field_txt}}</span>
</div> </div>
<a-form-model-item class="itemModel" :prop="item.db_field_name"> <a-form-model-item class="itemModel" :prop="item.db_field_name">
<j-dict-select-tag v-model="formInline[item.db_field_name]" :placeholder="$t('selectStatus')" <j-dict-select-tag v-model="formInline[item.db_field_name]" :placeholder="$t('PleaseSelect')+item.db_field_txt"
:disabled="disabled" :disabled="disabled"
:type="'radio'" :triggerChange="false" :dictCode="item.dict_field"/> :type="'radio'" :triggerChange="false" :dictCode="item.dict_field"/>
</a-form-model-item> </a-form-model-item>
@@ -136,7 +136,7 @@
<span class="title-text-text">{{item.db_field_txt}}</span> <span class="title-text-text">{{item.db_field_txt}}</span>
</div> </div>
<a-form-model-item class="itemModel" :prop="item.db_field_name"> <a-form-model-item class="itemModel" :prop="item.db_field_name">
<a-textarea :placeholder="$t('selectStatus')" <a-textarea :placeholder="$t('PleaseSelect')+item.db_field_txt"
:disabled="disabled" :disabled="disabled"
v-model="formInline[item.db_field_name]" :rows="4"/> v-model="formInline[item.db_field_name]" :rows="4"/>
</a-form-model-item> </a-form-model-item>
@@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<a-modal v-model="visible" :maskClosable="false" :footer="[]" :title="title"> <a-modal v-model="visible" :maskClosable="false" :footer="[]" :title="title" @cancel="handlePreImgCancel">
<a-upload-dragger <a-upload-dragger
:accept='accept' :accept='accept'
:disabled="disabled" :disabled="disabled"
@@ -53,7 +53,7 @@
}, },
mounted() { mounted() {
this.visible=this.splitVisible this.visible=this.splitVisible
console.log('accept11111',this.accept) // console.log('accept11111',this.accept)
// console.log(this.thisFileType,this.thisFileSize,this.thisFileUploadUrl); // console.log(this.thisFileType,this.thisFileSize,this.thisFileUploadUrl);
}, },
methods: { methods: {
@@ -74,7 +74,7 @@
this.fileTypeSatus=false this.fileTypeSatus=false
let fileTypes=this.accept.split('/') let fileTypes=this.accept.split('/')
let fileNowTypes=file.type.split('/') let fileNowTypes=file.type.split('/')
fileFlag=fileTypes[0]==fileTypes[0]?true:false fileFlag=(fileTypes[0]==fileNowTypes[0])?true:false
// console.log('filetype',fileFlag) // console.log('filetype',fileFlag)
if(!fileFlag){ if(!fileFlag){
this.$message.warning(this.$t('fileFormatIncorrect')) this.$message.warning(this.$t('fileFormatIncorrect'))
@@ -175,6 +175,9 @@
preview(file) { preview(file) {
// console.log('file111',file) // console.log('file111',file)
this.previewImage = file.response.path; this.previewImage = file.response.path;
},
handlePreImgCancel(){
this.$emit('coloseHandle',false)
} }
} }
} }
@@ -194,7 +194,7 @@
<j-dict-select-tag v-model="formInline[item.db_field_name]" <j-dict-select-tag v-model="formInline[item.db_field_name]"
:disabled="disabled" :disabled="disabled"
@input="handleInput(item.db_field_name)" @input="handleInput(item.db_field_name)"
:placeholder="$t('selectStatus')" :placeholder="$t('PleaseSelect')+item.db_field_txt"
:type="'radio'" :triggerChange="false" :dictCode="item.dict_field"/> :type="'radio'" :triggerChange="false" :dictCode="item.dict_field"/>
</a-form-model-item> </a-form-model-item>
</div> </div>
@@ -228,7 +228,8 @@
<a-form-model-item class="itemModel" :prop="item.db_field_name"> <a-form-model-item class="itemModel" :prop="item.db_field_name">
<j-multi-select-tag class="box-input" v-model="formInline[item.db_field_name]" <j-multi-select-tag class="box-input" v-model="formInline[item.db_field_name]"
:disabled="disabled" :disabled="disabled"
:placeholder="$t('selectStatus')" :type="'checkbox'" :placeholder="$t('PleaseSelect')+item.db_field_txt"
:type="'checkbox'"
:triggerChange="false" :dictCode="item.dict_field"/> :triggerChange="false" :dictCode="item.dict_field"/>
</a-form-model-item> </a-form-model-item>
</div> </div>
@@ -301,7 +302,7 @@
</div> </div>
</a-modal> </a-modal>
<!-- 上传图片弹框--> <!-- 上传图片弹框-->
<split-upload v-if="splitVisible" ref="uploadFile2" :disabled="disabled" :title="titleImg" :listType='listType' :splitVisible="splitVisible" @uploadSuccess="uploadSuccess1"></split-upload> <split-upload v-if="splitVisible" ref="uploadFile2" :disabled="disabled" :title="titleImg" :listType='listType' :splitVisible="splitVisible" :accept="accept" @coloseHandle="coloseHandle" @uploadSuccess="uploadSuccess1"></split-upload>
<!-- 输入表格行数列数--> <!-- 输入表格行数列数-->
<a-modal <a-modal
@@ -723,7 +724,7 @@
} }
}else if(this.selected==2){ //图片类型 }else if(this.selected==2){ //图片类型
// this.$refs.uploadFile2.visible=true
this.splitVisible=true this.splitVisible=true
}else if(this.selected==3){ //表格类型 }else if(this.selected==3){ //表格类型
@@ -741,7 +742,7 @@
}, },
//上传文件 //上传文件
uploadSuccess1(data,imgs) { uploadSuccess1(data,imgs) {
// console.log('dataimg',data,imgs) console.log('dataimg',data,imgs)
let lengthImg=imgs.length let lengthImg=imgs.length
for(let i = this.contentList.length;i>this.addIndex;i--){ for(let i = this.contentList.length;i>this.addIndex;i--){
this.contentList[i+lengthImg-1]=this.contentList[i-1] this.contentList[i+lengthImg-1]=this.contentList[i-1]
@@ -751,10 +752,12 @@
this.contentList[++this.addIndex]={ this.contentList[++this.addIndex]={
id:'', id:'',
type:'IMG', type:'IMG',
itemContent:item.id itemContent:item.id,
thumbUrl:item.thumbUrl
} }
}) })
} }
// this.$refs.uploadFile2.visible=false
this.splitVisible=false this.splitVisible=false
// console.log('conteend',this.contentList) // console.log('conteend',this.contentList)
}, },
@@ -770,6 +773,11 @@
//表格确认按钮 //表格确认按钮
handleOkTable(){ handleOkTable(){
this.tableVisible=false this.tableVisible=false
this.contentList[this.addIndex+1]= {
id:'',
type:'TABLE',
itemContent:this.ueContent
}
}, },
//表格取消按钮 //表格取消按钮
handleCancelTable(){ handleCancelTable(){
@@ -788,6 +796,8 @@
//取消行数列数按钮 //取消行数列数按钮
handleColCancel(){ handleColCancel(){
this.tableColVisible=false this.tableColVisible=false
this.rowCount=''
this.colCount=''
}, },
//确定行数列数按钮 //确定行数列数按钮
handleColOk(){ handleColOk(){
@@ -814,14 +824,12 @@
} }
tableStr+=`</table>` tableStr+=`</table>`
this.ueContent=tableStr this.ueContent=tableStr
this.contentList[this.addIndex+1]= {
id:'',
type:'TABLE',
itemContent:tableStr
}
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.ueditor.setContent(this.ueContent) this.$refs.ueditor.setContent(this.ueContent)
}) })
this.rowCount=''
this.colCount=''
} }
// console.log('cont1111',this.addIndex,this.contentList) // console.log('cont1111',this.addIndex,this.contentList)
}, },
@@ -849,6 +857,7 @@
}, },
/** 上传文件的回调 */ /** 上传文件的回调 */
uploadSuccess(data) { uploadSuccess(data) {
console.log('dataaaaa',data)
let attIdList = [] let attIdList = []
if (data && data.length > 0) { if (data && data.length > 0) {
data.map(item => { data.map(item => {
@@ -859,6 +868,10 @@
this.formInline[this.uploadName] = attIdList.join(',') this.formInline[this.uploadName] = attIdList.join(',')
this.formInline = { ...this.formInline } this.formInline = { ...this.formInline }
}, },
//关闭上传
coloseHandle(){
this.splitVisible=false
},
handleInput(value) { handleInput(value) {
this.$nextTick(() => { this.$nextTick(() => {
this.formInline = { ...this.formInline } this.formInline = { ...this.formInline }
@@ -957,9 +970,11 @@
this.getForm(() => { this.getForm(() => {
getAction(this.url.getDocumentInfo, { id: item.id }).then((res) => { getAction(this.url.getDocumentInfo, { id: item.id }).then((res) => {
if (res.success) { if (res.success) {
this.formInline = res.result[0] this.formInline = res.result
console.log('form11111',this.formInline)
} }
}) })
}) })
}, },
add() { add() {
@@ -977,6 +992,7 @@
this.formInline[value + '_id'] = id this.formInline[value + '_id'] = id
this.formInline = { ...this.formInline } this.formInline = { ...this.formInline }
}, },
//正则替换小数点 //正则替换小数点
limitNumber(value) { limitNumber(value) {
if (typeof value === 'string') { if (typeof value === 'string') {
@@ -1179,4 +1195,13 @@
width: 100%; width: 100%;
} }
} }
.split-img{
.ant-modal-body{
img{
margin-top: 20px;
width: 470px;
height: 100%;
}
}
}
</style> </style>
@@ -16,10 +16,10 @@
@select="onSelect" @select="onSelect"
> >
<template slot="title" slot-scope="{ title }"> <template slot="title" slot-scope="{ title }">
<span v-if="title.indexOf(searchValue) > -1"> <span v-if="title.indexOf(searchValue) > -1" :title="title">
{{ title.substr(0, title.indexOf(searchValue)) }}<span style="color: #f50">{{ searchValue }}</span>{{ title.substr(title.indexOf(searchValue) + searchValue.length) }} {{ title.substr(0, title.indexOf(searchValue)) }}<span style="color: #f50">{{ searchValue }}</span>{{ title.substr(title.indexOf(searchValue) + searchValue.length) }}
</span> </span>
<span v-else>{{ title }}</span> <span v-else :title="title">{{ title }}</span>
</template> </template>
</a-tree> </a-tree>
<div v-if="NodeTreeItem" :style="tmpStyle" > <div v-if="NodeTreeItem" :style="tmpStyle" >
@@ -251,7 +251,7 @@
getAddForm: 'language/switch/getForm', // 表单的字段 getAddForm: 'language/switch/getForm', // 表单的字段
addInfo: '/jero-boot/split/sarFileSplitItems/addSplitItems', //新增 addInfo: '/jero-boot/split/sarFileSplitItems/addSplitItems', //新增
updateInfo:'/jero-boot/split/sarFileSplitItems/updateSplitItems', //编辑 updateInfo:'/jero-boot/split/sarFileSplitItems/updateSplitItems', //编辑
getDocumentInfo:'split/sarFileSplitInfo/queryById', getDocumentInfo:'split/sarFileSplitItems/getSplitItemsById',
importZipUrl: '/split/sarFileSplitItems/importSplitItems',//导入 importZipUrl: '/split/sarFileSplitItems/importSplitItems',//导入
}, },
urlBatSet:{ urlBatSet:{
@@ -483,6 +483,7 @@
} }
}).finally(()=>{ }).finally(()=>{
this.flag=false this.flag=false
this.menuRightVisible=false
}) })
} }
} }
@@ -505,6 +506,7 @@
} }
}).finally(()=>{ }).finally(()=>{
this.flag=false this.flag=false
this.menuRightVisible=false
}) })
} }
}, },
@@ -550,41 +552,46 @@
infoIds:infoIds.join(','), infoIds:infoIds.join(','),
menuids:menuIds.join(',') menuids:menuIds.join(',')
} }
this.$confirm({ if(menuIds&&menuIds.length>0) {
title: this.$t('ConfirmReplication'), this.$confirm({
content: '', title: this.$t('ConfirmReplication'),
onOk: content: '',
async () => { onOk:
axios({ async () => {
url: '/jero-boot/split/sarFileSplitMenu/copyMenuNotChildrenall', axios({
method: 'get', url: '/jero-boot/split/sarFileSplitMenu/copyMenuNotChildrenall',
params: params, method: 'get',
// transformRequest: [function (data) { params: params,
// // Do whatever you want to transform the data // transformRequest: [function (data) {
// let ret = '' // // Do whatever you want to transform the data
// for (let it in data) { // let ret = ''
// ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&' // for (let it in data) {
// } // ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
// return ret // }
// }], // return ret
headers: { // }],
// 'Content-Type': 'application/x-www-form-urlencoded', headers: {
'X-Access-Token':this.token // 'Content-Type': 'application/x-www-form-urlencoded',
} 'X-Access-Token': this.token
})
.then( (res) => {
if(res.data.success){
this.$message.success(this.$t('OperationSuccessful'))
// this.loadData()
this.loadMenuData()
eventBUs.$emit('searchReset')
}else{
this.$message.warning(this.$t('operationFailed'))
} }
}) })
.then((res) => {
if (res.data.success) {
this.$message.success(this.$t('OperationSuccessful'))
// this.loadData()
this.loadMenuData()
eventBUs.$emit('searchReset')
} else {
this.$message.warning(this.$t('operationFailed'))
}
})
},
onCancel() {
}, },
onCancel() {}, })
}); }else if(menuIds.length==0){
this.$message.warning(this.$t('PleaseSelectData'))
}
}, },
//新增 //新增
handleAddManage(){ handleAddManage(){
@@ -768,7 +775,7 @@
ids:val.id ids:val.id
} }
this.$confirm({ this.$confirm({
title: this.$t('ConfirmBatchDeletion'), title: this.$t('areYouSure'),
content: '', content: '',
onOk: onOk:
async () => { async () => {
@@ -958,7 +965,7 @@
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
.split-detail-left{ .split-detail-left{
min-width: 260px; width: 260px;
padding-right: 20px; padding-right: 20px;
border-right: 1px solid #666666; border-right: 1px solid #666666;
.menu-item{ .menu-item{
@@ -1054,4 +1061,17 @@
text-align: center; text-align: center;
} }
} }
.split-detail-left{
.ant-tree-treenode-switcher-open{
.ant-tree-node-content-wrapper-normal{
width:200px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
.ant-tree-title{
}
}
}
</style> </style>