qushaowei
2023-08-31 b5e4adfc3a55490ad1cd49f50dfcc9dfb7b57d33
文档名称来源 修改
已修改5个文件
838 ■■■■■ 文件已修改
src/views/eam/modules/dailyMaintenanceStandard/MaintenanceStandardWorkInstructionModal.vue 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/equipmentNew/EquipmentDocumentModal.vue 328 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/repairorder/EquipmentDocumentModal.vue 254 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/specialtyMaintenanceStandard/MaintenanceStandardWorkInstructionModal.vue 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/newEquipment/EquipmentDocumentList.vue 206 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/dailyMaintenanceStandard/MaintenanceStandardWorkInstructionModal.vue
@@ -30,11 +30,18 @@
        <a-row :gutter="24">
          <a-col :span="24">
            <a-form-item
              :labelCol="{span:3}"
              :wrapperCol="{span:21}"
              :labelCol="{span:4}"
              :wrapperCol="{span:18}"
              label="文件类型"
            >
              <a-radio-group
              <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-radio-group
                v-for="(item,index) in fileTypes"
                :key="index"
                button-style="solid"
@@ -45,7 +52,7 @@
                <a-radio-button :value="item.value">
                  {{item.text}}
                </a-radio-button>
              </a-radio-group>
              </a-radio-group> -->
            </a-form-item>
          </a-col>
