qushaowei
2023-12-13 ff9dfc15ef267fcc5e2343d7bbf6927394bd9948
炉类设备报告上传
已添加2个文件
已修改2个文件
742 ■■■■■ 文件已修改
src/views/eam/Daily3MaintenanceOrderList.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/daily3MaintenanceOrder/DailyMaintenanceOrderExeDrawer.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/daily3MaintenanceOrder/StoveCategoryReportList.vue 319 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/daily3MaintenanceOrder/StoveCategoryReportModal.vue 382 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/Daily3MaintenanceOrderList.vue
@@ -306,6 +306,15 @@
            type="vertical"
          />
          <a
            v-show="record.status === '5' && record.isNotStoveCategoryFlag == true && (record.stoveExemptStatus == '0' ||record.stoveExemptStatus == '1' ||record.stoveExemptStatus == '2')"
            @click="handleStoveReport(record)"
            v-has="'daily3MaintenanceOrder:StoveCategoryReport'"
          >炉类报告</a>
          <a-divider
            v-show="record.status === '5'&& record.isNotStoveCategoryFlag == true && (record.stoveExemptStatus == '0' ||record.stoveExemptStatus == '1' ||record.stoveExemptStatus == '2')"
            type="vertical"
          />
          <a
            v-show="record.status === '5' && record.isNotStoveCategoryFlag == false && record.precisionParameters != '1'"
            @click="handleTechnologyStatus(record)"
            v-has="'daily3MaintenanceOrder:TechnologyStatus'"
@@ -387,6 +396,10 @@
      ref="StoveCategoryModal"
      @ok="modalFormOk"
    ></stove-category-modal>
    <stove-category-report-modal
      ref="StoveCategoryReportModal"
      @ok="modalFormOk"
    ></stove-category-report-modal>
    <maintenance-order-assign-modal
      ref="MaintenanceOrderAssignModal"
      @ok="modalFormOk"
@@ -420,6 +433,7 @@
import MaintenanceOrderChangeModal from './modules/dailyMaintenanceOrder/MaintenanceOrderChangeModal'
import EquipmentPrecisionCheckOrderModal from './modules/daily3MaintenanceOrder/EquipmentPrecisionCheckOrderModal'
import StoveCategoryModal from './modules/daily3MaintenanceOrder/StoveCategoryModal'
import StoveCategoryReportModal from './modules/daily3MaintenanceOrder/StoveCategoryReportModal'
import MaintenanceOrderAssignModal from './modules/dailyMaintenanceOrder/MaintenanceOrderAssignModal'
import DailyMaintenanceOrderExeDrawer from './modules/daily3MaintenanceOrder/DailyMaintenanceOrderExeDrawer'
import EquipmentTechnologyStatusModal from './modules/daily3MaintenanceOrder/EquipmentTechnologyStatusModal'
@@ -439,6 +453,7 @@
    DailyMaintenanceOrderExeDrawer,
    MaintenanceOrderChangeModal,
    StoveCategoryModal,
    StoveCategoryReportModal,
    EquipmentTechnologyStatusModal,
    TechnologyStatusAuthenticateModal,
    Maintenance3ReceiptModal,
