Parcourir la source

Merge branch 'develop' of http://39.106.8.246:3003/web/wanda-bm-guide into develop

unknown il y a 4 ans
Parent
commit
ea0220ec6b
36 fichiers modifiés avec 513 ajouts et 379 suppressions
  1. 2 2
      src/api/legendLibrary.js
  2. 5 0
      src/assets/css/rotation.css
  3. 5 0
      src/assets/css/rotation.less
  4. 15 10
      src/components/Legend/src/legend.vue
  5. 15 9
      src/components/PicLarge/src/picLarge.vue
  6. 1 0
      src/components/floorMap/index.vue
  7. 1 1
      src/components/menuList.vue
  8. 2 4
      src/lib/FloorView.js
  9. 46 83
      src/lib/GraphView.js
  10. 11 49
      src/main.js
  11. 4 5
      src/main.ts
  12. 3 1
      src/store/index.js
  13. 22 0
      src/utils/helper.js
  14. 53 2
      src/views/equipment/eqDialog.vue
  15. 1 1
      src/views/equipment/index.vue
  16. 2 0
      src/views/equipment/table/djspTable.vue
  17. 3 1
      src/views/equipment/table/eqDetaileDialog.vue
  18. 11 1
      src/views/equipment/table/eqListTable.vue
  19. 11 3
      src/views/equipment/table/inputDIalog.vue
  20. 1 0
      src/views/equipment/table/lookPageTable.vue
  21. 3 2
      src/views/equipment/table/otherTable.vue
  22. 55 40
      src/views/equipment/table/recordDialog.vue
  23. 11 1
      src/views/equipment/table/standTable.vue
  24. 0 71
      src/views/equipment/table/tjBuildTable.vue
  25. 10 2
      src/views/equipment/table/tjTable.vue
  26. 23 3
      src/views/equipment/table/wbTable.vue
  27. 22 3
      src/views/equipment/table/wxTable.vue
  28. 1 0
      src/views/equipment/table/zwTable.vue
  29. 70 47
      src/views/legendLibrary/addForm.vue
  30. 8 4
      src/views/legendLibrary/addLegend.vue
  31. 39 15
      src/views/legendLibrary/index.vue
  32. 4 3
      src/views/other/index.vue
  33. 6 1
      src/views/overview/index.vue
  34. 4 7
      src/views/room/index.vue
  35. 25 3
      src/views/room/room5.vue
  36. 18 5
      tsconfig.json

+ 2 - 2
src/api/legendLibrary.js

@@ -69,9 +69,9 @@ export function queryTypeId({
 }
 // 搜索图铺位可视化类型信息
 export function getVisualization({
-    postParams
+    getParams
 }) {
-    return httputils.postJson(`/serve/topology-wanda/graphElement/type/search`, postParams)
+    return httputils.getJson(`/serve/topology-wanda/graphElement/type/search`, getParams)
 
 }
 // 图例分层展示 

+ 5 - 0
src/assets/css/rotation.css

@@ -122,6 +122,11 @@
   line-height: 21px;
   margin-bottom: 8px;
 }
+.overview .view-box .view-left .lb-bottom .place-p1 img {
+  width: 16px;
+  height: 16px;
+  margin-right: 3px;
+}
 .overview .view-box .view-left .lb-bottom .place-p2 {
   margin: 16px 0;
   height: 22px;

+ 5 - 0
src/assets/css/rotation.less

@@ -117,6 +117,11 @@
                     color: rgba(31, 36, 41, 1);
                     line-height: 21px;
                     margin-bottom: 8px;
+                    img {
+                        width: 16px;
+                        height: 16px;
+                        margin-right: 3px;
+                    }
                 }
                 .place-p2 {
                     margin: 16px 0;

+ 15 - 10
src/components/Legend/src/legend.vue

@@ -102,28 +102,32 @@ export default {
         queryMarks() {
             let params = {
                 postParams: {
-                    graphId: '1',
+                    categoryId: 'NTXT',
                     projectId: '1'
                 }
             }
             queryRead(params).then(res => {
                 console.log('备注', res.data.Data[0].Note)
-                // 打开底图备注编辑重新查询
-                // 有备注->判断底图->判断要展示的文字是否备注中的吻合->加/不加
-                // 无备注->判断平面图->是否展示默认文案
                 if (res.data.Data[0].Note) {
                     let note = res.data.Data[0].Note
-                    if (note.search(this.text1) != 1) {
+                    if (note.search(this.text1) != -1 && note.search(this.text2) != -1) {
                         this.remarksText = `${note}`
-                    } else {
+                    } else if (note.search(this.text1) != -1) {
+                        this.remarksText = `${this.text2}${note}`
+                    } else if (note.search(this.text2) != -1) {
                         this.remarksText = `${this.text1}${note}`
-                    }
-                    if (note.search(this.text2) != -1) {
-                        this.remarksText = `${note}`
                     } else {
-                        this.remarksText = `${this.text2}${note}`
+                        this.remarksText = `${this.text1}${this.text2}${note}`
                     }
+                    // if (note.search(this.text2) != -1) {
+                    //     this.remarksText = `${note}`
+                    // } else {
+                    //     this.remarksText = `${this.text2}${note}`
+                    // }
+                } else {
+                    this.remarksText = `${this.text1}${this.text2}`
                 }
+                console.log(this.remarksText)
             })
         },
         dump() {},
@@ -175,6 +179,7 @@ export default {
                     }
                 })
             })
