|
@@ -1,770 +0,0 @@
|
|
-<!--
|
|
|
|
- 上传文件的弹窗
|
|
|
|
--->
|
|
|
|
-
|
|
|
|
-<template>
|
|
|
|
- <div v-show="dialog.addDevice">
|
|
|
|
- <el-dialog
|
|
|
|
- :title="title"
|
|
|
|
- :center="isCenter"
|
|
|
|
- :visible.sync="dialog.addDevice"
|
|
|
|
- :width="width"
|
|
|
|
- :fullscreen="isFull"
|
|
|
|
- >
|
|
|
|
- <div id="addDevice">
|
|
|
|
- <div v-show="!isCenter">
|
|
|
|
- <my-cascader @change="changeCader"></my-cascader>
|
|
|
|
- </div>
|
|
|
|
- <div v-if="isCenter">
|
|
|
|
- <div>
|
|
|
|
- <div class="hanson-bar" style="overflow:hidden;">
|
|
|
|
- <el-button
|
|
|
|
- style="float:right;"
|
|
|
|
- size="small"
|
|
|
|
- @click="undo"
|
|
|
|
- icon="iconfont icon-undo"
|
|
|
|
- >撤销</el-button>
|
|
|
|
- <el-button
|
|
|
|
- style="float:right;"
|
|
|
|
- size="small"
|
|
|
|
- @click="reset"
|
|
|
|
- icon="iconfont icon-shuaxin"
|
|
|
|
- >刷新</el-button>
|
|
|
|
- <el-button style="float:right;" size="small" @click="addMain">增加</el-button>
|
|
|
|
- <el-input
|
|
|
|
- v-model="addNum"
|
|
|
|
- placeholder="增加个数"
|
|
|
|
- style="width:50px;float:right;"
|
|
|
|
- size="small"
|
|
|
|
- ></el-input>
|
|
|
|
- </div>
|
|
|
|
- <div v-show="main && main.length" id="myHandson" ref="myHandson"></div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
|
- <el-button type="primary" @click="addSpace">添加业务空间</el-button>
|
|
|
|
- </span>
|
|
|
|
- </el-dialog>
|
|
|
|
- <qrcode :dialog="myDialog" :addBody="true" ref="qrcode"></qrcode>
|
|
|
|
- <firm ref="firm" :dialog="myDialog"></firm>
|
|
|
|
- <supply-dialog ref="supply" :dialog="myDialog"></supply-dialog>
|
|
|
|
- <supplier-dialog ref="supplier" @changeSupplier="supplierChange" :dialog="myDialog"></supplier-dialog>
|
|
|
|
- <guarantee-dialog ref="guarantee" :dialog="myDialog"></guarantee-dialog>
|
|
|
|
- <upload-files-dialog
|
|
|
|
- ref="upload"
|
|
|
|
- @changeFile="fileChange"
|
|
|
|
- :keysArr="filesArr"
|
|
|
|
- :dialog="myDialog"
|
|
|
|
- ></upload-files-dialog>
|
|
|
|
- <upload-img-dialog @changeFile="imgChange" :keysArr="imgsArr" :dialog="myDialog"></upload-img-dialog>
|
|
|
|
- <maintainer-dialog @changeMaintainer="changeMaintainer" ref="maintainer" :dialog="myDialog"></maintainer-dialog>
|
|
|
|
- <insurer-dialog @changeInsurer="changeInsurer" ref="insurer" :dialog="myDialog"></insurer-dialog>
|
|
|
|
- <pic-dialog :dialog="myDialog" :keysArr="picsArr" @change="changePics"></pic-dialog>
|
|
|
|
- </div>
|
|
|
|
-</template>
|
|
|
|
-<script>
|
|
|
|
-
|
|
|
|
-import myCascader from "@/components/business_space/lib/cascaders/assets";
|
|
|
|
-// import hansonTable from "@/components/business_space/dialogHanson/addDevice";
|
|
|
|
-import { getSpaceHeader } from "@/api/scan/request";
|
|
|
|
-import { mapGetters, mapActions } from "vuex";
|
|
|
|
-import tools from "@/utils/tools";
|
|
|
|
-import qrcode from "@/components/business_space/lib/qrcode";
|
|
|
|
-import firm from "@/components/business_space/dialogs/list/firm";
|
|
|
|
-import supplyDialog from "@/components/business_space/dialogs/list/supplyDialog";
|
|
|
|
-import supplierDialog from "@/components/business_space/dialogs/list/supplierDialog";
|
|
|
|
-import maintainerDialog from "@/components/business_space/dialogs/list/maintainerDialog";
|
|
|
|
-import insurerDialog from "@/components/business_space/dialogs/list/insurerDialog";
|
|
|
|
-import guaranteeDialog from "@/components/business_space/dialogs/list/guaranteeDialog";
|
|
|
|
-import uploadFilesDialog from "@/components/business_space/dialogs/list/filesDialog";
|
|
|
|
-import uploadImgDialog from "@/components/business_space/dialogs/list/uploadImgDialog";
|
|
|
|
-import picDialog from "@/components/business_space/dialogs/list/picDialog"
|
|
|
|
-
|
|
|
|
-let table = function (num) {
|
|
|
|
- let main = []
|
|
|
|
- for (let i = 0; i < num; i++) {
|
|
|
|
- main.push({})
|
|
|
|
- }
|
|
|
|
- return main
|
|
|
|
-}
|
|
|
|
-export default {
|
|
|
|
- components: {
|
|
|
|
- myCascader,
|
|
|
|
- // hansonTable,
|
|
|
|
- qrcode, //二维码页面
|
|
|
|
- firm, //
|
|
|
|
- supplyDialog,
|
|
|
|
- supplierDialog,
|
|
|
|
- guaranteeDialog,
|
|
|
|
- uploadFilesDialog,
|
|
|
|
- maintainerDialog,
|
|
|
|
- insurerDialog,
|
|
|
|
- uploadImgDialog,
|
|
|
|
- picDialog
|
|
|
|
- },
|
|
|
|
- props: {
|
|
|
|
- dialog: {
|
|
|
|
- type: Object,
|
|
|
|
- default: function () {
|
|
|
|
- return {
|
|
|
|
- addDevice: false
|
|
|
|
- };
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- headerData: {
|
|
|
|
- type: Array,
|
|
|
|
- default: function () {
|
|
|
|
- return []
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- computed: {
|
|
|
|
- ...mapGetters("layout", ["projectId", "secret", "userId"]),
|
|
|
|
- },
|
|
|
|
- data() {
|
|
|
|
- return {
|
|
|
|
- width: "30%",
|
|
|
|
- isFull: true,//dialog是否为全屏
|
|
|
|
- title: "添加业务空间",
|
|
|
|
- isCenter: true,
|
|
|
|
- deviceType: {},
|
|
|
|
- main: table(10),
|
|
|
|
- mess: {},
|
|
|
|
- headers: null,
|
|
|
|
- page: {
|
|
|
|
- size: 50,
|
|
|
|
- sizes: [10, 30, 50, 100, 150, 200],
|
|
|
|
- total: 400,
|
|
|
|
- currentPage: 1
|
|
|
|
- },
|
|
|
|
- id: null,
|
|
|
|
- myDialog: {
|
|
|
|
- qrcode: false, //二维码弹窗
|
|
|
|
- firm: false, //厂商弹窗
|
|
|
|
- supply: false, //选择供应合同
|
|
|
|
- supplier: false, //供应商选择
|
|
|
|
- guarantee: false, //选择保单
|
|
|
|
- maintainer: false, //选择维修商
|
|
|
|
- insurer: false, //选择保险公司
|
|
|
|
- uploadFiles: false,//上传文件
|
|
|
|
- uploadImgs: false,//上传单个图片
|
|
|
|
- pic: false, //多个图片
|
|
|
|
- },
|
|
|
|
- addNum: 1,//增加个数
|
|
|
|
- row: null,//被修改的row
|
|
|
|
- filesArr: [],//保存临时的文件key
|
|
|
|
- messKey: null,
|
|
|
|
- imgsArr: [],//临时保存的图片key数组
|
|
|
|
- picsArr: [],//临时设备图片keys数组
|
|
|
|
- };
|
|
|
|
- },
|
|
|
|
- created() {
|
|
|
|
-
|
|
|
|
- },
|
|
|
|
- mounted() {
|
|
|
|
- },
|
|
|
|
- methods: {
|
|
|
|
- //增加个数
|
|
|
|
- addMain() {
|
|
|
|
- for (let i = 0; i < this.addNum; i++) {
|
|
|
|
- this.main.push({})
|
|
|
|
- }
|
|
|
|
- this.hot.loadData(this.main)
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- //添加业务空间确定
|
|
|
|
- addSpace() {
|
|
|
|
- console.log(this.main)
|
|
|
|
- let pushData = []
|
|
|
|
- this.main.map(item => {
|
|
|
|
- if (!!item.infos) {
|
|
|
|
- for (let key in item.infos) {
|
|
|
|
- if (!!item.infos[key]) {
|
|
|
|
- pushData.push(item)
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- console.log(pushData)
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- //下一步
|
|
|
|
- // step(val) {
|
|
|
|
- // if (!!val) {
|
|
|
|
- // this.isFull = true
|
|
|
|
- // this.isCenter = true
|
|
|
|
- // this.title = "添加资产"
|
|
|
|
- // this.getData()
|
|
|
|
- // } else {
|
|
|
|
- // this.isFull = false
|
|
|
|
- // this.isCenter = false
|
|
|
|
- // }
|
|
|
|
- // },
|
|
|
|
- //修改设备类型
|
|
|
|
- changeCader(val) {
|
|
|
|
- this.deviceType = val
|
|
|
|
- },
|
|
|
|
- //获取header的mess
|
|
|
|
- getHeader(mess) {
|
|
|
|
- this.mess = mess;
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- //获取主体内容
|
|
|
|
- // getMain(floorMess) {
|
|
|
|
- // console.log(floorMess);
|
|
|
|
- // },
|
|
|
|
-
|
|
|
|
- //获取表头
|
|
|
|
- getData() {
|
|
|
|
- this.main = table(10)
|
|
|
|
- getSpaceHeader({
|
|
|
|
- code: "space",
|
|
|
|
- ProjId: this.projectId
|
|
|
|
- }).then(res => {
|
|
|
|
- this.headers = res.data.Content;
|
|
|
|
- if (!!this.hot) {
|
|
|
|
- this.hot.destroy();
|
|
|
|
- this.hot = null;
|
|
|
|
- }
|
|
|
|
- let data = tools.getItem(this.deviceType.code)
|
|
|
|
- if (!!data) {
|
|
|
|
- this.main = data
|
|
|
|
- }
|
|
|
|
- this.initHot();
|
|
|
|
- });
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- //撤回
|
|
|
|
- undo() {
|
|
|
|
- this.hot.undo();
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- //刷新
|
|
|
|
- reset() {
|
|
|
|
- this.getData();
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- //添加设备
|
|
|
|
- addDevice() {
|
|
|
|
- console.log("addDevice")
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 表头文案处理函数
|
|
|
|
- * @param arr header数组数据
|
|
|
|
- *
|
|
|
|
- * @return 处理好的文案
|
|
|
|
- */
|
|
|
|
- delHeader(arr) {
|
|
|
|
- let data = arr.map(item => {
|
|
|
|
- if (
|
|
|
|
- item.InputMode == "A1" ||
|
|
|
|
- item.InputMode == "A2" ||
|
|
|
|
- item.InputMode == "B1" ||
|
|
|
|
- item.InputMode == "C5" ||
|
|
|
|
- item.InputMode == "D1" ||
|
|
|
|
- item.InputMode == "D2" ||
|
|
|
|
- item.InputMode == "X" ||
|
|
|
|
- item.InputMode == "L" ||
|
|
|
|
- item.InputMode == "L1" ||
|
|
|
|
- item.InputMode == "L2" ||
|
|
|
|
- item.InputMode == "F1" ||
|
|
|
|
- item.InputMode == "F2"
|
|
|
|
- ) {
|
|
|
|
- if (item.unit == "") {
|
|
|
|
- return item.InfoPointName;
|
|
|
|
- } else {
|
|
|
|
- return item.InfoPointName + "(" + item.unit + ")";
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- return undefined;
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- data = data.filter(item => item);
|
|
|
|
- // data.unshift("同时创建资产", "所属建筑楼层", "所属系统实例");
|
|
|
|
- return data;
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 表头数据处理函数
|
|
|
|
- * @param arr header数组数据
|
|
|
|
- *
|
|
|
|
- * @return 处理好的数据格式
|
|
|
|
- */
|
|
|
|
- getType(arr) {
|
|
|
|
- let data = arr.map(item => {
|
|
|
|
- //二维码
|
|
|
|
- if (item.infoPointCode == "EquipQRCode") {
|
|
|
|
- return {
|
|
|
|
- data: "infos." + item.infoPointCode,
|
|
|
|
- renderer: tools.lookDetails,
|
|
|
|
- readOnly: true
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- //厂商选择
|
|
|
|
- if (item.infoPointCode == "Brand" || item.infoPointCode == "Specification") {
|
|
|
|
- return {
|
|
|
|
- data: "infos." + item.infoPointCode,
|
|
|
|
- renderer: tools.lookDetails,
|
|
|
|
- readOnly: true
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (item.infoPointCode == "SupplierContractID") {
|
|
|
|
- return {
|
|
|
|
- data: "infos." + item.infoPointCode,
|
|
|
|
- renderer: tools.lookDetails,
|
|
|
|
- readOnly: true
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (item.infoPointCode == "InsuranceNum") {
|
|
|
|
- //选择保单
|
|
|
|
- return {
|
|
|
|
- data: "infos." + item.infoPointCode,
|
|
|
|
- renderer: tools.lookDetails,
|
|
|
|
- readOnly: true
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (item.infoPointCode == "InsuranceFile" || item.infoPointCode == "Archive") {
|
|
|
|
- return {
|
|
|
|
- data: "infos." + item.infoPointCode,
|
|
|
|
- renderer: tools.lookDetails,
|
|
|
|
- readOnly: true
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (
|
|
|
|
- item.infoPointCode == "InstallLocation" ||
|
|
|
|
- item.infoPointCode == "InstallPic" ||
|
|
|
|
- item.infoPointCode == "InstallDrawing" ||
|
|
|
|
- item.infoPointCode == "Nameplate" ||
|
|
|
|
- item.infoPointCode == "Pic" ||
|
|
|
|
- item.infoPointCode == "Drawing"
|
|
|
|
- ) {
|
|
|
|
- return {
|
|
|
|
- data: "infos." + item.infoPointCode,
|
|
|
|
- renderer: tools.lookDetails,
|
|
|
|
- readOnly: true
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (
|
|
|
|
- item.infoPointCode == "Maintainer" ||
|
|
|
|
- item.infoPointCode == "Supplier" ||
|
|
|
|
- item.infoPointCode == "Insurer" ||
|
|
|
|
- item.infoPointCode == "InsurerContactor"
|
|
|
|
- ) {
|
|
|
|
- return {
|
|
|
|
- data: "infos." + item.infoPointCode,
|
|
|
|
- renderer: tools.lookDetails,
|
|
|
|
- readOnly: true
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (item.InputMode == "D1") {
|
|
|
|
- return {
|
|
|
|
- data: "infos." + item.infoPointCode,
|
|
|
|
- renderer: tools.customDropdownRenderer,
|
|
|
|
- editor: "chosen",
|
|
|
|
- chosenOptions: {
|
|
|
|
- // multiple: true,//多选
|
|
|
|
- data: item.DataSource || ""
|
|
|
|
- }
|
|
|
|
- };
|
|
|
|
- } else if (item.InputMode == "A1" || item.InputMode == "A2") {
|
|
|
|
- return {
|
|
|
|
- data: "infos." + item.infoPointCode,
|
|
|
|
- type: "numeric",
|
|
|
|
- numericFormat: {
|
|
|
|
- pattern: "0,0.00"
|
|
|
|
- // culture: 'de-DE' // use this for EUR (German),
|
|
|
|
- // more cultures available on http://numbrojs.com/languages.html
|
|
|
|
- }
|
|
|
|
- };
|
|
|
|
- } else if (item.InputMode == "C5") {
|
|
|
|
- return {
|
|
|
|
- data: "infos." + item.infoPointCode,
|
|
|
|
- type: "date",
|
|
|
|
- dateFormat: "YYYY-MM-DD",
|
|
|
|
- correctFormat: true
|
|
|
|
- };
|
|
|
|
- } else if (
|
|
|
|
- item.InputMode == "B1" ||
|
|
|
|
- item.InputMode == "L" ||
|
|
|
|
- item.InputMode == "L1" ||
|
|
|
|
- item.InputMode == "L2"
|
|
|
|
- ) {
|
|
|
|
- return {
|
|
|
|
- data: "infos." + item.infoPointCode
|
|
|
|
- };
|
|
|
|
- } else if (
|
|
|
|
- item.InputMode == "X" ||
|
|
|
|
- item.InputMode == "F2"
|
|
|
|
- // item.InputMode == "L1" ||
|
|
|
|
- // item.InputMode == "L2"
|
|
|
|
- ) {
|
|
|
|
- return {
|
|
|
|
- data: "infos." + item.infoPointCode,
|
|
|
|
- readOnly: true
|
|
|
|
- };
|
|
|
|
- } else if (item.InputMode == "D2") {
|
|
|
|
- return {
|
|
|
|
- data: "infos." + item.infoPointCode,
|
|
|
|
- renderer: tools.customDropdownRenderer,
|
|
|
|
- editor: "chosen",
|
|
|
|
- chosenOptions: {
|
|
|
|
- multiple: true, //多选
|
|
|
|
- data: item.DataSource.Content || ""
|
|
|
|
- }
|
|
|
|
- };
|
|
|
|
- } else {
|
|
|
|
- return undefined;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- });
|
|
|
|
- // data.unshift(
|
|
|
|
- // {
|
|
|
|
- // type: "checkbox",
|
|
|
|
- // checkedTemplate: 1,
|
|
|
|
- // uncheckedTemplate: 0,
|
|
|
|
- // data: "Checked",
|
|
|
|
- // label: {
|
|
|
|
- // position: "after",
|
|
|
|
- // }
|
|
|
|
- // },
|
|
|
|
- // {
|
|
|
|
- // data: "flowBuild",
|
|
|
|
- // renderer: tools.customDropdownRenderer,
|
|
|
|
- // editor: "chosen",
|
|
|
|
- // chosenOptions: {
|
|
|
|
- // // multiple: true,//多选
|
|
|
|
- // // data: item.DataSource.Content || ""
|
|
|
|
- // }
|
|
|
|
- // },
|
|
|
|
- // {
|
|
|
|
- // data: "system",
|
|
|
|
- // renderer: tools.customDropdownRenderer,
|
|
|
|
- // editor: "chosen",
|
|
|
|
- // chosenOptions: {
|
|
|
|
- // // multiple: true,//多选
|
|
|
|
- // // data: item.DataSource.Content || ""
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
- // );
|
|
|
|
- data = data.filter(item => item);
|
|
|
|
- return data;
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- //初始化插件
|
|
|
|
- initHot() {
|
|
|
|
- var container = document.getElementById("myHandson");
|
|
|
|
- let winHeight = document.documentElement.clientHeight;
|
|
|
|
- this.hot = new Handsontable(container, {
|
|
|
|
- data: this.main,
|
|
|
|
- colHeaders: this.delHeader(this.headers), //表头文案
|
|
|
|
- columns: this.getType(this.headers), //数据显示格式
|
|
|
|
- filters: true,
|
|
|
|
- height: winHeight - 100 - 50 - 60,
|
|
|
|
- columnSorting: true, //添加排序
|
|
|
|
- sortIndicator: true, //添加排序
|
|
|
|
- renderAllRows: true,
|
|
|
|
- autoColumnSize: true,
|
|
|
|
- language: "zh-CN",
|
|
|
|
- manualColumnResize: true,
|
|
|
|
- manualColumnMove: true,
|
|
|
|
- dropdownMenu: [
|
|
|
|
- "filter_by_condition",
|
|
|
|
- "filter_by_value",
|
|
|
|
- "filter_action_bar"
|
|
|
|
- ],
|
|
|
|
- contextMenu: this.onlyRead ? false :{
|
|
|
|
- items: {
|
|
|
|
- remove_row: {
|
|
|
|
- name: "删除该业务空间"
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- filters: true,
|
|
|
|
- afterFilter: this.trimmedRows,
|
|
|
|
- // 事件
|
|
|
|
- afterChange: this.tdChange, //修改后
|
|
|
|
- afterFilter: this.trimmedRows, //排序前
|
|
|
|
- beforeRemoveRow: this.romoveFm, //右键删除
|
|
|
|
- afterOnCellMouseDown: this.eventClick //鼠标点击
|
|
|
|
- });
|
|
|
|
- let pro = document.getElementById("hot-display-license-info");
|
|
|
|
- if (!!pro) {
|
|
|
|
- pro.parentNode.removeChild(pro);
|
|
|
|
- }
|
|
|
|
- this.isLoading = false;
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- tdChange() {
|
|
|
|
- tools.setItem(this.deviceType.code, this.main)
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- //表格中的点击
|
|
|
|
- eventClick(el, rowArr) {
|
|
|
|
- console.log(rowArr)
|
|
|
|
- //点击的是表头
|
|
|
|
- if (rowArr.row < 0) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- let filter = this.filtersArr;
|
|
|
|
- //被筛选过后的数组
|
|
|
|
- let trimmedArr = this.trimmedRows();
|
|
|
|
- //是否启用了排序
|
|
|
|
- let isSort = this.hot.getPlugin("columnSorting").isSorted();
|
|
|
|
- if (trimmedArr.length && isSort) {
|
|
|
|
- let sortArr = this.myHotArr.getPlugin("columnSorting").rowsMapper
|
|
|
|
- .__arrayMap;
|
|
|
|
- let infos = this.main[trimmedArr[sortArr[rowArr.row]]];
|
|
|
|
- this.getInfors(infos, sortArr[rowArr.row]);
|
|
|
|
- } else if (isSort) {
|
|
|
|
- //排序后的数组
|
|
|
|
- let sortArr = this.hot.getPlugin("columnSorting").rowsMapper.__arrayMap;
|
|
|
|
- let infos = this.main[sortArr[rowArr.row]];
|
|
|
|
- this.getInfors(infos, sortArr[rowArr.row]);
|
|
|
|
- } else if (trimmedArr.length) {
|
|
|
|
- let infos = this.main[trimmedArr[rowArr.row]];
|
|
|
|
- this.getInfors(infos, trimmedArr[rowArr.row]);
|
|
|
|
- } else {
|
|
|
|
- let infos = this.main[rowArr.row];
|
|
|
|
- this.getInfors(infos, rowArr);
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- getInfors(infos, row) {
|
|
|
|
- //其他的开始判断
|
|
|
|
- let val = this.hot.colToProp(row.col);
|
|
|
|
- if (val == "infos.EquipQRCode") {
|
|
|
|
- this.myDialog.qrcode = true;
|
|
|
|
- this.$refs.qrcode.getCanvas(1111);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (val == "infos.Brand" || val == "infos.Specification") {
|
|
|
|
- this.myDialog.firm = true;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (val == "infos.SupplierContractID") {
|
|
|
|
- let falg = null
|
|
|
|
- if (!!this.main[row.row].infos) {
|
|
|
|
- if (!!this.main[row.row].infos) {
|
|
|
|
- falg = this.main[row.row].infos.dpSupplierId
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (!!falg) {
|
|
|
|
- this.id = falg
|
|
|
|
- this.myDialog.supply = true;
|
|
|
|
- } else {
|
|
|
|
- this.$message("请先选择供应商")
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (val == "infos.InsuranceNum") {
|
|
|
|
- //选择保单
|
|
|
|
- this.myDialog.guarantee = true;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (val == "infos.InsuranceFile" || val == "infos.Archive") {
|
|
|
|
- this.filesArr = this.main[row.row].infos ? (this.main[row.row].infos[val.split(".")[1]] ? [this.main[row.row].infos[val.split(".")[1]]] : []) : []
|
|
|
|
- this.myDialog.uploadFiles = true
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (
|
|
|
|
- val == "infos.InstallLocation" ||
|
|
|
|
- val == "infos.InstallPic" ||
|
|
|
|
- val == "infos.InstallDrawing" ||
|
|
|
|
- val == "infos.Nameplate" ||
|
|
|
|
- val == "infos.Drawing"
|
|
|
|
- ) {
|
|
|
|
- if (val == "infos.Nameplate") {
|
|
|
|
- this.imgsArr = this.main[row.row].infos ? (this.main[row.row].infos[val.split(".")[1]] ? [this.main[row.row].infos[val.split(".")[1]].key] : []) : []
|
|
|
|
- } else {
|
|
|
|
- this.imgsArr = this.main[row.row].infos ? (this.main[row.row].infos[val.split(".")[1]] ? [this.main[row.row].infos[val.split(".")[1]]] : []) : []
|
|
|
|
- }
|
|
|
|
- this.myDialog.uploadImgs = true
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (val == "infos.Pic") {
|
|
|
|
- // console.log(this.main[row.row].infos[val.split(".")[1]], "this.main[row.row].infos[val.split")
|
|
|
|
- this.picsArr = this.main[row.row].infos ? (this.main[row.row].infos[val.split(".")[1]] ? this.main[row.row].infos[val.split(".")[1]] : []) : []
|
|
|
|
- console.log(this.picsArr)
|
|
|
|
- this.myDialog.pic = true
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (
|
|
|
|
- val == "infos.Supplier"
|
|
|
|
- ) {
|
|
|
|
- this.myDialog.supplier = true;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (val == "infos.Maintainer") {
|
|
|
|
- this.myDialog.maintainer = true;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (
|
|
|
|
- val == "infos.Insurer" ||
|
|
|
|
- val == "infos.InsurerContactor") {
|
|
|
|
- this.myDialog.insurer = true;
|
|
|
|
- }
|
|
|
|
- this.row = row.row
|
|
|
|
- this.messKey = val
|
|
|
|
- console.log(val, row);
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- //获取被筛选掉的行号
|
|
|
|
- trimmedRows() {
|
|
|
|
- // var plugin = hot.getPlugin('trimRows').trimmedRows;//获取被筛选掉的行号
|
|
|
|
- var plugin = this.hot.getPlugin("trimRows").trimmedRows;
|
|
|
|
- let dataLength = this.main.length;
|
|
|
|
- let dataArr = new Array();
|
|
|
|
- for (let i = 0; i < dataLength; i++) {
|
|
|
|
- dataArr.push(i);
|
|
|
|
- }
|
|
|
|
- if (plugin.length <= 0) {
|
|
|
|
- dataArr = undefined;
|
|
|
|
- } else {
|
|
|
|
- dataArr = this.array_diff(dataArr, plugin);
|
|
|
|
- }
|
|
|
|
- return dataArr || [];
|
|
|
|
- // var DataArray = new Array();
|
|
|
|
-
|
|
|
|
- // for (var i = 0; i < plugin.length; i++) {
|
|
|
|
- // // 通过行号获取数据
|
|
|
|
- // DataArray.push(this.hot.getSourceDataAtRow(plugin[i]));
|
|
|
|
- // }
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- //判断是否为空行
|
|
|
|
- isEmptyRow(instance, row) {
|
|
|
|
- var rowData = instance.countRows();
|
|
|
|
- for (var i = 0, ilen = rowData.length; i < ilen; i++) {
|
|
|
|
- if (rowData[i] !== null) {
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- return true;
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- //如果选择供应商之后
|
|
|
|
- supplierChange(data) {
|
|
|
|
- console.log(data, "供应商")
|
|
|
|
- for (let key in data) {
|
|
|
|
- this.utilToKey(key, "name", data, "Supplier")
|
|
|
|
- this.utilToKey(key, "email", data, "SupplierEmail")
|
|
|
|
- this.utilToKey(key, "website", data, "SupplierWeb")
|
|
|
|
- this.utilToKey(key, "phone", data, "SupplierPhone")
|
|
|
|
- this.utilToKey(key, "fox", data, "SupplierFax")
|
|
|
|
- this.utilToKey(key, "man", data, "SupplierContactor")
|
|
|
|
- this.utilToKey(key, "venderId", data, "dpSupplierId")
|
|
|
|
- }
|
|
|
|
- tools.setItem(this.deviceType.code, this.main)
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- //保险商变更
|
|
|
|
- changeInsurer(data) {
|
|
|
|
- console.log(data, "保险商")
|
|
|
|
- for (let key in data) {
|
|
|
|
- this.utilToKey(key, "name", data, "Insurer")
|
|
|
|
- this.utilToKey(key, "email", data, "InsurerEmail")
|
|
|
|
- this.utilToKey(key, "website", data, "InsurerWeb")
|
|
|
|
- this.utilToKey(key, "phone", data, "InsurerFax")
|
|
|
|
- this.utilToKey(key, "man", data, "InsurerContactor")
|
|
|
|
- this.utilToKey(key, "venderId", data, "dpInsurerId")
|
|
|
|
- }
|
|
|
|
- tools.setItem(this.deviceType.code, this.main)
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- //维修商变更
|
|
|
|
- changeMaintainer(data) {
|
|
|
|
- for (let key in data) {
|
|
|
|
- this.utilToKey(key, "name", data, "Maintainer")
|
|
|
|
- this.utilToKey(key, "email", data, "MaintainerEmail")
|
|
|
|
- this.utilToKey(key, "website", data, "MaintainerWeb")
|
|
|
|
- this.utilToKey(key, "phone", data, "MaintainerPhone")
|
|
|
|
- this.utilToKey(key, "fox", data, "MaintainerFax")
|
|
|
|
- this.utilToKey(key, "man", data, "MaintainerContactor")
|
|
|
|
- this.utilToKey(key, "venderId", data, "dpMaintainerId")
|
|
|
|
- }
|
|
|
|
- tools.setItem(this.deviceType.code, this.main)
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- utilToKey(key, name, data, messName) {
|
|
|
|
- if (key == name) {
|
|
|
|
- this.setDataToMain(data[key], messName, this.row)
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- //上传文件弹窗触发事件
|
|
|
|
- fileChange(keys) {
|
|
|
|
- this.setDataToMain(keys[0], this.messKey.split(".")[1], this.row)
|
|
|
|
- tools.setItem(this.deviceType.code, this.main)
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- //上传图片弹窗触发事件
|
|
|
|
- imgChange(keys) {
|
|
|
|
- this.setDataToMain(keys[0], this.messKey.split(".")[1], this.row)
|
|
|
|
- tools.setItem(this.deviceType.code, this.main)
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- //设备图片弹窗改变事件
|
|
|
|
- changePics(keys) {
|
|
|
|
- this.setDataToMain(keys, this.messKey.split(".")[1], this.row)
|
|
|
|
- tools.setItem(this.deviceType.code, this.main)
|
|
|
|
- console.log("assets", keys)
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- //判断是否有值,有值赋值
|
|
|
|
- setDataToMain(data, key, row) {
|
|
|
|
- if (!!data && data != '--') {
|
|
|
|
- if (!!this.main[row].infos) {
|
|
|
|
- //铭牌照片特殊处理
|
|
|
|
- if (key == 'Nameplate') {
|
|
|
|
- this.main[row].infos[key] = {
|
|
|
|
- "systemId": "dataPlatform",
|
|
|
|
- "name": "铭牌照片",
|
|
|
|
- "type": "image",
|
|
|
|
- "key": data
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- this.main[row].infos[key] = data
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- this.main[row].infos = {}
|
|
|
|
- if (key == 'Nameplate') {
|
|
|
|
- this.main[row].infos[key] = {
|
|
|
|
- "systemId": "dataPlatform",
|
|
|
|
- "name": "铭牌照片",
|
|
|
|
- "type": "image",
|
|
|
|
- "key": data
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- this.main[row].infos[key] = data
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- this.main[row].infos[key] = ''
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- watch: {
|
|
|
|
- dialog: {
|
|
|
|
- deep: true,
|
|
|
|
- handler(newName, oldName) {
|
|
|
|
- // this.getData()
|
|
|
|
- console.log(this.dialog)
|
|
|
|
- if (this.dialog.addDevice) {
|
|
|
|
- this.getData()
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-};
|
|
|
|
-</script>
|
|
|
|
-<style lang="less" scoped>
|
|
|
|
-#addDevice {
|
|
|
|
- overflow: hidden;
|
|
|
|
-}
|
|
|
|
-</style>
|
|
|