Эх сурвалжийг харах

logo修改/工程部署文件下载处理

lph 1 жил өмнө
parent
commit
a8ed690b81

BIN
zkqy-ui/src/assets/images/mec_logo1.png


+ 1 - 1
zkqy-ui/src/layout/index.vue

@@ -5,7 +5,7 @@
       <el-row>
         <el-col :span="12">
           <span>
-            <img src="../assets/images/mec_logo.png" alt="" class="imgg" />
+            <img src="../assets/images/mec_logo1.png" alt="" class="imgg" />
           </span>
         </el-col>
         <el-col :span="4" :offset="8">

+ 152 - 48
zkqy-ui/src/views/system/engineeringManage/index.vue

@@ -1,6 +1,13 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
       <el-form-item label="工程名称" prop="engineeringName">
         <el-input
           v-model="queryParams.engineeringName"
@@ -18,8 +25,16 @@
         />
       </el-form-item>
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
       </el-form-item>
     </el-form>
 
@@ -32,7 +47,8 @@
           size="mini"
           @click="handleAdd"
           v-hasPermi="['system:engineering:add']"
-        >新增</el-button>
+          >新增</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -43,7 +59,8 @@
           :disabled="single"
           @click="handleUpdate"
           v-hasPermi="['system:engineering:edit']"
-        >修改</el-button>
+          >修改</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -54,7 +71,8 @@
           :disabled="multiple"
           @click="handleDelete"
           v-hasPermi="['system:engineering:remove']"
-        >删除</el-button>
+          >删除</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -64,7 +82,8 @@
           size="mini"
           @click="handleExport"
           v-hasPermi="['system:engineering:export']"
-        >导出</el-button>
+          >导出</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -74,20 +93,33 @@
           size="mini"
           @click="handleDownload"
           v-hasPermi="['system:engineering:download']"
-        >下载</el-button>
+          >下载</el-button
+        >
       </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" :data="engineeringList" @selection-change="handleSelectionChange">
+    <el-table
+      v-loading="loading"
+      :data="engineeringList"
+      @selection-change="handleSelectionChange"
+    >
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="编号" align="center" prop="id" />
       <!-- <el-table-column label="工程key" align="center" prop="engineeringKey" /> -->
       <el-table-column label="工程名称" align="center" prop="engineeringName" />
       <el-table-column label="下载次数" align="center" prop="downloadNumber" />
