Browse Source

文件上传 最新版本

java8
DOUDOU 3 years ago
parent
commit
482614b873
  1. 4
      src/api/eam/com_eam_object_upload_file.js
  2. 276
      src/views/modules/eam/com_eam_object_upload_file.vue
  3. 42
      src/views/modules/eam/eam_device_list.vue

4
src/api/eam/com_eam_object_upload_file.js

@ -0,0 +1,4 @@
import { createAPI } from "@/utils/httpRequest.js";
/*图片上传*/
export const uploadEamObjectFile = data => createAPI('/sys/file/upload','post',data)

276
src/views/modules/eam/com_eam_object_upload_file.vue

@ -1,11 +1,21 @@
<template>
<div class="customer-css">
<el-dialog :title="titleCon" :close-on-click-modal="false" :visible.sync="visible" width="360px" style="height: 420px;" class="customer-dialog">
<el-dialog :title="titleCon" :close-on-click-modal="false" :visible.sync="visible" width="420px" style="height: 520px;" class="customer-dialog">
<el-form :inline="true" label-position="top" label-width="80px">
<!-- -->
<el-row>
<el-col :span="24">
<el-col :span="12">
<el-form-item class="customer-item" label="设备编码:" >
<el-input v-model="pageData.objectID" style="width: 120px;" disabled ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item class="customer-item" label="设备名称:">
<el-input v-model="pageData.objectDesc" style="width: 120px;" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-upload class="customer-upload"
drag
action="javascript:void(0);" ref="uploadFile" :limit="1"
@ -15,133 +25,49 @@
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item class="customer-item" label="设备名称" >
<el-input v-model="pageData.objectDesc" style="width: 120px;" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item class="customer-item" label="设备编码:" >
<el-input v-model="pageData.objectID" :disabled="readOnlyFlag" style="width: 120px;" >
</el-input >
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item class="customer-item" label="设备名称" >
<el-input v-model="pageData.objectDesc" style="width: 120px;" ></el-input>
<el-col :span="24" style="margin-bottom: 30px;">
<el-form-item class="customer-item" label="备注:" >
<el-input type="textarea" style="width: 360px;" placeholder="请输入内容" v-model="pageData.fileRemark"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item class="customer-item" label="在用" >
<el-select v-model="pageData.active" style="width: 120px;" >
<el-option label="Y" value="Y"></el-option>
<el-option label="N" value="N"></el-option>
</el-select >
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item class="customer-item">
<span slot="label" style="" @click="getBaseList(1026)"><a herf="#">区域:</a></span>
<el-input v-model="pageData.locationID" style="width: 120px;" >
</el-input >
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item class="customer-item">
<span slot="label" style="" @click="getBaseList(1027)"><a herf="#">分类:</a></span>
<el-input v-model="pageData.familyID" style="width: 120px;" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item class="customer-item">
<span slot="label" style="" @click="getBaseList(1028)"><a herf="#">分组:</a></span>
<el-input v-model="pageData.groupID" style="width: 120px;" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item class="customer-item">
<span slot="label" style="" @click="getBaseList(1029)"><a herf="#">供应商:</a></span>
<el-input v-model="pageData.supplierID" style="width: 120px;" >
</el-input >
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item class="customer-item" >
<span slot="label" style="" @click="getBaseList(1030)"><a herf="#">制造商:</a></span>
<el-input v-model="pageData.manufacturerID" style="width: 120px;" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item class="customer-item" label="序列号:" >
<el-input v-model="pageData.seqNo" style="width: 120px;" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item class="customer-item" label="购入日期:" >
<el-date-picker class="el-time-width"
style="width: 120px;"
v-model="pageData.purchessDate"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="saveEamObject()">保存</el-button>
<el-button type="primary" @click="saveUploadFile()">保存</el-button>
<el-button type="primary" @click="closeDialog">关闭</el-button>
</span>
</el-dialog>
<!--列表的组件-->
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
</div>
</template>
<script>
import {
insertEamObject,
updateEamObject,
} from '@/api/eam/com_eam_object_add_update.js';
uploadEamObjectFile,
} from '@/api/eam/com_eam_object_upload_file.js';
/* 引入组件 */
import Chooselist from '@/views/modules/common/Chooselist_eam';/* 列表组件 */
var functionId = 'C10000001';
var functionId = 'C10000002';
export default {
data() {
return {
titleCon: '设备清单维护',
titleCon: '设备文件上传',
folder: 'eamObject',
visible: false,
userId: this.$store.state.user.name,
fileList: [],
pageData: {
site: this.$store.state.user.site,
username: this.$store.state.user.name,
objectID: '',
objectDesc: '',
locationID: '',
familyID: '',
groupID: '',
supplierID: '',
manufacturerID: '',
seqNo: '',
purchessDate: '',
active: 'Y',
addFlag: 'Y',
checkFlag: 'Y',
fileRemark: '',
},
readOnlyFlag: false,
dataListLoading: false,
}
},
@ -152,16 +78,10 @@ export default {
this.pageData = JSON.parse(JSON.stringify(currentRow));
//
this.visible = true;
//
if(this.pageData.addFlag == 'Y'){
this.readOnlyFlag = false;
}else{
this.readOnlyFlag = true;
}
//
this.pageData.username = this.userId;
//
this.titleCon = this.labels.titleCon;
//this.titleCon = this.labels.titleCon;
},
//
@ -178,71 +98,6 @@ export default {
this.fileList.push(file);
},
/*保存标签自定义的信息*/
saveEamObject(){
//
let objectID = this.pageData.objectID.trim();
let locationID = this.pageData.locationID.trim();
let familyID = this.pageData.familyID.trim();
let groupID = this.pageData.groupID.trim();
let supplierID = this.pageData.supplierID.trim();
let manufacturerID = this.pageData.manufacturerID.trim();
if(objectID == null || objectID === ''){
this.$message.success("设备编码不能为空!");
return false;
}
if(locationID == null || locationID === ''){
this.$message.success("区域不能为空!");
return false;
}
if(groupID == null || groupID === ''){
this.$message.success("分组不能为空!");
return false;
}
if(familyID == null || familyID === ''){
this.$message.success("分类不能为空!");
return false;
}
if(supplierID == null || supplierID === ''){
this.$message.success("供应商不能为空!");
return false;
}
if(manufacturerID == null || manufacturerID === ''){
this.$message.success("制造商不能为空!");
return false;
}
//
if(this.pageData.addFlag === 'Y'){
this.insertEamObjectData();
}else{
this.updateEamObjectData();
}
},
/*数量失去焦点的事件*/
insertEamObjectData(){
insertEamObject(this.pageData).then(({data}) => {
if(data.code == 200){
this.$message.success(data.msg);
setTimeout(this.closeDialog(), 2000);
}else{
this.$message.error(data.msg);
}
})
},
/*验证时长的参数*/
updateEamObjectData(){
updateEamObject(this.pageData).then(({data}) => {
if(data.code == 200){
this.$message.success(data.msg);
setTimeout(this.closeDialog(), 2000);
}else{
this.$message.error(data.msg);
}
})
},
/*关闭modal*/
closeDialog(){
//
@ -251,62 +106,38 @@ export default {
this.visible = false;
},
/* 列表方法的回调 */
getBaseData(val) {
if (this.tagNo === 1026) {
//
this.pageData.locationID = val.LocationID;
}else if (this.tagNo === 1027) {
//
this.pageData.familyID = val.FamilyID;
}else if (this.tagNo === 1028) {
//
this.pageData.groupID = val.GroupID;
}else if (this.tagNo === 1029) {
//
this.pageData.supplierID = val.SupplierID;
}else if (this.tagNo === 1030) {
//
this.pageData.manufacturerID = val.ManufacturerID;
/*保修当前的数据*/
saveUploadFile(){
let remark = this.pageData.fileRemark;
if(null === remark || '' === remark){
this.$message.error("请输入文件备注!");
return false;
}
},
//
getBaseList(val) {
this.tagNo = val
this.$nextTick(() => {
let strVal = ''
if (val === 1026) {
strVal = this.pageData.locationID;
}else if (val === 1027) {
strVal = this.pageData.familyID;
}else if (val === 1028) {
strVal = this.pageData.groupID;
}else if (val === 1029) {
strVal = this.pageData.supplierID;
}else if (val === 1030) {
strVal = this.pageData.manufacturerID;
/*判断文件是否上传*/
if(null == this.fileList || 0 == this.fileList.length){
this.$message.error("请先上传文件!");
return false;
}
const formData = new FormData();
//
formData.append("file", this.fileList[0].raw);
formData.append("folder", this.folder);
formData.append("site", this.pageData.site);
formData.append("objectID", this.pageData.objectID);
formData.append("remark", remark);
uploadEamObjectFile(formData).then(({data}) => {
if (data.code === 0) {
debugger;
this.$message.success(data.msg);
//
this.$refs.uploadFile.clearFiles();
this.pageData.fileRemark = '';
}else {
this.$message.warning(data.msg);
}
this.$refs.baseList.init(val, strVal)
})
},
},
components: {
Chooselist, /* 选择的组件 */
},
watch: {
pageData: {
deep: true,
handler: function (newV, oldV) {
this.pageData.objectID = this.pageData.objectID.toUpperCase();
this.pageData.locationID = this.pageData.locationID.toUpperCase();
this.pageData.familyID = this.pageData.familyID.toUpperCase();
this.pageData.groupID = this.pageData.groupID.toUpperCase();
this.pageData.supplierID = this.pageData.supplierID.toUpperCase();
this.pageData.manufacturerID = this.pageData.manufacturerID.toUpperCase();
}
},
},
created() {
// this.factoryList()
@ -315,7 +146,6 @@ export default {
}
</script>
<style scoped lang="scss">

42
src/views/modules/eam/eam_device_list.vue

@ -94,28 +94,11 @@
<!-- 文档 -->
<el-tab-pane label="文档" name="file_content">
<!--文件上传-->
<el-form label-position="top" style="margin-top: 5px;">
<el-form label-position="top" style="margin-top: -6px; margin-left: 30px;">
<el-row>
<el-col :span="6">
<el-upload class="customer-upload"
drag
action="javascript:void(0);" ref="uploadFile" :limit="1"
:before-upload="beforeUploadHandle" :on-change="onChange"
accept=".jpg,.pdf,.PDF" :auto-upload="false"
style="text-align: left;">
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
</el-upload>
</el-col>
<!--文件描述-->
<el-col :span="4" >
<el-form-item class="customer-item" label="文件描述:" >
<el-input v-model="fileRemark" style="width: 120px;" ></el-input>
</el-form-item>
</el-col>
<el-col :span="4" >
<el-form-item class="customer-item" label=" ">
<el-button type="primary" @click="saveUploadFile()">保存</el-button>
<el-button type="primary" @click="addUploadFileModal()">上传文件</el-button>
</el-form-item>
</el-col>
</el-row>
@ -454,6 +437,8 @@
<!-- 新增或者修改的modal -->
<comAddUpdateEamObject ref="comAddUpdateEamObject" @refreshPageTables="getDataList()" v-drag></comAddUpdateEamObject>
<!-- 上传文件的modal -->
<comEamObjectUploadFile ref="comEamObjectUploadFile" @refreshPageTables="getDataList()" v-drag></comEamObjectUploadFile>
<!-- 新增备件的modal -->
<el-dialog title="点检计划" :close-on-click-modal="false" v-drag :visible.sync="spareModalFlag" width="570px">
@ -895,9 +880,9 @@
getHistoryOrderList,
getFaultBehaviorList,
deleteEamObject,
uploadEamObjectFile,/*图片上传*/
} from '@/api/eam/eam_object_list.js';
import {
getSpareSelectList,
saveObjectSparesData,
@ -925,6 +910,7 @@
} from '@/api/partspare/resourcespare.js'
/*引入組件*/
import comAddUpdateEamObject from "./com_eam_object_add_update";/*新增或者修改的組件*/
import comEamObjectUploadFile from "./com_eam_object_upload_file";/*上传文件的組件*/
import Chooselist from '@/views/modules/common/Chooselist_eam'
export default {
@ -3040,6 +3026,7 @@
components: {
comAddUpdateEamObject,/*新增或者修改的组件*/
comEamObjectUploadFile,/*文件上传的组件*/
Chooselist,
},
@ -3330,6 +3317,21 @@
})
},
/*新增文件的modal*/
addUploadFileModal(){
let currentData = {
site: this.$store.state.user.site,
createBy: this.$store.state.user.name,
objectID: this.currentRow.objectID,
objectDesc: this.currentRow.objectDesc,
remark: '',
};
//
this.$nextTick(() => {
this.$refs.comEamObjectUploadFile.init(currentData);
})
},
updateEamObjectModal(row){
let currentData = row;
currentData.addFlag = 'N';

Loading…
Cancel
Save