From 92ff846fb659c62037a32b1d8c15eae9df9d9b54 Mon Sep 17 00:00:00 2001
From: zenglf <18502938215@163.com>
Date: 星期一, 18 九月 2023 13:24:30 +0800
Subject: [PATCH] Merge branch 'develop' of http://117.34.109.166:18448/r/vue_mdc_430

---
 src/views/eam/modules/dailyInspectionOrder/DailyInspectionOrderExeDrawer.vue |  800 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 800 insertions(+), 0 deletions(-)

diff --git a/src/views/eam/modules/dailyInspectionOrder/DailyInspectionOrderExeDrawer.vue b/src/views/eam/modules/dailyInspectionOrder/DailyInspectionOrderExeDrawer.vue
new file mode 100644
index 0000000..e5a0ffc
--- /dev/null
+++ b/src/views/eam/modules/dailyInspectionOrder/DailyInspectionOrderExeDrawer.vue
@@ -0,0 +1,800 @@
+<template>
+  <a-drawer
+    :title="title"
+    :width="drawerWidth"
+    :visible="visible"
+    @close="handleCancel"
+    :confirmLoading="confirmLoading"
+    :maskClosable="maskClosable"
+  >
+    <a-card :style="getBackground()">
+      <template>
+        <a-card>
+          <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}">
+            <a-row :style="{textAlign:'left'}">
+              <a-button
+                :style="{marginRight: '8px'}"
+                @click="handleSW"
+                :disabled=SWbuttonDistable
+                type="primary"
+                v-has="'dailyInspectionOrder:SW'"
+              >寮�宸�</a-button>
+              <a-button
+                :style="{marginRight: '8px'}"
+                @click="handleReport"
+                :disabled="buttonDistable"
+                type="primary"
+                v-has="'dailyInspectionOrder:report'"
+              >鎶ュ伐</a-button>
+              <a-button
+                :style="{marginRight: '8px'}"
+                @click="handleReset"
+                :disabled="revocationDistable"
+                type="primary"
+                v-has="'dailyInspectionOrder:reset'"
+              >鎾ら攢</a-button>
+            </a-row>
+          </div>
+          <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}">
+            <a-row :gutter="24">
+              <a-col :span="6">
+                <a-form-item
+                  :labelCol="labelCol"
+                  :wrapperCol="wrapperCol"
+                  label="璁惧缂栫爜"
+                  class="hightColor"
+                >
+                  <span
+                    v-if="this.model != null"
+                    class="hightColor"
+                  >{{ this.model.equipmentNum }}</span>
+                  <span
+                    v-else
+                    class="frozenRowClass"
+                  >-</span>
+                </a-form-item>
+              </a-col>
+              <a-col :span="6">
+                <a-form-item
+                  :labelCol="labelCol"
+                  :wrapperCol="wrapperCol"
+                  label="璁惧鍚嶇О"
+                  class="hightColor"
+                >
+                  <span
+                    v-if="this.model != null"
+                    class="hightColor"
+                  >{{ this.model.equipmentName }}</span>
+                  <span
+                    v-else
+                    class="frozenRowClass"
+                  >-</span>
+                </a-form-item>
+              </a-col>
+              <a-col :span="6">
+                <a-form-item
+                  :labelCol="labelCol"
+                  :wrapperCol="wrapperCol"
+                  label="瑙勬牸"
+                  class="hightColor"
+                >
+                  <span
+                    v-if="this.model != null"
+                    class="hightColor"
+                  >{{ this.model.specification }}</span>
+                  <span
+                    v-else
+                    class="frozenRowClass"
+                  >-</span>
+                </a-form-item>
+              </a-col>
+              <a-col :span="6">
+                <a-form-item
+                  :labelCol="labelCol"
+                  :wrapperCol="wrapperCol"
+                  label="鍨嬪彿"
+                  class="hightColor"
+                >
+                  <span
+                    v-if="this.model != null"
+                    class="hightColor"
+                  >{{ this.model.equipmentModel }}</span>
+                  <span
+                    v-else
+                    class="frozenRowClass"
+                  >-</span>
+                </a-form-item>
+              </a-col>
+            </a-row>
+          </div>
+
+          <a-tabs
+            type="card"
+            defaultActiveKey="1"
+          >
+            <a-tab-pane
+              tab='鐐规鏄庣粏'
+              key="1"
+              class="hightColor"
+            >
+
+              <div>
+                <a-table
+                  ref="table"
+                  size="middle"
+                  bordered
+                  rowKey="id"
+                  :columns="columns"
+                  :dataSource="dataSource"
+                  :pagination="ipagination"
+                  :loading="loading"
+                  @change="handleTableChange"
+                  :scroll="{ x: 'calc(1200px + 50%)', y: 900 }"
+                >
+                  <template
+                    v-for="col in columns"
+                    :slot="col.dataIndex"
+                    slot-scope='text, record, index'
+                  >
+                    <div :key="col.dataIndex">
+                      <span
+                        v-if=" col.dataIndex == 'photo' && !text"
+                        style="font-size: 12px;font-style: italic;"
+                      >鏃犲浘鐗�</span>
+                      <img
+                        v-if="col.dataIndex == 'photo'  && text"
+                        :src="getImgView(text)"
+                        :preview="record.inspectionStandardDetailId"
+                        height="25px"
+                        alt=""
+                        style="max-width:80px;font-size: 12px;font-style: italic;"
+                      />
+                      <a-select
+                        v-if="col.dataIndex == 'inspectionProjectResult' && record.testValueType == '2'"
+                        :value="text"
+                        @change="(e) => handleChange(e, record.key, col, index)"
+                        style="width: 100%"
+                        :disabled="record.disabled"
+                      >
+                        <!-- :options="record.inspectionCycles" -->
+                        <a-select-option value="1">姝e父</a-select-option>
+                        <a-select-option value="2">寮傚父</a-select-option>
+                      </a-select>
+                      <a-input-number
+                        :value="text"
+                        v-if="col.dataIndex == 'inspectionProjectResult' && record.testValueType == '1'"
+                        :min="0"
+                        :max="20000"
+                        @change="(e)=>handleChange(e, record.key, col, index,record)"
+                        style="width: 100%"
+                        :disabled="record.disabled"
+                      />
+                      <a-textarea
+                        :value="text"
+                        v-if="col.dataIndex == 'abnormalDesc'"
+                        :maxLength="500"
+                        auto-size
+                        placeholder="璇疯緭鍏ュ紓甯告弿杩�"
+                        @change="(e)=>handleChange(e, record.key, col, index)"
+                        :disabled="record.disabled"
+                      />
+                      <a-select
+                        v-if="col.dataIndex == 'treatmentMeasure'"
+                        :value="text"
+                        :options="record.treatmentMeasures"
+                        @change="(e) => handleChange(e, record.key, col, index)"
+                        style="width: 100%"
+                        :disabled="record.disabled"
+                      />
+
+                      <j-image-upload
+                        :value="text"
+                        v-if="col.dataIndex == 'abnormalPhoto'"
+                        :isMultiple="false"
+                        auto-size
+                        placeholder="璇蜂笂浼犲浘鐗�"
+                        @change="(e)=>handleChange(e, record.key, col, index)"
+                        :disabled="record.disabled"
+                      >
+                      </j-image-upload>
+
+                      <!-- <Tooltip
+                        placement="top"
+                        title="棰勮鍥剧墖"
+                      >
+                        <img
+                          v-if=" col.dataIndex == 'action' && 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=" col.dataIndex == 'action' &&  record.upload.path && record.upload.format.toLowerCase()=='pdf'"
+                        href="javascript:;"
+                        @click="view(record.upload)"
+                      >
+                        棰勮
+                      </a>
+
+                      <a-divider
+                        v-if=" col.dataIndex == 'action' && 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
+                        v-if=" col.dataIndex == 'action'"
+                        href="javascript:;"
+                        @click="handleUpload(record)"
+                        :disabled="record.disabled"
+                      >涓婁紶</a>
+
+                      <a-divider
+                        v-if=" col.dataIndex == 'action' && 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
+                        v-if=" col.dataIndex == 'action'  && record.upload.path"
+                        href="javascript:;"
+                        @click="handleDownload(record)"
+                        :disabled="record.disabled"
+                      >涓嬭浇</a> -->
+                    </div>
+
+                  </template>
+                </a-table>
+              </div>
+            </a-tab-pane>
+
+          </a-tabs>
+        </a-card>
+      </template>
+    </a-card>
+
+    <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}">
+      <a-row :style="{textAlign:'right'}">
+        <a-button
+          :style="{marginRight: '8px'}"
+          @click="handleCancel"
+        >
+          鍙栨秷
+        </a-button>
+        <a-button
+          :style="{marginRight: '8px'}"
+          @click="handleTS"
+          :disabled="buttonDistable"
+          type="primary"
+          v-has="'dailyInspectionOrder:TS'"
+        >鏆傚瓨</a-button>
+        <a-button
+          @click="handleOk"
+          :disabled="buttonDistable"
+          type="primary"
+          v-has="'dailyInspectionOrder:save'"
+        >淇濆瓨</a-button>
+      </a-row>
+    </div>
+
+    <pdf-view ref="pdfview"></pdf-view>
+    <upload-model
+      ref="modalForm"
+      @ok="modalFormOk"
+    ></upload-model>
+  </a-drawer>
+</template>
+
+<script>
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import { requestPut, getAction, downFile } from '@/api/manage'
+import Tooltip from 'ant-design-vue/es/tooltip'
+import UploadModel from './UploadModel'
+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';
+
+export default {
+  name: 'DailyMaintenanceOrderExeDrawer',
+  mixins: [JeecgListMixin],
+  components: {
+    PdfView,
+    preview,
+    Tooltip,
+    UploadModel
+  },
+  data() {
+    return {
+      title: "鏃ュ父鐐规宸ュ崟鎵ц",
+      visible: false,
+      maskClosable: true,
+      confirmLoading: false,
+      drawerWidth: "100%",
+      buttonDistable: false,
+      SWbuttonDistable: false,
+      revocationDistable: false,
+      dataSource: [],
+      model: {},
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 6 },
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 18 },
+      },
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          align: 'center',
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1
+          },
+          width: 50,
+        },
+        {
+          title: '閮ㄤ綅',
+          align: 'center',
+          dataIndex: 'location',
+        },
+        // class: "notshow"
+        {
+          title: '绀烘剰鍥�',
+          align: 'center',
+          dataIndex: 'photo',
+          scopedSlots: { customRender: 'photo' },
+        },
+        // class: "notshow"
+        {
+          title: '鐐规椤圭洰',
+          align: 'center',
+          dataIndex: 'inspectionProjectId_dictText',
+        },
+        {
+          title: '妫�娴嬫爣鍑�',
+          align: 'center',
+          dataIndex: 'detectionStandard',
+        },
+        {
+          title: '鍚堟牸鑼冨洿',
+          align: 'center',
+          dataIndex: 'acceptabilityLimit',
+        },
+        {
+          title: '鏂规硶',
+          align: 'center',
+          dataIndex: 'inspectionMethod_dictText',
+        },
+        {
+          title: '宸ュ叿',
+          align: 'center',
+          dataIndex: 'inspectionTool',
+        },
+        {
+          title: '*鐐规缁撴灉',
+          align: 'center',
+          dataIndex: 'inspectionProjectResult',
+          scopedSlots: { customRender: 'inspectionProjectResult' },
+          className: 'red',
+        },
+        {
+          title: '鍒ゅ畾',
+          align: 'center',
+          dataIndex: 'judgmentResult',
+          customRender: (text) => {
+            if (text == 'pass') {
+              return "姝e父";
+            } else if (text == 'fail') {
+              return "寮傚父";
+            }
+          },
+        },
+        {
+          title: '寮傚父鎻忚堪',
+          align: 'center',
+          dataIndex: 'abnormalDesc',
+          scopedSlots: { customRender: 'abnormalDesc' },
+        },
+        // {
+        //   title: '寮傚父鎷嶇収',
+        //   align: 'center',
+        //   dataIndex: 'abnormalPhoto',
+        //   scopedSlots: { customRender: 'abnormalPhoto' },
+        // },
+        {
+          title: '*寮傚父澶勭疆',
+          align: 'center',
+          dataIndex: 'treatmentMeasure',
+          className: 'red',
+          scopedSlots: { customRender: 'treatmentMeasure' },
+        },
+      ],
+      url: {
+        list: "/eam/inspectionOrderDetail/list",
+        // save: "/eam/specialtyInspectionOrderDetail/save",
+        edit: "/eam/inspectionOrderDetail/edit",
+        urlDownload: window._CONFIG['staticDomainURL'],
+        download: '/sys/upload/downloadFile',
+        editStatus: "/eam/inspectionOrder/editStatus",
+        revocation: "/eam/inspectionOrder/revocation",
+        report: "/eam/inspectionOrder/report",
+      },
+    }
+  },
+  mounted() {
+    this.$bus.$on('closeDrawer', (data) => {
+      this.visible = false;
+    })
+  },
+
+  methods: {
+
+
+    handleShow(record) {
+      this.model = Object.assign({}, record);
+      this.dataSource = []
+      this.visible = true;
+      this.queryParam.inspectionOrderId = record.id
+      this.loadData1(1)
+    },
+    loadData1(arg) {
+      if (!this.url.list) {
+        this.$message.error("璇疯缃畊rl.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);
+          //   let p = res.result.records[i].sketchPhoto;
+          //   p.srcP = this.getSrc(res.result.records[i].sketchPhoto);
+          // }
+          //update-begin---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+          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
+      })
+    },
+
+    modalFormOk() {
+      //娓呯┖鍒楄〃閫変腑
+      this.onClearSelected()
+      this.loadData1(1)
+    },
+    loadData() {
+      this.loadData1(1)
+    },
+    getBackground() {
+      return "background-color:rgba(127, 127, 127,0.08)";
+    },
+    handleCancel() {
+      this.$emit('ok');
+      this.alterFlag = new Date();
+      this.close()
+    },
+    close() {
+      this.visible = false;
+    },
+
+    handleUpload: function (record) {
+      this.$refs.modalForm.edit(record);
+      this.$refs.modalForm.title = "鏂囦欢涓婁紶";
+      this.$refs.modalForm.disableSubmit = false;
+    },
+    //鏆傚瓨
+    handleTS() {
+      const that = this;
+      that.confirmLoading = true;
+      let formData = Object.assign(this.model);
+      formData.inspectionOrderDetails = that.dataSource
+      requestPut(this.url.edit, formData).then((res) => {
+        if (res.success) {
+          that.$message.success("鏆傚瓨鎴愬姛!");
+          that.$emit('ok');
+          that.alterFlag = new Date();
+          that.loadData1(1)
+        } else {
+          that.$message.warning(res.message);
+        }
+      }).finally(() => {
+        that.confirmLoading = false;
+        // that.close();
+      })
+    },
+    //寮�宸�
+    handleSW() {
+      const that = this;
+      that.confirmLoading = true;
+      this.$confirm({
+        title: '鐐规宸ュ崟寮�宸�',
+        content: '鎻愮ず锛氬紑宸ュ悗鏃犳硶鎾ゅ洖锛岃璋ㄦ厧鎿嶄綔锛�',
+        okText: '纭',
+        cancelText: '鍙栨秷',
+        onOk() {
+          requestPut(that.url.editStatus, { id: that.model.id, status: '4' }).then((res) => {
+            if (res.success) {
+              that.model.status = '4'
+              that.$message.success("宸ュ崟寮�宸ユ垚鍔燂紒")
+              that.buttonDistable = false
+              that.revocationDistable = true
+              that.SWbuttonDistable = true
+              that.loadData1(1)
+            } else {
+              that.$message.warning("宸ュ崟寮�宸ュけ璐ワ紒")
+            }
+          }).finally(() => {
+            that.confirmLoading = false;
+            // that.close();
+          })
+        },
+      })
+    },
+    //鎶ュ伐
+    handleReport() {
+      const that = this;
+      that.confirmLoading = true;
+      let formData = Object.assign(this.model);
+      for (let i = 0; i < that.dataSource.length; i++) {
+        let o = this.dataSource[i]
+        if (o.inspectionProjectResult == null || o.inspectionProjectResult == '') {
+          that.$message.warning('璇疯緭鍏ョ偣妫�缁撴灉锛�')
+          that.confirmLoading = false;
+          return
+        }
+        if (o.treatmentMeasure == null || o.treatmentMeasure == '') {
+          that.$message.warning('璇烽�夋嫨寮傚父澶勭疆锛�')
+          that.confirmLoading = false;
+          return
+        }
+      }
+      formData.inspectionOrderDetailList = that.dataSource;
+      formData.id = that.model.id;
+      formData.status = "5";
+      formData.equipmentId = that.model.equipmentId;
+      this.$confirm({
+        title: '鐐规宸ュ崟鎶ュ伐',
+        content: '鎻愮ず锛氭姤宸ュ悗鐐规宸ュ崟瀹屽伐锛岃璋ㄦ厧鎿嶄綔锛�',
+        okText: '纭',
+        cancelText: '鍙栨秷',
+        onOk() {
+          requestPut(that.url.report, formData).then((res) => {
+            if (res.success) {
+              that.model.status = '5'
+              that.$message.success(res.message)
+              that.buttonDistable = false
+              that.revocationDistable = true
+              that.SWbuttonDistable = true
+              that.$emit('ok');
+              that.alterFlag = new Date();
+              that.close();
+            } else {
+              that.$message.warning(res.message)
+            }
+          }).finally(() => {
+            that.confirmLoading = false;
+            // 
+          })
+        },
+      })
+    },
+
+    //淇濆瓨
+    handleOk() {
+      const that = this;
+      that.confirmLoading = true;
+      let formData = Object.assign(this.model);
+      for (let i = 0; i < that.dataSource.length; i++) {
+        let o = this.dataSource[i]
+        if (o.inspectionProjectResult == null || o.inspectionProjectResult == '') {
+          that.$message.warning('璇疯緭鍏ョ偣妫�缁撴灉锛�')
+          that.confirmLoading = false;
+          return
+        }
+        if (o.treatmentMeasure == null || o.treatmentMeasure == '') {
+          that.$message.warning('璇烽�夋嫨寮傚父澶勭疆锛�')
+          that.confirmLoading = false;
+          return
+        }
+      }
+      formData.inspectionOrderDetails = that.dataSource
+      requestPut(this.url.edit, formData).then((res) => {
+        if (res.success) {
+          that.$message.success("淇濆瓨鎴愬姛!");
+          that.$emit('ok');
+          that.alterFlag = new Date();
+          that.loadData1(1)
+        } else {
+          that.$message.warning(res.message);
+        }
+      }).finally(() => {
+        that.confirmLoading = false;
+        // that.close();
+      })
+    },
+    //鎾ら攢
+    handleReset() {
+      const that = this;
+      that.confirmLoading = true;
+      this.$confirm({
+        title: '瀹屽伐鎾ら攢',
+        content: '鎻愮ず锛氬畬宸ユ挙閿�鍚庡彲缁х画鎶ュ伐鎿嶄綔锛�',
+        okText: '纭',
+        cancelText: '鍙栨秷',
+        onOk() {
+          requestPut(that.url.revocation, { id: that.model.id, status: '4' }).then((res) => {
+            if (res.success) {
+              that.model.status = '4'
+              that.$message.success(res.message)
+              that.buttonDistable = false
+              that.revocationDistable = true
+              that.SWbuttonDistable = true
+              that.loadData1(1)
+            } else {
+              that.$message.warning(res.message)
+            }
+          }).finally(() => {
+            that.confirmLoading = false;
+            // that.close();
+          })
+        },
+      })
+    },
+
+    handleChange(value, key, column, index) {
+      let that = this;
+      const temp = [...that.dataSource];
+      const target = temp.filter(item => key === item.key)[index];
+      if (target) {
+
+        if (column.dataIndex == 'inspectionProjectResult') {
+          if (target.testValueType === "1") {
+            target[column.dataIndex] = value;
+            let maxValue = target.maxValue
+            let minValue = target.minValue
+            if (value > minValue && value < maxValue) {
+              target['judgmentResult'] = "pass";
+            } else {
+              target['judgmentResult'] = "fail";
+            }
+            if (value == null || value == "") {
+              target['judgmentResult'] = "";
+            }
+          } else {
+            target[column.dataIndex] = value;
+            if (value == "1") {
+              target['judgmentResult'] = "pass";
+            } else {
+              target['judgmentResult'] = "fail";
+            }
+            if (value == null || value == "") {
+              target['judgmentResult'] = "";
+            }
+          }
+        }
+        if (column.dataIndex == 'abnormalDesc') {
+          target[column.dataIndex] = value.target.value;
+        }
+        if (column.dataIndex == 'treatmentMeasure') {
+          target[column.dataIndex] = value;
+        }
+        if ('abnormalPhoto' == column.dataIndex) {
+          target['abnormalPhoto'] = value;
+        }
+        //鏄剧ず甯﹁繃鏉ョ殑鏁版嵁
+        that.dataSource = temp;
+      }
+    },
+
+    view(record) {
+      this.$refs.pdfview.showPdf(record.src);
+    },
+
+    handleDownload(record) {
+      downFile(this.url.download, { id: record.upload.id }).then((res) => {
+        if (!res) {
+          this.$message.warning('鏂囦欢涓嬭浇澶辫触')
+          return
+        } else {
+          let fileName = record.upload.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) //閲婃斁鎺塨lob瀵硅薄
+          }
+        }
+      })
+    },
+
+    getSrc(record) {
+      if (!record.path) {
+        return '';
+      }
+      //鏈湴锛歭ocal\Minio锛歮inio\闃块噷浜戯細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 {
+          //鏍规嵁鍙戝竷鐘舵�佷慨鏀筯ttps 鎴� 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鎷ユ湁鎵�鏈堿PI鐨勮闂潈闄愶紝椋庨櫓寰堥珮銆傚己鐑堝缓璁偍鍒涘缓骞朵娇鐢≧AM璐﹀彿杩涜API璁块棶鎴栨棩甯歌繍缁达紝璇风櫥褰昍AM鎺у埗鍙板垱寤篟AM璐﹀彿銆�
+          accessKeyId: window._CONFIG['accessKeyId'],
+          accessKeySecret: window._CONFIG['accessKeySecret'],
+          bucket: window._CONFIG['bucket'],
+        })
+        // object-key琛ㄧず浠嶰SS涓嬭浇鏂囦欢鏃堕渶瑕佹寚瀹氬寘鍚枃浠跺悗缂�鍦ㄥ唴鐨勫畬鏁磋矾寰勶紝渚嬪abc/efg/123.jpg銆�
+        return client.signatureUrl(record.path)
+      }
+    },
+  },
+
+}
+</script>
+
+<style scoped>
+@import '~@assets/less/common.less';
+.hightColor {
+  height: 10%;
+  font-weight: bold;
+  font-size: 20px;
+  color: #1b1e1e;
+}
+.frozenRowClass {
+  color: #c9c9c9;
+}
+.fontweight {
+  font-weight: bold;
+}
+.hight {
+  color: #f5222d;
+}
+/deep/ .red {
+  color: red;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3