{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\system\\SysAdstration.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\system\\SysAdstration.vue","mtime":1675071993210},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nconst htAsideTree = () => import('@/components/common/HtAsideTree.vue')\r\nimport req from '@/request.js'\r\nimport portal from '@/api/portal.js'\r\nexport default {\r\n    components: {htAsideTree},\r\n    data() {\r\n        return {\r\n            loading: false,\r\n            filterText: '',\r\n            defaultProps: {\r\n                children: 'children',\r\n                label: 'name',\r\n            },\r\n            checkValue: null,\r\n            options: [],\r\n            isExpand: false,\r\n            searchId: [{label: '省份名称', prop: 'name_'}],\r\n            dialogVisible: false,\r\n            data: [],\r\n            pageResult: {\r\n                page: 1,\r\n                pageSize: 50,\r\n                total: 0,\r\n            },\r\n            PortalSysAreas: {},\r\n            saveMethod: 'POST',\r\n            port: window.context.portal,\r\n            // port: 'http://8kmbcr.natappfree.cc',\r\n            url: {\r\n                list: '/sys/sysAreas/v1/slicedQuerySysAreas',\r\n                add: '/sys/sysAreas/v1/saveSysAreas',\r\n                del: '/sys/sysAreas/v1/deleteBatch',\r\n            },\r\n            sequence: {},\r\n        }\r\n    },\r\n    mounted() {\r\n        this.$validator = this.$root.$validator\r\n        this.loadData()\r\n    },\r\n    watch: {\r\n        filterText(val) {\r\n            this.$refs.elTree.filter(val)\r\n        },\r\n    },\r\n    methods: {\r\n        handleChangeSequ(res) {\r\n            this.sequence[res.row.id] = res.row.sn\r\n            console.log(this.sequence)\r\n        },\r\n        async getListTree(response) {\r\n            let rootTree = {\r\n                code: 'China',\r\n                fullId: '/root',\r\n                fullName: '/China',\r\n                hasChildren: 0,\r\n                id: 'root',\r\n                latitude: 0,\r\n                levelCode: 'COUNTRY',\r\n                longitude: 0,\r\n                name: '中国',\r\n                parentId: null,\r\n                pkVal: '',\r\n                sn: 0,\r\n            }\r\n            // if(response.data.rows.length > 1)\r\n            response.data.rows.unshift(rootTree)\r\n            if (response.status >= 200 && response.status < 304) {\r\n                let rows = this.jsonToTree(response.data.rows, 'id', 'parentId')\r\n                console.log(rows, 'ttt')\r\n                if (rows.length == 1) {\r\n                    this.options = rows\r\n                    this.data = rows[0].children\r\n                } else {\r\n                    let arr = []\r\n                    arr.push(rows[1])\r\n                    this.options = arr\r\n                    this.data = arr\r\n                }\r\n            }\r\n        },\r\n        jsonToTree(jsonData, id, pid) {\r\n            let result = [],\r\n                temp = {}\r\n            for (let i in jsonData) {\r\n                temp[jsonData[i][id]] = jsonData[i] // 以id作为索引存储元素，可以无需遍历直接定位元素\r\n            }\r\n            for (let j in jsonData) {\r\n                let currentElement = jsonData[j]\r\n                if (currentElement.id !== 'root') {\r\n                    currentElement.fullName = '/China' + currentElement.fullName\r\n                    currentElement.fullId = '/root' + currentElement.fullId\r\n                }\r\n                let tempCurrentElementParent = temp[currentElement[pid]] // 临时变量里面的当前元素的父元素\r\n\r\n                if (tempCurrentElementParent) {\r\n                    // 如果存在父元素\r\n                    if (!tempCurrentElementParent['children']) {\r\n                        // 如果父元素没有chindren键\r\n                        tempCurrentElementParent['children'] = [] // 设上父元素的children键\r\n                    }\r\n                    tempCurrentElementParent['children'].push(currentElement) // 给父元素加上当前元素作为子元素\r\n                } else {\r\n                    // 不存在父元素，意味着当前元素是一级元素\r\n                    result.push(currentElement)\r\n                }\r\n            }\r\n            return result\r\n        },\r\n        handleCommand(command) {\r\n            let node = command.node\r\n            let data = command.data\r\n            let action = command.action\r\n            switch (action) {\r\n                case 'add':\r\n                    this.checkValue = data.id\r\n                    this.PortalSysAreas.parentId = data.id\r\n                    this.getLevenlCode(data.levelCode)\r\n                    this.showDialog()\r\n                    break\r\n                case 'edit':\r\n                    // this.showDialog(data, action)\r\n                    let rows = {}\r\n                    rows.row = data\r\n                    this.updateAdstration(rows)\r\n                    console.log(rows)\r\n                    break\r\n                case 'delete':\r\n                    let headers = {\r\n                        'Content-type': 'application/x-www-form-urlencoded',\r\n                    }\r\n                    let params = 'ids=' + data.id\r\n                    let dt = {\r\n                        data: params,\r\n                        method: 'post',\r\n                        headers,\r\n                    }\r\n                    portal.deleteAdstration(dt).then((res) => {\r\n                        this.$message({\r\n                            type: res.state ? 'success' : 'error',\r\n                            message: res.message,\r\n                        })\r\n                        this.refresh()\r\n                    })\r\n                    break\r\n                case 'moveto':\r\n                    this.$message('暂未提供该功能')\r\n                    break\r\n                case 'auth':\r\n                    this.auth(data)\r\n                    break\r\n                default:\r\n                    break\r\n            }\r\n        },\r\n        refresh() {\r\n            this.loading = true\r\n            this.filterText = ''\r\n            this.checkValue = null\r\n            this.loadData({})\r\n            setTimeout(() => {\r\n                this.loading = false\r\n                this.isExpand = false\r\n                this.$refs.htTable.loading = false\r\n            }, 3000)\r\n        },\r\n        updateAdstration(rows) {\r\n            this.checkValue = rows.row.id\r\n            this.PortalSysAreas = JSON.parse(JSON.stringify(rows.row))\r\n            this.dialogVisible = true\r\n        },\r\n        // 树状菜单的全部展开和收起\r\n        handleExpandCollapse() {\r\n            this.isExpand = !this.isExpand\r\n            console.log(this.$refs.elTree.store._getAllNodes())\r\n            let elTree = this.$refs.elTree\r\n            for (var i = 0; i < elTree.store._getAllNodes().length; i++) {\r\n                elTree.store._getAllNodes()[i].expanded = this.isExpand\r\n            }\r\n        },\r\n        filterNode(value, data) {\r\n            if (!value) return true\r\n            return data.name.indexOf(value) !== -1\r\n        },\r\n        handleChange(data) {\r\n            this.PortalSysAreas.parentId = data[data.length - 1]\r\n            this.getLevenlCode(\r\n                this.$refs.cascader.getCheckedNodes()[0].data.levelCode\r\n            )\r\n        },\r\n        getLevenlCode(levelcode) {\r\n            switch (levelcode) {\r\n                case 'COUNTRY':\r\n                    this.PortalSysAreas.levelCode = 'province'\r\n                    break\r\n                case 'province': //省\r\n                    this.PortalSysAreas.levelCode = 'city'\r\n                    break\r\n                case 'city': //市\r\n                    this.PortalSysAreas.levelCode = 'country'\r\n                    break\r\n                case 'country': //区县\r\n                    this.PortalSysAreas.levelCode = 'town'\r\n                    break\r\n                case 'town': //乡镇\r\n                    this.PortalSysAreas.levelCode = 'village'\r\n                    break\r\n                case 'village': //村\r\n                    break\r\n                default:\r\n                    this.PortalSysAreas.levelCode = ''\r\n                    break\r\n            }\r\n        },\r\n        updateSequence() {\r\n            this.$refs.htTable.loading = true\r\n            if (Object.keys(this.sequence).length) {\r\n                portal.updateSequence(this.sequence).then((res) => {\r\n                    if (res.state) {\r\n                        this.$message({\r\n                            type: 'success',\r\n                            message: res.message,\r\n                        })\r\n                    }\r\n                    this.$refs.htTable.loading = false\r\n                })\r\n            } else {\r\n                this.$message({\r\n                    type: 'warning',\r\n                    message: '保存号未修改',\r\n                })\r\n            }\r\n        },\r\n        clickTest() {\r\n            if (this.$refs.htTable.selection.length == 0) {\r\n                this.$message({\r\n                    showClose: false,\r\n                    type: 'error',\r\n                    message: '请至少选择一条数据',\r\n                })\r\n                return\r\n            }\r\n        },\r\n        handleNodeClick(item) {\r\n            this.data = item.children\r\n            this.checkValue = item.id\r\n            this.PortalSysAreas.parentId = item.id\r\n            this.getLevenlCode(item.levelCode)\r\n        },\r\n        treeCheck(item, list) {\r\n            console.log(item, list)\r\n        },\r\n        showDialog() {\r\n            if (this.PortalSysAreas.parentId && this.PortalSysAreas.levelCode) {\r\n                this.saveMethod = 'POST'\r\n                this.dialogVisible = true\r\n            } else {\r\n                this.$message({\r\n                    type: 'warning',\r\n                    message: '请选择左侧添加父节点',\r\n                })\r\n            }\r\n            // if (id) {\r\n            //   this.saveMethod = 'PUT'\r\n            //   this.$http\r\n            //     .get('http://mv9hps.natappfree.cc/portalSysAreas/v1/' + id)\r\n            //     .then(\r\n            //       (resp) => {\r\n            //         this.PortalSysAreas = resp.data\r\n            //         this.dialogVisible = true\r\n            //       },\r\n            //       (error) => {\r\n            //         reject(error)\r\n            //       }\r\n            //     )\r\n            // } else {\r\n            // this.saveMethod = 'POST'\r\n            // this.dialogVisible = true\r\n            // }\r\n        },\r\n        beforeCloseDialog() {\r\n            // this.refresh()\r\n            this.PortalSysAreas.name = ''\r\n            this.PortalSysAreas.code = ''\r\n            this.PortalSysAreas.longitude = ''\r\n            this.PortalSysAreas.latitude = ''\r\n            this.dialogVisible = false\r\n        },\r\n        loadData(param, cb) {\r\n            // console.log(this.$http, 'http')\r\n            // param.sorter = [\r\n            //   {\r\n            //     direction: 'ASC',\r\n            //     property: 'sn_',\r\n            //   },\r\n            // ]\r\n            req.post(this.port + this.url.list, param)\r\n                .then(\r\n                    (resp) => {\r\n                        let response = resp.data\r\n                        this.data = response.rows\r\n                        this.pageResult = {\r\n                            page: response.page,\r\n                            pageSize: response.pageSize,\r\n                            total: response.total,\r\n                        }\r\n                        console.log('返回数据', resp)\r\n                        this.getListTree(resp)\r\n                    },\r\n                    (error) => {\r\n                        reject(error)\r\n                    }\r\n                )\r\n                .finally(() => cb())\r\n\r\n            // this.$http //${form}\r\n            //   .post(this.port + this.url.list, param)\r\n            //   .then(\r\n            //     resp => {\r\n            //       let response = resp.data\r\n            //       this.data = response.rows\r\n            //       this.pageResult = {\r\n            //         page: response.page,\r\n            //         pageSize: response.pageSize,\r\n            //         total: response.total\r\n            //       }\r\n            //       console.log('返回数据', resp)\r\n            //       this.getListTree(resp)\r\n            //     },\r\n            //     error => {\r\n            //       reject(error)\r\n            //     }\r\n            //   )\r\n            //   .finally(() => cb())\r\n        },\r\n        afterSaveData() {\r\n            setTimeout(() => {\r\n                this.beforeCloseDialog()\r\n                this.$refs.htTable.load()\r\n            }, 500)\r\n        },\r\n    },\r\n}\r\n",null]}