{"remainingRequest":"D:\\jenkins\\workspace\\examine-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\examine-fvue\\src\\components\\eipControl\\EipHotSubDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\examine-fvue\\src\\components\\eipControl\\EipHotSubDialog.vue","mtime":1667280203998},{"path":"D:\\jenkins\\workspace\\examine-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\examine-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\examine-fvue\\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\r\nimport { mapState } from \"vuex\";\r\nimport utils from \"@/utils.js\";\r\nimport { Message } from \"element-ui\";\r\n\r\nexport default {\r\n name: \"ht-hot-subDialog\",\r\n props: [\"validate\", \"value\", \"btnName\", \"atter\", \"single\", \"custdialog\"],\r\n data() {\r\n return {\r\n customDialogShowList: false,\r\n customDialogShowTree: false,\r\n selectOrgProps: {\r\n label: \"btnName\"\r\n },\r\n style: \"\", //对话框宽高\r\n selectOrgs: null,\r\n inputSuffixHeight: 30,\r\n config: null,\r\n updating: false,\r\n displayfield: [], //显示字段\r\n customDialog: {}, //\r\n comment: \"\",\r\n queryParam: \"\",\r\n props1: [],\r\n showData: [],\r\n checkBoxDataAll: [], //选中对象的集合\r\n defaultProps: {\r\n children: \"childrens\",\r\n label: \"label\"\r\n },\r\n propsData: [],\r\n querysShow: false, //是否显示搜索框\r\n undefineda: \"\",\r\n opMap:{'EQ':'EQUAL','GE':'GREAT_EQUAL','GT':'GREAT','LT':'LESS','LE':'LESS_EQUAL','IN':'IN','LK':'LIKE','LFK':'LEFT_LIKE','RHK':'RIGHT_LIKE'},\r\n };\r\n },\r\n computed: mapState({\r\n pagination: state => state.dialog.pagination,\r\n total: state => state.dialog.total,\r\n dialogData: state => {\r\n return state.dialog.rows;\r\n },\r\n inputVal: function() {\r\n if (!this.value) {\r\n return null;\r\n } else {\r\n let nameAry = this.value.split(\",\");\r\n if (this.value.indexOf(\"||\") > 0) {\r\n nameAry = this.value.split(\"||\")[0].split(\",\");\r\n this.showData = JSON.parse(this.value.split(\"||\")[1]);\r\n }\r\n let idAry = null;\r\n let accountAry = null;\r\n let result = [];\r\n nameAry.forEach((m, i) => {\r\n let n = { value: m };\r\n result.push(n);\r\n });\r\n return result;\r\n }\r\n },\r\n inputWriteable: function() {\r\n return utils.getWriteable(this.permission);\r\n },\r\n inputValidate: function() {\r\n var validateObj = this.$store.state.index.validate;\r\n return utils.addRequiredOrNot(\r\n this.permission,\r\n this.validate,\r\n validateObj,\r\n this\r\n );\r\n },\r\n inputName: function() {\r\n return this.name ? this.name : utils.getName();\r\n },\r\n // 是否有回填设置\r\n bindSet: function() {\r\n return this.selectorconfig ? this.selectorconfig.bind : null;\r\n },\r\n getPlaceholder: function() {\r\n return this.custdialog.name;\r\n }\r\n }),\r\n mounted() {},\r\n created() {\r\n this.$validator = this.$root.$validator;\r\n },\r\n watch: {\r\n customDialogShowTree: function(newVal) {\r\n if (newVal) {\r\n this.checkBoxDataAll = [];\r\n if (this.inputVal && this.inputVal.constructor == Array) {\r\n this.selectOrgs = [...this.inputVal];\r\n } else {\r\n this.selectOrgs = [];\r\n }\r\n }\r\n },\r\n customDialogShowList: function(newVal) {\r\n if (newVal) {\r\n this.checkBoxDataAll = [];\r\n if (this.inputVal && this.inputVal.constructor == Array) {\r\n this.selectOrgs = [...this.inputVal];\r\n } else {\r\n this.selectOrgs = [];\r\n }\r\n }\r\n }\r\n },\r\n methods: {\r\n handleSizeChange: function(size) {\r\n //每页下拉显示数据\r\n this.$store.dispatch(\"dialog/setPaginationSize\", size);\r\n this.search();\r\n },\r\n handleCurrentChange: function(currentPage) {\r\n const this_ = this;\r\n if (this.selectOrgs != undefined && this.selectOrgs.length > 0) {\r\n this.selectOrgs.forEach(row => {\r\n let res = this_.indexArray(this_.checkBoxDataAll, row);\r\n if (res == -1) {\r\n this_.checkBoxDataAll.push(row);\r\n }\r\n });\r\n }\r\n this_.selectOrgs = this_.checkBoxDataAll;\r\n //点击第几页\r\n this.$store.dispatch(\"dialog/setPaginationPageNum\", currentPage);\r\n this.search();\r\n },\r\n checkList() {\r\n const this_ = this;\r\n setTimeout(() => {\r\n if (this_.selectOrgs != undefined && this_.selectOrgs.length > 0) {\r\n if (this_.selectOrgs == undefined || this_.selectOrgs.length == 0) {\r\n this_.selectOrgs = this_.checkBoxDataAll;\r\n }\r\n if (this_.selectOrgs != undefined && this_.selectOrgs.length > 0) {\r\n this_.selectOrgs.forEach(row => {\r\n let res = this_.indexArray(this_.dialogData, row);\r\n if (res != -1) {\r\n this_.$refs.orgTable.toggleRowSelection(\r\n this_.dialogData[res],\r\n true\r\n );\r\n }\r\n });\r\n }\r\n } else {\r\n if (this_.showData != undefined && this_.showData.length > 0) {\r\n this_.showData.forEach(row => {\r\n let res = this_.indexArray(this_.dialogData, row);\r\n if (res != -1) {\r\n this_.$refs.orgTable.toggleRowSelection(\r\n this_.dialogData[res],\r\n true\r\n );\r\n }\r\n });\r\n }\r\n }\r\n }, 250);\r\n },\r\n showDialog(item) {\r\n let selectNum = -1;\r\n let subRelationObj = $(item.target).parents(\"[sub-relation]\");\r\n if (\r\n subRelationObj.length > 0 &&\r\n $(subRelationObj[0]).attr(\"sub-relation\") == \"onetoone\"\r\n ) {\r\n selectNum = 1;\r\n }\r\n var alias = this.custdialog.custDialog.alias;\r\n this.$store.dispatch(\"dialog/setDialogData\", []);\r\n this.$store.dispatch(\"form/getByAlias\", alias).then(customDialog => {\r\n if (!customDialog || !customDialog.alias) {\r\n Message.error(\"对话框别名【\" + alias + \"】不存在!\");\r\n return;\r\n }\r\n customDialog.selectNum = selectNum;\r\n var list = JSON.parse(customDialog.conditionfield);\r\n var param = {};\r\n list.forEach(ele => {\r\n if (ele.defaultType == \"4\") {\r\n param[ele.field] = ele.comment;\r\n }\r\n });\r\n this.style = \"height:\" + customDialog.height + \"px\";\r\n\r\n if (JSON.stringify(param) == \"{}\") {\r\n //没有动态传入的字段\r\n if (customDialog.style == 0) {\r\n this.customDialogShow({ alias: alias, customDialog: customDialog });\r\n } else {\r\n this.customDialogTreeShow({\r\n alias: alias,\r\n customDialog: customDialog\r\n });\r\n }\r\n } else {\r\n \r\n }\r\n });\r\n },\r\n indexArray(array, item) {\r\n var id = \"\";\r\n if (typeof item == \"object\") {\r\n id = item.id;\r\n } else {\r\n id = item;\r\n }\r\n\r\n for (var i = 0; i < array.length; i++) {\r\n if (array[i].id == id) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n },\r\n onTableSelect(rows, row) {\r\n let selected = rows.length && rows.indexOf(row) !== -1;\r\n if (!selected) {\r\n let res = this.indexArray(this.checkBoxDataAll, row);\r\n this.checkBoxDataAll.splice(res, 1);\r\n if (this.checkBoxDataAll.length == 0) {\r\n this.selectOrgs = [];\r\n }\r\n }\r\n },\r\n orgRowClick(row, column, event) {\r\n if (this.customDialog.selectNum === 1) {\r\n $(event.currentTarget.children[0].children[0].children[0]).trigger(\r\n \"click\"\r\n );\r\n this.selectOrgs = [row];\r\n }\r\n this.$refs.orgTable.toggleRowSelection(row);\r\n },\r\n orgTableSelection(selection) {\r\n if (\r\n this.customDialog.selectNum != 1 &&\r\n selection &&\r\n selection.length > 0\r\n ) {\r\n this.selectOrgs = selection;\r\n }\r\n },\r\n dialogConfirm() {\r\n this.$store.dispatch(\"dialog/setDialogData\", []);\r\n this.customDialogShowList = false;\r\n this.calacInputSuffixHeight();\r\n this.syncInputValue();\r\n }, //重置\r\n reset() {\r\n this.queryParam = \"\";\r\n this.search();\r\n },\r\n search() {\r\n let querys = []; //查询条件\r\n let queryFilter = {};\r\n let pageBean = { pageBean: this.pagination };\r\n let _this = this;\r\n if (this.queryParam != \"\") {\r\n var conditionfield = JSON.parse(this.customDialog.conditionfield);\r\n conditionfield.forEach(item => {\r\n if(item.defaultType == '1'){\r\n querys.push({\r\n property: item.field,\r\n value: this.queryParam,\r\n group: \"main\",\r\n operation: _this.opMap[item.condition],\r\n relation: \"OR\"\r\n });\r\n } \r\n });\r\n }\r\n //处理参数传入\r\n const conditions = this.custdialog.custDialog.conditions;\r\n const formInst = utils.getOnlineFormInstance(this);\r\n if(conditions && conditions.length>0 && formInst && formInst['data']){\r\n const curData = formInst['data'];\r\n conditions.forEach(item =>{\r\n if(item.defaultType == \"3\" && item.bind){\r\n let obj = {};\r\n item.field = item.field;\r\n const bindArray = item.bind.split('.');\r\n if(bindArray.length==3){\r\n const targetValue = curData[bindArray[1]][bindArray[2]];\r\n querys.push({\r\n property: item.field,\r\n value: targetValue,\r\n group: \"type3\",\r\n operation: _this.opMap[item.condition],\r\n relation: \"AND\"\r\n });\r\n }\r\n }\r\n });\r\n }\r\n if (querys.length > 0) {\r\n queryFilter = { pageBean: this.pagination, querys };\r\n this.customDialog.pageBean = queryFilter;\r\n this.$store.dispatch(\"dialog/getlistJson\", this.customDialog);\r\n } else {\r\n this.customDialog.pageBean = pageBean;\r\n this.$store.dispatch(\"dialog/getlistJson\", this.customDialog);\r\n }\r\n this.checkList();\r\n },\r\n searchTree(requestParams) {\r\n if (this.props1.length < 1) {\r\n this.$store.dispatch(\"dialog/getTreeData\", requestParams).then(res => {\r\n if (this.customDialog.displayfield && this.customDialog.resultfield) {\r\n var displayfield = JSON.parse(this.customDialog.displayfield);\r\n this.defaultProps.label = displayfield.displayName;\r\n var resultfield = JSON.parse(this.customDialog.resultfield);\r\n this.props1 = this.toTreeData(\r\n res,\r\n displayfield.id,\r\n displayfield.pid,\r\n displayfield.displayName,\r\n displayfield.pvalue ? displayfield.pvalue : \"0\",\r\n resultfield\r\n );\r\n }\r\n });\r\n }\r\n },\r\n // 同步选择结果\r\n syncInputValue() {\r\n var returnStr = JSON.parse(this.customDialog.resultfield);\r\n //拿到返回的字段\r\n var field = new Array([returnStr.length]);\r\n var comment = new Array([returnStr.length]);\r\n var str = [];\r\n var ids = [];\r\n for (var i = 0; i < returnStr.length; i++) {\r\n field[i] =\r\n this.customDialog.dsType == \"dataSource\"\r\n ? returnStr[i].field.toUpperCase()\r\n : returnStr[i].field;\r\n comment[i] =\r\n this.customDialog.dsType == \"dataSource\"\r\n ? returnStr[i].comment.toUpperCase()\r\n : returnStr[i].comment;\r\n }\r\n const this_ = this;\r\n this.selectOrgs.forEach(row => {\r\n if (this_.checkBoxDataAll || this_.checkBoxDataAll.length < 1) {\r\n this_.checkBoxDataAll.push(row);\r\n } else if (\r\n JSON.stringify(this_.indexArray).indexOf(JSON.stringify(row)) == -1\r\n ) {\r\n this_.checkBoxDataAll.push(row);\r\n }\r\n });\r\n var s = this.checkBoxDataAll;\r\n\r\n if (this.customDialog.selectNum === 1) {\r\n var temp = \"\";\r\n for (var i = 0; i < comment.length; i++) {\r\n const va = s[0][field[i]];\r\n va = typeof(va)=='undefined'?'':va;\r\n temp += '\"' + comment[i] + '\":\"' + va + '\",';\r\n }\r\n if (temp != \"\") {\r\n temp = \"{\" + temp.substring(0, temp.length - 1) + \"}\";\r\n }\r\n str.push(utils.parseToJson(temp));\r\n ids.push(s[0].id);\r\n } else {\r\n for (var i = 0; i < s.length; i++) {\r\n var temp = \"\";\r\n for (var j = 0; j < comment.length; j++) {\r\n const va = s[i][field[j]];\r\n va = typeof(va)=='undefined'?'':va;\r\n temp += '\"' + comment[j] + '\":\"' + va + '\",';\r\n }\r\n if (temp != \"\") {\r\n temp = \"{\" + temp.substring(0, temp.length - 1) + \"}\";\r\n }\r\n str.push(utils.parseToJson(temp));\r\n ids.push(s[i].id);\r\n }\r\n }\r\n const returnData = str;\r\n const _this = this;\r\n const formInst = utils.getOnlineFormInstance(this);\r\n let hotTableTarget = '';\r\n returnData.forEach(row => {\r\n var targetArray = null;\r\n var subLineData = {};\r\n this.custdialog.custDialog.mappingConf.forEach(con => {\r\n if (con.target[0]) {\r\n hotTableTarget = con.target[0];\r\n targetArray = con.target[0].split(\".\");\r\n var from = \"\";\r\n if (_this.customDialog.dsType == \"restful\") {\r\n from = con.from;\r\n } else {\r\n from = con.from.toUpperCase();\r\n }\r\n subLineData[targetArray[targetArray.length - 1]] = row[from];\r\n }\r\n });\r\n if (targetArray) {\r\n var subBo = formInst[\"data\"][targetArray[0]][targetArray[1]];\r\n if (_this.customDialog.selectNum == 1 && subBo.length > 0) {\r\n subBo.shift();\r\n }\r\n //子表回填 自动把之前添加的字段且为空的也回填\r\n // if (formInst[\"data\"][targetArray[0]][targetArray[1]]) {\r\n // formInst[\"data\"][targetArray[0]][targetArray[1]].forEach(obj => {\r\n // for (let item in obj) {\r\n // if (!obj[item]) {\r\n // for (let subData in subLineData) {\r\n // obj[item] = subLineData[item];\r\n // }\r\n // }\r\n // }\r\n // });\r\n // }\r\n subBo.push(subLineData);\r\n //把子表回填值存在控件的父组件中\r\n formInst.subBackfill.set(\r\n \"data.\" + targetArray[0] + \".\" + targetArray[1],\r\n subLineData\r\n );\r\n }\r\n });\r\n if(hotTableTarget){\r\n formInst.hotTableFillback = hotTableTarget+'_timestamp_'+Date.parse(new Date());\r\n }\r\n },\r\n dialogCancel() {\r\n this.$store.dispatch(\"dialog/setDialogData\", []);\r\n this.customDialogShowList = false;\r\n if (this.selectOrgs) {\r\n this.selectOrgs.forEach(item => {\r\n if (!this.inputVal || this.inputVal.indexOf(item) === -1) {\r\n this.$refs.orgTable.toggleRowSelection(item, false);\r\n } else {\r\n this.$refs.orgTable.toggleRowSelection(item, true);\r\n }\r\n });\r\n }\r\n // this.selectOrgs = this.inputVal ? this.inputVal : null;\r\n },\r\n dialogTreeConfirm() {\r\n this.$store.dispatch(\"dialog/setDialogData\", []);\r\n var returnStr = JSON.parse(this.customDialog.resultfield);\r\n var field = new Array([returnStr.length]);\r\n var comment = new Array([returnStr.length]);\r\n var str = [];\r\n for (var i = 0; i < returnStr.length; i++) {\r\n field[i] = returnStr[i].field;\r\n comment[i] = returnStr[i].comment;\r\n }\r\n if (this.customDialog.selectNum === 1) {\r\n var nodes = this.propsData[0];\r\n var temp = \"\";\r\n for (var i = 0; i < comment.length; i++) {\r\n temp += '\"' + comment[i] + '\":\"' + nodes[field[i]] + '\",';\r\n }\r\n if (temp != \"\") {\r\n temp = \"{\" + temp.substring(0, temp.length - 1) + \"}\";\r\n }\r\n str.push(utils.parseToJson(temp));\r\n } else {\r\n var nodes = this.propsData;\r\n nodes.forEach((item, k) => {\r\n var temp = \"\";\r\n for (var i = 0; i < comment.length; i++) {\r\n temp += '\"' + comment[i] + '\":\"' + nodes[field[i]] + '\",';\r\n temp += '\"' + comment[i] + '\":\"' + nodes[k][field[i]] + '\",';\r\n }\r\n if (temp != \"\") {\r\n temp = \"{\" + temp.substring(0, temp.length - 1) + \"}\";\r\n }\r\n str.push(utils.parseToJson(temp));\r\n });\r\n }\r\n const returnData = str;\r\n const _this = this;\r\n const formInst = utils.getOnlineFormInstance(this);\r\n returnData.forEach(row => {\r\n var targetArray = null;\r\n var subLineData = {};\r\n this.custdialog.custDialog.mappingConf.forEach(con => {\r\n targetArray = con.target[0].split(\".\");\r\n var from = \"\";\r\n if (_this.customDialog.dsType == \"restful\") {\r\n from = con.from;\r\n } else {\r\n from = con.from.toUpperCase();\r\n }\r\n subLineData[targetArray[targetArray.length - 1]] = row[from];\r\n });\r\n if (targetArray) {\r\n var subBo = formInst[\"data\"][targetArray[0]][targetArray[1]];\r\n if (_this.customDialog.selectNum == 1 && subBo.length > 0) {\r\n subBo.shift();\r\n }\r\n subBo.push(subLineData);\r\n }\r\n });\r\n //this.$emit(\"input\", JSON.stringify(str));\r\n this.customDialogShowTree = false;\r\n },\r\n dialogCancelTree() {\r\n this.$store.dispatch(\"dialog/setDialogData\", []);\r\n this.customDialogShowTree = false;\r\n },\r\n getChecked(data, checked, indeterminate) {\r\n if (this.customDialog.selectNum === 1) {\r\n this.propsData = [];\r\n this.propsData.push(data);\r\n } else {\r\n this.propsData = this.$refs.tree.getCheckedNodes();\r\n }\r\n },\r\n treeClick(data, n, i) {\r\n if (this.customDialog.selectNum === 1) {\r\n this.propsData = [];\r\n this.propsData.push(data);\r\n }\r\n },\r\n clearAllSelectOrgs() {\r\n this.selectOrgs = null;\r\n this.$refs.orgTable.clearSelection();\r\n },\r\n removeSelectOrgs() {\r\n let ary = this.$refs.selectTree.getCheckedNodes();\r\n ary.forEach(item => {\r\n this.selectOrgs.remove(item);\r\n this.$refs.orgTable.toggleRowSelection(item, false);\r\n });\r\n },\r\n removeSelectOrg(item) {\r\n if (this.customDialog.selectNum === 1) {\r\n this.$emit(\"input\", \"\");\r\n } else {\r\n this.inputVal.splice(item, 1);\r\n this.showData.splice(item, 1);\r\n this.calacInputSuffixHeight();\r\n let value = \"\";\r\n this.inputVal.forEach(val => {\r\n value += val.value + \",\";\r\n });\r\n if (value.length > 0) {\r\n value = value.substring(0, value.length - 1);\r\n }\r\n if (value != \"\") {\r\n value = value + \"||\" + JSON.stringify(this.showData);\r\n }\r\n this.$emit(\"input\", value);\r\n }\r\n },\r\n calacInputSuffixHeight() {\r\n setTimeout(() => {\r\n if (!this.$refs.tagSpans) return;\r\n if (this.$refs.tagSpans.offsetHeight) {\r\n this.inputSuffixHeight = this.$refs.tagSpans.offsetHeight + 5;\r\n } else {\r\n this.inputSuffixHeight = 30;\r\n }\r\n // 触发验证\r\n this.$validator.validate();\r\n }, 0);\r\n },\r\n customDialogShow(pageParam) {\r\n this.customDialogShowList = true;\r\n this.customDialog = pageParam.customDialog;\r\n this.customDialog.queryUrl =\r\n this.customDialog.dsType == \"dataSource\"\r\n ? \"${form}/form/customDialog/v1/getListData?alias=\" +\r\n this.customDialog.alias +\r\n \"&mapParam=\" +\r\n (this.customDialog.mapParam ? this.customDialog.mapParam : \"\")\r\n : this.customDialog.url;\r\n\r\n var conditionfield = JSON.parse(this.customDialog.conditionfield);\r\n if (!this.comment && conditionfield.length > 0) {\r\n conditionfield.forEach(item => {\r\n if (item.controllerType == 1 && item.dbType == \"varchar\") {\r\n this.comment += item.comment + \",\";\r\n }\r\n });\r\n if (this.comment) {\r\n this.querysShow = true;\r\n this.comment =\r\n \"通过\" +\r\n this.comment.substring(0, this.comment.length - 1) +\r\n \"查询\";\r\n }\r\n }\r\n if (this.dialogData.length < 1) {\r\n this.search();\r\n this.displayfield = JSON.parse(pageParam.customDialog.displayfield);\r\n if (this.customDialog.dsType == \"dataSource\") {\r\n for (var i = 0; i < this.displayfield.length; i++) {\r\n this.displayfield[i].field = this.displayfield[\r\n i\r\n ].field.toUpperCase();\r\n }\r\n }\r\n }\r\n },\r\n customDialogTreeShow(pageParam) {\r\n this.customDialog = pageParam.customDialog;\r\n var customDialog = this.customDialog;\r\n var mapParam = \"\";\r\n if (pageParam.param != undefined) {\r\n mapParam = JSON.stringify(pageParam.param);\r\n mapParam = mapParam.substring(1, mapParam.length - 1);\r\n }\r\n var requestType =\r\n customDialog.dsType == \"dataSource\"\r\n ? \"GET\"\r\n : customDialog.requestType\r\n ? customDialog.requestType\r\n : \"POST\";\r\n var url =\r\n \"${form}/form/customDialog/v1/getTreeData?alias=\" +\r\n pageParam.alias +\r\n \"&mapParam=\" +\r\n mapParam;\r\n var paramsObj = {};\r\n if (customDialog.dsType != \"dataSource\") {\r\n url = customDialog.url;\r\n var templatePa = customDialog.dataParam;\r\n if (customDialog.conditionfield) {\r\n var conditions = JSON.parse(customDialog.conditionfield);\r\n for (var i = 0; i < conditions.length; i++) {\r\n var con = conditions[i];\r\n if (requestType == \"POST\") {\r\n if (templatePa) {\r\n templatePa = templatePa.replace(\r\n new RegExp(\"\\\\{\" + con.field + \"\\\\}\", \"g\"),\r\n con.defaultValue\r\n );\r\n } else {\r\n paramsObj[con.field] = con.defaultValue;\r\n }\r\n } else {\r\n var ljChar = url.indexOf(\"?\") == -1 ? \"?\" : \"&\";\r\n url = url + ljChar + con.field + \"=\" + con.defaultValue;\r\n }\r\n }\r\n if (templatePa) {\r\n paramsObj = JSON.parse(templatePa);\r\n }\r\n }\r\n }\r\n var requestParams = {};\r\n requestParams.requestType = requestType;\r\n requestParams.url = url;\r\n requestParams.paramsObj = paramsObj;\r\n this.searchTree(requestParams);\r\n this.customDialogShowTree = true;\r\n },\r\n toTreeData(data, id, pid, name, pvalue, returnStr) {\r\n // 建立个树形结构,需要定义个最顶层的父节点,pvalue是0\r\n var ztree = translateDataToTree(data, pid, id, name);\r\n function translateDataToTree(data, pid, id, name) {\r\n let parents = data.filter(\r\n value =>\r\n value[id] == value[pid] ||\r\n value[pid] == null ||\r\n value[pid] == null ||\r\n value[pid] == 0\r\n );\r\n parents.label = parents[name];\r\n let childrens = data.filter(\r\n value =>\r\n value[pid] !== \"undefined\" &&\r\n value[pid] != null &&\r\n value[id] != value[pid]\r\n );\r\n let translator = (parents, childrens) => {\r\n parents.forEach(parent => {\r\n childrens.forEach((current, index) => {\r\n if (current[pid] === parent[id]) {\r\n let temp = JSON.parse(JSON.stringify(childrens));\r\n temp.splice(index, 1);\r\n translator([current], temp);\r\n current.label = current[name];\r\n typeof parent.childrens !== \"undefined\"\r\n ? parent.childrens.push(current)\r\n : (parent.childrens = [current]);\r\n }\r\n });\r\n });\r\n };\r\n translator(parents, childrens);\r\n\r\n return parents;\r\n }\r\n return ztree;\r\n }\r\n }\r\n};\r\n",null]}