Преглед на файлове

'选择型号,若没有name字段那么不显示技术参数,表格开启右键功能,部分设备台账批量信息维护'

shaun-sheep преди 5 години
родител
ревизия
b353052b8c
променени са 32 файла, в които са добавени 365 реда и са изтрити 288 реда
  1. 3 4
      src/api/scan/request.js
  2. 2 2
      src/components/business_space/business/handsontable.vue
  3. 1 1
      src/components/business_space/dialogs/addDialog/businessDialog.vue
  4. 3 3
      src/components/business_space/dialogs/list/firm.vue
  5. 1 1
      src/components/dialogHanson/addDevice.vue
  6. 1 1
      src/components/dialogs/addDialog/businessDialog.vue
  7. 1 1
      src/components/dialogs/addDialog/dialogAssets.vue
  8. 2 2
      src/components/dialogs/addDialog/dialogDevice.vue
  9. 1 1
      src/components/dialogs/addDialog/dialogSystem.vue
  10. 19 9
      src/components/dialogs/list/batchDialog.vue
  11. 66 43
      src/components/dialogs/list/filesDialog.vue
  12. 2 2
      src/components/dialogs/list/firm.vue
  13. 1 1
      src/components/ledger/addDialog/dialogAssets.vue
  14. 2 2
      src/components/ledger/addDialog/dialogDevice.vue
  15. 1 1
      src/components/ledger/addDialog/dialogSystem.vue
  16. 2 2
      src/components/ledger/handsontables/assets.vue
  17. 60 36
      src/components/ledger/handsontables/device.vue
  18. 1 1
      src/components/ledger/handsontables/system.vue
  19. 1 1
      src/components/ledger/lib/addDevice.vue
  20. 165 144
      src/components/ledger/lib/uploadFiles.vue
  21. 2 2
      src/views/data_admin/buildData/index.vue
  22. 2 2
      src/views/ledger/cenotelist/cenoteadd/index.vue
  23. 4 4
      src/views/ledger/cenotelist/index.vue
  24. 2 2
      src/views/ledger/facility/addfacility.vue
  25. 2 2
      src/views/ledger/facility/parts/index.vue
  26. 3 3
      src/views/ledger/facility/partsmanage/addparts/index.vue
  27. 2 2
      src/views/ledger/facility/partsmanage/index.vue
  28. 2 2
      src/views/ledger/property/addproperty.vue
  29. 4 4
      src/views/ledger/rentlist/index.vue
  30. 2 2
      src/views/ledger/rentlist/rentadd/index.vue
  31. 2 2
      src/views/ledger/system/addsystem.vue
  32. 3 3
      src/views/point/config_point/steps/step1.vue

+ 3 - 4
src/api/scan/request.js

