shaun-sheep 5 年之前
父节点
当前提交
d1c5fd9bad

+ 10 - 10
src/components/business_space/business/handsontable.vue

@@ -11,9 +11,9 @@
 <!--            :label="item.label"-->
 <!--            :value="item.value">-->
 <!--          </el-option>-->
-<!--        </el-select>-->
-<!--        &nbsp;&nbsp; | &nbsp;&nbsp;-->
-<!--      </div>-->
+      <!--        </el-select>-->
+      <!--        &nbsp;&nbsp; | &nbsp;&nbsp;-->
+      <!--      </div>-->
       <el-select v-model="onlyRead" @change="getData(false)"
                  style="width:100px;margin-right:20px;vertical-align:bottom;">
         <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
@@ -21,6 +21,7 @@
       <el-select v-model="showType" @change="initHot" style="width:100px;margin-right:10px;vertical-align:bottom;">
         <el-option v-for="item in showTypes" :key="item.value" :label="item.label" :value="item.value"></el-option>
       </el-select>
+      F
       <el-button v-show="!onlyRead" @click="addSp">添加</el-button>
       <el-button @click="reset">刷新</el-button>
       <el-button v-show="!onlyRead" @click="undo">撤销</el-button>
@@ -64,18 +65,17 @@
   import Handsontable from "handsontable-pro"
   import buildFloor from '@/utils/handsontable/buildFloorData'
   import 'handsontable-pro/dist/handsontable.full.css'
-  import zhCN from 'handsontable-pro/languages/zh-CN';
   import uploadImgDialog from "@/components/business_space/dialogs/list/uploadImgDialog"
   import qrcode from "@/components/ledger/lib/qrcode";
   import {
-    queryZone,
-    updateZone,
-    deleteZone,
-    createZone,
     BeatchQueryParam,
-    updateRelateInSpAndBuild
+    createZone,
+    deleteZone,
+    queryZone,
+    updateRelateInSpAndBuild,
+    updateZone
   } from "@/api/scan/request";