@@ -703,6 +718,13 @@
      this.$refs.StoveCategoryModal.title = "温度均匀性检测条件确认表";
      this.$refs.StoveCategoryModal.disableSubmit = false;
    },
    handleStoveReport: function (record) {
      this.$refs.StoveCategoryReportModal.add();
      this.$refs.StoveCategoryReportModal.title = "炉类设备报告上传";
      this.$refs.StoveCategoryReportModal.disableSubmit = false;
      this.$refs.StoveCategoryReportModal.maintenanceStandardId = record.id
      this.$refs.StoveCategoryReportModal.equipmentId = record.equipmentId
    },
    handleOrderChange: function (record) {
      this.$refs.MaintenanceOrderChangeModal.edit(record);
src/views/eam/modules/daily3MaintenanceOrder/DailyMaintenanceOrderExeDrawer.vue
@@ -286,6 +286,17 @@
                ></actual-work-hours-edit-table>
              </div>
            </a-tab-pane>
            <a-tab-pane
              tab='炉类报告'
              key="7"
            >
              <div
                class="table-operator"
                style="margin:-16px"
              >
                <stove-category-report-list :maintenanceStandardId='this.model.id' />
              </div>
            </a-tab-pane>
          </a-tabs>
        </a-card>
      </template>
@@ -333,6 +344,7 @@
import MaintenanceStandardWorkInstruction from '../dailyMaintenanceOrder/MaintenanceStandardWorkInstruction'
import ActualMaterialEditTable from '../dailyMaintenanceOrder/ActualMaterialEditTable.vue'
import ActualWorkHoursEditTable from '../dailyMaintenanceOrder/ActualWorkHoursEditTable.vue'
import StoveCategoryReportList from './StoveCategoryReportList.vue'
export default {
  name: 'DailyMaintenanceOrderExeDrawer',
@@ -345,7 +357,8 @@
    MaintenanceStandardSafetyRequirement,
    MaintenanceStandardWorkInstruction,
    ActualMaterialEditTable,
    ActualWorkHoursEditTable
    ActualWorkHoursEditTable,
    StoveCategoryReportList
  },
  data() {
    return {
@@ -359,6 +372,7 @@
      revocationDistable: false,
      currentNodeSelect: '',
      maintenanceStandardId: '-1',
      maintenanceOrderId: '-1',
      loading: false,
      dataSource: [],
      model: {},
@@ -473,6 +487,7 @@
    handleShow(record) {
      this.model = Object.assign({}, record);
      this.maintenanceStandardId = record.maintenanceStandardId
      this.maintenanceOrderId = record.id
      this.dataSource = []
      this.visible = true;
      this.queryParam.dailyMaintenanceOrderId = record.id
@@ -522,6 +537,8 @@
      return "background-color:rgba(127, 127, 127,0.08)";
    },
    handleCancel() {
      debugger
      this.maintenanceOrderId = '-1'
      this.$emit('ok');
      this.alterFlag = new Date();
      this.close()
src/views/eam/modules/daily3MaintenanceOrder/StoveCategoryReportList.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,319 @@
<template>
  <a-card
    :bordered="false"
    :class="'cust-erp-sub-tab'"
  >
    <!-- æŸ¥è¯¢åŒºåŸŸ -->
    <div class="table-page-search-wrapper">
      <a-form
        layout="inline"
        @keyup.enter.native="searchQuery"
      >
        <a-row :gutter="24">
        </a-row>
      </a-form>
    </div>
    <div>
      <a-table
        ref="table"
        size="middle"
        bordered
        rowKey="id"
        :scroll="{x:true}"
        :columns="columns"
        :dataSource="dataSource"
        :pagination="ipagination"
        :loading="loading"
        @change="handleTableChange"
      >
        <span
          slot="size"
          slot-scope="text"
          class="error"
        >
          {{sizeConvert(text)}}
        </span>
        <span
          slot="action"
          slot-scope="text, record"
        >
          <Tooltip
            placement="top"
            title="预览图片"
          >
            <img
              v-if="record.upload.path && (record.upload.format.toLowerCase()=='jpg'||record.upload.format.toLowerCase()=='bmp'||record.upload.format.toLowerCase()=='png'||record.upload.format.toLowerCase()=='jpeg'||record.upload.format.toLowerCase()=='gif')"
              width="30"
              height="14"
              border="1"
              draggable="false"
              preview="1"
              :preview-text="''"
              :src="record.upload.src"
            />
          </Tooltip>
          <a
            v-if="record.upload.path && record.upload.format.toLowerCase()=='pdf'"
            href="javascript:;"
            @click="view(record)"
          >
            é¢„览
          </a>
          <a-divider
            v-if="record.upload.path && (record.upload.format.toLowerCase()=='jpg'||record.upload.format.toLowerCase()=='bmp'||record.upload.format.toLowerCase()=='png'||record.upload.format.toLowerCase()=='jpeg'||record.upload.format.toLowerCase()=='gif'||record.upload.format.toLowerCase()=='pdf')"
            type="vertical"
          />
          <a
            href="javascript:;"
            @click="handleDownload(record)"
          >下载</a>
          <!--
          <a-divider type="vertical" />
          <a-popconfirm
            title="确定删除吗?"
            @confirm="() => handleDelete(record.id)"
          >
            <a>删除</a>
          </a-popconfirm> -->
        </span>
      </a-table>
    </div>
    <pdf-view ref="pdfview"></pdf-view>
  </a-card>
</template>
<script>
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import { getAction, deleteAction, downFile } from '@/api/manage'
import Tooltip from 'ant-design-vue/es/tooltip'
import JInput from '@/components/jeecg/JInput'
import JEllipsis from "@/components/jeecg/JEllipsis";
import { preview } from 'vue-photo-preview'
import { ACCESS_TOKEN } from '@/store/mutation-types'
import Vue from 'vue'
import PdfView from '@views/common/PdfView'
import { getFileAccessHttpUrl } from '@/api/manage';
import store from '@/store/'
export default {
  name: "MaintenanceStandardWorkInstruction",
  components: {
    Tooltip,
    JInput,
    JEllipsis,
    PdfView,
    preview,
  },
  mixins: [JeecgListMixin],
  props: {
    maintenanceStandardId: {
      type: String,
      default: '-1',
      required: false
    }
  },
  watch: {
    maintenanceStandardId: {
      immediate: true,
      handler(val) {
        if (!this.maintenanceStandardId) {
          this.clearList()
        } else {
          this.queryParam['maintenanceStandardId'] = val;
          this.queryParam['delFlag'] = 0;
          this.loadData(1);
        }
      }
    }
  },
  data() {
    return {
      columns: [
        {
          title: '#',
          dataIndex: '',
          key: 'rowIndex',
          width: 100,
          align: "center",
          customRender: function (t, r, index) {
            return parseInt(index) + 1;
          }
        },
        {
          title: '报告编码',
          align: 'center',
          dataIndex: 'num'
        },
        {
          title: '报告名称',
          align: 'center',
          dataIndex: 'name'
        },
        // {
        //   title: '报告类型',
        //   align: 'center',
        //   dataIndex: 'typeName'
        // },
        {
          title: '报告大小',
          align: 'center',
          dataIndex: 'size',
          scopedSlots: { customRender: 'size' },
        },
        {
          title: '操作',
          align: 'center',
          dataIndex: 'action',
          scopedSlots: {
            customRender: 'action'
          },
        }
      ],
      url: {
        list: "/eam/maintenanceStandardWorkInstruction/getMaintenanceStandardWorkInstructionList",
        urlDownload: window._CONFIG['staticDomainURL'],
        download: '/sys/upload/downloadFile',
      },
    }
  },
  methods: {
    clearList() {
      this.dataSource = []
      this.selectedRowKeys = []
      this.ipagination.current = 1
    },
    loadData(arg) {
      if (!this.url.list) {
        this.$message.error("请设置url.list属性!")
        return
      }
      //加载数据 è‹¥ä¼ å…¥å‚æ•°1则加载第一页的内容
      if (arg === 1) {
        this.ipagination.current = 1;
      }
      var params = this.getQueryParams();//查询条件
      this.loading = true;
      getAction(this.url.list, params).then((res) => {
        if (res.success) {
          for (let i = 0; i < res.result.records.length; i++) {
            let r = res.result.records[i].upload;
            r.src = this.getSrc(res.result.records[i].upload);
          }
          this.dataSource = res.result.records || res.result;
          if (res.result.total) {
            this.ipagination.total = res.result.total;
          } else {
            this.ipagination.total = 0;
          }
          //update-end---author:zhangyafei    Date:20201118  for:适配不分页的数据列表------------
        } else {
          this.$message.warning(res.message)
        }
      }).finally(() => {
        this.loading = false
      })
    },
    handleDownload(record) {
      downFile(this.url.download, { id: record.upload.id }).then((res) => {
        if (!res) {
          this.$message.warning('文件下载失败')
          return
        } else {
          let fileName = record.name;
          if (typeof window.navigator.msSaveBlob !== 'undefined') {
            window.navigator.msSaveBlob(new Blob([res]), fileName);
          } else {
            let url = window.URL.createObjectURL(new Blob([res]));
            let link = document.createElement('a');
            link.style.display = 'none';
            link.href = url;
            link.setAttribute('download', fileName);
            document.body.appendChild(link);
            link.click()
            document.body.removeChild(link) //下载完成移除元素
            window.URL.revokeObjectURL(url) //释放掉blob对象
          }
        }
      })
    },
    //拼装src
    getSrc(record) {
      if (!record.path) {
        return '';
      }
      //本地:local\Minio:minio\阿里云:alioss
      if (record.uploadType == 'local') {
        let ssoLoginFlag = Vue.ls.get("ssoLoginFlag");
        let deployMode = Vue.ls.get("deployMode");
        if (ssoLoginFlag && deployMode == "container") {
          var baseProject = Vue.ls.get("baseProject");
          console.log("baseProject==>" + baseProject)
          var hostname = window.location.protocol + "//" + window.location.host;
          var url = hostname + '/' + baseProject + '/sys/common/static';
          return getFileAccessHttpUrl(record.path + record.encodeName, url, window._CONFIG['hyperTextTransfer'])
        } else {
          //根据发布状态修改https æˆ– http
          return getFileAccessHttpUrl(record.path + record.encodeName, this.url.urlDownload, window._CONFIG['hyperTextTransfer'])
        }
      } else if (record.uploadType == 'alioss') {
        const OSS = require('ali-oss')
        const client = new OSS({
          // region以杭州为例(oss-cn-hangzhou),其他region按实际情况填写。
          region: window._CONFIG['region'],
          // é˜¿é‡Œäº‘主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
          accessKeyId: window._CONFIG['accessKeyId'],
          accessKeySecret: window._CONFIG['accessKeySecret'],
          bucket: window._CONFIG['bucket'],
        })
        // object-key表示从OSS下载文件时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
        return client.signatureUrl(record.path)
      }
    },
    sizeConvert(limit) {
      var size = "";
      if (limit < 0.1 * 1024) {
        size = parseFloat(limit).toFixed(2) + "B";//小于0.1KB,则转化成B
      } else if (limit < 0.1 * 1024 * 1024) {
        size = (parseFloat(limit) / 1024).toFixed(2) + "KB";//小于0.1MB,则转化成KB
      } else if (limit < 0.1 * 1024 * 1024 * 1024) {
        size = (parseFloat(limit) / (1024 * 1024)).toFixed(2) + "MB";//小于0.1GB,则转化成MB
      } else {
        size = (parseFloat(limit) / (1024 * 1024 * 1024)).toFixed(2) + "GB";//其他转化成GB
      }
      var sizeStr = size + "";//转成字符串
      var index = sizeStr.indexOf(".");//获取小数点处的索引
      var dou = sizeStr.substr(index + 1, 2);//获取小数点后两位的值
      if (dou == "00") {//判断后两位是否为00,如果是则删除00
        return sizeStr.substring(0, index) + sizeStr.substr(index + 3, 2);
      }
      return size;
    },
    view(record) {
      this.$refs.pdfview.showPdf(record.src);
    },
  }
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>
src/views/eam/modules/daily3MaintenanceOrder/StoveCategoryReportModal.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,382 @@
<template>
  <a-modal
    :title="title"
    :width="850"
    :visible="visible"
    :maskClosable="false"
    :confirmLoading="confirmLoading"
    :okButtonProps="{ props: {disabled: disableSubmit} }"
    @ok="handleOk"
    @cancel="handleCancel"
    cancelText="关闭"
  >
    <a-spin :spinning="confirmLoading">
      <a-form :form="form">
        <a-row :gutter="24">
          <a-col :span="24">
            <a-form-item
              :labelCol="{span:4}"
              :wrapperCol="{span:18}"
              label="报告编码"
            >
              <a-input
                :disabled="disableSubmit"
                placeholder="请输入报告编码"
                v-decorator="['num', validatorRules.num ]"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <!-- <a-row :gutter="24">
          <a-col :span="24">
            <a-form-item
              :labelCol="{span:4}"
              :wrapperCol="{span:18}"
              label="报告类型"
            >
              <j-dict-select-tag
                allow-clear
                placeholder="请选择文档类型"
                :triggerChange="true"
                dictCode="mom_eam_document_type,name,id, del_flag!='1'"
                v-decorator="['fileType', validatorRules.fileType ]"
              />
            </a-form-item>
          </a-col>
        </a-row> -->
        <a-row :gutter="24">
          <a-col :span="24">
            <a-form-item
              :labelCol="{span:4}"
              :wrapperCol="{span:18}"
              label="文件上传"
            >
              <a-upload-dragger
                name="file"
                :customRequest="customRequest"
                @change="handleChange"
                :file-list="fileList"
                :multiple="false"
              >
                <p class="ant-upload-drag-icon">
                  <a-icon type="inbox" />
                </p>
                <p class="ant-upload-text">
                  ç‚¹å‡»ä¸Šä¼ æˆ–拖拽文件至该区域进行上传
                </p>
                <p class="ant-upload-hint">
                  ä»…支持单文件上传
                </p>
              </a-upload-dragger>
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="24">
            <a-form-item
              :labelCol="{span:4}"
              :wrapperCol="{span:18}"
              label="报告名称"
            >
              <a-input
                :disabled="true "
                placeholder="请输入报告名称"
                v-decorator="['name', validatorRules.name ]"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="24">
            <a-form-model-item
              label="技术状态"
              :labelCol="{span:4}"
              :wrapperCol="{span:18}"
            >
              <j-dict-select-tag
                allow-clear
                placeholder="请选择技术状态"
                :triggerChange="true"
                dictCode="technology_status_stove"
                v-decorator="['technologyStatus', validatorRules.technologyStatus ]"
              />
            </a-form-model-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="24">
            <a-form-item
              :labelCol="{span:4}"
              :wrapperCol="{span:18}"
              label="报告描述"
            >
              <a-textarea
                :disabled="disableSubmit"
                placeholder="请输入报告描述"
                allow-clear
                v-decorator="['description', validatorRules.description]"
              />
            </a-form-item>
          </a-col>
        </a-row>
      </a-form>
    </a-spin>
    <template slot='footer'>
      <a-button
        :style="{marginRight: '8px'}"
        @click="handleCancel"
        :loading='confirmLoading'
      >
        å–消
      </a-button>
      <a-popconfirm
        @confirm="() => handleOk()"
        title="确认此操作?"
      >
        <a-button
          type='primary'
          :loading='confirmLoading'
          :style="{marginRight: '8px'}"
        >
          ç¡®å®š
        </a-button>
      </a-popconfirm>
    </template>
  </a-modal>
</template>
<script>
import { getAction, postAction, postFileAction } from '@/api/manage'
import Vue from 'vue'
import JInput from '@/components/jeecg/JInput'
import Tooltip from 'ant-design-vue/es/tooltip'
import JEllipsis from "@/components/jeecg/JEllipsis";
import { ajaxGetDictItems } from '@/api/api'
import { ACCESS_TOKEN, TENANT_ID } from "@/store/mutation-types"
export default {
  name: "StoveCategoryReportModal",
  components: {
    JInput,
    Tooltip,
    JEllipsis,
  },
  data() {
    return {
      title: "操作",
      visible: false,
      disableSubmit: false,
      model: {},
      labelCol: {
        xs: { span: 24 },
        sm: { span: 8 },
      },
      wrapperCol: {
        xs: { span: 24 },
        sm: { span: 16 },
      },
      confirmLoading: false,
      form: this.$form.createForm(this),
      headers: {},
      validatorRules: {
        num: {
          rules: [
            { required: true, message: '请输入编码!' },
            { min: 0, max: 150, message: '最长 30 ä¸ªå­—符', trigger: 'blur' },
          ]
        },
        fileType: {
          rules: [
            { required: true, message: '请输入选择类型!' },
          ]
        },
        name: {
          rules: [
            { required: true, message: '请输入名称!' },
          ]
        },
        technologyStatus: {
          rules: [
            { required: true, message: '请选择技术状态!' },
          ]
        },
      },
      url: {
        add: "/eam/maintenanceStandardWorkInstruction/addStoveCategoryReport",
        edit: "/eam/maintenanceStandardWorkInstruction/edit",
        listByBusIdAndBusType: "/system/sysUploadRela/listByBusIdAndBusType",
      },
      //用于展示文件
      fileList: [],
      fileObject: {},
      fileTypes: [],
      //用于判断附件的状态  add:新增页面的附件  edit:编辑页面的附件为被修改i   editUpdate:编辑页面的附件被修改
      isFileChange: false,
      uploadId: '',
      maintenanceStandardId: '',
      equipmentId: '',
    }
  },
  methods: {
    customRequest(val) {
      if (this.fileList.length == 0) {
        this.fileObject = val;
      }
    },
    handleChange(info) {
      //默认给附件状态,仅控制样式
      let file = info.file;
      //文件更改,标记更新
      if (this.model.id) {
        this.isFileChange = true;
      }
      //删除
      if (file.status == "removed") {
        this.fileList = [];
        this.fileObject.file = {};
        this.form.setFieldsValue({ name: '' });
        return false;
      }
      //单文件控制
      if (this.fileList.length > 0) {
        this.$message.warning("当前仅允许上传一个文件!");
        return false;
      }
      file.status = 'done';
      //页面展示上传文件
      this.fileList.push(file);
      this.form.setFieldsValue({ name: file.name });
    },
    add() {
      this.edit({})
    },
    edit(record) {
      let that = this;
      that.visible = true;
      that.isFileChange = false;
      that.model = Object.assign({}, record);
      that.fileList = [];
      that.form.resetFields();
      that.uploadId = ''
      if (record.isNoPhotoFlag) {
        //获取当前文件对应附件
        getAction(that.url.listByBusIdAndBusType, { busId: record.id, busType: 'maintenance_standard_work_instruction' }).then((res) => {
          if (res.success) {
            for (let i = 0; i < res.result.length; i++) {
              that.fileList.push({
                uid: res.result[i].upload.id,
                name: res.result[i].upload.name,
                status: "done",
              })
              that.$nextTick(() => {
                that.form.setFieldsValue({ name: res.result[i].upload.name });
              });
            }
          }
        })
      }
    },
    close() {
      this.$emit('close');
      this.visible = false;
    },
    handleOk() {
      const that = this;
      // è§¦å‘表单验证
      that.form.validateFields((err, values) => {
        if (JSON.stringify(that.fileObject.file) == '{}' && that.uploadId == '' && that.fileList.length == 0) {
          that.$message.warning("请上传文件");
          return false
        }
        if (!err) {
          that.confirmLoading = true;
          let httpurl = ''
          let method = ''
          if (!that.model.id) {
            httpurl += that.url.add;
            method = 'post';
          } else {
            httpurl += that.url.edit;
            method = 'put';
          }
          let formData = Object.assign(that.model, values);
          formData.type = "maintenance_standard_work_instruction";
          formData.uploadId = that.uploadId;
          // formData.fileType = "7";//文件类型  7:图片
          formData.maintenanceStandardId = this.maintenanceStandardId;
          formData.equipmentId = this.equipmentId
          var saveDate = new FormData();
          formData.isFileChange = that.isFileChange;
          saveDate.append("file", that.fileObject.file);
          saveDate.append('data', JSON.stringify(formData));
          postFileAction(httpurl, saveDate, this.headers).then((res) => {
            if (res.success) {
              that.$message.success(res.message);
              that.$emit('ok');
            } else {
              that.$message.warning(res.message);
            }
          }).finally(() => {
            that.confirmLoading = false;
            that.close();
          })
        }
      }).catch((e) => { })
    },
    handleCancel() {
      this.close();
    },
    // initFileTypes() {
    //   ajaxGetDictItems("common_upload_type", null).then((res) => {
    //     if (res.success) {
    //       this.fileTypes = res.result;
    //     }
    //   })
    // },
  },
  created() {
    // this.initFileTypes();
    const token = Vue.ls.get(ACCESS_TOKEN);
    const tenantid = Vue.ls.get(TENANT_ID)
    this.headers = {
      'Content-Type': 'multipart/form-data',
      "X-Access-Token": token,
      'X-Access-Tenant': tenantid
    };
  },
}
</script>
<style scoped>
.ant-btn {
  padding: 0 10px;
  margin-left: 3px;
}
.ant-form-item-control {
  line-height: 0px;
}
/** ä¸»è¡¨å•行间距 */
.ant-form .ant-form-item {
  margin-bottom: 10px;
}
/** Tab页面行间距 */
.ant-tabs-content .ant-form-item {
  margin-bottom: 0px;
}
</style>