{"remainingRequest":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\xypm-web\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\xypm-web\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\xypm-web\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xypm-web\\src\\components\\dialog\\CustomDialogShowDetail.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xypm-web\\src\\components\\dialog\\CustomDialogShowDetail.vue","mtime":1675214576792},{"path":"D:\\jenkins\\workspace\\xypm-web\\babel.config.js","mtime":1675214572901},{"path":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xypm-web\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["import \"core-js/modules/web.dom.iterable\";\nimport \"regenerator-runtime/runtime\";\nimport _asyncToGenerator from \"D:/jenkins/workspace/xypm-web/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nimport req from \"@/request.js\";\nimport hotentUiUtils from '@/hotent-ui-util.js';\nexport default {\n  name: \"custom-dialog-show-detail\",\n  props: {\n    //自定义对话框的别名\n    alias: {\n      type: String,\n      required: true\n    },\n    //自定义对话框的配置\n    customDialog: {\n      type: Object,\n      required: true\n    }\n  },\n  data: function data() {\n    return {\n      customDialogPostParam: [],\n      //为REST接口且请求类型是POST，条件字段是固定值的参数\n      customDialogGetUrl: \"\",\n      //为REST接口且请求类型是GET，条件字段是固定值的请求地址\n      selectionRadio: [],\n      //ht-table列表单选选择的数据\n      textRadio: \"\",\n      //ht-table列表数据的单选按钮\n      selectable: true,\n      //表示ht-table列表第一列是否显示复选框\n      isShowSearch: false,\n      //是否显示高级搜索\n      nopagination: false,\n      //是否隐藏分页组件，false：显示，true：隐藏\n      tableData: [],\n      //ht-table列表数据\n      pageResult: {\n        page: 1,\n        pageSize: 20,\n        total: 0\n      }\n    };\n  },\n  methods: {\n    //显示对话框\n    initData: function initData() {\n      this.customDialogPostParam = []; //清空为REST接口且请求类型是POST，条件字段是固定值的参数\n      this.customDialogGetUrl = \"\"; //清空为REST接口且请求类型是GET，条件字段是固定值的请求地址\n      this.selectionRadio = []; //清空ht-table列表单选选择的数据\n      this.textRadio = \"\"; //清空ht-table列表数据单选按钮的选中状态\n      this.isShowSearch = false; //不显示高级搜索\n      //是否单选  1：单选；-1：多选\n      if (this.customDialog.selectNum == 1) {\n        this.selectable = false;\n      } else {\n        this.selectable = true;\n      }\n      //是否显示分页组件，true：显示，false：隐藏\n      if (this.customDialog.needPage) {\n        this.nopagination = false;\n      } else {\n        this.nopagination = true;\n      }\n      //判断是否有条件查询,且数据来源是数据源或者数据来源是REST接口且请求类型是POST\n      if (this.customDialog.conditionfield.length > 0 && (this.customDialog.dsType == \"dataSource\" || this.customDialog.dsType != \"dataSource\" && this.customDialog.requestType == \"POST\")) {\n        for (var i = this.customDialog.conditionfield.length - 1; i >= 0; i--) {\n          //判断条件字段是否是参数传入并控制器的类型为单行文本框  （controllerType有值就代表控制器的类型为单行文本框，defaultType：1：参数传入，2：固定值 ）\n          if (this.customDialog.conditionfield[i].controllerType && this.customDialog.conditionfield[i].defaultType == \"1\") {\n            this.isShowSearch = true; //显示高级搜索\n            //如果条件字段为data类型，则控制器的类型为日期类型\n            if (this.customDialog.conditionfield[i].dbType == \"date\") {\n              this.customDialog.conditionfield[i].type = \"date\";\n            } else {\n              this.customDialog.conditionfield[i].type = \"text\";\n            }\n          } else {\n            if (this.customDialog.dsType != \"dataSource\" && this.customDialog.requestType == \"POST\") {\n              this.customDialogPostParam.push(this.customDialog.conditionfield[i]); //为REST接口且请求类型是POST，条件字段是固定值的参数\n            }\n            //如果是条件字段固定值就清除\n            this.customDialog.conditionfield.splice(i, 1);\n          }\n        }\n      }\n      //判断是否有条件查询,且数据来源是REST接口且请求类型是GET\n      if (this.customDialog.conditionfield.length > 0 && this.customDialog.dsType != \"dataSource\" && this.customDialog.requestType == \"GET\") {\n        for (var _i = this.customDialog.conditionfield.length - 1; _i >= 0; _i--) {\n          //判断条件字段是否是固定值（defaultType：1：参数传入，2：固定值 ）\n          if (this.customDialog.conditionfield[_i].defaultType == \"2\") {\n            //判断请求地址是否带有 ？\n            if (this.customDialog.url.indexOf(\"?\") == -1) {\n              //无\n              this.customDialog.url = this.customDialog.url + \"?\" + this.customDialog.conditionfield[_i].comment + \"=\" + this.customDialog.conditionfield[_i].defaultValue;\n            } else {\n              //有\n              this.customDialog.url = this.customDialog.url + \"&\" + this.customDialog.conditionfield[_i].comment + \"=\" + this.customDialog.conditionfield[_i].defaultValue;\n            }\n            //如果是条件字段固定值就清除\n            this.customDialog.conditionfield.splice(_i, 1);\n            this.customDialogGetUrl = this.customDialog.url;\n            //判断条件字段是否是参数传入并控制器的类型为单行文本框（controllerType有值就代表控制器的类型为单行文本框，defaultType：1：参数传入，2：固定值 ）\n          } else if (this.customDialog.conditionfield[_i].controllerType && this.customDialog.conditionfield[_i].defaultType == \"1\") {\n            this.isShowSearch = true; //显示高级搜索\n          }\n        }\n      }\n    },\n    //加载数据\n    loadData: function () {\n      var _loadData = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(param, cb) {\n        var i, operation, obj, ctx, exp, _i2, j, queryUrl, requestMethod, response;\n        return regeneratorRuntime.wrap(function _callee$(_context) {\n          while (1) switch (_context.prev = _context.next) {\n            case 0:\n              //为REST接口且请求类型是POST，条件字段是固定值的参数\n              if (this.customDialog.dsType != \"dataSource\" && this.customDialog.requestType == \"POST\" && this.customDialogPostParam.length > 0) {\n                for (i = 0; i < this.customDialogPostParam.length; i++) {\n                  //构建查询条件\n                  operation = this.getOperation(this.customDialogPostParam[i].condition);\n                  obj = {\n                    group: \"main\",\n                    operation: operation,\n                    property: this.customDialogPostParam[i].comment,\n                    relation: \"AND\",\n                    value: this.customDialogPostParam[i].defaultValue\n                  };\n                  if (param.querys && param.querys.length > 0) {\n                    param.querys.push(obj);\n                  } else {\n                    param.querys = [];\n                    param.querys.push(obj);\n                  }\n                }\n              }\n              // post restful接口，并且配置了post参数。则以post参数作为请求参数\n              if (this.customDialog.dsType != 'dataSource' && this.customDialog.requestType == 'POST' && this.customDialog.dataParam && this.customDialog.dataParam.constructor == String) {\n                // 构建上下文数据对象\n                ctx = {};\n                param && param.querys && param.querys.forEach(function (element) {\n                  ctx[element.property] = element.value;\n                });\n                exp = hotentUiUtils.parseExp(this.customDialog.dataParam, ctx);\n                try {\n                  param = JSON.parse(exp);\n                } catch (e) {\n                  this.$message.error(\"POST\\u53C2\\u6570\\u4E0D\\u662F\\u6709\\u6548\\u7684JSON\\u683C\\u5F0F\".concat(query.dataParam));\n                }\n              }\n              //判断是否有条件查询,且数据来源是REST接口且请求类型是GET，并且判断参数传入是否填写了查询条件\n              if (this.customDialog.conditionfield.length > 0 && this.customDialog.dsType != \"dataSource\" && this.customDialog.requestType == \"GET\" && param.querys && param.querys.length > 0) {\n                for (_i2 = this.customDialog.conditionfield.length - 1; _i2 >= 0; _i2--) {\n                  //判断条件字段是否是参数传入并控制器的类型为单行文本框（controllerType有值就代表控制器的类型为单行文本框，defaultType：1：参数传入，2：固定值 ）\n                  if (this.customDialog.conditionfield[_i2].controllerType && this.customDialog.conditionfield[_i2].defaultType == \"1\") {\n                    //参数传入填写了查询条件\n                    for (j = 0; j < param.querys.length; j++) {\n                      //判断为REST接口且请求类型是GET，条件字段是固定值的请求地址是否为空\n                      if (this.customDialogGetUrl != \"\") {\n                        this.customDialog.url = this.customDialogGetUrl; //赋值为REST接口且请求类型是GET，条件字段是固定值的请求地址\n                      } else {\n                        this.customDialogGetUrl = this.customDialog.url;\n                      }\n                      //判断请求地址是否带有 ？\n                      if (this.customDialog.url.indexOf(\"?\") == -1) {\n                        //无\n                        this.customDialog.url = this.customDialog.url + \"?\" + param.querys[j].property + \"=\" + param.querys[j].value;\n                      } else {\n                        //有\n                        this.customDialog.url = this.customDialog.url + \"&\" + param.querys[j].property + \"=\" + param.querys[j].value;\n                      }\n                    }\n                  }\n                }\n              } else {\n                //判断为REST接口且请求类型是GET，条件字段是固定值的请求地址是否为空\n                if (this.customDialogGetUrl != \"\") {\n                  this.customDialog.url = this.customDialogGetUrl; //赋值为REST接口且请求类型是GET，条件字段是固定值的请求地址\n                }\n              }\n              queryUrl = this.customDialog.dsType == \"dataSource\" ? \"${form}/form/customDialog/v1/getListData?alias=\" + this.alias + \"&mapParam=\" : this.customDialog.url;\n              requestMethod = \"POST\"; //如果自定义对话框列表查询数据不是数据源则请求方法为restful配置的请求方式\n              if (this.customDialog.dsType != \"dataSource\") {\n                requestMethod = this.customDialog.requestType;\n              }\n              //查询数据\n              _context.next = 8;\n              return req.request({\n                url: queryUrl,\n                method: requestMethod,\n                data: param\n              }).finally(function () {\n                return cb && cb();\n              });\n            case 8:\n              response = _context.sent;\n              //如果数据来源是REST接口，且请求类型是GET\n              if (this.customDialog.dsType != \"dataSource\" && this.customDialog.requestType == \"GET\") {\n                this.tableData = response.data;\n                this.nopagination = true; //隐藏分页组件\n              }\n              //如果数据来源是REST接口且请求类型是POST\n              if (this.customDialog.dsType != \"dataSource\" && this.customDialog.requestType == \"POST\") {\n                this.tableData = response.data[this.customDialog.listKey];\n                //如果有分页\n                if (response.data[this.customDialog.pageKey]) {\n                  this.pageResult = {\n                    page: response.data[this.customDialog.pageKey],\n                    pageSize: response.data[this.customDialog.pageSizeKey],\n                    total: response.data[this.customDialog.totalKey]\n                  };\n                  this.nopagination = false; //显示分页组件\n                } else {\n                  this.nopagination = true; //隐藏分页组件\n                }\n              }\n              //如果数据来源是数据源\n              if (this.customDialog.dsType == \"dataSource\") {\n                if (response.data && response.data.rows) {\n                  this.tableData = response.data.rows;\n                  //如果有分页\n                  if (response.data.page) {\n                    this.pageResult = {\n                      page: response.data.page,\n                      pageSize: response.data.pageSize,\n                      total: response.data.total\n                    };\n                    this.nopagination = false; //显示分页组件\n                  } else {\n                    this.nopagination = true; //隐藏分页组件\n                  }\n                } else {\n                  this.tableData = [];\n                  this.nopagination = true; //隐藏分页组件\n                }\n              }\n            case 12:\n            case \"end\":\n              return _context.stop();\n          }\n        }, _callee, this);\n      }));\n      function loadData(_x, _x2) {\n        return _loadData.apply(this, arguments);\n      }\n      return loadData;\n    }(),\n    //获取运算符号\n    getOperation: function getOperation(old) {\n      if (!old) {\n        return \"\";\n      } else if (old == \"EQ\") {\n        return \"EQUAL\";\n      } else if (old == \"EIC\") {\n        return \"EQUAL_IGNORE_CASE\";\n      } else if (old == \"LT\") {\n        return \"LESS\";\n      } else if (old == \"GT\") {\n        return \"GREAT\";\n      } else if (old == \"LE\") {\n        return \"LESS_EQUAL\";\n      } else if (old == \"GE\") {\n        return \"GREAT_EQUAL\";\n      } else if (old == \"NE\") {\n        return \"NOT_EQUAL\";\n      } else if (old == \"LK\") {\n        return \"LIKE\";\n      } else if (old == \"LFK\") {\n        return \"LEFT_LIKE\";\n      } else if (old == \"RHK\") {\n        return \"RIGHT_LIKE\";\n      } else if (old == \"ISNULL\") {\n        return \"IS_NULL\";\n      } else if (old == \"NOTNULL\") {\n        return \"NOTNULL\";\n      } else if (old == \"IN\") {\n        return \"IN\";\n      } else if (old == \"BETWEEN\") {\n        return \"BETWEEN\";\n      } else {\n        return \"LIKE\";\n      }\n    },\n    //点击列表某一条数据时触发\n    orgRowClick: function orgRowClick(row, column, event) {\n      //是否单选  1：单选；-1：多选\n      if (this.customDialog.selectNum === 1) {\n        //选中单选按钮\n        this.textRadio = event.currentTarget.children[0].children[0].children[0].__vue__.$refs.radio.value;\n        this.selectionRadio = [row];\n        this.$emit(\"orgRowClick\", row);\n      } else {\n        //点击列表数据选中复选框\n        this.$refs.htTable.$refs.htTable.toggleRowSelection(row);\n      }\n    }\n  }\n};",null]}