-      <el-table-column label="下载时间" align="center" prop="downloadTime" width="180">
+      <el-table-column
+        label="下载时间"
+        align="center"
+        prop="downloadTime"
+        width="180"
+      >
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.downloadTime, '{y}-{m}-{d}') }}</span>
+          <span>{{ parseTime(scope.row.downloadTime, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
       <el-table-column label="更新时间" align="center" prop="updateTime" />
@@ -95,7 +127,11 @@
       <el-table-column label="备注" align="center" prop="remark" />
       <el-table-column label="创建者ID" align="center" prop="createById" />
       <el-table-column label="更新者ID" align="center" prop="updateById" /> -->
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column
+        label="操作"
+        align="center"
+        class-name="small-padding fixed-width"
+      >
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -103,20 +139,22 @@
             icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['system:engineering:edit']"
-          >修改</el-button>
+            >修改</el-button
+          >
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['system:engineering:remove']"
-          >删除</el-button>
+            >删除</el-button
+          >
         </template>
       </el-table-column>
     </el-table>
-    
+
     <pagination
-      v-show="total>0"
+      v-show="total > 0"
       :total="total"
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
@@ -130,17 +168,25 @@
           <el-input v-model="form.engineeringKey" placeholder="请输入工程key" />
         </el-form-item> -->
         <el-form-item label="工程名称" prop="engineeringName">
-          <el-input v-model="form.engineeringName" placeholder="请输入工程名称" />
+          <el-input
+            v-model="form.engineeringName"
+            placeholder="请输入工程名称"
+          />
         </el-form-item>
         <el-form-item label="下载次数" prop="downloadNumber">
-          <el-input v-model="form.downloadNumber" placeholder="请输入下载次数" />
+          <el-input
+            v-model="form.downloadNumber"
+            placeholder="请输入下载次数"
+          />
         </el-form-item>
         <el-form-item label="下载时间" prop="downloadTime">
-          <el-date-picker clearable
+          <el-date-picker
+            clearable
             v-model="form.downloadTime"
             type="date"
             value-format="yyyy-MM-dd"
-            placeholder="请选择下载时间">
+            placeholder="请选择下载时间"
+          >
           </el-date-picker>
         </el-form-item>
         <el-form-item label="更新时间" prop="updateTime">
@@ -155,7 +201,7 @@
         <el-form-item label="是否删除" prop="delFlag">
           <el-input v-model="form.delFlag" placeholder="请输入是否删除" />
         </el-form-item>
-       <!--  <el-form-item label="创建者ID" prop="createById">
+        <!--  <el-form-item label="创建者ID" prop="createById">
           <el-input v-model="form.createById" placeholder="请输入创建者ID" />
         </el-form-item>
         <el-form-item label="更新者ID" prop="updateById">
@@ -171,7 +217,16 @@
 </template>
 
 <script>
-import { listEngineering, getEngineering, delEngineering, addEngineering, updateEngineering } from "@/api/system/engineering";
+import { Message, Loading } from "element-ui";
+import service from "@/utils/request";
+import { tansParams, blobValidate } from "@/utils/zkqy";
+import {
+  listEngineering,
+  getEngineering,
+  delEngineering,
+  addEngineering,
+  updateEngineering,
+} from "@/api/system/engineering";
 
 export default {
   name: "Engineering",
@@ -211,8 +266,7 @@ export default {
       // 表单参数
       form: {},
       // 表单校验
-      rules: {
-      }
+      rules: {},
     };
   },
   created() {
@@ -222,7 +276,7 @@ export default {
     /** 查询工程部署列表 */
     getList() {
       this.loading = true;
-      listEngineering(this.queryParams).then(response => {
+      listEngineering(this.queryParams).then((response) => {
         this.engineeringList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -265,9 +319,9 @@ export default {
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.id)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
+      this.ids = selection.map((item) => item.id);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
     },
     /** 新增按钮操作 */
     handleAdd() {
@@ -278,8 +332,8 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      const id = row.id || this.ids
-      getEngineering(id).then(response => {
+      const id = row.id || this.ids;
+      getEngineering(id).then((response) => {
         this.form = response.data;
         this.open = true;
         this.title = "修改工程部署";
@@ -287,16 +341,16 @@ export default {
     },
     /** 提交按钮 */
     submitForm() {
-      this.$refs["form"].validate(valid => {
+      this.$refs["form"].validate((valid) => {
         if (valid) {
           if (this.form.id != null) {
-            updateEngineering(this.form).then(response => {
+            updateEngineering(this.form).then((response) => {
               this.$modal.msgSuccess("修改成功");
               this.open = false;
               this.getList();
             });
           } else {
-            addEngineering(this.form).then(response => {
+            addEngineering(this.form).then((response) => {
               this.$modal.msgSuccess("新增成功");
               this.open = false;
               this.getList();
@@ -308,25 +362,75 @@ export default {
     /** 删除按钮操作 */
     handleDelete(row) {
       const ids = row.id || this.ids;
-      this.$modal.confirm('是否确认删除工程部署编号为"' + ids + '"的数据项?').then(function() {
-        return delEngineering(ids);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => {});
+      this.$modal
+        .confirm('是否确认删除工程部署编号为"' + ids + '"的数据项?')
+        .then(function () {
+          return delEngineering(ids);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
     },
     /** 导出按钮操作 */
     handleExport() {
-      this.download('system/engineering/export', {
-        ...this.queryParams
-      }, `engineering_${new Date().getTime()}.xlsx`)
+      this.download(
+        "system/engineering/export",
+        {
+          ...this.queryParams,
+        },
+        `engineering_${new Date().getTime()}.xlsx`
+      );
     },
     /** 下载按钮操作 */
     handleDownload() {
-      this.download('system/engineering/download', {
-        ...this.queryParams
-      }, `engineering_${new Date().getTime()}.xlsx`)
-    }
-  }
+      this.getDownload(
+        "system/engineering/download",
+        {
+          ...this.queryParams,
+        },
+        `engineering_${new Date().getTime()}.zip`
+      );
+    },
+    getDownload(url, params, filename, config) {
+      let downloadLoadingInstance;
+      downloadLoadingInstance = Loading.service({
+        text: "正在下载数据,请稍候",
+        spinner: "el-icon-loading",
+        background: "rgba(0, 0, 0, 0.7)",
+      });
+      return service
+        .get(url, params, {
+          transformRequest: [
+            (params) => {
+              return tansParams(params);
+            },
+          ],
+          headers: { "Content-Type": "application/x-www-form-urlencoded" },
+          responseType: "blob",
+          ...config,
+        })
+        .then(async (data) => {
+          const isBlob = blobValidate(data);
+          if (isBlob) {
+            const blob = new Blob([data]);
+            saveAs(blob, filename);
+          } else {
+            const resText = await data.text();
+            const rspObj = JSON.parse(resText);
+            const errMsg =
+              errorCode[rspObj.code] || rspObj.msg || errorCode["default"];
+            Message.error(errMsg);
+          }
+          downloadLoadingInstance.close();
+        })
+        .catch((r) => {
+          console.error(r);
+          Message.error("下载文件出现错误,请联系管理员!");
+          downloadLoadingInstance.close();
+        });
+    },
+  },
 };
 </script>