@@ -300,18 +307,18 @@
    handleCancel() {
      this.close();
    },
    initFileTypes() {
      ajaxGetDictItems("common_upload_type", null).then((res) => {
        if (res.success) {
          this.fileTypes = res.result;
        }
      })
    },
    // initFileTypes() {
    //   ajaxGetDictItems("common_upload_type", null).then((res) => {
    //     if (res.success) {
    //       this.fileTypes = res.result;
    //     }
    //   })
    // },
  },
  created() {
    this.initFileTypes();
    // this.initFileTypes();
    const token = Vue.ls.get(ACCESS_TOKEN);
    const tenantid = Vue.ls.get(TENANT_ID)
    this.headers = {
src/views/eam/modules/equipmentNew/EquipmentDocumentModal.vue
@@ -7,12 +7,22 @@
    switchFullscreen
    @ok="handleOk"
    @cancel="handleCancel"
    cancelText="关闭">
    cancelText="关闭"
  >
    <a-spin :spinning="confirmLoading">
      <a-form-model ref="form" :model="model" :rules="validatorRules">
      <a-form-model
        ref="form"
        :model="model"
        :rules="validatorRules"
      >
        <a-row>
          <a-col :span="24">
            <a-form-model-item label="文档编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="num">
            <a-form-model-item
              label="文档编号"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="num"
            >
              <a-input
                placeholder="请输入文档编号"
                v-model="model.num"
@@ -20,18 +30,28 @@
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="文档类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fileType">
            <a-form-model-item
              label="文档类型"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="fileType"
            >
              <j-dict-select-tag
                allow-clear
                placeholder="请选择文档类型"
                :triggerChange="true"
                dictCode="common_upload_type"
                dictCode="mom_eam_document_type,name,id, del_flag!='1'"
                v-model="model.fileType"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="文档上传" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="fileType">
            <a-form-model-item
              label="文档上传"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <!-- prop="fileType" -->
              <a-upload-dragger
                name="file"
                :customRequest="customRequest"
@@ -52,7 +72,12 @@
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="文件名称" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="name">
            <a-form-model-item
              label="文件名称"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="name"
            >
              <a-input
                placeholder="请输入文件名称"
                v-model="model.name"
@@ -60,7 +85,12 @@
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark">
            <a-form-model-item
              label="备注"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="remark"
            >
              <a-textarea
                placeholder="请输入备注"
                allow-clear
@@ -76,82 +106,82 @@
<script>
  import { httpAction } from '@/api/manage'
  import { validateDuplicateValue } from '@/utils/util'
import { httpAction } from '@/api/manage'
import { validateDuplicateValue } from '@/utils/util'
import { getAction, postFileAction } from '../../../../api/manage'
import { ACCESS_TOKEN, TENANT_ID } from "@/store/mutation-types"
import Vue from 'vue'
  export default {
    name: "EquipmentDocumentModal",
    components: {
    },
    props:{
      mainId:{
        type:String,
        required:false,
        default:''
      }
    },
    data () {
      return {
        title:"操作",
        width:800,
        visible: false,
        model:{
        },
        labelCol: {
          xs: { span: 24 },
          sm: { span: 5 },
        },
        wrapperCol: {
          xs: { span: 24 },
          sm: { span: 16 },
        },
        headers: {},
        confirmLoading: false,
        validatorRules: {
          num:[
           { required: true, message: '请输入文档编号!' },
          ],
          fileType:[
           { required: true, message: '请输入选择类型!' },
          ]
        },
        url: {
          add: "/eam/equipmentDocument/add",
          edit: "/eam/equipmentDocument/edit",
          listByBusIdAndBusType: "/system/sysUploadRela/listByBusIdAndBusType",
        },
        fileList: [],
        fileObject: {},
        isFileChange: false,
        uploadId: '',
      }
    },
    created () {
    //备份model原始值
      this.modelDefault = JSON.parse(JSON.stringify(this.model));
       // 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
        };
    },
    methods: {
      add () {
        this.edit(this.modelDefault);
export default {
  name: "EquipmentDocumentModal",
  components: {
  },
  props: {
    mainId: {
      type: String,
      required: false,
      default: ''
    }
  },
  data() {
    return {
      title: "操作",
      width: 800,
      visible: false,
      model: {
      },
      customRequest(val) {
      labelCol: {
        xs: { span: 24 },
        sm: { span: 5 },
      },
      wrapperCol: {
        xs: { span: 24 },
        sm: { span: 16 },
      },
      headers: {},
      confirmLoading: false,
      validatorRules: {
        num: [
          { required: true, message: '请输入文档编号!' },
        ],
        fileType: [
          { required: true, message: '请输入选择类型!' },
        ]
      },
      url: {
        add: "/eam/equipmentDocument/add",
        edit: "/eam/equipmentDocument/edit",
        listByBusIdAndBusType: "/system/sysUploadRela/listByBusIdAndBusType",
      },
      fileList: [],
      fileObject: {},
      isFileChange: false,
      uploadId: '',
    }
  },
  created() {
    //备份model原始值
    this.modelDefault = JSON.parse(JSON.stringify(this.model));
    // 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
    };
  },
  methods: {
    add() {
      this.edit(this.modelDefault);
    },
    customRequest(val) {
      if (this.fileList.length == 0) {
        this.fileObject = val;
      }
      },
      handleChange(info) {
    },
    handleChange(info) {
      //默认给附件状态,仅控制样式
      let file = info.file;
      //文件更改,标记更新
@@ -162,7 +192,7 @@
      if (file.status == "removed") {
        this.fileList = [];
        this.fileObject.file = {};
        this.model.name=''
        this.model.name = ''
        return false;
      }
      //单文件控制
@@ -177,12 +207,12 @@
      this.model = Object.assign({}, this.model);
    },
      edit (record) {
        this.fileList = [];
        this.uploadId = ''
        this.model = Object.assign({}, record);
        var that = this;
        getAction(that.url.listByBusIdAndBusType, { busId: record.id, busType: 'equipment_file' }).then((res) => {
    edit(record) {
      this.fileList = [];
      this.uploadId = ''
      this.model = Object.assign({}, record);
      var that = this;
      getAction(that.url.listByBusIdAndBusType, { busId: record.id, busType: 'equipment_file' }).then((res) => {
        if (res.success) {
          for (let i = 0; i < res.result.length; i++) {
            that.fileList.push({
@@ -191,74 +221,74 @@
              status: "done",
            })
            that.$nextTick(() => {
              that.model.name = res.result[i].upload.name
            });
              that.model.name = res.result[i].upload.name
            });
          }
        }
      })
        this.visible = true;
      },
      close () {
        this.$emit('close');
        this.visible = false;
        this.$refs.form.clearValidate();
      },
      handleOk () {
        const that = this;
        // 触发表单验证
        this.$refs.form.validate(valid => {
          if (JSON.stringify(that.fileObject.file) == '{}' && that.uploadId == '' && that.fileList.length == 0) {
                that.$message.warning("请上传文件");
                return false
          }
          if (valid) {
              that.confirmLoading = true;
              let formData = Object.assign({}, that.model);
              let httpurl = ''
              let method = ''
              if (!that.model.id) {
                httpurl += that.url.add;
                method = 'post';
                formData.equipmentId = that.mainId;
              } else {
                httpurl += that.url.edit;
                method = 'put';
              }
              formData.type = "equipment_file";
              formData.uploadId = that.uploadId;
              // formData.fileType = "7";//文件类型  7:图片
              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();
              })
          }else{
             return false
          }
        })
      },
      handleCancel () {
        this.close()
      },
      this.visible = true;
    },
  }
    close() {
      this.$emit('close');
      this.visible = false;
      this.$refs.form.clearValidate();
    },
    handleOk() {
      const that = this;
      // 触发表单验证
      this.$refs.form.validate(valid => {
        if (JSON.stringify(that.fileObject.file) == '{}' && that.uploadId == '' && that.fileList.length == 0) {
          that.$message.warning("请上传文件");
          return false
        }
        if (valid) {
          that.confirmLoading = true;
          let formData = Object.assign({}, that.model);
          let httpurl = ''
          let method = ''
          if (!that.model.id) {
            httpurl += that.url.add;
            method = 'post';
            formData.equipmentId = that.mainId;
          } else {
            httpurl += that.url.edit;
            method = 'put';
          }
          formData.type = "equipment_file";
          formData.uploadId = that.uploadId;
          // formData.fileType = "7";//文件类型  7:图片
          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();
          })
        } else {
          return false
        }
      })
    },
    handleCancel() {
      this.close()
    },
  },
}
</script>
src/views/eam/modules/repairorder/EquipmentDocumentModal.vue
@@ -7,29 +7,57 @@
    switchFullscreen
    @ok="handleOk"
    @cancel="handleCancel"
    cancelText="关闭">
    cancelText="关闭"
  >
    <a-spin :spinning="confirmLoading">
      <a-form-model ref="form" :model="model" :rules="validatorRules">
      <a-form-model
        ref="form"
        :model="model"
        :rules="validatorRules"
      >
        <a-row>
          <a-col :span="24">
            <a-form-model-item label="文档编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="num">
              <a-input v-model="model.num" placeholder="请输入文档编号" ></a-input>
            <a-form-model-item
              label="文档编号"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="num"
            >
              <a-input
                v-model="model.num"
                placeholder="请输入文档编号"
              ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="文档类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="documentTypeId">
            <a-form-model-item
              label="文档类型"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="documentTypeId"
            >
              <j-dict-select-tag
                allow-clear
                placeholder="请选择文档类型"
                :triggerChange="true"
                dictCode="common_upload_type"
                dictCode="mom_eam_document_type,name,id, del_flag!='1'"
                v-model="model.documentTypeId"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="上传" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="file">
                <j-upload :returnUrl= "false" :isMultiple="false"  v-model="model.file" ></j-upload>
            <a-form-model-item
              label="上传"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="file"
            >
              <j-upload
                :returnUrl="false"
                :isMultiple="false"
                v-model="model.file"
              ></j-upload>
            </a-form-model-item>
          </a-col>
        </a-row>