@@ -158,7 +158,6 @@ export function getPT(param) {
         "BeginTime": param.BeginTime,
         "ProjId": param.ProjId,
         "UserId": param.UserId,
-        "BeginTime": param.BeginTime,
         "EndTime": param.EndTime,
         "BuildId": param.BuildId,
         "FloorId": param.FloorId
@@ -193,7 +192,7 @@ export function updatePoint(param) {
     return fetch({ method: 'POST', url: `${api}/service/point/update`, data })
 }
 
-//点击点位标签获取tab设备族列表 
+//点击点位标签获取tab设备族列表
 export function getTabFamily(param) {
     let data = {
         "Comming": Comming,
@@ -925,7 +924,7 @@ export function equipLinkSys(param, success) {
     http.postJson(url, param, success)
 }
 
-//设备清单 - 设备关联系统 系统1-n   
+//设备清单 - 设备关联系统 系统1-n
 export function sysLinkEquip(param, success) {
     let url = `${baseUrl}/datacenter/sy-in-eq/link-sy-eq`;
     http.postJson(url, param, success)
@@ -1488,4 +1487,4 @@ export function getEquipByEqID(param, success) {
 export function getFloorMsgByFloorID(param, success) {
     let url = `${baseUrl}/datacenter/floor/query`
     http.postJson(url, param, success)
-}
+}

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

@@ -202,7 +202,7 @@ export default {
           "filter_by_value",
           "filter_action_bar"
         ],
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除该业务空间"
@@ -638,4 +638,4 @@ export default {
     color: gray;
   }
 }
-</style>
+</style>

+ 1 - 1
src/components/business_space/dialogs/addDialog/businessDialog.vue

@@ -478,7 +478,7 @@ export default {
           "filter_by_value",
           "filter_action_bar"
         ],
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除该业务空间"

+ 3 - 3
src/components/business_space/dialogs/list/firm.vue

@@ -26,7 +26,7 @@
             <el-table-column header-align='center' prop="name" label="型号"></el-table-column>
             <el-table-column header-align='center' label="技术参数">
               <template slot-scope="scope">
-                <el-button type="text" @click="lookParam(scope.row)">技术参数</el-button>
+                <el-button type="text"v-show="scope.row.name"  @click="lookParam(scope.row)">技术参数</el-button>
               </template>
             </el-table-column>
           </el-table>
@@ -37,8 +37,8 @@
                 <i style="color:#46B0FF;cursor: pointer;">厂家库</i>维护吧
             </p>
             <my-pagination :page="page" @change="changed" style="margin-top:10px;"></my-pagination>
-        </div>       
-        
+        </div>
+
       </div>
     </div>
     <param-details :isLoad="isLoad" :data="data"></param-details>

+ 1 - 1
src/components/dialogHanson/addDevice.vue

@@ -344,7 +344,7 @@ export default {
           "filter_by_value",
           "filter_action_bar"
         ],
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除该业务空间"

+ 1 - 1
src/components/dialogs/addDialog/businessDialog.vue

@@ -478,7 +478,7 @@ export default {
           "filter_by_value",
           "filter_action_bar"
         ],
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除该业务空间"

+ 1 - 1
src/components/dialogs/addDialog/dialogAssets.vue

@@ -502,7 +502,7 @@ export default {
           "filter_by_value",
           "filter_action_bar"
         ],
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除该资产"

+ 2 - 2
src/components/dialogs/addDialog/dialogDevice.vue

@@ -623,7 +623,7 @@ export default {
           "filter_by_value",
           "filter_action_bar"
         ],
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除该业务空间"
@@ -972,7 +972,7 @@ export default {
 </style>
 <style lang="">
     .confirmButtonClass {
-    width: 180px; 
+    width: 180px;
 }
 .cancelButtonClass {
     width: 180px;

+ 1 - 1
src/components/dialogs/addDialog/dialogSystem.vue

@@ -556,7 +556,7 @@ export default {
           "filter_by_value",
           "filter_action_bar"
         ],
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除该资产"

+ 19 - 9
src/components/dialogs/list/batchDialog.vue

@@ -48,7 +48,7 @@
             </section>
             <!--维护有多个值的信息-->
             <section>
-                <p class="text-message">维护只有单值的信息点</p>
+                <p class="text-message">维护有多个值的信息点</p>
                 <span class="small">选择值的更新方式</span>
                 <el-radio-group
                     v-model="radio"
@@ -63,13 +63,13 @@
                     @change="handleCheckedFileChange"
                 >
                     <el-checkbox
-                        v-for="(file,index) in folder"
+                        v-for="(file,index) in newFolder"
                         :label="file"
                         :key="index"
 
                     >
                         <span @click="fourVendors(file)"> {{file.name}}:</span>
-                        <span>已上传:</span>
+                        <span v-for="name in file.img">{{name}}   </span>
                     </el-checkbox>
                 </el-checkbox-group>
             </section>
@@ -126,7 +126,7 @@
 
     export default {
         name: "batchDialog",
-        props: ['firmName'],
+        props: ['firmName', 'fileDataType'],
         data() {
             return {
                 batchDialog: false,//dialog
@@ -238,6 +238,16 @@
                     return item
                 })
                 return this.firm
+            },
+            newFolder() {
+                this.folder.map(item => {
+                    if (item.num === this.fileDataType.num) {
+                        item.img = this.fileDataType.img
+                    }
+                    return item
+                })
+                this.$forceUpdate()
+                return this.folder
             }
         },
         methods: {
@@ -272,10 +282,10 @@
                 this.checkAll = checkCount === this.firm.length
                 this.isIndeterminate = checkCount > 0 && checkCount < this.firm.length
             },
-            handleCheckedFileChange(value,) { //维护多项触发
+            handleCheckedFileChange(value) { //维护多项触发
             },
             fourVendors(code) {
-                this.$emit('code', code.code)
+                this.$emit('code', code)
             },
             //    选择维护方式
             maintenance(val) {
@@ -283,7 +293,7 @@
 
                 }
                 if (val === 2) { //覆盖
-                    维护只有单值的信息点
+
                 }
             },
             maintenanceAll() { //维护所有
@@ -310,8 +320,8 @@
         /*    width: 70%;*/
         /*}*/
 
-        .el-step__description {
-            margin-top: 2%;
+        /deep/ .el-step__description {
+            margin: 2% 0;
         }
 
         .el-checkbox-group {

+ 66 - 43
src/components/dialogs/list/filesDialog.vue

@@ -3,50 +3,73 @@
 -->
 
 <template>
-  <el-dialog title="上传文件" :visible.sync="dialog.uploadFiles" width="500px">
-      <div class='max-height: 500px; overflow-y: auto;'>
-        <upload-files :readOnly="read" :keysArr="keysArr" @change="changeItem" max="2"></upload-files>
-      </div>
-  </el-dialog>
+    <el-dialog
+        title="上传文件"
+        :visible.sync="dialog.uploadFiles"
+        width="500px">
+        <div class='max-height: 500px; overflow-y: auto;'>
+            <upload-files
+                :readOnly="read"
+                :keysArr="keysArr"
+                :firmDataType="firmDataType"
+                :fileDataType="fileDataType"
+                @change="changeItem"
+                max="2"/>
+        </div>
+    </el-dialog>
 </template>
 <script>
-import uploadFiles from "@/components/ledger/lib/uploadFiles";
-export default {
-  components: {
-    uploadFiles
-  },
-  props: {
-    dialog: {
-      type: Object,
-      default: function () {
-        return {
-          uploadFiles: false
-        };
-      }
-    },
-    keysArr: {
-      type: Array,
-      default: function () {
-        return []
-      }
-    },
-    read: {
-      type: Boolean,
-      default: false
-    }
-  },
-  data() {
-    return {};
-  },
-  created() { },
-  mounted() { },
-  methods: {
-    changeItem(file) {
-      console.log(file)
-      this.$emit("changeFile", file)
-    }
-  },
-};
+    import uploadFiles from "@/components/ledger/lib/uploadFiles";
+
+    export default {
+        components: {
+            uploadFiles
+        },
+        props: {
+            dialog: {
+                type: Object,
+                default: function () {
+                    return {
+                        uploadFiles: false
+                    };
+                }
+            },
+            keysArr: {
+                type: Array,
+                default: function () {
+                    return []
+                }
+            },
+            read: {
+                type: Boolean,
+                default: false
+            },
+            firmDataType: {
+                type: String
+            },
+            fileDataType: {
+                type: Object
+            }
+        },
+        data() {
+            return {};
+        },
+        created() {
+        },
+        mounted() {
+        },
+        methods: {
+            changeItem(file) {
+                if (this.firmDataType === 'dialog') {
+                    this.fileDataType.img = file
+                    this.$emit("changeFile", this.fileDataType, this.firmDataType)
+                } else {
+                    this.$emit("changeFile", file, this.firmDataType)
+
+                }
+            }
+        },
+    };
 </script>
 <style>
-</style>
+</style>

+ 2 - 2
src/components/dialogs/list/firm.vue

@@ -24,9 +24,9 @@
             </el-table-column>
             <el-table-column prop="brand" label="品牌" header-align='center'></el-table-column>
             <el-table-column prop="name" label="型号" header-align='center'></el-table-column>
-            <el-table-column label="技术参数" header-align='center'>
+            <el-table-column  label="技术参数" header-align='center'>
               <template slot-scope="scope">
-                <el-button type="text" @click="lookParam(scope.row)">技术参数</el-button>
+                <el-button type="text" v-show="scope.row.name" @click="lookParam(scope.row)">技术参数</el-button>
               </template>
             </el-table-column>
           </el-table>

+ 1 - 1
src/components/ledger/addDialog/dialogAssets.vue

@@ -508,7 +508,7 @@ export default {
           "filter_by_value",
           "filter_action_bar"
         ],
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除该资产"

+ 2 - 2
src/components/ledger/addDialog/dialogDevice.vue

@@ -612,7 +612,7 @@ export default {
           "filter_by_value",
           "filter_action_bar"
         ],
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除该业务空间"
@@ -958,7 +958,7 @@ export default {
     overflow: hidden;
     // height: 300px;
     // overflow-x: hidden;
-    // overflow-y:auto; 
+    // overflow-y:auto;
 
 }
 </style>

+ 1 - 1
src/components/ledger/addDialog/dialogSystem.vue

@@ -570,7 +570,7 @@ export default {
           "filter_by_value",
           "filter_action_bar"
         ],
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除该资产"

+ 2 - 2
src/components/ledger/handsontables/assets.vue

@@ -535,7 +535,7 @@ export default {
           "filter_by_value",
           "filter_action_bar"
         ],
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除选中资产"
@@ -889,7 +889,7 @@ export default {
     supplyChange(data) {
       tools.setDataForKey(this.tableData[this.row], "LedgerParam.SupplyPurchase.SupplierContractID", { id: data })
     },
-    //保险单号-保险文件 
+    //保险单号-保险文件
     guaranteeChange(data) {
       for (let key in data) {
         this.utilToKey(key, "insuranceNo", data, "InsuranceNum")

+ 60 - 36
src/components/ledger/handsontables/device.vue

@@ -25,20 +25,23 @@
       <firm :mess="{deviceId: deviceType.assetType}" :firmDataType="firmDataType" ref="firm" @changeFirm="firmChange"
             :dialog="myDialog"></firm>
     <!-- 供应商合同弹窗 -->
-    <supply-dialog ref="supply" @change="supplyChange" :id="id" :dialog="myDialog"></supply-dialog>
+      <supply-dialog ref="supply" @change="supplyChange" :id="id" :dialog="myDialog"/>
     <!-- 供应商弹窗 -->
-      <supplier-dialog ref="supplier" :firmDataType="firmDataType" @changeSupplier="supplierChange"
-                       :dialog="myDialog"></supplier-dialog>
+      <supplier-dialog ref="supplier" :firmDataType="firmDataType" @changeSupplier="supplierChange" :dialog="myDialog"/>
 
-    <guarantee-dialog :id="id" ref="guarantee" @change="guaranteeChange" :dialog="myDialog"></guarantee-dialog>
-    <upload-files-dialog :read="onlyRead ? true : false" ref="upload" @changeFile="fileChange" :keysArr="filesArr" :dialog="myDialog">
-    </upload-files-dialog>
-    <upload-img-dialog :read="onlyRead ? true : false" @changeFile="imgChange" :keysArr="imgsArr" :dialog="myDialog"></upload-img-dialog>
+      <guarantee-dialog :id="id" ref="guarantee" @change="guaranteeChange" :dialog="myDialog"/>
+      <!--      上传文件-->
+      <upload-files-dialog :read="onlyRead ? true : false" ref="upload" @changeFile="fileChange" :keysArr="filesArr"
+                           :firmDataType="firmDataType"
+                           :fileDataType="fileDataType"
+                           :dialog="myDialog"/>
+      <!--      上传图片-->
+      <upload-img-dialog :read="onlyRead ? true : false" @changeFile="imgChange" :keysArr="imgsArr" :dialog="myDialog"/>
       <!--      维修商信息-->
       <maintainer-dialog @changeMaintainer="changeMaintainer" :firmDataType="firmDataType" ref="maintainer"
-                         :dialog="myDialog"></maintainer-dialog>
-    <insurer-dialog @changeInsurer="changeInsurer" :firmDataType="firmDataType" ref="insurer" :dialog="myDialog"></insurer-dialog>
-    <pic-dialog :read="onlyRead ? true : false" :dialog="myDialog" :keysArr="picsArr" @change="changePics"></pic-dialog>
+                         :dialog="myDialog"/>
+      <insurer-dialog @changeInsurer="changeInsurer" :firmDataType="firmDataType" ref="insurer" :dialog="myDialog"/>
+      <pic-dialog :read="onlyRead ? true : false" :dialog="myDialog" :keysArr="picsArr" @change="changePics"/>
     <div class=" middle_sty" style="height: 91%; text-align:center" v-show="!mess.deviceId && (!tableData || !tableData.length)">
       <p>
         <i class="icon-wushuju iconfont"></i>
@@ -87,7 +90,13 @@
       </span>
     </el-dialog>
       <!--      维护信息弹窗-->
-      <batchDialog ref="batchDialogs"  @code="fourVendors" :firmName="firmName" @deviceList="deviceList"/>
+      <batchDialog
+          ref="batchDialogs"
+          @code="fourVendors"
+          :firmName="firmName"
+          :fileDataType="fileDataType"
+          @deviceList="deviceList"
+      />
   </div>
 </template>
 <script>
@@ -165,7 +174,7 @@ export default {
         },
         batchDate() {
             return !(!this.onlyRead && this.copyMain)
-        }
+        },
     },
     data() {
         return {
@@ -230,7 +239,11 @@ export default {
             updateInput: '', //临时维护信息点值
             firmName: '',//维护信息显示厂家名称
             firmDataType: 'row',
-            // maintenanceList: {},//批量信息维护信息统计
+            fileDataType: {},//文件类型
+            insuranceDocList: [],//保险文件列表
+            deviceDocList: [],//设备文档列表
+            qualityDocList: [],//质检报告
+
         };
     },
     methods: {
@@ -508,7 +521,7 @@ export default {
                     "filter_by_value",
                     "filter_action_bar"
                 ],
-                contextMenu: {
+                contextMenu: this.onlyRead ? false : {
                     items: {
                         remove_row: {
                             name: "删除选中设备"
@@ -674,9 +687,10 @@ export default {
                 })
             }
         },
-        //  接受维护信息传来的四大厂商对应code,显示弹窗
+        //  接受维护信息传来的code,显示弹窗
         fourVendors(code) {
-            switch (code) {
+            let numCode = code.code
+            switch (numCode) {
                 //品牌型号弹窗
                 case 'DPManufacturerID':
                     this.dataFirmType = 'dia'
@@ -696,7 +710,13 @@ export default {
                     break;
                 //保险文件--设备文档--安装质检报告
                 case 'LedgerParam.InsuranceDoc.InsuranceFile':
+                    this.fileDataType = code
+                    this.myDialog.uploadFiles = true;
+                    break;
                 case 'LedgerParam.PhotoDoc.Archive':
+                    this.fileDataType = code
+                    this.myDialog.uploadFiles = true;
+                    break;
                 case 'LedgerParam.Siteinstall.CheckReport':
                     this.myDialog.uploadFiles = true;
                     break;
@@ -932,11 +952,8 @@ export default {
         //选择型号修改
         firmChange(data, type) {
             if (type === 'dialog') { // 如果是批量信息维护
-                console.log(data, type, '=====')
                 let firm = {...data, num: 2, name: `${data.brand}/${data.name}`}
                 this.firmName = firm //批量维护dialog显示对象的字段
-                // this.maintenanceList.firm = data
-                // console.log(this.maintenanceList, 'array')
             } else {  //如果是表格操作
                 tools.setDataForKey(this.tableData[this.row], "DPManufacturerID", data.venderId)
                 tools.setDataForKey(this.tableData[this.row], "LedgerParam.EquipManufactor.Brand", data.brand)
@@ -958,7 +975,6 @@ export default {
             if (type === 'dialog') {
                 let firm = {...data, num: 42}
                 this.firmName = firm
-                // this.maintenanceList.insurer = data
             } else {
                 tools.setDataForKey(this.tableData[this.row], "DPInsurerID", data.venderId)
                 tools.setDataForKey(this.tableData[this.row], "LedgerParam.InsuranceDoc.Insurer", data.name)
@@ -978,7 +994,6 @@ export default {
             if (type === 'dialog') {
                 let firm = {...data, num: 35}
                 this.firmName = firm
-                // this.maintenanceList.maintainer = data
             } else {
                 tools.setDataForKey(this.tableData[this.row], "DPMaintainerID", data.venderId)
                 tools.setDataForKey(this.tableData[this.row], "LedgerParam.OperationMainte.Maintainer", data.name)
@@ -999,11 +1014,18 @@ export default {
             this.setDataToMain(val.LinkEquipLocalName, 'LinkEquipLocalName', this.row);
         },
         //上传文件弹窗触发事件
-        fileChange(keys) {
-            this.setDataToMain(keys, this.messKey, this.row);
+        fileChange(keys, type) {
+            if (type === 'dialog') {
+                let list = keys
+                this.fileDataType = list
+                this.filesArr = list.img
+            } else {
+                this.setDataToMain(keys, this.messKey, this.row);
+            }
         },
         //上传图片弹窗触发事件
         imgChange(keys) {
+            console.log(keys, '上传图片返回的keys')
             this.setDataToMain(keys, this.messKey, this.row);
         },
         //关联系统更改
@@ -1060,18 +1082,20 @@ export default {
 };
 </script>
 <style lang="less">
-.hanson-bar {
-  height: 40px;
-  padding: 5px 0;
-  font-size: 14px;
-  overflow: hidden;
-  margin-top: 0;
-  line-height: 40px;
-  .iconfont {
-    font-size: 12px;
-  }
-}
-.cancelButtonClass {
-  width: 180px;
+    .hanson-bar {
+        height: 40px;
+        padding: 5px 0;
+        font-size: 14px;
+        overflow: hidden;
+        margin-top: 0;
+        line-height: 40px;
+
+        .iconfont {
+            font-size: 12px;
+        }
+    }
+
+    .cancelButtonClass {
+        width: 180px;
 }
 </style>

+ 1 - 1
src/components/ledger/handsontables/system.vue

@@ -389,7 +389,7 @@ export default {
           "filter_by_value",
           "filter_action_bar"
         ],
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除该系统"

+ 1 - 1
src/components/ledger/lib/addDevice.vue

@@ -352,7 +352,7 @@ export default {
           "filter_by_value",
           "filter_action_bar"
         ],
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除该业务空间"

+ 165 - 144
src/components/ledger/lib/uploadFiles.vue

@@ -8,166 +8,187 @@
   isShow: 图片的显示
  -->
 <template>
-  <div id="saga-upload">
-    <div id="uploadFile">
-
-      <el-upload
-        v-if="filesArr.length < max"
-        class="upload-file"
-        action
-        :http-request="uploadAndSubmit"
-        drag
-      >
-        <el-button size="small" type="primary" v-if="!readOnly">点击上传</el-button>
-        <div slot="tip" class="el-upload__tip" v-if="!readOnly">请上传文件</div>
-      </el-upload>
-            <div v-if="item && filesArr.length" v-for="(item,index) in filesArr">
-        <el-button type="text" @click="download(item)">{{delFile(item)}}</el-button>
-        <i
-          v-if="!readOnly"
-          class="el-icon-close delete-icon"
-          style="margin-left:10px; cursor:pointer"
-          @click="deleteFile(index,item)"
-        ></i>
-      </div>
-    </div>
+    <div id="saga-upload">
+        <div id="uploadFile">
+            <el-upload
+                v-if="filesArr.length < max"
+                class="upload-file"
+                action
+                :http-request="uploadAndSubmit"
+                drag
+            >
+                <el-button
+                    size="small"
+                    type="primary"
+                    v-if="!readOnly"
+                >点击上传
+                </el-button>
+                <div
+                    slot="tip"
+                    class="el-upload__tip"
+                    v-if="!readOnly"
+                >请上传文件
+                </div>
+            </el-upload>
+            <div
+                v-if="item && filesArr.length"
+                v-for="(item,index) in filesArr"
+            >
+                <el-button
+                    type="text"
+                    @click="download(item)"
+                >{{delFile(item)}}
+                </el-button>
+                <i
+                    v-if="!readOnly"
+                    class="el-icon-close delete-icon"
+                    style="margin-left:10px; cursor:pointer"
+                    @click="deleteFile(index,item)"
+                ></i>
+            </div>
+        </div>
   </div>
 </template>
 
 <script>
-import tools from "@/utils/scan/tools";
-export default {
-  props: {
-    keysArr: {
-      type: [Array, String],
-      default: function () {
-        return []
-      }
-    },
-    readOnly: {
-      type: Boolean,
-      default: false
-    },
-    max: {
-      type: [Number, String],
-      default: 6
-    },
-    defined: null
-  },
-  data() {
-    return {
-      filesArr: []
-    };
-  },
-  created() {
-    let type = typeof (this.keysArr)
-    this.fileFalg()
-  },
-  methods: {
-    //判断是否为空
-    fileFalg() {
-      let type = typeof (this.keysArr)
-      console.log(this.keysArr, "keysAee")
-      if (type == 'string') {
-        this.filesArr = [this.keysArr]
-      } else {
-        this.filesArr = tools.deepCopy(this.keysArr)
-      }
+    import tools from "@/utils/scan/tools";
 
-      if (!this.keysArr) {
-        this.filesArr = []
-      }
-    },
-    //处理地址
-    delFile(name) {
-      console.log(name, "name")
-      return name.length > 20 ? name.substring(0, 20) + "..." : ""
-    },
+    export default {
+        props: {
+            keysArr: {
+                type: [Array, String],
+                default: function () {
+                    return []
+                }
+            },
+            readOnly: {
+                type: Boolean,
+                default: false
+            },
+            max: {
+                type: [Number, String],
+                default: 6
+            },
+            defined: null,
+            firmDataType: {
+                type: String
+            },
+            fileDataType: {
+                type: Object
+            }
+        },
+        data() {
+            return {
+                filesArr: []
+            };
+        },
+        created() {
+            let type = typeof (this.keysArr)
+            this.fileFalg()
+            // this.resetFile()
+        },
+        methods: {
+            //判断是否为空
+            fileFalg() {
+                let type = typeof (this.keysArr)
+                if (type == 'string') {
+                    this.filesArr = [this.keysArr]
+                } else {
+                    this.filesArr = tools.deepCopy(this.keysArr)
+                }
 
-    resetFile() {
-      this.filesArr = []
-    },
+                if (!this.keysArr) {
+                    this.filesArr = []
+                }
+            },
+            //处理地址
+            delFile(name) {
+                return name.length > 20 ? name.substring(0, 20) + "..." : ""
+            },
 
+            resetFile() {
+                this.filesArr = []
+            },
 
-    //点击下载
-    download(key) {
-      console.log(key)
-      window.open("/image-service/common/file_get/" + key + "?systemId=dataPlatform")
-    },
 
-    //删除图片
-    deleteFile(i, key) {
-      this.filesArr.splice(i, 1);
-      this.$emit("change", this.filesArr, this.defined);
-    },
+            //点击下载
+            download(key) {
+                console.log(key)
+                window.open("/image-service/common/file_get/" + key + "?systemId=dataPlatform")
+            },
 
-    //上传
-    uploadAndSubmit(item) {
-      // var form = document.forms["demoForm"];
+            //删除图片
+            deleteFile(i, key) {
+                this.filesArr.splice(i, 1);
+                this.$emit("change", this.filesArr, this.defined);
+            },
 
-      // if (form["file"].files.length > 0) {
-      // 寻找表单域中的 <input type="file" ... /> 标签
-      // var file = form["file"].files[0];
+            //上传
+            uploadAndSubmit(item) {
+                // var form = document.forms["demoForm"];
 
-      let file = item.file;
-      // try sending
-      let reader = new FileReader();
+                // if (form["file"].files.length > 0) {
+                // 寻找表单域中的 <input type="file" ... /> 标签
+                // var file = form["file"].files[0];
 
-      let vm = this;
+                let file = item.file;
+                // try sending
+                let reader = new FileReader();
 
-      let fileType = file.name.split(".");
-      let type = fileType[fileType.length - 1];
-      let key = "&key=" + fileType[0] + file.uid + "." + type
+                let vm = this;
 
-      reader.onloadstart = function () {
-        // 这个事件在读取开始时触发
-      };
-      reader.onprogress = function (p) {
-        // 这个事件在读取进行中定时触发
-      };
+                let fileType = file.name.split(".");
+                let type = fileType[fileType.length - 1];
+                let key = "&key=" + fileType[0] + file.uid + "." + type
 
-      reader.onload = function () {
-        // 这个事件在读取成功结束后触发
-      };
-      reader.onloadend = function () {
-        // 这个事件在读取结束后,无论成功或者失败都会触发
-        if (reader.error) {
-        } else {
-          // document.getElementById("bytesRead").textContent = file.size;
-          // 构造 XMLHttpRequest 对象,发送文件 Binary 数据
-          var xhr = new XMLHttpRequest();
-          xhr.open(
-            /* method */
-            "POST",
-            /* target url */
-            "/image-service/common/file_upload?systemId=dataPlatform&secret=9e0891a7a8c8e885&overwrite=true" + key
-            /*, async, default to true */
-          );
-          //xhr.overrideMimeType("application/octet-stream");
-          xhr.send(reader.result);
-          xhr.onreadystatechange = function () {
-            if (xhr.readyState == 4) {
-              console.log(xhr)
-              if (xhr.status == 200) {
-                vm.filesArr.push(
-                  key.split("=")[1]
-                );
-                console.log(vm.filesArr)
-                vm.$emit("change", vm.filesArr, vm.defined);
-              } else {
-                this.$message.error(res.data.ResultMsg)
-              }
+                reader.onloadstart = function () {
+                    // 这个事件在读取开始时触发
+                };
+                reader.onprogress = function (p) {
+                    // 这个事件在读取进行中定时触发
+                };
+
+                reader.onload = function () {
+                    // 这个事件在读取成功结束后触发
+                };
+                reader.onloadend = function () {
+                    // 这个事件在读取结束后,无论成功或者失败都会触发
+                    if (reader.error) {
+                    } else {
+                        // document.getElementById("bytesRead").textContent = file.size;
+                        // 构造 XMLHttpRequest 对象,发送文件 Binary 数据
+                        var xhr = new XMLHttpRequest();
+                        xhr.open(
+                            /* method */
+                            "POST",
+                            /* target url */
+                            "/image-service/common/file_upload?systemId=dataPlatform&secret=9e0891a7a8c8e885&overwrite=true" + key
+                            /*, async, default to true */
+                        );
+                        //xhr.overrideMimeType("application/octet-stream");
+                        xhr.send(reader.result);
+                        xhr.onreadystatechange = function () {
+                            if (xhr.readyState == 4) {
+                                console.log(xhr)
+                                if (xhr.status == 200) {
+                                    vm.filesArr.push(
+                                        key.split("=")[1]
+                                    );
+                                    vm.$emit("change", vm.filesArr, vm.defined);
+                                } else {
+                                    this.$message.error(res.data.ResultMsg)
+                                }
+                            }
+                        };
+                    }
+                };
+                reader.readAsArrayBuffer(file);
+            }
+        },
+        watch: {
+            keysArr: function (val) {
+                this.fileFalg()
             }
-          };
-        }
-      };
-      reader.readAsArrayBuffer(file);
-    }
-  },
-  watch: {
-    keysArr: function (val) {
-      this.fileFalg()
-    }
   }
 };
 </script>
@@ -204,4 +225,4 @@ export default {
     }
   }
 }
-</style>
+</style>

+ 2 - 2
src/views/data_admin/buildData/index.vue

@@ -1566,7 +1566,7 @@
                     autoColumnSize: true,
                     fixedColumnsLeft: 5,
                     language: "zh-CN",
-                    contextMenu: {
+                    contextMenu: this.onlyRead ? false :{
                         items: {
                             remove_row: {
                                 name: "删除资产"
@@ -1601,7 +1601,7 @@
             },
             afterDocumentKeyDown(e) {
                 //   this.$nextTick(() => {
-                let activeEditer = this.myHotArr[this.tabChecked].getActiveEditor(), td, row, prop, 
+                let activeEditer = this.myHotArr[this.tabChecked].getActiveEditor(), td, row, prop,
                     val = e.realTarget.value,
                     infoArr = ["Brand", "Specification", "Manufacturer", "Supplier", "Maintainer", "Insurer", "SupplierContactor", "SupplierPhone", "SupplierEmail", "SupplierWeb", "SupplierFax", "MaintainerContactor", "MaintainerPhone", "MaintainerEmail", "MaintainerWeb", "MaintainerFax", "InsurerContactor", "InsurerPhone", "InsurerEmail", "InsurerWeb", "InsurerFax"];
                 if(activeEditer){

+ 2 - 2
src/views/ledger/cenotelist/cenoteadd/index.vue

@@ -175,7 +175,7 @@ export default {
         columns: this.formatHeaderType(this.tableHeader),
         rowHeights: 30,
         maxRows: this.tableData.length,
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除竖井"
@@ -313,4 +313,4 @@ export default {
     margin-top: 10px;
   }
 }
-</style>
+</style>

+ 4 - 4
src/views/ledger/cenotelist/index.vue

@@ -128,7 +128,7 @@ export default {
     ]),
     showTypes () {
       return this.onlyRead?
-        [{value: "Visible", label: '只看采集信息'}, {value: "all", label: '全部'}]: 
+        [{value: "Visible", label: '只看采集信息'}, {value: "all", label: '全部'}]:
         [{value: "Visible", label: '只看采集信息'}, {value: "all", label: '全部'}]
     }
   },
@@ -220,7 +220,7 @@ export default {
         param.Content.push(item);
       })
       await updataCenoteTableData(param, (res) => {
-        
+
       })
     },
     // 删除表格数据
@@ -345,7 +345,7 @@ export default {
         columns: this.formatHeaderType(this.tableHeader),
         rowHeights: 30,
         maxRows: this.tableData.length,
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除竖井"
@@ -573,4 +573,4 @@ export default {
 .el-pagination button, .el-pagination span:not([class*=suffix]) {
     vertical-align: middle;
 }
-</style>
+</style>

+ 2 - 2
src/views/ledger/facility/addfacility.vue

@@ -387,7 +387,7 @@ export default {
         columns: this.formatHeaderType(this.tableHeader),
         rowHeights: 30,
         maxRows: this.tableData.length,
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除设备"
@@ -686,4 +686,4 @@ export default {
     margin-top: 10px;
   }
 }
-</style>
+</style>

+ 2 - 2
src/views/ledger/facility/parts/index.vue

@@ -229,7 +229,7 @@ export default {
         columns: this.formatHeaderType(this.tableHeader),
         rowHeights: 30,
         maxRows: this.tableData.length,
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除部件"
@@ -530,4 +530,4 @@ export default {
 .el-pagination span:not([class*="suffix"]) {
   vertical-align: middle;
 }
-</style>
+</style>

+ 3 - 3
src/views/ledger/facility/partsmanage/addparts/index.vue

@@ -235,7 +235,7 @@ export default {
         //     params.PropertyId = res.Id
 
         //   })
-        // } 
+        // }
         // else {
         //   await createPart(params, res => {
         //     if (i == newData.length - 1) {
@@ -316,7 +316,7 @@ export default {
         columns: this.formatHeaderType(this.tableHeader),
         rowHeights: 30,
         maxRows: this.tableData.length,
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除部件"
@@ -599,4 +599,4 @@ export default {
     margin-top: 10px;
   }
 }
-</style>
+</style>

+ 2 - 2
src/views/ledger/facility/partsmanage/index.vue

@@ -406,7 +406,7 @@ export default {
         columns: this.formatHeaderType(this.tableHeader),
         rowHeights: 30,
         maxRows: this.tableData.length,
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除部件"
@@ -759,4 +759,4 @@ export default {
 .el-pagination span:not([class*="suffix"]) {
   vertical-align: middle;
 }
-</style>
+</style>

+ 2 - 2
src/views/ledger/property/addproperty.vue

@@ -252,7 +252,7 @@ export default {
         columns: this.formatHeaderType(this.tableHeader),
         rowHeights: 30,
         maxRows: this.tableData.length,
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除资产"
@@ -512,4 +512,4 @@ export default {
     margin-top: 10px;
   }
 }
-</style>
+</style>

+ 4 - 4
src/views/ledger/rentlist/index.vue

@@ -144,7 +144,7 @@ export default {
     ]),
     showTypes () {
       return this.onlyRead?
-        [{value: "Visible", label: '只看采集信息'}, {value: "all", label: '全部'}]: 
+        [{value: "Visible", label: '只看采集信息'}, {value: "all", label: '全部'}]:
         [{value: "Visible", label: '只看采集信息'}, {value: "all", label: '全部'}]
     }
   },
@@ -238,7 +238,7 @@ export default {
         param.Content.push(item);
       });
       await updataRentTableData(param, (res) => {
-        
+
       })
     },
     //保存元空间关联
@@ -366,7 +366,7 @@ export default {
         columns: this.formatHeaderType(this.tableHeader),
         rowHeights: 30,
         maxRows: this.tableData.length,
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除租户"
@@ -596,4 +596,4 @@ export default {
 .el-pagination button, .el-pagination span:not([class*=suffix]) {
     vertical-align: middle;
 }
-</style>
+</style>

+ 2 - 2
src/views/ledger/rentlist/rentadd/index.vue

@@ -169,7 +169,7 @@ export default {
         columns: this.formatHeaderType(this.tableHeader),
         rowHeights: 30,
         maxRows: this.tableData.length,
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除租户"
@@ -307,4 +307,4 @@ export default {
     margin-top: 10px;
   }
 }
-</style>
+</style>

+ 2 - 2
src/views/ledger/system/addsystem.vue

@@ -263,7 +263,7 @@ export default {
         columns: this.formatHeaderType(this.tableHeader),
         rowHeights: 30,
         maxRows: this.tableData.length,
-        contextMenu: {
+        contextMenu: this.onlyRead ? false :{
           items: {
             remove_row: {
               name: "删除设备"
@@ -490,4 +490,4 @@ export default {
     margin-top: 10px;
   }
 }
-</style>
+</style>

+ 3 - 3
src/views/point/config_point/steps/step1.vue

@@ -345,7 +345,7 @@
                     columns: showTypes(header),
                     rowHeights: 30,
                     maxRows: this.allData.length,
-                    contextMenu: {
+                     contextMenu: {
                         items: {
                             remove_row: {
                                 name: "删除点位"
@@ -451,7 +451,7 @@
                                flag = false
                                return false
                             }
-                          } 
+                          }
                         }
                         if (flag) {
                             this.createList(createList)
@@ -491,7 +491,7 @@
             },
             /**
              * @param {更新list} updateList
-             * 
+             *
              * 更新点位
              */
             update(updateList) {