|
@@ -0,0 +1,114 @@
|
|
|
+<template>
|
|
|
+ <a-modal
|
|
|
+ :title="modalTitle"
|
|
|
+ :width="640"
|
|
|
+ :visible="visible"
|
|
|
+ :confirmLoading="confirmLoading"
|
|
|
+ @cancel="handleCancel"
|
|
|
+ >
|
|
|
+ <a-form :form="form">
|
|
|
+ <a-form-item
|
|
|
+ label="上传文件"
|
|
|
+ :labelCol="BaseTool.Constant.labelCol"
|
|
|
+ :wrapperCol="BaseTool.Constant.wrapperCol"
|
|
|
+ >
|
|
|
+ <a-upload :fileList="fileList" @change="handleChange" :remove="handleRemove" :beforeUpload="beforeUpload">
|
|
|
+ <a-button> <a-icon type="upload" />选择上传文件</a-button>
|
|
|
+ </a-upload>
|
|
|
+ </a-form-item>
|
|
|
+ </a-form>
|
|
|
+ <p style="color: red">注意事项:<br/>
|
|
|
+ 1:请确保对应设备新号已经设置<br/>
|
|
|
+ 2:请确保对应设备使用机台、维修员均已经设置<br/>
|
|
|
+ 3:导入如出现问题,请及时联系<br/>
|
|
|
+ </p>
|
|
|
+ <template slot="footer">
|
|
|
+ <a-button :loading="confirmLoading" type="primary" @click="save()">确定</a-button>
|
|
|
+ </template>
|
|
|
+ </a-modal>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { importCheckStandard } from '@/api/check/checkstandard'
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: 'SbModelBomImportForm',
|
|
|
+ data () {
|
|
|
+ return {
|
|
|
+ confirmLoading: false,
|
|
|
+ modalTitle: null,
|
|
|
+ form: this.$form.createForm(this),
|
|
|
+ visible: false,
|
|
|
+ type: null,
|
|
|
+ fileList: []
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ base (useCompany, useProject) {
|
|
|
+ this.visible = true
|
|
|
+ this.modalTitle = '保养标准导入'
|
|
|
+ this.type = 1
|
|
|
+ },
|
|
|
+ handleRemove (file) {
|
|
|
+ const index = this.fileList.indexOf(file)
|
|
|
+ const newFileList = this.fileList.slice()
|
|
|
+ newFileList.splice(index, 1)
|
|
|
+ this.fileList = newFileList
|
|
|
+ },
|
|
|
+ beforeUpload (file) {
|
|
|
+ const reg = /\.(xls|xlsx)(\?.*)?$/
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ if (reg.test(file.name)) {
|
|
|
+ this.fileList = [file]
|
|
|
+ return false
|
|
|
+ } else {
|
|
|
+ this.$message.error(`请上传正确的excel文件`)
|
|
|
+ reject(new Error('请上传正确的excel文件'))
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleChange (info) {
|
|
|
+ if (info.file.status !== 'uploading') {
|
|
|
+ console.log(info.file, info.fileList)
|
|
|
+ }
|
|
|
+ if (info.file.status === 'done') {
|
|
|
+ this.$message.success(`${info.file.name} file uploaded successfully`)
|
|
|
+ } else if (info.file.status === 'error') {
|
|
|
+ this.$message.error(`${info.file.name} file upload failed.`)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ save () {
|
|
|
+ const { form: { validateFieldsAndScroll } } = this
|
|
|
+ this.confirmLoading = true
|
|
|
+ validateFieldsAndScroll((errors, values) => {
|
|
|
+ if (errors) {
|
|
|
+ this.confirmLoading = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ const formData = new FormData()
|
|
|
+ // formData.append('type', this.type)
|
|
|
+ formData.append('file', this.fileList[0])
|
|
|
+ importCheckStandard(formData)
|
|
|
+ .then((res) => {
|
|
|
+ this.$message.success(res.data)
|
|
|
+ this.handleCancel(values)
|
|
|
+ this.BaseTool.ListForm.clearOneList(this)
|
|
|
+ this.BaseTool.ListForm.pushOneListAddMore(this, res.data)
|
|
|
+ }).catch(() => {
|
|
|
+ this.confirmLoading = false
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleCancel (values) {
|
|
|
+ this.visible = false
|
|
|
+ this.confirmLoading = false
|
|
|
+ this.fileList = []
|
|
|
+ this.form.resetFields()
|
|
|
+ this.storeId = null
|
|
|
+ this.$emit('ok', values)
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|