@@ -40,116 +68,116 @@
<script>
  import { httpAction } from '@/api/manage'
  import { validateDuplicateValue } from '@/utils/util'
  import { duplicateCheck } from '@/api/api'
import { httpAction } from '@/api/manage'
import { validateDuplicateValue } from '@/utils/util'
import { duplicateCheck } from '@/api/api'
  export default {
    name: "EquipmentDocumentModal",
    components: {
    },
    props:{
      mainId:{
        type:String,
        required:false,
        default:''
export default {
  name: "EquipmentDocumentModal",
  components: {
  },
  props: {
    mainId: {
      type: String,
      required: false,
      default: ''
    }
  },
  data() {
    return {
      title: "操作",
      width: 800,
      visible: false,
      model: {
      },
      labelCol: {
        xs: { span: 24 },
        sm: { span: 5 },
      },
      wrapperCol: {
        xs: { span: 24 },
        sm: { span: 16 },
      },
      confirmLoading: false,
      validatorRules: {
        num: [
          { required: true, message: '请输入文档编号!' },
          { validator: this.validateNum },
          { max: 32, message: '超过最大输入限制,请缩减长度' }
        ],
        documentTypeId: [
          { required: true, message: '请选择文件类型!' },
        ],
        file: [
          { required: true, message: '请上传文件!' },
        ]
      },
      url: {
        add: "/eam/repairOrder/addEquipmentDocument",
        edit: "/eam/repairOrder/editEquipmentDocument",
      }
    },
    data () {
      return {
        title:"操作",
        width:800,
        visible: false,
        model:{
        },
        labelCol: {
          xs: { span: 24 },
          sm: { span: 5 },
        },
        wrapperCol: {
          xs: { span: 24 },
          sm: { span: 16 },
        },
        confirmLoading: false,
        validatorRules: {
          num:[
              { required: true, message: '请输入文档编号!'},
              { validator: this.validateNum },
              {max:32,message:'超过最大输入限制,请缩减长度'}
           ],
           documentTypeId:[
              { required: true, message: '请选择文件类型!'},
           ],
           file:[
              { required: true, message: '请上传文件!'},
           ]
        },
        url: {
          add: "/eam/repairOrder/addEquipmentDocument",
          edit: "/eam/repairOrder/editEquipmentDocument",
        }
      }
    },
    created () {
    }
  },
  created() {
    //备份model原始值
      this.modelDefault = JSON.parse(JSON.stringify(this.model));
    this.modelDefault = JSON.parse(JSON.stringify(this.model));
  },
  methods: {
    add() {
      this.edit(this.modelDefault);
    },
    methods: {
      add () {
        this.edit(this.modelDefault);
      },
      edit (record) {
        this.model = Object.assign({}, record);
        this.visible = true;
      },
      close () {
        this.$emit('close');
        this.visible = false;
        this.$refs.form.clearValidate();
      },
      handleOk () {
        const that = this;
        // 触发表单验证
        this.$refs.form.validate(valid => {
          if (valid) {
            console.log(this.model.file)
            that.confirmLoading = true;
            let httpurl = '';
            let method = '';
            if(!this.model.id){
              httpurl+=this.url.add;
              method = 'post';
            }else{
              httpurl+=this.url.edit;
               method = 'put';
            }
            this.model['name'] = this.model.file[0].fileName;
            this.model['path'] = this.model.file[0].filePath;
            this.model['size'] = this.model.file[0].fileSize;
            this.model['repairOrderId'] = this.mainId
            httpAction(httpurl,this.model,method).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();
            })
          }else{
             return false
    edit(record) {
      this.model = Object.assign({}, record);
      this.visible = true;
    },
    close() {
      this.$emit('close');
      this.visible = false;
      this.$refs.form.clearValidate();
    },
    handleOk() {
      const that = this;
      // 触发表单验证
      this.$refs.form.validate(valid => {
        if (valid) {
          console.log(this.model.file)
          that.confirmLoading = true;
          let httpurl = '';
          let method = '';
          if (!this.model.id) {
            httpurl += this.url.add;
            method = 'post';
          } else {
            httpurl += this.url.edit;
            method = 'put';
          }
        })
      },
      handleCancel () {
        this.close()
      },
       //表单校验
       validateNum(rule, value, callback) {
          this.model['name'] = this.model.file[0].fileName;
          this.model['path'] = this.model.file[0].filePath;
          this.model['size'] = this.model.file[0].fileSize;
          this.model['repairOrderId'] = this.mainId
          httpAction(httpurl, this.model, method).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();
          })
        } else {
          return false
        }
      })
    },
    handleCancel() {
      this.close()
    },
    //表单校验
    validateNum(rule, value, callback) {
      var params = {
        tableName: 'mom_eam_repair_order_operation_guidance',
        fieldName: 'num',
@@ -168,6 +196,6 @@
    }
    }
  }
}
</script>
src/views/eam/modules/specialtyMaintenanceStandard/MaintenanceStandardWorkInstructionModal.vue
@@ -30,6 +30,21 @@
        <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-col :span="24">
            <a-form-item
              :labelCol="{span:3}"
              :wrapperCol="{span:21}"
              label="文件类型"
@@ -41,14 +56,12 @@
                v-decorator="['fileType', validatorRules.fileType ]"
                :disabled="disableSubmit"
              >
                <a-radio-button :value="item.value">
                  {{item.text}}
                </a-radio-button>
              </a-radio-group>
            </a-form-item>
          </a-col>
          </a-col> -->
        </a-row>
        <a-row :gutter="24">
          <a-col :span="24">
src/views/eam/newEquipment/EquipmentDocumentList.vue
@@ -1,8 +1,14 @@
<template>
  <a-card :bordered="false" :class="'cust-erp-sub-tab'">
  <a-card
    :bordered="false"
    :class="'cust-erp-sub-tab'"
  >
    <!-- 查询区域 -->
    <div class="table-page-search-wrapper">
      <a-form layout="inline" @keyup.enter.native="searchQuery">
      <a-form
        layout="inline"
        @keyup.enter.native="searchQuery"
      >
        <a-row :gutter="24">
        </a-row>
      </a-form>
@@ -10,8 +16,15 @@
    <!-- 查询区域-END -->
    <!-- 操作按钮区域 -->
    <div class="table-operator" v-if="mainId">
      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
    <div
      class="table-operator"
      v-if="mainId"
    >
      <a-button
        @click="handleAdd"
        type="primary"
        icon="plus"
      >新增</a-button>
      <!-- <a-button type="primary" icon="download" @click="handleExportXls('设备文档')">导出</a-button>
      <a-upload
        name="file"
@@ -24,7 +37,10 @@
      </a-upload> -->
      <a-dropdown v-if="selectedRowKeys.length > 0">
        <a-menu slot="overlay">
          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
          <a-menu-item
            key="1"
            @click="batchDel"
          ><a-icon type="delete" />删除</a-menu-item>
        </a-menu>
        <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
      </a-dropdown>
@@ -32,9 +48,15 @@
    <!-- table区域-begin -->
    <div>
      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
      <div
        class="ant-alert ant-alert-info"
        style="margin-bottom: 16px;"
      >
        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
        <a
          style="margin-left: 24px"
          @click="onClearSelected"
        >清空</a>
      </div>
      <a-table
@@ -48,7 +70,8 @@
        :pagination="ipagination"
        :loading="loading"
        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
        @change="handleTableChange">
        @change="handleTableChange"
      >
        <span
          slot="size"
@@ -109,64 +132,68 @@
      </a-table>
    </div>
    <pdf-view ref="pdfview"></pdf-view>
    <equipmentDocument-modal ref="modalForm" @ok="modalFormOk" :mainId="mainId"></equipmentDocument-modal>
    <equipmentDocument-modal
      ref="modalForm"
      @ok="modalFormOk"
      :mainId="mainId"
    ></equipmentDocument-modal>
  </a-card>
</template>
<script>
  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
  import EquipmentDocumentModal from '../modules/equipmentNew/EquipmentDocumentModal'
  import { preview } from 'vue-photo-preview'
  import { mixinDevice } from '@/utils/mixin'
 import { ACCESS_TOKEN } from '@/store/mutation-types'
 import Vue from 'vue'
 import PdfView from '@views/common/PdfView'
 import JInput from '@/components/jeecg/JInput'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import EquipmentDocumentModal from '../modules/equipmentNew/EquipmentDocumentModal'
import { preview } from 'vue-photo-preview'
import { mixinDevice } from '@/utils/mixin'
import { ACCESS_TOKEN } from '@/store/mutation-types'
import Vue from 'vue'
import PdfView from '@views/common/PdfView'
import JInput from '@/components/jeecg/JInput'
import Tooltip from 'ant-design-vue/es/tooltip'
import JEllipsis from "@/components/jeecg/JEllipsis";
 import { getFileAccessHttpUrl } from '@/api/manage';
 import '@/assets/less/TableExpand.less'
 import store from '@/store/'
import { getFileAccessHttpUrl } from '@/api/manage';
import '@/assets/less/TableExpand.less'
import store from '@/store/'
import { downFile, getAction } from '../../../api/manage'
  export default {
    name: "EquipmentDocumentList",
    mixins:[JeecgListMixin,mixinDevice],
    components: {
      EquipmentDocumentModal,
      PdfView,
      preview,
      JInput,
      Tooltip,
      JEllipsis,
export default {
  name: "EquipmentDocumentList",
  mixins: [JeecgListMixin, mixinDevice],
  components: {
    EquipmentDocumentModal,
    PdfView,
    preview,
    JInput,
    Tooltip,
    JEllipsis,
  },
    props:{
      mainId:{
        type:String,
        default:'',
        required:false
      }
    },
    watch:{
      mainId:{
        immediate: true,
        handler(val) {
          if(!this.mainId){
            this.clearList()
          }else{
            this.queryParam['equipmentId'] = val
            this.loadData(1);
          }
  props: {
    mainId: {
      type: String,
      default: '',
      required: false
    }
  },
  watch: {
    mainId: {
      immediate: true,
      handler(val) {
        if (!this.mainId) {
          this.clearList()
        } else {
          this.queryParam['equipmentId'] = val
          this.loadData(1);
        }
      }
    },
    data () {
      return {
        description: '设备台账管理页面',
        disableMixinCreated:true,
        colorMap: {},
        // 表头
        columns: [
    }
  },
  data() {
    return {
      description: '设备台账管理页面',
      disableMixinCreated: true,
      colorMap: {},
      // 表头
      columns: [
        {
          title: '#',
          dataIndex: '',
@@ -181,31 +208,26 @@
          title: '文档编号',
          dataIndex: 'num',
          align: "center",
          width:300,
        },
        {
          title: '文档名称',
          align: 'center',
          dataIndex: 'name',
          width:300,
        },
        {
          title: '文档类型',
          align: 'center',
          dataIndex: 'type_dictText',
          width:300,
          dataIndex: 'fileType_dictText',
        },
        {
          title: '上传时间',
          align: "center",
          dataIndex: 'createTime',
          width:300,
        },
        {
          title: '上传者',
          align: "center",
          dataIndex: 'createBy',
          width:300,
        },
        {
          title: '大小',
@@ -214,7 +236,7 @@
          scopedSlots: {
            customRender: 'size'
          },
          width:300,
          width: 300,
        },
        {
          title: '操作',
@@ -225,32 +247,32 @@
          },
          width: 200,
        },
        ],
        url: {
            list: "/eam/equipmentDocument/list",
            delete: "/eam/equipmentDocument/delete",
            deleteBatch: '/eam/equipmentDocument/deleteBatch',
            urlDownload: window._CONFIG['staticDomainURL'],
            download: '/sys/upload/downloadFile',
        },
        dictOptions:{
        }
      }
    },
    created() {
    },
    computed: {
      importExcelUrl(){
        return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`;
      }
    },
    methods: {
      clearList(){
        this.dataSource=[]
        this.selectedRowKeys=[]
        this.ipagination.current = 1
      ],
      url: {
        list: "/eam/equipmentDocument/list",
        delete: "/eam/equipmentDocument/delete",
        deleteBatch: '/eam/equipmentDocument/deleteBatch',
        urlDownload: window._CONFIG['staticDomainURL'],
        download: '/sys/upload/downloadFile',
      },
      sizeConvert(limit) {
      dictOptions: {
      }
    }
  },
  created() {
  },
  computed: {
    importExcelUrl() {
      return `${window._CONFIG['domianURL']}/${this.url.importUrl}/${this.mainId}`;
    }
  },
  methods: {
    clearList() {
      this.dataSource = []
      this.selectedRowKeys = []
      this.ipagination.current = 1
    },
    sizeConvert(limit) {
      var size = "";
      if (limit < 0.1 * 1024) {
        size = parseFloat(limit).toFixed(2) + "B";//小于0.1KB,则转化成B
@@ -306,10 +328,10 @@
        // object-key表示从OSS下载文件时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
        return client.signatureUrl(record.path)
      }
      },
      view(record) {
    },
    view(record) {
      this.$refs.pdfview.showPdf(record.upload.src);
      },
    },
    handleDownload(record) {
      downFile(this.url.download, { id: record.id }).then((res) => {
@@ -371,11 +393,11 @@
    }
  }
}
</script>
<style scoped>
 @import '~@assets/less/common.less';
@import '~@assets/less/common.less';
/deep/ .frozenRowClass {
  color: #c9c9c9;
}