-  import {mapGetters, mapActions} from "vuex";
+  import {mapGetters} from "vuex";
   import dialogZone from "../../ledger/addDialog/dialogZone";
 
   export default {

+ 152 - 41
src/components/ready/buildfloor/addBuild.vue

@@ -1,51 +1,162 @@
 <template>
-    <el-dialog
-        :title="buildTitle"
-        :visible.sync="buildDialogVis"
-        width="20%"
-        id="messageDialog"
+  <el-dialog
+    :title="buildTitle"
+    :visible.sync="buildDialogVis"
+    id="messageDialog"
+    width="40%"
+  >
+    <el-form
+      :inline="true"
+      :model="form"
+      label-width="125px"
+      ref="form"
     >
-    <div>
-      <label>建筑名称 : </label>
+      <h4>基本信息</h4>
+      <el-form-item
+        label="建筑本地编码"
+        required
+      >
         <el-input
-            placeholder="请输入建筑名称"
-            v-model="buildName"
+          v-model="form.name"
+          :disabled="currentType==='edit'"
         />
-    </div>
-        <span
-            slot="footer"
-            class="dialog-footer"
-        >
-      <el-button
-          size="small"
-          @click="buildDialogVis = false"
-      >取消</el-button>
-      <el-button
-          size="small"
-          type="primary"
-          @click="save"
-      >确认</el-button>
-    </span>
+      </el-form-item>
+      <el-form-item
+        label="建筑本地名称"
+        required
+      >
+        <el-input
+          v-model="form.name"
+          :disabled="currentType==='edit'"
+        />
+      </el-form-item>
+      <el-form-item label="建筑年代">
+        <el-date-picker
+          placeholder="选择日期"
+          type="date"
+          v-model="form.year">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="空调冷源类型">
+        <el-select
+          collapse-tags
+          multiple
+          placeholder="请选择"
+          v-model="form.value2">
+          <el-option
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+            v-for="item in form.options">
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="动态获取信息">
+        <el-input v-model="form.name"/>
+      </el-form-item>
+      <el-form-item label="动态获取信息">
+        <el-input v-model="form.name"/>
+      </el-form-item>
+      <h4>建筑信息-建筑类型</h4>
+      <div>
+        <p class="el-form-item__label"
+           style="width: 125px"
+        >建筑图片:</p>
+        <!--            :on-preview="handlePictureCardPreview"-->
+        <!--            :on-remove="handleRemove"-->
+        <el-upload
+          action="https://jsonplaceholder.typicode.com/posts/"
+          list-type="picture-card"
+          style="margin-left: 130px">
+          <i class="el-icon-plus"/>
+        </el-upload>
+        <el-dialog :visible.sync="dialogVisible">
+          <img
+            :src="dialogImageUrl"
+            alt=""
+            width="100%"
+          >
+        </el-dialog>
+      </div>
+      <h4>建筑文档</h4>
+      <uploadFile name="建筑图纸"/>
+      <uploadFile name="档案"/>
+      <uploadFile name="建筑能耗模型"/>
+    </el-form>
+    <span
+      class="dialog-footer"
+      slot="footer"
+    >
+    <el-button @click="buildDialogVis = false">取 消</el-button>
+    <el-button @click="buildDialogVis = false" type="primary">确 定</el-button>
+  </span>
   </el-dialog>
 </template>
 <script>
-export default {
-  data() {
-    return {
-      buildName: '',
-      buildDialogVis: false
-    }
-  },
-  props: {
-    buildTitle: {
-      default: "添加建筑"
-    }
-  },
-  methods: {
-    showDialog() {
-      this.buildDialogVis = true
+  import uploadFile from "./uploadFile";
+
+  export default {
+    data() {
+      return {
+        buildName: '',
+        buildDialogVis: false,
+        form: {
+          name: '',
+          region: '',
+          date1: '',
+          date2: '',
+          delivery: false,
+          resource: '',
+          desc: '',
+          year: '',
+          options: [{
+            value: '选项1',
+            label: '黄金糕'
+          }, {
+            value: '选项2',
+            label: '双皮奶'
+          }, {
+            value: '选项3',
+            label: '蚵仔煎'
+          }, {
+            value: '选项4',
+            label: '龙须面'
+          }, {
+            value: '选项5',
+            label: '北京烤鸭'
+          }],
+          value2: ''
+        },
+        dialogImageUrl: '',
+        dialogVisible: false
+      }
+    },
+    components: {uploadFile},
+    props: ['buildTitle', 'currentType'],
+    methods: {
+      showDialog() {
+        this.buildDialogVis = true
+      },
+      onSubmit() {
+        console.log('submit!');
+      },
+      save() {
+      }
     },
-    save() { }
+    // handleRemove(file, fileList) {
+    //   console.log(file, fileList);
+    // },
+    // handlePictureCardPreview(file) {
+    //   this.dialogImageUrl = file.url;
+    //   this.dialogVisible = true;
+    // }
   }
-}
 </script>
+<style lang="less" scoped>
+  #messageDialog {
+    /deep/ .el-date-editor.el-input, .el-date-editor.el-input__inner, /deep/ .el-select {
+      width: 200px;
+    }
+
+  }
+</style>

+ 56 - 0
src/components/ready/buildfloor/uploadFile.vue

@@ -0,0 +1,56 @@
+<template>
+  <el-upload
+    :before-remove="beforeRemove"
+    :file-list="fileList"
+    :limit="3"
+    :on-exceed="handleExceed"
+    :on-preview="handlePreview"
+    :on-remove="handleRemove"
+    action="https://jsonplaceholder.typicode.com/posts/"
+    class="upload-demo"
+    multiple>
+    <p
+      class="el-form-item__label"
+      style="width: 125px"
+    >{{name}}:</p>
+    <el-button
+      size="small"
+      type="text"
+    >点击上传
+    </el-button>
+    <!--    <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>-->
+  </el-upload>
+</template>
+
+<script>
+  export default {
+    name: "uploadFile",
+    props: ['name'],
+    data() {
+      return {
+        fileList: [
+          // {name: 'food.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'},
+          // {name: 'food2.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}
+        ]
+      };
+    },
+    methods: {
+      handleRemove(file, fileList) {
+        console.log(file, fileList);
+      },
+      handlePreview(file) {
+        console.log(file);
+      },
+      handleExceed(files, fileList) {
+        this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
+      },
+      beforeRemove(file, fileList) {
+        return this.$confirm(`确定移除 ${file.name}?`);
+      }
+    }
+  }
+</script>
+
+<style scoped>
+
+</style>

+ 37 - 34
src/views/ready/buildfloor/index.vue

@@ -72,7 +72,7 @@
     <!-- 添加-修改楼层 -->
     <addFloor :title="floorTitle" ref="addFloorDialog" :curBuildId="curBuildId" :curFloorId="curFloorId" @refresh="refresh" />
     <!-- 添加-修改建筑 -->
-    <addBuild :title="buildTitle" ref="addBuildDialog" />
+    <addBuild :title="buildTitle" ref="addBuildDialog" :currentType="currentType"/>
     <!-- 删除建筑-删除楼层 -->
     <el-dialog title="提示" :visible.sync="delDialogVis" width="20%" @close="handleClose" id="messageDialog">
       <div>确定要删除该{{delText}}?</div>
@@ -90,23 +90,24 @@
 </template>
 
 <script>
-import addFloor from "@/views/ready/buildfloor/addFloor/index";
-import addBuild from "@/components/ready/buildfloor/addBuild";
-import { mapGetters, mapActions } from "vuex";
-import addConnectivity from "@/components/ready/buildfloor/addConnectivity";
-import checkGraphy from "./drawGraphy/checkGraphy"; //查看图片
-import { buildingQueryAndCount, floorQueryAndSign, manageDeleteFloor } from "@/api/scan/request";
-export default {
-  components: {
-    addFloor,
-    addBuild,
-    addConnectivity,
-    checkGraphy
-  },
-  data() {
-    return {
-      repetitionGraphyVisible: false, // 替换平面图弹窗
-      floorTitle: "添加楼层",
+  import addFloor from "@/views/ready/buildfloor/addFloor/index";
+  import addBuild from "@/components/ready/buildfloor/addBuild";
+  import {mapGetters} from "vuex";
+  import addConnectivity from "@/components/ready/buildfloor/addConnectivity";
+  import checkGraphy from "./drawGraphy/checkGraphy"; //查看图片
+  import {buildingQueryAndCount, floorQueryAndSign, manageDeleteFloor} from "@/api/scan/request";
+
+  export default {
+    components: {
+      addFloor,
+      addBuild,
+      addConnectivity,
+      checkGraphy
+    },
+    data() {
+      return {
+        repetitionGraphyVisible: false, // 替换平面图弹窗
+        floorTitle: "添加楼层",
       buildTitle: "添加建筑",
       delDialogVis: false,
       delText: "建筑",
@@ -117,18 +118,19 @@ export default {
       },
       buildList: [],
       tableData: [],
-      page: {
-        pageSize: 500,
-        pageSizes: [10, 20, 50, 100],
-        pageNumber: 1,
-        total: 0
-      },
-      loading: false, //列表loading
-      curBuildId: "", //当前选中的建筑id
-      curFloorId: "", //当前选中的楼层id
-      modelId: "",
-      alreadyRelatedModel: []
-    };
+        page: {
+          pageSize: 500,
+          pageSizes: [10, 20, 50, 100],
+          pageNumber: 1,
+          total: 0
+        },
+        loading: false, //列表loading
+        curBuildId: "", //当前选中的建筑id
+        curFloorId: "", //当前选中的楼层id
+        modelId: "",
+        alreadyRelatedModel: [],
+        currentType: 'add'
+      };
   },
   computed: {
     ...mapGetters("layout", ["projectId"])
@@ -164,8 +166,8 @@ export default {
     },
     //add build
     addBuild() {
-      this.$message.warning("开发中...");
-      return;
+      // this.$message.warning("开发中...");
+      // return;
       this.$refs.addBuildDialog.showDialog();
     },
     //delete build
@@ -177,8 +179,9 @@ export default {
     },
     //edit build
     editBuild() {
-      this.$message.warning("开发中...");
-      return;
+      this.currentType = 'edit'
+      this.buildTitle = '编辑建筑'
+      this.$refs.addBuildDialog.showDialog();
     },
     //delete floor
     handleDelete(floor) {