{"remainingRequest":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/vue-loader/lib/index.js??vue-loader-options!/data/jenkins/workspace/badp-bcxin-web-5.x-vue/src/components/view_cardview.vue?vue&type=script&lang=js","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/src/components/view_cardview.vue","mtime":1725957645730},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/babel-loader/lib/index.js","mtime":456789000000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-vue/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":["\nexport default {\n name: \"view-cardview\",\n props: [\"view\", \"openParams\", \"showtype\", \"toTab\",\"clearCheckboxVal\"],\n watch: {},\n computed: {},\n\n mounted() {\n this.getData();\n this.firstLine = this.view.columns[0].id;\n },\n\n data: function () {\n return {\n selectNode: false,\n firstLine: \"\",\n checkedAll: [],\n currentPage: 1,\n CardData: [],//当前页面展示的节点\n row_count: 0,\n loading: true,\n emptyData: \"\",\n selectNodeId:[],//存储选中的节点的docid集合\n parentcheck:[],//存储选中的节点的父节点的路径进行匹配集合\n };\n },\n methods: {\n checkedNode(e, index) {\n let selectedElement=this.CardData[index]//被点击的节点的数据\n let id = e.target.getAttribute(\"data-docid\");\n let isSelected = true;\n this.checkedAll.map((item, index) => {\n if (item.docId == id) { \n isSelected = false;\n this.checkedAll.splice(index, 1);\n \n }\n });\n if (isSelected) {\n //判断是选中还是取消选中\n this.checkedAll.push(selectedElement);\n this.selectNodeId.push(selectedElement.docId)\n this.parentcheck.push(selectedElement.parentName)\n //存储被选中字节点的父节点路径 aa/bb aa aa/bb\n selectedElement.childrenSelect = true; //表示选中\n // this.$emit('selectNum',this.checkedAll)\n } \n else { \n if(this.selectNodeId.length==1){\n this.selectNodeId=[]; \n }else{\n this.selectNodeId.splice(this.selectNodeId.indexOf(selectedElement.docId),1);\n }\n\n if(this.parentcheck.length==1){\n this.parentcheck=[];\n }else{\n this.parentcheck.splice(this.parentcheck.indexOf(selectedElement.docId),1)\n }\n selectedElement.childrenSelect = false;\n }\n this.$emit(\"getDocIds\",this.selectNodeId);\n \n },\n getData(page) {\n this.getViewData(page).then((response) => {\n let docs = response.data.data;\n this.dataList = response.data.data;\n this.row_count = response.data.row_count;\n let tds = [];\n if (docs) {\n docs.forEach((doc) => {\n let rows = {};\n rows.formId = doc.formId;\n rows.docId = doc.id;\n for (var key in doc.items) {\n let items = doc.items[key];\n rows[key] = items.value;\n }\n if (doc.hasChild) {\n rows.hasChildren = true;\n rows.select=false;\n }\n else{\n rows.childrenSelect=false;\n }\n if (doc.parentName) {\n rows.parentName = doc.parentName;\n }\n tds.push(rows);\n });\n if (tds.length == 0) {\n this.emptyData = this.$t(\"nodata\");\n }\n this.loading = false;\n this.CardData = tds;\n console.log(\"this.tableData---->\", this.CardData);\n }\n });\n },\n getViewData(page) {\n let treeData = \"\";\n let treeName = \"\";\n if (this.parentId) {\n //树形视图\n return new Promise((resolve) => {\n this.$api.getTreeViewData(\n //树形视接口\n this.openParams.appId,\n this.openParams.actionContent,\n {\n parentId: this.parentId ? this.parentId : \"\",\n },\n treeData,\n treeName,\n {\n onSucess: (response) => {\n let treeViewData = response.data;\n resolve(treeViewData);\n },\n }\n );\n });\n } else if (this.openParams && this.openParams.parentId) {\n //包含元素时\n return new Promise((resolve) => {\n this.$api.getViewData(\n //普通视图接口\n this.openParams.appId,\n this.view.id,\n {\n parentId: this.openParams.parentId,\n isRelate: this.openParams.isRelate,\n currpage: page ? page : this.currentPage,\n lines: this.view.data ? this.view.data.page_lines : 10,\n searchWord: \"\",\n },\n {},\n {\n onSucess: (response) => {\n let viewData = response.data;\n resolve(viewData);\n },\n }\n );\n });\n } else {\n return new Promise((resolve) => {\n this.$api.getViewData(\n //普通视图接口\n this.openParams.appId,\n this.view.id,\n {\n parentId: this.parentId ? this.parentId : \"\",\n currpage: page ? page : this.currentPage,\n lines: this.view.data ? this.view.data.page_lines : 10,\n searchWord: \"\",\n },\n {},\n {\n onSucess: (response) => {\n let viewData = response.data;\n resolve(viewData);\n },\n }\n );\n });\n }\n },\n returnPrevious() {\n let parentName = this.CardData[0].parentName;\n let name = \"\";\n if (parentName.indexOf(\"\\\\\") >= 0 && parentName.split(\"\\\\\").length > 1) {\n if(parentName.split(\"\\\\\").length!==2){\n for (var i = 0; i < parentName.split(\"\\\\\").length - 2; i++) {\n \n if (name) {\n name = name + \"\\\\\" + parentName.split(\"\\\\\")[i];\n } else {\n name = parentName.split(\"\\\\\")[i];\n }\n }\n }\n else{\n this.$emit(\"cardBackSign\",false);\n }\n }\n if(name){\n // name=encodeURIComponent(name + \"\\\\\")\n name=name+'\\\\'\n }\n this.updateCardContent(name)\n },\n //点击折叠节点触发的事件\n load(e, index) {\n let xuanzhong = this.CardData[index].parentName;\n if (xuanzhong.indexOf(\"\\\\\") === -1) {\n //只在最上层触发函数,出现返回按钮\n this.$emit(\"cardBackSign\", true); //触发父组件的方法,点击出现返回按钮在,不是最高节点的方法\n }\n //\n let parentName=this.CardData[index].parentName + '\\\\';\n this.updateCardContent(parentName)\n\n },\n //接受父节点的名称,用来更新视图\n updateCardContent(parentName){ \n let that = this;\n let params = {\n viewId: this.openParams.actionContent,\n opentarget: \"detail\",\n containTitle: this.view.name,\n };\n let appId = this.openParams.appId;\n this.$api.getCollapsedviewTemplate(appId, params, {\n onSucess: (res) => {\n if (res.data.data) {\n that.$api.getViewData(\n //普通视图接口\n that.$root.appid,\n that.openParams.actionContent,\n {\n currpage: that.currentPage,\n lines: 10,\n parentParam: encodeURIComponent(\n parentName\n ),\n },\n {},\n {\n onSucess: (response) => {\n let docs = response.data.data.data;\n let tds = [];\n if (docs) {\n docs.forEach((doc) => {\n let rows = {};\n rows.formId = doc.formId;\n rows.docId = doc.id;\n for (let key in doc.items) {\n let items = doc.items[key];\n rows[key] = items.value;\n }\n if (doc.hasChild) {\n rows.hasChildren = true;\n rows.select=false;\n }\n else{\n rows.childrenSelect=false;\n }\n if (doc.parentName) {\n rows.parentName = doc.parentName;\n }\n\n tds.push(rows);\n });\n\n this.echoProcessing(tds)\n\n }\n },\n }\n );\n }\n },\n }); \n },\n //更新Carddata的内容,为选中的节点赋予元素\n echoProcessing(tds){\n this.$nextTick(() => {\n if(this.checkedAll.length){//没有选中的元素的时候都不加上样式\n tds.map(item=>{\n if(this.selectNodeId.indexOf(item.docId)>=0){//存储已经选中的卡片,加上样式\n item.childrenSelect=true; \n }//parrmainr这个元素的前面的 haschail都 加上selet样式 \n if(item.hasChildren){\n this.parentcheck.map(check=>{\n let a=item.parentName + '\\\\';\n if(a.split(\"\\\\\").length == 1 && check.split(\"\\\\\")[0] ==item.parentName) {\n item.select=true;\n }\n else if(a.split(\"\\\\\").length !== 1 && check.indexOf(item.parentName)>=0 ){\n item.select=true;\n }\n })\n }\n }) \n }else{\n tds.map(item=>{\n if(item.hasChildren){\n item.select=false;\n }\n else{\n item.childrenSelect=false; \n }\n })\n }\n\n this.CardData = tds;\n });\n this.$forceUpdate()\n }\n },\n watch:{\n clearCheckboxVal() {\n if (this.clearCheckboxVal) {\n \n this.checkedAll=[];\n this.selectNodeId=[];\n this.parentcheck=[];\n this.echoProcessing(this.CardData)\n }\n },\n }\n};\n",null]}