You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
185 lines
4.1 KiB
185 lines
4.1 KiB
<template>
|
|
<view class="content">
|
|
<uni-forms :model="form" ref="uForm" :rules="rules" label-width="130">
|
|
<uni-forms-item label="企业名称">
|
|
<u-input v-model="form.name" placeholder="请输入企业名称" border />
|
|
</uni-forms-item>
|
|
<uni-forms-item label="标准名称">
|
|
<u-input v-model="form.standard_name" placeholder="请输入标准名称" border />
|
|
</uni-forms-item>
|
|
<uni-forms-item label="标准编号">
|
|
<u-input v-model="form.standard_code" placeholder="请输入标准编号" border />
|
|
</uni-forms-item>
|
|
<uni-forms-item label="公开时间">
|
|
<uni-datetime-picker type="date" ref="pickerData" v-model="form.publicate_time" @change="changeData" />
|
|
</uni-forms-item>
|
|
<uni-forms-item label="附件信息">
|
|
<u-upload :action="action+'/common/uploadMinioonfile'" :header="actionHeader" @on-success="fileSuccess"
|
|
@on-remove="fileRemove" width="150rpx" height="150rpx" max-count="3"></u-upload>
|
|
</uni-forms-item>
|
|
</uni-forms>
|
|
<fixedButton @click="submit" />
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
getToken
|
|
} from '@/utils/auth'
|
|
import {
|
|
uploadFile
|
|
} from "@/api/system/user.js";
|
|
import {
|
|
addList
|
|
} from "@/api/shianliaoning/publicity.js";
|
|
export default {
|
|
data() {
|
|
return {
|
|
actionHeader: {
|
|
'Authentication': getToken()
|
|
},
|
|
action: getApp().globalData.config.baseUrl,
|
|
form: {
|
|
name: "",
|
|
standard_name: "",
|
|
publicate_time: "",
|
|
text: "",
|
|
fileName: "",
|
|
code: "",
|
|
},
|
|
show: false,
|
|
rules: {},
|
|
fileList: [],
|
|
fileSize: 5,
|
|
};
|
|
},
|
|
onLoad(option) {
|
|
if (option.code) this.form.code = option.code;
|
|
},
|
|
methods: {
|
|
getFilesSys: function() {
|
|
// #ifdef H5
|
|
this.$refs.files.choose();
|
|
// #endif
|
|
},
|
|
// 选择完毕
|
|
selectOut(e) {
|
|
let size = e.tempFiles[0].size / 1024 / 1024 < this.fileSize;
|
|
if (!size) {
|
|
uni.showToast({
|
|
title: `上传文件大小不能超过 ${this.fileSize} MB!`,
|
|
icon: "none",
|
|
});
|
|
return;
|
|
}
|
|
let file = e.tempFiles[0].path;
|
|
this.fileUpload(file);
|
|
},
|
|
// 删除
|
|
closeFile(index) {
|
|
this.fileList.splice(index, 1);
|
|
uni.showToast({
|
|
title: "删除成功",
|
|
});
|
|
},
|
|
//上传
|
|
fileUpload(e) {
|
|
console.log(e);
|
|
let data = {
|
|
filePath: e,
|
|
};
|
|
uni.showLoading({
|
|
title: "上传中",
|
|
});
|
|
uploadFile(data).then((res) => {
|
|
uni.showToast({
|
|
title: "上传成功",
|
|
});
|
|
this.fileList.push({
|
|
name: res.originalFilename,
|
|
url: this.deletelDNS(res.url),
|
|
});
|
|
});
|
|
},
|
|
//选中日期
|
|
changeData(e) {
|
|
this.form.publicate_time = e;
|
|
console.log(e, "日期");
|
|
},
|
|
// 图片上传成功
|
|
fileSuccess(data, index, lists, name) {
|
|
this.fileList.push({
|
|
name: data.originalFilename,
|
|
url: this.deletelDNS(data.url)
|
|
})
|
|
},
|
|
//删除图片
|
|
fileRemove(index, lists, name) {
|
|
this.fileList.splice(index, 1)
|
|
},
|
|
//提交
|
|
submit() {
|
|
if (this.form.name == '') {
|
|
uni.showToast({
|
|
title: '请填写企业名称',
|
|
icon: 'none'
|
|
})
|
|
return
|
|
}
|
|
|
|
if (this.fileList.length > 0) {
|
|
this.form.text = [];
|
|
this.form.fileName = [];
|
|
this.fileList.forEach((item) => {
|
|
this.form.text.push(item.url);
|
|
this.form.fileName.push(item.name);
|
|
});
|
|
this.form.fileName = this.form.fileName.toString();
|
|
|
|
this.form.text = this.form.text.toString();
|
|
}
|
|
addList(this.form).then((res) => {
|
|
uni.showToast({
|
|
title: "提交成功",
|
|
success: () => {
|
|
setTimeout(function() {
|
|
uni.navigateBack();
|
|
}, 1000);
|
|
},
|
|
});
|
|
});
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.content {
|
|
padding: 40rpx;
|
|
background-color: white;
|
|
}
|
|
|
|
::v-deep .button-conatiner {
|
|
z-index: 10;
|
|
}
|
|
|
|
.file-upload {
|
|
margin-top: 20rpx;
|
|
}
|
|
|
|
.file-item {
|
|
margin-top: 20rpx;
|
|
box-sizing: border-box;
|
|
border: 1px solid #f7f7f7;
|
|
padding: 20rpx 10rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
border-radius: 10rpx;
|
|
|
|
.file-name {
|
|
font-size: 28rpx;
|
|
letter-spacing: 2rpx;
|
|
}
|
|
}
|
|
</style> |