{"remainingRequest":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\cssc-fvue\\src\\components\\control\\HtDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\cssc-fvue\\src\\components\\control\\HtDialog.vue","mtime":1667804638712},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\cssc-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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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-dialog\",\r\n props: [\r\n \"validate\",\r\n \"value\",\r\n \"name\",\r\n \"permission\",\r\n \"atter\",\r\n \"single\",\r\n \"selectorconfig\",\r\n \"custdialog\",\r\n \"tooltipplacement\",\r\n \"placeholder\",\r\n \"isFromList\"\r\n ],\r\n data() {\r\n return {\r\n nodeKey:\"ID_\",//树形数据父Id\r\n customDialogShowList: false,\r\n customDialogShowTree: false,\r\n selectOrgProps: {\r\n label: \"name\"\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: \"children\",\r\n label: \"label\"\r\n },\r\n propsData: [],\r\n searchForm: {},\r\n querysShow: false, //是否显示搜索框\r\n undefineda:\"\",\r\n isCurrentChange:false //是否不执行 orgTableSelection方法\r\n };\r\n },\r\n watch: {\r\n props1: function(newVal, oldVal) {\r\n //树形\r\n if(this.showData!=undefined&&this.showData.length>0){\r\n const this_ = this;\r\n let data = [];\r\n for(let i =0;i {\r\n for(let i =0;i 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 || this.value =='||[]') {\r\n this.checkBoxDataAll = [];\r\n // this.showData = [];\r\n return null;\r\n } else {\r\n let nameAry = this.value.split(\",\");\r\n if(!nameAry[nameAry.length-1]){\r\n nameAry.splice(nameAry.length-1,1);\r\n }\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 // this.showData =this.selectOrgs;\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 let labeldesc = \"\";\r\n if(this.$slots && this.$slots.labeldesc && this.$slots.labeldesc[0].children && this.$slots.labeldesc[0].children[0].text){\r\n labeldesc = this.$slots.labeldesc[0].children[0].text;\r\n return this.name ? this.name : utils.getName()+ \"-\" +labeldesc;\r\n }else{\r\n return this.name ? this.name : utils.getName();\r\n }\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 if(this.placeholder){\r\n return this.placeholder;\r\n }\r\n return this.custdialog.name;\r\n }\r\n }),\r\n created() {\r\n this.$validator = this.$root.$validator;\r\n },\r\n methods: {\r\n //回车查询\r\n searchEnterFun:function(e){\r\n var keyCode = window.event? e.keyCode:e.which;\r\n if(keyCode == 13){\r\n this.search();\r\n }\r\n },\r\n handleSizeChange: function(size) {\r\n this.isCurrentChange = true;\r\n //每页下拉显示数据\r\n this.$store.dispatch(\"dialog/setPaginationSize\", size).then(()=>{\r\n this.search();\r\n });\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.isCurrentChange = true;\r\n //点击第几页\r\n this.$store.dispatch(\"dialog/setPaginationPageNum\", currentPage).then(()=>{\r\n this.search();\r\n });\r\n },\r\n checkList(){\r\n const this_ = this;\r\n setTimeout(() => {\r\n //列表\r\n if(this_.checkBoxDataAll!=undefined&&this_.checkBoxDataAll.length>0){\r\n this_.checkBoxDataAll.forEach(row => {\r\n let res=this_.indexArray(this_.dialogData,row);\r\n this_.undefineda=res;\r\n if(res!=-1){\r\n this_.isCurrentChange=true;\r\n this_.toggleRowSelection(res,true);\r\n }\r\n });\r\n }\r\n }, 300);\r\n },\r\n toggleRowSelection(res,val){\r\n this.$refs.orgTable.toggleRowSelection(this.dialogData[res],val);\r\n },\r\n showDialog(item) {\r\n const this_ = this;\r\n var alias = this.custdialog.custDialog.alias;\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 if(customDialog.style==1){\r\n var displaylist = JSON.parse(customDialog.displayfield);\r\n this_.nodeKey = displaylist.id;\r\n }\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 if(array.length==0){\r\n return -1;\r\n }\r\n for (let i = 0; i 0) && this.indexArray(this.selectOrgs,row) !== -1;\r\n if(selected){\r\n this.isCurrentChange=true;\r\n let res=this.indexArray(this.selectOrgs,row);\r\n this.selectOrgs.splice(res,1);\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(\"click\");\r\n this.selectOrgs=[];\r\n this.selectOrgs.push(row);\r\n }else if(this.customDialog.selectNum!=1){\r\n this.isCurrentChange=false;\r\n //判断点击列表数据时复选框是否勾选 selected:true不勾选,false勾选\r\n let selected = (this.selectOrgs && this.selectOrgs.length>0) && this.indexArray(this.selectOrgs,row) !== -1;\r\n if(selected){\r\n this.isCurrentChange=true;\r\n let res=this.indexArray(this.selectOrgs,row);\r\n this.selectOrgs.splice(res,1);\r\n }\r\n this.$refs.orgTable.toggleRowSelection(row);\r\n }\r\n },\r\n //列表复选框有改变时触发\r\n orgTableSelection(selection) {\r\n //多选\r\n if(this.customDialog.selectNum!=1 && !this.isCurrentChange){\r\n if(selection && selection.length>0){\r\n if(selection.length==1 && (!this.selectOrgs || this.selectOrgs.length==0)){\r\n this.selectOrgs = selection;\r\n }else if((!this.selectOrgs || this.selectOrgs.length==0) && selection.length>1){\r\n if(!this.selectOrgs){\r\n this.selectOrgs=[];\r\n }\r\n for (let i = selection.length-1; i >=0 ; i--) {\r\n this.selectOrgs.push(selection[i]);\r\n }\r\n }else{\r\n for (let i = selection.length-1; i >=0 ; i--) {\r\n this.selectOrgs.push(selection[i]);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n },\r\n dialogConfirm() {\r\n this.customDialogShowList = false;\r\n this.calacInputSuffixHeight();\r\n this.syncInputValue();\r\n // this.$store.dispatch(\"dialog/setDialogData\", []);\r\n },\r\n //重置\r\n reset() {\r\n this.queryParam = \"\";\r\n this.search();\r\n },\r\n //查询\r\n search() {\r\n let querys = []; //查询条件\r\n let queryFilter = {};\r\n if(JSON.stringify(this.pagination)==\"{}\"){\r\n this.pagination = {\"page\":\"1\",\"pageSize\":\"10\",\"showTotal\":\"true\"};\r\n }\r\n let pageBean = { pageBean: this.pagination };\r\n if (this.queryParam != \"\") {\r\n var conditionfield = JSON.parse(this.customDialog.conditionfield);\r\n conditionfield.forEach(item => {\r\n querys.push({\r\n property: item.field,\r\n value: this.queryParam,\r\n group: \"main\",\r\n operation: \"LIKE\",\r\n relation: \"OR\"\r\n });\r\n });\r\n }\r\n \r\n //对话框按表单字段查询(参数传入的)\r\n let bindList = this.custdialog.custDialog.conditions;\r\n if (bindList.length > 0) {\r\n const pInst = utils.getInstanceByTag(this,'ht-dataview-runtime-template');\r\n bindList.forEach(ele => {\r\n //绑定表单字段\r\n if (ele.defaultType == '3' && ele.bind && pInst.searchForm) {\r\n let value=\"\";\r\n for (let item in pInst.searchForm){\r\n if(ele.bind.toLowerCase()==item.toLowerCase()){\r\n value=pInst.searchForm[item];\r\n }\r\n }\r\n if(value){\r\n querys.push({\r\n property: ele.field,\r\n value: value,\r\n group: 'main',\r\n operation: 'LIKE',\r\n relation: 'AND'\r\n })\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).then(()=>{\r\n this.checkList();\r\n });\r\n } else {\r\n this.customDialog.pageBean = pageBean;\r\n this.$store.dispatch(\"dialog/getlistJson\", this.customDialog).then(()=>{\r\n this.checkList();\r\n });\r\n }\r\n },\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.displayfield = displayfield;\r\n this.defaultProps.label=displayfield.displayName;\r\n var resultfield = JSON.parse(this.customDialog.resultfield);\r\n this.treeData = res;\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 let subIndex = null;\r\n if (this.$el) {\r\n subIndex = utils.getSomeAttributeFromParentElement(\r\n this.$el,\r\n \"data-index\"\r\n );\r\n }\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 for (var i = 0; i < returnStr.length; i++) {\r\n field[i] =\r\n this.customDialog.dsType == \"dataSource\"\r\n ? returnStr[i].field.toLowerCase()\r\n : returnStr[i].field;\r\n comment[i] =\r\n this.customDialog.dsType == \"dataSource\"\r\n ? returnStr[i].comment.toLowerCase()\r\n : returnStr[i].comment;\r\n }\r\n const this_ = this;\r\n var s = this.selectOrgs;\r\n this.showData = [...this.selectOrgs];\r\n this.checkBoxDataAll = [...this.selectOrgs];\r\n if(this.customDialog.selectNum === 1){\r\n s=this.selectOrgs;\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 temp += '\"' + comment[i] + '\":\"' + s[0][field[i]] + '\",';\r\n }\r\n if (temp != \"\") {\r\n temp = \"{\" + temp.substring(0, temp.length - 1) + \"}\";\r\n }\r\n str.push(JSON.parse(temp));\r\n\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 temp += '\"' + comment[j] + '\":\"' + s[i][field[j]] + '\",';\r\n }\r\n if (temp != \"\") {\r\n temp = \"{\" + temp.substring(0, temp.length - 1) + \"}\";\r\n }\r\n str.push(JSON.parse(temp));\r\n }\r\n }\r\n\r\n\r\n // const pInst = utils.getOnlineFormInstance(this);\r\n const pInst = utils.getInstanceByTag(this,['ht-dataview-runtime-template', \"ht-runtime-template\"]);\r\n const _this = this;\r\n this.custdialog.custDialog.mappingConf.forEach(con => {\r\n var val = \"\";\r\n var from=\"\";\r\n if(_this.customDialog.dsType==\"restful\") {\r\n from = con.from;\r\n }else{\r\n from = con.from.toLowerCase();\r\n }\r\n str.forEach(item => {\r\n val += item[from] + \",\";\r\n });\r\n if(val != \"\"){\r\n val=val.substring(0, val.length - 1);\r\n }\r\n this.$emit(\"input\", val);\r\n if (this.atter == \"data.\" + con[\"target\"][0]) {\r\n utils.setValueByPath(\r\n pInst,\r\n \"data.\" + con[\"target\"][0],val,subIndex\r\n );\r\n } else if(this.atter.indexOf(\"searchForm\") !=-1){\r\n if(this.isFromList){\r\n pInst.$set(pInst.searchForm,con[\"target\"][0], val);\r\n }else{\r\n utils.setValueByPath(\r\n _this,\r\n \"searchForm.\" + con[\"target\"][0],\r\n val.substring(0, val.length - 1),\r\n subIndex\r\n );\r\n }\r\n } else {\r\n utils.setValueByPath(\r\n pInst,\r\n \"data.\" + con[\"target\"][0],\r\n val.substring(0, val.length - 1),\r\n subIndex\r\n );\r\n }\r\n });\r\n },\r\n //取消按钮\r\n dialogCancel() {\r\n const this_ = this;\r\n this_.$store.dispatch(\"dialog/setDialogData\", []).then(()=>{\r\n this_.customDialogShowList = false;\r\n //判断是否是点击了确认再点击取消的 inputVal没有值则表示直接点击的取消\r\n if(!this_.inputVal){\r\n this_.selectOrgs=[];\r\n }else{\r\n this_.selectOrgs = [...this_.showData]\r\n this.checkBoxDataAll = [...this_.selectOrgs]\r\n }\r\n });\r\n },\r\n dialogTreeConfirm() {\r\n this.calacInputSuffixHeight()\r\n let subIndex = null;\r\n if (this.$el) {\r\n subIndex = utils.getSomeAttributeFromParentElement(\r\n this.$el,\r\n \"data-index\"\r\n );\r\n }\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(JSON.parse(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(JSON.parse(temp));\r\n });\r\n }\r\n // const pInst = utils.getOnlineFormInstance(this);\r\n const pInst = utils.getInstanceByTag(this,['ht-dataview-runtime-template', \"ht-runtime-template\"]);\r\n this.custdialog.custDialog.mappingConf.forEach(con => {\r\n var val = \"\";\r\n str.forEach(item => {\r\n val += item[con.from] + \",\";\r\n });\r\n if (this.atter == \"data.\" + con[\"target\"][0]) {\r\n utils.setValueByPath(\r\n pInst,\r\n \"data.\" + con[\"target\"][0],\r\n val.substring(0, val.length - 1),\r\n subIndex\r\n );\r\n } else if(this.atter == \"searchForm.\" + con[\"target\"][0]){\r\n utils.setValueByPath(\r\n pInst,\r\n \"searchForm.\" + con[\"target\"][0],\r\n val.substring(0, val.length - 1),\r\n subIndex\r\n );\r\n }else{\r\n utils.setValueByPath(\r\n pInst,\r\n \"data.\" + con[\"target\"][0],\r\n val.substring(0, val.length - 1),\r\n subIndex\r\n );\r\n }\r\n });\r\n //this.$emit(\"input\", JSON.stringify(str));\r\n this.showData = [...this.propsData];//回显的值\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 removeSelectOrg(item) {\r\n if(this.customDialog.selectNum === 1){\r\n this.$emit(\"input\", \"\");\r\n this.selectOrgs.splice(item,1);\r\n this.showData.splice(item,1);\r\n }else{\r\n this.inputVal.splice(item,1);\r\n // let removeId = this.showData[item];\r\n //树形\r\n if(this.propsData.length>0){\r\n this.propsData.splice(item,1);\r\n }\r\n //列表\r\n if(this.selectOrgs!=null){\r\n this.selectOrgs.splice(item,1);\r\n this.checkBoxDataAll.splice(item,1);\r\n this.selectOrgs.forEach(row => {\r\n // if(item.id ==removeId ){\r\n this.isCurrentChange=true;\r\n this.toggleRowSelection(row, false);\r\n // }\r\n });\r\n }\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.defaultType == 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 \tfor (var i = 0; i < this.displayfield.length; i++) {\r\n this.displayfield[i].field = this.displayfield[i].field.toLowerCase();\r\n }\r\n }\r\n }else if(this.dialogData.length>1){\r\n this.search();\r\n }\r\n if(this.dialogData.length > 0 && this.displayfield.length==0){\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[i].field.toLowerCase();\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 let parents = data.filter(value => value[id] == value[pid] || value[pid] == null || value[pid] == pvalue);\r\n if (!parents){\r\n parents = data.filter(value => value[pid] !== 'undefined' && value[pid] != null && value[id] != value[pid]);\r\n }\r\n return parents;\r\n },\r\n loadTree(node, resolve){\r\n if(node && !Array.isArray(node.data)){\r\n let _this = this;\r\n resolve(this.treeData.filter(value => value[_this.displayfield.pid] === node.data[_this.displayfield.id]));\r\n }else{\r\n resolve([]);\r\n }\r\n }\r\n }\r\n};\r\n",null]}