+            this.queryMarks()
         },
         // 查询编辑状态图例
         queryEditNum(flag) {

+ 15 - 9
src/components/PicLarge/src/picLarge.vue

@@ -4,7 +4,7 @@
 *@info:大图预览
 */
 <template>
-    <el-dialog title='图片预览' width='1080px' :visible.sync='dialogVisible' :close-on-click-modal='false'>
+    <el-dialog title='图片预览' width='1080px' :visible.sync='dialogVisible' :close-on-click-modal='false' append-to-body>
         <div class='pic-list'>
             <div class='pic-left'>
                 <ul v-for='(item,index) in imgUrl' :key='index'>
@@ -29,14 +29,7 @@ export default {
     data() {
         return {
             dialogVisible: false,
-            imgUrl: [
-                { url: require('@/assets/images/matter_pop3.png'), name: '图片名称1.png' },
-                { url: require('@/assets/images/survey_map.png'), name: '图片名称1.png' },
-                { url: require('@/assets/images/matter_pop3.png'), name: '图片名称1.png' },
-                { url: require('@/assets/images/survey_overlook.png'), name: '图片名称1.png' },
-                { url: require('@/assets/images/survey_project_btn.png'), name: '图片名称1.png' }
-            ],
-            ImgUrl: require('../../../assets/images/matter_pop3.png')
+            ImgUrl: ''
         }
     },
     methods: {
@@ -46,6 +39,19 @@ export default {
         getIndex(imgUrl) {
             this.ImgUrl = imgUrl
         }
+    },
+    computed: {
+        __imgUrl() {
+            return this.imgUrl
+        }
+    },
+    watch: {
+        __imgUrl: {
+            handler(newV, oldV) {
+                newV.length && (this.ImgUrl = this.imgUrl[0].url)
+            },
+            deep: true
+        }
     }
 }
 </script>

+ 1 - 0
src/components/floorMap/index.vue

@@ -86,6 +86,7 @@ export default {
             }
         },
         clearGraphy() {
+            console.log(new FloorView('canvas'))
             if (this.view) {
                 this.view.scene = null
                 return

+ 1 - 1
src/components/menuList.vue

@@ -125,7 +125,7 @@ export default {
             text-align: center;
             //background: url('../assets/images/topbar1.png') no-repeat;
             float: left;
-            width: 88px;
+            width: 80px;
             height: 48px;
             cursor: pointer;
             transition: all 0.2s;

+ 2 - 4
src/lib/FloorView.js

@@ -52,10 +52,8 @@ export class FloorView extends SGraphView {
     onMouseMove(event) {
         let se = new SMouseEvent(event);
         if (se.buttons & SMouseButton.LeftButton) {
-            if (this.spaceKey) {
-                this.origin.x += se.x - this._leftKeyPos.x;
-                this.origin.y += se.y - this._leftKeyPos.y;
-            }
+            this.origin.x += se.x - this._leftKeyPos.x;
+            this.origin.y += se.y - this._leftKeyPos.y;
             this._leftKeyPos.x = se.x;
             this._leftKeyPos.y = se.y;
             this.update();

+ 46 - 83
src/lib/GraphView.js

@@ -1,89 +1,54 @@
-var __extends = (this && this.__extends) || (function () {
-    var extendStatics = function (d, b) {
-        extendStatics = Object.setPrototypeOf ||
-            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
-        return extendStatics(d, b);
-    };
-    return function (d, b) {
-        extendStatics(d, b);
-        function __() { this.constructor = d; }
-        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
-    };
-})();
 import { SCanvasView, SColor } from "@saga-web/draw/lib";
-var GraphView = /** @class */ (function (_super) {
-    __extends(GraphView, _super);
-    function GraphView(id) {
-        var _this = _super.call(this, id) || this;
+export class GraphView extends SCanvasView {
+    constructor(id) {
+        super(id);
         // 0 :line 1:area
-        _this._type = 0;
+        this._type = 0;
         // 线条颜色
-        _this._strokecolor = "";
+        this._strokecolor = "";
         // 背景颜色
-        _this._bgcolor = "";
+        this._bgcolor = "";
         //线条类型
-        _this._lineType = "";
+        this._lineType = "";
         //线条粗细
-        _this._lineWidth = 1;
-        return _this;
+        this._lineWidth = 1;
     }
-    Object.defineProperty(GraphView.prototype, "type", {
-        get: function () {
-            return this._type;
-        },
-        set: function (v) {
-            this._type = v;
-            this.update();
-        },
-        enumerable: true,
-        configurable: true
-    });
-    Object.defineProperty(GraphView.prototype, "strokecolor", {
-        get: function () {
-            return this._strokecolor;
-        },
-        set: function (v) {
-            this._strokecolor = v;
-            this.update();
-        },
-        enumerable: true,
-        configurable: true
-    });
-    Object.defineProperty(GraphView.prototype, "bgcolor", {
-        get: function () {
-            return this._bgcolor;
-        },
-        set: function (v) {
-            this._bgcolor = v;
-            this.update();
-        },
-        enumerable: true,
-        configurable: true
-    });
-    Object.defineProperty(GraphView.prototype, "lineType", {
-        get: function () {
-            return this._lineType;
-        },
-        set: function (v) {
-            this._lineType = v;
-            this.update();
-        },
-        enumerable: true,
-        configurable: true
-    });
-    Object.defineProperty(GraphView.prototype, "lineWidth", {
-        get: function () {
-            return this._lineWidth;
-        },
-        set: function (v) {
-            this._lineWidth = v;
-            this.update();
-        },
-        enumerable: true,
-        configurable: true
-    });
-    GraphView.prototype.onDraw = function (canvas) {
+    get type() {
+        return this._type;
+    }
+    set type(v) {
+        this._type = v;
+        this.update();
+    }
+    get strokecolor() {
+        return this._strokecolor;
+    }
+    set strokecolor(v) {
+        this._strokecolor = v;
+        this.update();
+    }
+    get bgcolor() {
+        return this._bgcolor;
+    }
+    set bgcolor(v) {
+        this._bgcolor = v;
+        this.update();
+    }
+    get lineType() {
+        return this._lineType;
+    }
+    set lineType(v) {
+        this._lineType = v;
+        this.update();
+    }
+    get lineWidth() {
+        return this._lineWidth;
+    }
+    set lineWidth(v) {
+        this._lineWidth = v;
+        this.update();
+    }
+    onDraw(canvas) {
         canvas.clearRect(0, 0, this.width, this.height);
         canvas.pen.lineWidth = this.lineWidth;
         if (this.lineType == 'dashed') {
@@ -100,7 +65,5 @@ var GraphView = /** @class */ (function (_super) {
         else if (this.type == 1) {
             canvas.drawRect(50, 28, 100, 57);
         }
-    };
-    return GraphView;
-}(SCanvasView));
-export { GraphView };
+    }
+}

+ 11 - 49
src/main.js

@@ -7,33 +7,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
         step((generator = generator.apply(thisArg, _arguments || [])).next());
     });
 };
-var __generator = (this && this.__generator) || function (thisArg, body) {
-    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
-    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
-    function verb(n) { return function (v) { return step([n, v]); }; }
-    function step(op) {
-        if (f) throw new TypeError("Generator is already executing.");
-        while (_) try {
-            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
-            if (y = 0, t) op = [op[0] & 2, t.value];
-            switch (op[0]) {
-                case 0: case 1: t = op; break;
-                case 4: _.label++; return { value: op[1], done: false };
-                case 5: _.label++; y = op[1]; op = [0]; continue;
-                case 7: op = _.ops.pop(); _.trys.pop(); continue;
-                default:
-                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
-                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
-                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
-                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
-                    if (t[2]) _.ops.pop();
-                    _.trys.pop(); continue;
-            }
-            op = body.call(thisArg, _);
-        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
-        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
-    }
-};
 import Vue from 'vue';
 import App from './App.vue';
 import router from './router';
@@ -64,29 +37,18 @@ import Pui from 'meri-design';
 import 'meri-design/dist/index.css';
 Vue.use(Pui);
 //////////模拟传入参数
-var username = 'aiyu6';
+const username = 'yangxiaoyong3';
 /////////////////
 // 在跳入路由之前要请求获取权限信息
-router.beforeEach(function (to, from, next) { return __awaiter(void 0, void 0, void 0, function () {
-    return __generator(this, function (_a) {
-        switch (_a.label) {
-            case 0:
-                if (!!store.state.isrequestAuth) return [3 /*break*/, 3];
-                return [4 /*yield*/, store.dispatch('getUserInfo', username)];
-            case 1:
-                _a.sent();
-                return [4 /*yield*/, store.dispatch('getFloors')];
-            case 2:
-                _a.sent();
-                _a.label = 3;
-            case 3:
-                next();
-                return [2 /*return*/];
-        }
-    });
-}); });
+router.beforeEach((to, from, next) => __awaiter(void 0, void 0, void 0, function* () {
+    if (!store.state.isrequestAuth) {
+        yield store.dispatch('getUserInfo', username);
+        yield store.dispatch('getFloors');
+    }
+    next();
+}));
 new Vue({
-    router: router,
-    store: store,
-    render: function (h) { return h(App); },
+    router,
+    store,
+    render: (h) => h(App),
 }).$mount('#app');

+ 4 - 5
src/main.ts

@@ -25,13 +25,12 @@ import Legend from '@/components/Legend'
 Vue.use(Legend)
 import cookies from 'vue-cookie'
 Vue.use(cookies)
-import Pui from 'meri-design';
-import 'meri-design/dist/index.css';
-Vue.use(Pui);
-
+import Pui from 'meri-design'
+import 'meri-design/dist/index.css'
+Vue.use(Pui)
 
 //////////模拟传入参数
-const username = 'aiyu6'
+const username = 'yangxiaoyong3'
 /////////////////
 // 在跳入路由之前要请求获取权限信息
 router.beforeEach(async (to, from, next) => {

+ 3 - 1
src/store/index.js

@@ -10,7 +10,8 @@ export default new Vuex.Store({
         userInfo: {
             employeename: '', //用户名称:艾宇;
             orgCode: '',
-            username: 'aiyu6', //账户名称
+            username: 'yangxiaoyong3', //账户名称
+            projectName: '',
         },
         plazaId: '1000423',
         floorsArr: [], //楼层数组
@@ -32,6 +33,7 @@ export default new Vuex.Store({
             state.userInfo.employeename = palyload.employeename
             state.userInfo.orgCode = palyload.orgCode
             state.userInfo.username = palyload.username
+            // state.userInfo.projectName = palyload.plazas
         },
         SETFLOORS(state, data) {
             state.floorsArr = data

+ 22 - 0
src/utils/helper.js

@@ -0,0 +1,22 @@
+/**
+ * 深度优先遍历算法, 遍历tree的每一项
+ * @param {Object} {tree, path: 父节点的path, init: 是否是初始化}
+ * @param {Callback}} cb 回调函数,参数为 node
+ */
+export function depthFirstEach({ tree, parent = null }, cb) {
+    if (!Array.isArray(tree)) {
+        console.warn('The tree in the first argument to function depthFirstEach must be an array');
+        return;
+    }
+    if (!tree || tree.length === 0) return;
+    for (let node of tree) {
+        const hasChildren = node.children && node.children.length > 0;
+        if (cb) {
+            const res = cb(node);
+            if (res === 'break') return;
+        }
+        if (hasChildren) {
+            depthFirstEach({ tree: node.children }, cb);
+        }
+    }
+}

+ 53 - 2
src/views/equipment/eqDialog.vue

@@ -51,7 +51,7 @@
                         <!-- 专维 -->
                         <zw-table v-else-if='value.id.slice(2,4)=="ZW"' :smsxt='smsxt' :major='dialogInfo.id'></zw-table>
                         <!-- 其他 -->
-                        <other-table v-else-if='value.id.slice(2,4)=="QT"' :smsxt='smsxt' :major='dialogInfo.id'></other-table>
+                        <other-table v-else-if='value.id.slice(2,4)=="QT"' ref='qtList' :smsxt='smsxt' :major='dialogInfo.id'></other-table>
                     </el-tab-pane>
                 </el-tabs>
             </div>
@@ -117,7 +117,7 @@ export default {
         },
         //点击tab函数
         handleClick(tab) {
-            console.log(tab.index)
+            console.log(tab)
             if (this.param) {
                 this.param = tab.name
             } else if (this.smsxt) {
@@ -131,6 +131,9 @@ export default {
             if (this.dialogInfo.children[0].id.slice(2, 4) == 'YL') {
                 this.initImage(this.typecode)
             }
+            if (tab.label == '其他事项') {
+                this.$refs.qtList.getList()
+            }
         },
         tabClick(value) {
             console.log(value, '-----.')
@@ -250,5 +253,53 @@ export default {
         color: #025baa;
         border-color: #025baa;
     }
+    //动画
+    .el-dialog__wrapper {
+        transition-duration: 0.3s;
+    }
+    .dialog-fade-enter-active {
+        animation: none !important;
+    }
+    .dialog-fade-leave-active {
+        transition-duration: 0.15s !important;
+        animation: none !important;
+    }
+
+    .dialog-fade-enter-active .el-dialog,
+    .dialog-fade-leave-active .el-dialog {
+        animation-fill-mode: forwards;
+    }
+
+    .dialog-fade-enter-active .el-dialog {
+        animation-duration: 0.3s;
+        animation-name: anim-open;
+        animation-timing-function: cubic-bezier(0.6, 0, 0.4, 1);
+    }
+
+    .dialog-fade-leave-active .el-dialog {
+        animation-duration: 0.3s;
+        animation-name: anim-close;
+    }
+
+    @keyframes anim-open {
+        0% {
+            opacity: 0;
+            transform: scale3d(0, 0, 1);
+        }
+        100% {
+            opacity: 1;
+            transform: scale3d(1, 1, 1);
+        }
+    }
+
+    @keyframes anim-close {
+        0% {
+            opacity: 1;
+        }
+        100% {
+            opacity: 0;
+            transform: scale3d(0.5, 0.5, 1);
+        }
+    }
 }
 </style>

+ 1 - 1
src/views/equipment/index.vue

@@ -118,7 +118,7 @@ export default {
         z-index: 3;
         min-width: 1300px;
         .eq-system {
-            padding: 12px 23px;
+            padding: 12px 20px;
             background: #fff;
             font-size: 16px;
             cursor: pointer;

+ 2 - 0
src/views/equipment/table/djspTable.vue

@@ -8,6 +8,7 @@
                 @change='getList'
                 prefix-icon='el-icon-search'
                 v-model='keyword'
+                clearable
                 style='width:192px;margin-right:12px'
             ></el-input>
             <el-input
@@ -16,6 +17,7 @@
                 @change='getList'
                 prefix-icon='el-icon-search'
                 v-model='keyword'
+                clearable
                 style='width:192px;margin-right:12px'
             ></el-input>
             <Select @change='getList' v-model='floor' width='120' tipPlace='top' caption='楼层 :' :selectdata='floorSelect'></Select>

+ 3 - 1
src/views/equipment/table/eqDetaileDialog.vue

@@ -10,6 +10,7 @@
                 size='small'
                 prefix-icon='el-icon-search'
                 v-model='sbjc'
+                clearable
                 @blur='queryTableList'
             ></el-input>
             <Select v-model='sbglgs' width='180' tipPlace='top' caption='管理归属' size='small' :selectdata='sbglgsOption' @change='queryTableList'></Select>
@@ -27,6 +28,7 @@
                 placeholder='搜索品牌、型号'
                 style='width:192px;margin-right:12px'
                 size='small'
+                clearable
                 prefix-icon='el-icon-search'
                 v-model='brand'
                 @blur='queryTableList'
@@ -41,7 +43,7 @@
                 :selectdata='floorSelect'
                 @change='queryTableList'
             ></Select>
-            <el-input placeholder='搜索安装位置' style='width:192px;margin-right:12px' size='small' prefix-icon='el-icon-search' v-model='wzjc'></el-input>
+            <el-input placeholder='搜索安装位置' clearable style='width:192px;margin-right:12px' size='small' prefix-icon='el-icon-search' v-model='wzjc'></el-input>
             <!-- 多余的筛选 -->
             <input-dialog :type='1' @confirm='confirm'></input-dialog>
         </div>

+ 11 - 1
src/views/equipment/table/eqListTable.vue

@@ -8,18 +8,28 @@
                 @blur='getList'
                 prefix-icon='el-icon-search'
                 v-model='sbjc'
+                clearable
                 style='width:192px;margin-right:12px'
             ></el-input>
             <el-input
                 placeholder='搜索品牌型号'
                 size='small'
                 @blur='getList'
+                clearable
                 prefix-icon='el-icon-search'
                 v-model='keyword'
                 style='width:192px;margin-right:12px'
             ></el-input>
             <Select @change='getList' v-model='floor' style='margin-right:12px;' width='120' tipPlace='top' caption='楼层 :' :selectdata='floorSelect'></Select>
-            <el-input placeholder='搜索生产厂商' size='small' @blur='getList' prefix-icon='el-icon-search' v-model='manufacturer' style='width:192px;'></el-input>
+            <el-input
+                placeholder='搜索生产厂商'
+                clearable
+                size='small'
+                @blur='getList'
+                prefix-icon='el-icon-search'
+                v-model='manufacturer'
+                style='width:192px;'
+            ></el-input>
         </div>
         <el-table :data='tableData' style='width: 100%' :border='true' @row-click='rowHandle'>
             <el-table-column type='index' label='序号' width='80'></el-table-column>

+ 11 - 3
src/views/equipment/table/inputDIalog.vue

@@ -20,19 +20,27 @@
                     placeholder='搜索生产厂商'
                     style='width:192px;margin-right:12px'
                     size='small'
+                    clearable
                     prefix-icon='el-icon-search'
                     v-model='inputForm.manufacturer'
                 ></el-input>
                 <p style='margin:16px 0 8px 0'>服务商</p>
-                <el-input placeholder='搜索服务商' style='width:192px;margin-right:12px' size='small' prefix-icon='el-icon-search' v-model='inputForm.fws'></el-input>
+                <el-input
+                    placeholder='搜索服务商'
+                    clearable
+                    style='width:192px;margin-right:12px'
+                    size='small'
+                    prefix-icon='el-icon-search'
+                    v-model='inputForm.fws'
+                ></el-input>
             </el-form>
             <el-form style=' padding: 20px 24px;' v-if='type==2'>
                 <p style='margin:0 0 8px 0'>任务编号</p>
-                <el-input placeholder='搜索任务编号' size='small' prefix-icon='el-icon-search' v-model='inputForm.gzglid' style='width:192px;'></el-input>
+                <el-input placeholder='搜索任务编号' clearable size='small' prefix-icon='el-icon-search' v-model='inputForm.gzglid' style='width:192px;'></el-input>
             </el-form>
             <el-form style=' padding: 20px 24px;' v-if='type==3'>
                 <p style='margin:0 0 8px 0'>工单编号</p>
-                <el-input placeholder='搜索工单编号' size='small' prefix-icon='el-icon-search' v-model='inputForm.wonum' style='width:192px;'></el-input>
+                <el-input placeholder='搜索工单编号' clearable size='small' prefix-icon='el-icon-search' v-model='inputForm.wonum' style='width:192px;'></el-input>
             </el-form>
             <el-form style=' padding: 20px 24px;' v-if='type==4'>
                 <p style='margin:0 0 8px 0'>验收结果</p>

+ 1 - 0
src/views/equipment/table/lookPageTable.vue

@@ -6,6 +6,7 @@
                 placeholder='搜索生产厂商'
                 size='small'
                 @change='getList'
+                clearable
                 prefix-icon='el-icon-search'
                 v-model='keyword'
                 style='width:192px;margin-right:12px'

+ 3 - 2
src/views/equipment/table/otherTable.vue

@@ -8,6 +8,7 @@
                 size='small'
                 prefix-icon='el-icon-search'
                 v-model='keyword'
+                clearable
                 @blur='getList'
             ></el-input>
 
@@ -148,7 +149,7 @@ export default {
             let postParams = [
                 {
                     columnName: { handleresults: 'handleresults' },
-                    tableName: 'v_glsms_qtsx' //视图名称
+                    tableName: 'glsms_qtsx' //视图名称
                 }
             ]
             let major
@@ -177,7 +178,7 @@ export default {
             }
             querySelect({ data, postParams }).then(res => {
                 console.log(res)
-                let handleresults = res.data.data.v_glsms_zw.handleresults
+                let handleresults = res.data.data.glsms_qtsx.handleresults
                 this.handleOption = []
                 handleresults.forEach(el => {
                     this.handleOption.push({

+ 55 - 40
src/views/equipment/table/recordDialog.vue

@@ -1,14 +1,20 @@
 <template>
     <!-- 记录事项 -->
     <div class='detail-dialog'>
-        <el-dialog :title='`${major}${tabName}记录事项`' :visible.sync='visible'>
-            <div class='bottom-table'>
-                <el-table :data='tableData' style='width: 100%'>
-                    <el-table-column label='位置' prop width='100'>
-                        <template slot-scope='{row}'>{{row.locfldes || '--'}}</template>
+        <el-dialog :title='`${major}${tabName}记录事项`' :visible.sync='visible' style='height:900px;overflow-y:scroll;'>
+            <div class='bottom-table' style='height:520px'>
+                <el-table :data='tableData' height='500' :border='true' style='width: 100%;margin-bottom:12px;' :span-method='objectSpanMethod'>
+                    <el-table-column label='位置' prop width='140' show-overflow-tooltip resizable>
+                        <template slot-scope='{row}'>{{row.smswz || '--'}}</template>
+                    </el-table-column>
+                    <el-table-column prop='system' label='设备' width='200' show-overflow-tooltip resizable>
+                        <template slot-scope='{row}'>{{row.smsasset || '--'}}</template>
+                    </el-table-column>
+                    <el-table-column prop='matter' label='记录事项' show-overflow-tooltip resizable>
+                        <template slot-scope='{row}'>
+                            <p class='p-style' v-for='(item,index) in row.children' :key='item.sn'>{{index+1}}) {{item.matter}}</p>
+                        </template>
                     </el-table-column>
-                    <el-table-column prop='system' label='设备' width='100'></el-table-column>
-                    <el-table-column prop='matter' label='记录事项'></el-table-column>
                 </el-table>
             </div>
         </el-dialog>
@@ -16,6 +22,7 @@
 </template>
 <script>
 import { queryRecord } from '@/api/equipmentList.js'
+
 export default {
     data() {
         return {
@@ -37,46 +44,57 @@ export default {
                 this.tabName = '其他'
             }
             if (major.slice(0, 2) == 'GD') {
-                this.major = '供电'
+                this.major = '供电系统'
             } else if (major.slice(0, 2) == 'XF') {
-                this.major = '消防'
+                this.major = '消防系统'
             } else if (major.slice(0, 2) == 'GPS') {
-                this.major = '给排水'
+                this.major = '给排水系统'
             } else if (major.slice(0, 2) == 'DT') {
-                this.major = '电梯'
+                this.major = '电梯系统'
             } else if (major.slice(0, 2) == 'RQ') {
-                this.major = '燃气'
+                this.major = '燃气系统'
             } else if (major.slice(0, 2) == 'RD') {
-                this.major = '弱电'
+                this.major = '弱电系统'
             } else if (major.slice(0, 2) == 'NT') {
-                this.major = '暖通'
+                this.major = '暖通系统'
             } else if (major.slice(0, 2) == 'TJ') {
-                this.major = '土建'
+                this.major = '土建系统'
             }
             this.visible = true
             this.getRecordList(this.major)
         },
-        objectSpanMethod({ row, column, rowIndex, columnIndex }) {},
+        objectSpanMethod({ row, column, rowIndex, columnIndex }) {
+            if (columnIndex === 0) {
+                if (row.col0Count > 0) {
+                    return {
+                        rowspan: row.col0Count,
+                        colspan: 1
+                    }
+                }
+                return {
+                    rowspan: 0,
+                    colspan: 0
+                }
+            }
+        },
         getRecordList(major) {
             let getParams = {
-                // major: major,
+                system: major,
                 plazaId: this.$store.state.plazaId
             }
             queryRecord({ getParams }).then(res => {
-                console.log('设备设施记录事项', res)
-                let data = res.data || []
-                for (let i in data) {
-                    console.log(data[i])
-                    console.log(data[i][0].wxwbsxline)
-                    for (let j in data[i][0].wxwbsxline) {
+                res.data.forEach(i => {
+                    i.children.forEach((j, index) => {
                         this.tableData.push({
-                            locfldes: i,
-                            system: data[i][0].wxwbsxline[j].system,
-                            matter: data[i][0].wxwbsxline[j].matter
+                            smswz: i.smswz,
+                            smsasset: j.smsasset,
+                            col0Count: index === 0 ? i.children.length : 0,
+                            children: j.children
                         })
-                    }
-                }
+                    })
+                })
             })
+            console.log(this.tabName)
         }
     },
     mounted() {}
@@ -84,18 +102,15 @@ export default {
 </script>
 <style lang="less" scoped>
 .detail-dialog {
-    .bottom {
-        padding: 0 30px 14px 30px;
-        p {
-            font-size: 14px;
-            font-family: PingFangSC-Regular, PingFang SC;
-            font-weight: 400;
-            color: rgba(96, 106, 120, 1);
-            line-height: 22px;
-        }
-        .bottom-table {
-            margin-top: 12px;
-        }
+}
+</style>
+<style lang="less" scoped>
+.detail-dialog {
+    .el-dialog__wrapper {
+        overflow: hidden !important;
+    }
+    .el-dialog {
+        overflow-y: scroll !important;
     }
 }
 </style>

+ 11 - 1
src/views/equipment/table/standTable.vue

@@ -8,18 +8,28 @@
                 @blur='getList'
                 prefix-icon='el-icon-search'
                 v-model='sbjc'
+                clearable
                 style='width:192px;margin-right:12px'
             ></el-input>
             <el-input
                 placeholder='搜索品牌型号'
                 size='small'
+                clearable
                 @blur='getList'
                 prefix-icon='el-icon-search'
                 v-model='keyword'
                 style='width:192px;margin-right:12px'
             ></el-input>
             <Select @change='getList' v-model='floor' style='margin-right:12px;' width='120' tipPlace='top' caption='楼层 :' :selectdata='floorSelect'></Select>
-            <el-input placeholder='搜索生产厂商' size='small' @blur='getList' prefix-icon='el-icon-search' v-model='manufacturer' style='width:192px;'></el-input>
+            <el-input
+                clearable
+                placeholder='搜索生产厂商'
+                size='small'
+                @blur='getList'
+                prefix-icon='el-icon-search'
+                v-model='manufacturer'
+                style='width:192px;'
+            ></el-input>
         </div>
         <el-table :data='tableData' :border='true' style='width: 100%' @row-click='rowHandle'>
             <el-table-column type='index' label='序号' width='80'></el-table-column>

+ 0 - 71
src/views/equipment/table/tjBuildTable.vue

@@ -1,71 +0,0 @@
-<!-- 建筑立面图 -->
-<template>
-    <div class='build-list'>
-        <el-table :data='tableData' style='width: 100%' @row-click='innerVisible = true'>
-            <el-table-column type='index' label='序号' width='80'></el-table-column>
-            <el-table-column prop='xm' label='项目' width='160'>
-                <template slot-scope='{row}'>{{row.xm || '--'}}</template>
-            </el-table-column>
-            <el-table-column prop='unit' label='单位'>
-                <template slot-scope='{row}'>{{row.unit || '--'}}</template>
-            </el-table-column>
-            <el-table-column prop='shopsnum' label='图例'>
-                <template slot-scope='{row}'>{{row.shopsnum || '--'}}</template>
-            </el-table-column>
-        </el-table>
-        <div>
-            <img src alt />
-        </div>
-    </div>
-</template>
-<script>
-import { queryEquipmentList } from '@/api/equipmentList.js'
-import { mapGetters } from 'vuex'
-export default {
-    components: { Select, EqDetail },
-    data() {
-        return {
-            tableData: []
-        }
-    },
-    computed: {
-        ...mapGetters(['floorSelect'])
-    },
-    methods: {
-        getList() {
-            let postParams = {
-                tab_code: this.param
-            }
-            let data = {
-                plazaId: this.$store.state.plazaId,
-                major: this.major
-            }
-            queryEquipmentList({ data, postParams }).then(res => {
-                console.log(res)
-                this.tableData = res.data.data
-                this.total = res.data.count
-            })
-        }
-    },
-    mounted() {}
-}
-</script>
-<style lang="less" scoped>
-.build-list {
-    .eq-list-top {
-        display: flex;
-        margin-bottom: 12px;
-    }
-    td {
-        overflow: hidden;
-        text-overflow: ellipsis;
-        white-space: nowrap;
-    }
-    .foot {
-        height: 32px;
-        display: flex;
-        justify-content: flex-end;
-        margin-top: 28px;
-    }
-}
-</style>

+ 10 - 2
src/views/equipment/table/tjTable.vue

@@ -2,8 +2,16 @@
     <!-- 土建清单 -->
     <div class='tj-list'>
         <div class='eq-list-top'>
-            <el-input placeholder='搜索类别' size='small' @blur='getList' prefix-icon='el-icon-search' v-model='lb' style='width:192px;margin-right:12px'></el-input>
-            <el-input placeholder='搜索品牌' size='small' @blur='getList' prefix-icon='el-icon-search' v-model='brand' style='width:192px'></el-input>
+            <el-input
+                clearable
+                placeholder='搜索类别'
+                size='small'
+                @blur='getList'
+                prefix-icon='el-icon-search'
+                v-model='lb'
+                style='width:192px;margin-right:12px'
+            ></el-input>
+            <el-input clearable placeholder='搜索品牌' size='small' @blur='getList' prefix-icon='el-icon-search' v-model='brand' style='width:192px'></el-input>
         </div>
         <el-table :data='tableData' style='width: 100%'>
             <el-table-column type='index' label='序号' width='80'></el-table-column>

+ 23 - 3
src/views/equipment/table/wbTable.vue

@@ -8,12 +8,14 @@
                 @blur='getList'
                 prefix-icon='el-icon-search'
                 v-model='sbjc'
+                clearable
                 style='width:192px;margin-right:12px'
             ></el-input>
             <el-input
                 placeholder='搜索重要事项记录描述'
                 size='small'
                 @blur='getList'
+                clearable
                 prefix-icon='el-icon-search'
                 v-model='matters'
                 style='width:192px;margin-right:12px'
@@ -92,12 +94,14 @@
                 </el-table-column>
             </el-table-column>
             <el-table-column prop='brand' label='现场照片'>
-                <template slot-scope='{row}'>{{row.pics || '--'}}</template>
+                <template slot-scope='{row}'>
+                    <div style='cursor:pointer;color: #0091ff;' @click='clickPic(row.glsmsImage)'>{{row.glsmsImage?row.glsmsImage.length+'张':'--'}}</div>
+                </template>
             </el-table-column>
-            <el-table-column prop='reportdate' label='填报时间'>
+            <el-table-column prop='reportdate' label='填报时间' width='120'>
                 <template slot-scope='{row}'>{{row.reportdate?formatter(row.reportdate):'--'}}</template>
             </el-table-column>
-            <el-table-column prop='sjjssj' label='验收时间'>
+            <el-table-column prop='sjjssj' label='验收时间' width='120'>
                 <template slot-scope='{row}'>{{row.sjjssj?formatter(row.sjjssj): '--'}}</template>
             </el-table-column>
             <el-table-column prop='wonum' label='任务编号' show-overflow-tooltip resizable>
@@ -114,6 +118,7 @@
                 @next-click='pageChanged'
                 @current-change='pageChanged'
             ></el-pagination>
+            <pic-large :imgUrl='imgUrl' ref='picLargeOpen'></pic-large>
         </div>
     </div>
 </template>
@@ -147,6 +152,7 @@ export default {
                     name: '否'
                 }
             ],
+            imgUrl: [],
             shjc: '',
             gzglid: '',
             matters: ''
@@ -204,8 +210,22 @@ export default {
             }
             queryWbsms(getParams).then(res => {
                 this.tableData = res.data || []
+                console.log(this.tableData)
                 this.total = res.count
             })
+        },
+        clickPic(row) {
+            this.imgUrl = []
+            if (row) {
+                row.forEach(el => {
+                    let obj = {
+                        name: el.description,
+                        url: el.urlname
+                    }
+                    this.imgUrl.push(obj)
+                })
+            }
+            this.$refs.picLargeOpen.open(this.imgUrl)
         }
     },
     watch: {

+ 22 - 3
src/views/equipment/table/wxTable.vue

@@ -6,6 +6,7 @@
                 placeholder='搜索设备名称编号'
                 size='small'
                 @blur='getList'
+                clearable
                 prefix-icon='el-icon-search'
                 v-model='sbjc'
                 style='width:192px;margin-right:12px'
@@ -13,6 +14,7 @@
             <el-input
                 placeholder='搜索重要事项记录描述'
                 size='small'
+                clearable
                 @blur='getList'
                 prefix-icon='el-icon-search'
                 v-model='matters'
@@ -100,12 +102,14 @@
                 </el-table-column>
             </el-table-column>
             <el-table-column prop='brand' label='现场照片'>
-                <template slot-scope='{row}'>{{row.brand || '--'}}</template>
+                <template slot-scope='{row}'>
+                    <div style='cursor:pointer;color: #0091ff;' @click='clickPic(row.glsmsImage)'>{{row.glsmsImage?row.glsmsImage.length+'张':'--'}}</div>
+                </template>
             </el-table-column>
-            <el-table-column prop='reportdate' label='填报时间'>
+            <el-table-column prop='reportdate' label='填报时间' width='120'>
                 <template slot-scope='{row}'>{{row.reportdate?formatter(row.reportdate): '--'}}</template>
             </el-table-column>
-            <el-table-column prop='sjjssj' label='验收时间'>
+            <el-table-column prop='sjjssj' label='验收时间' width='120'>
                 <template slot-scope='{row}'>{{row.sjjssj?formatter(row.sjjssj): '--'}}</template>
             </el-table-column>
             <el-table-column prop='wonum' label='工单编号' show-overflow-tooltip resizable>
@@ -122,6 +126,7 @@
                 @next-click='pageChanged'
                 @current-change='pageChanged'
             ></el-pagination>
+            <pic-large :imgUrl='imgUrl' ref='picLargeOpen'></pic-large>
         </div>
     </div>
 </template>
@@ -147,6 +152,7 @@ export default {
             wonum: '',
             formatter,
             number_format,
+            imgUrl: [],
             changeOption: [
                 {
                     id: '是',
@@ -215,6 +221,19 @@ export default {
                 this.tableData = res.data || []
                 this.total = res.count
             })
+        },
+        clickPic(row) {
+            this.imgUrl = []
+            if (row) {
+                row.forEach(el => {
+                    let obj = {
+                        name: el.description,
+                        url: el.urlname
+                    }
+                    this.imgUrl.push(obj)
+                })
+            }
+            this.$refs.picLargeOpen.open(this.imgUrl)
         }
     },
     watch: {

+ 1 - 0
src/views/equipment/table/zwTable.vue

@@ -28,6 +28,7 @@
                 size='small'
                 style='width:192px;margin-right:12px'
                 v-model='ssfasm'
+                clearable
                 @blur='getList'
             ></el-input>
             <!-- 当前阶段 -->

+ 70 - 47
src/views/legendLibrary/addForm.vue

@@ -1,20 +1,28 @@
 <template>
     <div class='add-form'>
-        <div class='form1'>
-            <span class='span1'>图例编码</span>
-            <span class='span2'>图例名称</span>
-            <span class='span3' v-if='ruleForm.Type=="Zone" || ruleForm.Type=="Image"'>展示预览</span>
-        </div>
         <div class='form2'>
             <div class='input-left'>
-                <el-input v-model='ruleForm.Code' disabled style='width:200px;height:32px;margin-right:48px;'></el-input>
-                <el-input v-model='ruleForm.Name' style='width:200px;height:32px;'></el-input>
-                <div class='title'>单位</div>
-                <div class='type'>图例类型</div>
-                <el-input v-model='ruleForm.Unit' style='width:200px;height:32px;'></el-input>
-                <el-select v-model='ruleForm.Type' placeholder='请选择' style='width:200px;height:32px;margin-left:46px' @change='initGraph'>
-                    <el-option v-for='item in options' :key='item.value' :label='item.label' :value='item.value'></el-option>
-                </el-select>
+                <el-row :gutter='20'>
+                    <el-col :span='12'>
+                        <div>图例编码</div>
+                        <el-input v-model='ruleForm.Id' style='width:200px;height:32px;' disabled></el-input>
+                    </el-col>
+                    <el-col :span='12'>
+                        <div class='start'>图例名称</div>
+                        <el-input v-model='ruleForm.Name' style='width:200px;height:32px;'></el-input>
+                    </el-col>
+                    <el-col :span='12' style='margin-top:20px'>
+                        <div class>单位</div>
+                        <el-input v-model='ruleForm.Unit' style='width:200px;height:32px;'></el-input>
+                    </el-col>
+
+                    <el-col :span='12' style='margin-top:20px'>
+                        <div class='start'>图例类型</div>
+                        <el-select v-model='ruleForm.Type' placeholder='请选择' style='width:200px;height:32px' @change='initGraph'>
+                            <el-option v-for='item in options' :key='item.value' :label='item.label' :value='item.value'></el-option>
+                        </el-select>
+                    </el-col>
+                </el-row>
             </div>
             <div class='input-right' ref='graph' v-show='ruleForm.Type=="Zone" || ruleForm.Type=="Image" || ruleForm.Type =="Line"'>
                 <div v-show=' ruleForm.Type=="Image" && ruleForm.Url' class='input-right'>
@@ -26,8 +34,8 @@
         </div>
         <div v-if='ruleForm.Type=="Zone" || ruleForm.Type=="Line"' class='form3'>
             <div class='form3-top'>
-                <span class='form3-span1' v-if='ruleForm.Type=="Zone"'>填充色以及透明度</span>
-                <span class='form3-span3'>边框颜色</span>
+                <span class='form3-span1 start' v-if='ruleForm.Type=="Zone"'>填充色以及透明度</span>
+                <span class='form3-span3 start'>边框颜色</span>
                 <span class='form3-span4'>边框线型</span>
                 <span class='form3-span5'>边框粗细</span>
             </div>
@@ -89,18 +97,21 @@
                 <el-select v-model='value' placeholder='请选择' size='small' style='width:200px;margin-right:48px'>
                     <el-option v-for='item in options2' :key='item.value' :label='item.label' :value='item.value'></el-option>
                 </el-select>-->
-
-                <TreeSelect
-                    tipPlace='top'
-                    width='200'
-                    style=' margin-right:48px;'
-                    :notNull='true'
-                    :returnParentNode='false'
-                    :isShowAllChoice='true'
-                    :choseArea='true'
-                    :data='deviceList'
-                    @change='treeConfirmDevice'
-                />
+                <span class='device-list'>
+                    <TreeSelect
+                        tipPlace='top'
+                        width='200'
+                        class='aaaaa'
+                        style=' margin-right:48px;'
+                        :notNull='true'
+                        :returnParentNode='false'
+                        :isShowAllChoice='true'
+                        :choseArea='true'
+                        :data='deviceList'
+                        @change='treeConfirmDevice'
+                        :hideClear='true'
+                    />
+                </span>
 
                 <!-- <TreeSelect
                     tipPlace='top'
@@ -124,6 +135,7 @@
                     :data='typeVisualization'
                     @change='treeConfirm'
                     @focusChange='focusChange'
+                    :hideClear='true'
                 />
             </div>
         </div>
@@ -389,8 +401,22 @@ export default {
         },
         visualization() {
             getVisualization({}).then(res => {
-                this.typeVisualization = res.Data && res.Data.map(i => this.getTree(i))
-                console.log(this.typeVisualization)
+                this.typeVisualization =
+                    res.Data &&
+                    res.Data.map(i => {
+                        return {
+                            id: i.Id,
+                            name: i.Name,
+                            children: i.Children
+                                ? i.Children.map(j => {
+                                      return {
+                                          id: j.Id,
+                                          name: j.Id + '-' + j.Name
+                                      }
+                                  })
+                                : []
+                        }
+                    })
             })
         },
         getTree(data) {
@@ -428,18 +454,15 @@ export default {
     color: #646c73;
     margin: 16px 0 0 72px;
     font-size: 14px;
+    .start::after {
+        content: '*';
+        color: #f56c6c;
+        margin-left: 4px;
+    }
     .ant-input-number {
         border-radius: 4px 0 0 4px;
     }
-    .form1 {
-        margin-bottom: 8px;
-        .span1 {
-            margin-right: 192px;
-        }
-        .span2 {
-            margin-right: 220px;
-        }
-    }
+
     .form2 {
         display: flex;
         .input-left {
@@ -510,7 +533,7 @@ export default {
                 margin-right: 102px;
             }
             .form4-span3 {
-                margin-left: 37px;
+                margin-left: 75px;
             }
         }
     }
@@ -526,14 +549,6 @@ export default {
         }
     }
 
-    .span2::after,
-    .type::after,
-    .form3-span1::after,
-    .form3-span3::after {
-        content: '*';
-        color: #f56c6c;
-        margin-left: 4px;
-    }
     .upload-demo {
         display: flex;
     }
@@ -549,5 +564,13 @@ export default {
         position: absolute;
         text-align: center;
     }
+    /deep/ .p-transfer-left {
+        background: yellow;
+        width: 325px !important;
+        word-break: break-all;
+        white-space: normal;
+        word-break: break-all;
+        word-wrap: break-word;
+    }
 }
 </style>

+ 8 - 4
src/views/legendLibrary/addLegend.vue

@@ -36,7 +36,8 @@ export default {
                 Name: '',
                 Type: 'None',
                 Unit: '',
-                FillColor: '',
+                FillColor: '#ffffff',
+                Color: '#ffffff',
                 Url: '',
                 LineWidth: '',
                 LineDash: '',
@@ -68,7 +69,8 @@ export default {
                     Name: '',
                     Type: 'None',
                     Unit: '',
-                    FillColor: '',
+                    FillColor: '#ffffff',
+                    Color: '#ffffff',
                     Url: '',
                     InfoTypeId: [] //铺位可视化typeid
                     // InfoLocal: [], //工程信息化位置与设备分类
@@ -80,7 +82,8 @@ export default {
                     Name: '',
                     Type: 'None',
                     Unit: '',
-                    FillColor: '',
+                    FillColor: '#ffffff',
+                    Color: '#ffffff',
                     Url: '',
                     InfoTypeId: [] //铺位可视化typeid
                     // InfoLocal: [], //工程信息化位置与设备分类
@@ -106,7 +109,8 @@ export default {
                 Name: '',
                 Type: 'None',
                 Unit: '',
-                FillColor: '',
+                FillColor: '#ffffff',
+                Color: '#ffffff',
                 Url: '',
                 InfoTypeId: [] //铺位可视化typeid
                 // InfoLocal: [], //工程信息化位置与设备分类

+ 39 - 15
src/views/legendLibrary/index.vue

@@ -32,18 +32,20 @@
                     @change='treeConfirmPosition'
                     :hideClear='true'
                 />
-                <TreeSelect
-                    caption='专业/设备、位置类型:'
-                    tipPlace='top'
-                    width='250'
-                    style='margin:0 12px'
-                    :returnParentNode='false'
-                    :isShowAllChoice='true'
-                    :choseArea='true'
-                    :data='deviceList'
-                    :hideClear='true'
-                    @change='treeConfirmDevice'
-                />
+                <span class='device-position'>
+                    <TreeSelect
+                        caption='专业/设备、位置类型:'
+                        tipPlace='top'
+                        width='280'
+                        style='margin:0 12px'
+                        :returnParentNode='false'
+                        :isShowAllChoice='true'
+                        :choseArea='true'
+                        :data='deviceList'
+                        :hideClear='true'
+                        @change='treeConfirmDevice'
+                    />
+                </span>
 
                 <!-- <TreeSelect
                     caption='专业:'
@@ -97,7 +99,7 @@
                     <template slot-scope='{row}'>{{row.Unit || '--'}}</template>
                 </el-table-column>
                 <el-table-column prop='position' label='对应广场说明书的位置'>
-                    <template slot-scope='{row}'>{{row.Unit || '--'}}</template>
+                    <template slot-scope='{row}'>{{row.position || '--'}}</template>
                 </el-table-column>
                 <el-table-column label='对应工程信息化' align='center'>
                     <el-table-column prop='type' label='位置/设备分类' width='240'>
@@ -232,7 +234,22 @@ export default {
         },
         visualization() {
             getVisualization({}).then(res => {
-                this.typeVisualization = res.Data && res.Data.map(i => this.getTree(i))
+                this.typeVisualization =
+                    res.Data &&
+                    res.Data.map(i => {
+                        return {
+                            id: i.Id,
+                            name: i.Name,
+                            children: i.Children
+                                ? i.Children.map(j => {
+                                      return {
+                                          id: j.Id,
+                                          name: j.Id + '-' + j.Name
+                                      }
+                                  })
+                                : []
+                        }
+                    })
             })
         },
         getTree(data) {
@@ -374,7 +391,7 @@ export default {
         .select-box {
             height: 56px;
             line-height: 56px;
-            min-width: 1366px;
+            min-width: 1344px;
             display: flex;
             align-items: center;
         }
@@ -393,6 +410,13 @@ export default {
     /deep/ .p-select-input-content {
         line-height: 32px;
     }
+    .device-position {
+        /deep/ .p-date-picker-caption {
+            display: block;
+            width: 200px !important;
+            max-width: 200px !important;
+        }
+    }
 }
 </style>
 <style lang="less">

+ 4 - 3
src/views/other/index.vue

@@ -80,10 +80,11 @@ export default {
         queryPicter() {
             this.picFloor = this.$cookie.get('floorNow')
             let getParams = {
-                data: { tyepcode: 7, floor: this.picFloor, plazaId: this.$store.state.plazaId },
-                params: {}
+                module: '1002',
+                floor: this.picFloor,
+                plazaId: this.$store.state.plazaId
             }
-            queryPic(getParams).then(res => {
+            queryPic({ getParams }).then(res => {
                 console.log('库房管理图', res)
                 this.picFloorImg = res.data
             })

+ 6 - 1
src/views/overview/index.vue

@@ -27,7 +27,12 @@
                         <span></span>
                         <span>建筑综合信息</span>
                     </nav>
-                    <p class='place-p1'>{{build.length>0?formatter('项目名称',build):'--'}}</p>
+                    <p class='place-p1'>
+                        <span>
+                            <img src='@/assets/imgs/jz.png' alt />
+                            {{build.length>0?formatter('项目名称',build):'--'}}
+                        </span>
+                    </p>
                     <p class='place-p2'>
                         <span>
                             <img src='@/assets/imgs/didian.png' alt />

+ 4 - 7
src/views/room/index.vue

@@ -494,6 +494,7 @@ export default {
             let getParams = {
                 typename: '位置布置图',
                 location: '1198',
+                module: '1002',
                 floor: this.picFloor,
                 plazaId: this.$store.state.plazaId
             }
@@ -597,9 +598,9 @@ export default {
         // 维修
         Index3() {
             let getParams = {
-                location: '1961',
-                plazaId: '1001145',
-                // plazaId: this.$store.state.plazaId,
+                location: '1015',
+                // plazaId: '1001145',
+                plazaId: this.$store.state.plazaId,
                 page: this.page3,
                 size: this.size3,
                 orderBy: 'sjjssj,0;location,1'
@@ -913,10 +914,6 @@ export default {
             color: rgba(31, 36, 41, 1);
             border: 1px solid rgba(195, 199, 203, 1);
         }
-        .el-tabs,
-        .el-tabs__content {
-            height: 800px;
-        }
         .el-tabs__active-bar {
             background-color: transparent !important;
         }

+ 25 - 3
src/views/room/room5.vue

@@ -19,11 +19,18 @@
                     <template slot-scope='{row}'>{{row.matters||'--'}}</template>
                 </el-table-column>
                 <el-table-column prop label='现场照片' :show-overflow-tooltip='true'>
-                    <template slot-scope='{row}'>{{row.pics ||'--'}}</template>
+                    <template slot-scope='{row}'>
+                        <div
+                            style='cursor:pointer;color: #0091ff;'
+                            @click='clickPic(row.glsmsImage)'
+                        >{{row.glsmsImage?row.glsmsImage.length+'张':'--'}}</div>
+                    </template>
                 </el-table-column>
                 <el-table-column prop label='维保任务' align='center'>
                     <el-table-column prop label='任务编号' :show-overflow-tooltip='true'>
-                        <template slot-scope='{row}'>{{row.wb_gzglid||'--'}}</template>
+                        <template slot-scope='{row}'>
+                            <div style='cursor:pointer;color: #0091ff;'>{{row.wb_gzglid||'--'}}</div>
+                        </template>
                     </el-table-column>
                     <el-table-column prop label='维保任务名称' :show-overflow-tooltip='true' min-width='100'>
                         <template slot-scope='{row}'>{{row.wbrwmc || '--'}}</template>
@@ -70,6 +77,7 @@
                 @next-click='pageChanged'
                 @current-change='pageChanged'
             ></el-pagination>
+            <pic-large :imgUrl='imgUrl' ref='picLargeOpen'></pic-large>
         </div>
     </div>
 </template>
@@ -83,7 +91,8 @@ export default {
         return {
             value1: '',
             searVal: '',
-            dateVal: ''
+            dateVal: '',
+            imgUrl: []
         }
     },
     components: { Select },
@@ -95,6 +104,19 @@ export default {
         },
         formatter(date) {
             return moment.unix(date / 1000).format('YYYY.MM.DD')
+        },
+        clickPic(row) {
+            this.imgUrl = []
+            if (row) {
+                row.forEach(el => {
+                    let obj = {
+                        name: el.DESCRIPTION,
+                        url: el.URLNAME
+                    }
+                    this.imgUrl.push(obj)
+                })
+            }
+            this.$refs.picLargeOpen.open(this.imgUrl)
         }
     }
 }

+ 18 - 5
tsconfig.json

@@ -1,13 +1,26 @@
 {
     "compilerOptions": {
-        "target": "es5",
+        "target": "es6",
         "module": "es2015",
         "moduleResolution": "node",
         "allowSyntheticDefaultImports": true,
         "experimentalDecorators": true,
-        "lib": ["dom", "es5", "es2015", "es2015.promise"],
+        "lib": [
+            "dom",
+            "es5",
+            "es2015",
+            "es2015.promise"
+        ],
         "strict": true
     },
-    "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "tests/**/*.ts", "tests/**/*.tsx"],
-    "exclude": ["node_modules"]
-}
+    "include": [
+        "src/**/*.ts",
+        "src/**/*.tsx",
+        "src/**/*.vue",
+        "tests/**/*.ts",
+        "tests/**/*.tsx"
+    ],
+    "exclude": [
+        "node_modules"
+    ]
+}