فهرست منبع

添加设备-过滤 添加Uploadcontroller

duxiangyu 3 سال پیش
والد
کامیت
bc0de26891

+ 3 - 1
package.json

@@ -16,9 +16,11 @@
     "font-awesome": "^4.7.0",
     "handsontable-pro": "^3.0.0",
     "jquery": "^3.3.1",
-    "meri-design": "^1.5.517",
+    "meri-design": "^1.5.516",
     "moment": "^2.29.1",
     "spark-md5": "^3.0.2",
+    "stylus": "^0.56.0",
+    "stylus-loader": "^6.2.0",
     "vue-router": "^3.5.3",
     "vuex": "^3.6.2"
   },

+ 19 - 5
src/components/old-adm/ledger/components/lib/cascader.vue

@@ -13,13 +13,13 @@
       @change="changeVal"
     >
       <el-option
-        v-for="item in options"
+        v-for="item in trueOptions"
         :key="item.code"
         :label="item.facility"
         :value="item.code"
       ></el-option>
     </el-select>
-    <el-checkbox v-model="checked" @change="getData"
+    <el-checkbox v-model="checked" @change="checkChange"
       >仅项目交付范围内</el-checkbox
     >
     <!-- <el-cascader placeholder="请选择" :options="options" v-model="value" :props="props" filterable :style="isWidth ? '' : 'width:160px;'" size="small"
@@ -59,6 +59,18 @@ export default {
       checked: true,
     };
   },
+  computed: {
+    trueOptions() {
+      if (this.options.length) {
+        return this.options.filter((i) => {
+          return this.checked
+            ? i.hasOwnProperty("isDelivery") && i.isDelivery === 1
+            : i;
+        });
+      }
+      return [];
+    },
+  },
   created() {
     this.getData();
   },
@@ -113,7 +125,6 @@ export default {
 
       let param1 = {
         type: "equipment",
-        deliveryType: this.checked ? 0 : 1,
       };
 
       Promise.all([
@@ -139,8 +150,8 @@ export default {
       let data = [];
       arr &&
         arr.map((t) => {
-          let temp = {};
-          temp.code = t.code;
+          let temp = t;
+          // temp.code = t.code;
           temp.facility =
             t.name === t.aliasName ? t.name : `${t.name}(${t.aliasName})`;
           data.push(temp);
@@ -155,6 +166,9 @@ export default {
         }
       });
     },
+    checkChange(val) {
+      this.value = "";
+    },
   },
 };
 </script>

+ 2 - 3
src/components/project-manage/form/items/ImageUpload.vue

@@ -140,7 +140,7 @@ import Left from "../static/iconSvg/left.svg";
 import Download from "../static/iconSvg/download.svg";
 import OriginalSize from "../static/iconSvg/original_size.svg";
 import SmallImage from "../static/iconSvg/small_image.svg";
-import { fileHttpUtils } from "@/utils/http/fileHttpUtils";
+import UploadController from "@/controller/uploadController";
 // import {Message} from '../Message';
 // import ajax from '../static/utils/Ajax';
 
@@ -515,8 +515,7 @@ export default {
         "color: #bf2c9f; background: pink; font-size: 13px;",
         fileItem
       );
-      const fileHttpInstance = new fileHttpUtils();
-      const uploadResult = await fileHttpInstance.uploadFiles({
+      const uploadResult = await UploadController.uploadFiles({
         uploadProgressCall: function (_obj) {
           console.log("uploadProgressCall", _obj);
         },

+ 13 - 3
src/components/project-manage/form/items/select.vue

@@ -1,10 +1,21 @@
 <template>
   <!-- 选择框 -->
-  <PTreeSelect v-model="singleId" :data="treeList" @change="change" />
+  <!-- <PTreeSelect v-model="singleId" :data="treeList" @change="change" /> -->
+  <el-cascader
+    v-model="value"
+    :options="mapList(selectData)"
+    :props="{ checkStrictly: true }"
+    @change="change"
+    clearable
+  ></el-cascader>
 </template>
 
 <script>
+// import PTreeSelect from "@/components/meri/PTreeSelect";
 export default {
+  components: {
+    // PTreeSelect,
+  },
   props: {
     selectData: [],
     initValue: {
@@ -16,7 +27,7 @@ export default {
   },
   data() {
     return {
-      singleId: "12",
+      value: "",
       treeList: [{ id: "1", name: "11" }],
     };
   },
@@ -37,7 +48,6 @@ export default {
         };
       });
       let tree = this.listToTree(_list);
-      console.log(tree);
       return tree;
     },
     listToTree(list) {

+ 26 - 0
src/controller/uploadController.ts

@@ -0,0 +1,26 @@
+import { fileHttpUtils } from "../utils/http/fileHttpUtils";
+
+export default class UploadController {
+  static http = new fileHttpUtils();
+
+  /**
+   * 上传文件
+   * @param params 格式如下:
+   * {
+   *    uploadProgressCall 上传进度回调函数,函数参数为object,格式如下:{uploadedTotal:1},uploadedTotal总共上传了多少字节,是所有文件上传的字节数总和
+   *    oneUploadedCall 每上传完一个后的回调函数,函数参数为object,格式如下:{fileName:'文件名称'}
+   *    userId:'不传时,默认会取vuex中user.id',
+   *    files 数组或者object,示例
+   *    {
+   *      groupCode:'不传时,默认会取vuex中selectProject.groupCode',
+   *      projectId:'不传时,默认会取vuex中selectProject.id',
+   *      fileName:'文件名称',
+   *      fileBucket:'存储空间名称,可以不传',
+   *      file:文件信息,假设有一个input type为file id为txtFile的标签,那么file为document.getElementById('txtFile').files[0]
+   *    }
+   * }
+   */
+  static async uploadFiles(params) {
+    return await this.http.uploadFiles(params);
+  }
+}