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/predictiveWorkOrder/WorkInstruction.vue |  382 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 382 insertions(+), 0 deletions(-)

diff --git a/src/views/eam/modules/predictiveWorkOrder/WorkInstruction.vue b/src/views/eam/modules/predictiveWorkOrder/WorkInstruction.vue
new file mode 100644
index 0000000..1df280d
--- /dev/null
+++ b/src/views/eam/modules/predictiveWorkOrder/WorkInstruction.vue
@@ -0,0 +1,382 @@
+<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>
+    <a-button
+      @click="handleAdd"
+      type="primary"
+      icon="plus"
+      v-if="maintenanceStandardId !='' && isAdd "
+    >鏂板</a-button>
+    <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"
+        >
+          <a-popconfirm
+            title="纭畾鍒犻櫎鍚�?"
+            @confirm="() => handleDelete(record.id)"
+          >
+            <a>鍒犻櫎</a>
+          </a-popconfirm>
+        </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,
+      required: false
+    },
+    isEdit: {
+      type: Boolean,
+      default: false
+    },
+    isAdd: {
+      type: Boolean,
+      default: false
+    },
+    isDel: {
+      type: Boolean,
+      default: false
+    }
+  },
+  mounted() {
+  },
+  watch: {
+      maintenanceStandardId: {
+        immediate: true,
+        handler(val) {
+        if (this.maintenanceStandardId) {
+          this.queryParam.maintenanceStandardId = val
+          this.queryParam.delFlag = 0
+          this.loadData(1)
+        }else{
+          this.clearList();
+        }
+      }
+    },
+  },
+  data() {
+    return {
+      disableMixinCreated:true,
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 100,
+          align: "center",
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1;
+          }
+        },
+        {
+          title: '鏂囨。缂栫爜',
+          align: 'center',
+          dataIndex: 'num',
+          width:200
+        },
+
+        {
+          title: '鏂囨。鍚嶇О',
+          align: 'center',
+          dataIndex: 'name',
+          width:200
+        },
+        {
+          title: '鏂囨。绫诲瀷',
+          align: 'center',
+          dataIndex: 'typeName',
+          width:200
+        },
+        {
+          title: '鏂囨。澶у皬',
+          align: 'center',
+          dataIndex: 'size',
+          scopedSlots: { customRender: 'size' },
+          width:200
+        },
+        {
+          title: '鎿嶄綔',
+          align: 'center',
+          dataIndex: 'action',
+          scopedSlots: {
+            customRender: 'action'
+          },
+          width:200
+        }
+      ],
+      url: {
+        list: "/eam/maintenanceStandardWorkInstruction/getMaintenanceStandardWorkInstructionList",
+        delete: "/eam/maintenanceStandardWorkInstruction/delete",
+        urlDownload: window._CONFIG['staticDomainURL'],
+        download: '/sys/upload/downloadFile',
+      },
+    }
+  },
+
+  methods: {
+    handleAdd: function () {
+      this.$refs.modalForm.add();
+      this.$refs.modalForm.title = "浣滀笟鎸囧涔�";
+      this.$refs.modalForm.disableSubmit = false;
+      this.$refs.modalForm.maintenanceStandardId = this.maintenanceStandardId
+    },
+
+    handleDelete: function (id) {
+      if (!this.url.delete) {
+        this.$message.error("璇疯缃畊rl.delete灞炴��!")
+        return
+      }
+      var that = this;
+      deleteAction(that.url.delete, { id: id }).then((res) => {
+        if (res.success) {
+          //閲嶆柊璁$畻鍒嗛〉闂
+          that.reCalculatePage(1)
+          that.$message.success(res.message);
+          that.loadData();
+          that.alterFlag = new Date();
+        } else {
+          that.$message.warning(res.message);
+        }
+      });
+    },
+    clearList() {
+      this.dataSource = []
+      this.selectedRowKeys = []
+      this.ipagination.current = 1
+    },
+    loadData(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);
+          }
+          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) //閲婃斁鎺塨lob瀵硅薄
+          }
+        }
+      })
+    },
+
+    //鎷艰src
+    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)
+      }
+    },
+
+
+    sizeConvert(limit) {
+      var size = "";
+      if (limit < 0.1 * 1024) {
+        size = parseFloat(limit).toFixed(2) + "B";//灏忎簬0.1KB锛屽垯杞寲鎴怋
+      } else if (limit < 0.1 * 1024 * 1024) {
+        size = (parseFloat(limit) / 1024).toFixed(2) + "KB";//灏忎簬0.1MB锛屽垯杞寲鎴怟B
+      } else if (limit < 0.1 * 1024 * 1024 * 1024) {
+        size = (parseFloat(limit) / (1024 * 1024)).toFixed(2) + "MB";//灏忎簬0.1GB锛屽垯杞寲鎴怣B
+      } else {
+        size = (parseFloat(limit) / (1024 * 1024 * 1024)).toFixed(2) + "GB";//鍏朵粬杞寲鎴怗B
+      }
+      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.upload.src);
+    },
+  }
+}
+</script>
+<style scoped>
+@import '~@assets/less/common.less';
+</style>

--
Gitblit v1.9.3