@egova/egova-api 1.2.1 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -335,7 +335,7 @@ module.exports = function (error, C, stack, dropEntries) {
335
335
  /***/ "193e":
336
336
  /***/ (function(module, exports) {
337
337
 
338
- module.exports = "<article class=\"project-tree\">\r\n <header>\r\n <div class=\"tree-api\">\r\n <div class=\"title-g\">API列表</div>\r\n <div class=\"add\" @click=\"onAddGroup\">\r\n <i class=\"iconfont icon-xinjianwenjianjia\" title=\"新增分组\"></i>\r\n </div>\r\n </div>\r\n <div class=\"tree-search\">\r\n <i-select class=\"diy-select\" transfer v-model=\"type\" @on-change=\"onFilter\">\r\n <i-option v-for=\"item in typeList\" :key=\"item.value\" :value=\"item.value\">{{item.text}}</i-option>\r\n </i-select>\r\n <i-input class=\"diy-input\" v-model=\"keyword\" @on-change=\"onFilter\" placeholder=\"输入关键字查询\">\r\n <i class=\"iconfont icon-chaxun\" slot=\"prefix\"></i>\r\n </i-input>\r\n </div>\r\n </header>\r\n <i-tree :data=\"renderData\" :render=\"renderContent\"></i-tree>\r\n <i-modal\r\n draggable\r\n sticky\r\n reset-drag-position\r\n v-model=\"showGroupModal\"\r\n class=\"diy-modal\"\r\n :mask-closable=\"false\"\r\n transfer\r\n :title=\"group.id ? '修改分组': '新增分组'\"\r\n >\r\n <i-form :label-width=\"100\" class=\"diy-form\" label-colon>\r\n <i-form-item label=\"分组名称\" required>\r\n <i-input class=\"diy-input\" v-model=\"group.name\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"分组位置\">\r\n <u-group-select :data=\"groupTree\" :current=\"parent\" @on-select=\"onSelectParent\"></u-group-select>\r\n </i-form-item>\r\n </i-form>\r\n <footer slot=\"footer\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click.stop=\"onSaveGroup\">确定</i-button>\r\n <i-button class=\"diy-btn-default\" @click.stop=\"onGourpCancel\">取消</i-button>\r\n </footer>\r\n </i-modal>\r\n <i-modal draggable sticky reset-drag-position v-model=\"showInterfaceModal\" class=\"diy-modal\" :mask-closable=\"false\" :title=\"interfaceModel.id ? '修改接口': '新增接口'\">\r\n <i-form :label-width=\"100\" class=\"diy-form\" label-colon>\r\n <i-form-item label=\"接口名称\" required>\r\n <i-input class=\"diy-input\" v-model=\"interfaceModel.name\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"接口位置\" required>\r\n <u-group-select :data=\"groupTree\" :current=\"parent\" @on-select=\"onSelectParent\"></u-group-select>\r\n </i-form-item>\r\n <i-form-item label=\"接口类型\" required>\r\n <i-select v-model=\"interfaceModel.method\" class=\"diy-select\" transfer>\r\n <i-option v-for=\"item in typeList\" v-if=\"item.value\" :key=\"item.value\" :value=\"item.value\">{{item.text}}</i-option>\r\n </i-select>\r\n </i-form-item>\r\n </i-form>\r\n <footer slot=\"footer\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onSaveInterface\">确定</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onInterfaceCancel\">取消</i-button>\r\n </footer>\r\n </i-modal>\r\n <i-modal draggable sticky reset-drag-position v-model=\"showCopyModal\" class=\"diy-modal\" :mask-closable=\"false\" title=\"复制接口\">\r\n <i-form :label-width=\"100\" class=\"diy-form\" label-colon>\r\n <i-form-item label=\"接口名称\" required>\r\n <i-input class=\"diy-input\" v-model=\"copyName\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"选择分组\" required>\r\n <u-group-select :isSelector=\"true\" :data=\"groupTree\" :current=\"parent\" @on-select=\"onSelectParent\"></u-group-select>\r\n </i-form-item>\r\n </i-form>\r\n <footer slot=\"footer\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onCopy\">确定</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onCopyCancel\">取消</i-button>\r\n </footer>\r\n </i-modal>\r\n <u-batch-modal :visiable.sync=\"showBatchModal\" :data=\"categoryApiList\" :projectId=\"projectId\" @on-success=\"onBatchSuccess\"></u-batch-modal>\r\n</article>\r\n"
338
+ module.exports = "<article class=\"project-tree\">\n <header>\n <div class=\"tree-api\">\n <div class=\"title-g\">API列表</div>\n <div class=\"add\" @click=\"onAddGroup\">\n <i class=\"iconfont icon-xinjianwenjianjia\" title=\"新增分组\"></i>\n </div>\n </div>\n <div class=\"tree-search\">\n <i-select class=\"diy-select\" transfer v-model=\"type\" @on-change=\"onFilter\">\n <i-option v-for=\"item in typeList\" :key=\"item.value\" :value=\"item.value\">{{item.text}}</i-option>\n </i-select>\n <i-input class=\"diy-input\" v-model=\"keyword\" @on-change=\"onFilter\" placeholder=\"输入关键字查询\">\n <i class=\"iconfont icon-chaxun\" slot=\"prefix\"></i>\n </i-input>\n </div>\n </header>\n <i-tree :data=\"renderData\" :render=\"renderContent\"></i-tree>\n <i-modal\n draggable\n sticky\n reset-drag-position\n v-model=\"showGroupModal\"\n class=\"diy-modal\"\n :mask-closable=\"false\"\n transfer\n :title=\"group.id ? '修改分组': '新增分组'\"\n >\n <i-form :label-width=\"100\" class=\"diy-form\" label-colon>\n <i-form-item label=\"分组名称\" required>\n <i-input class=\"diy-input\" v-model=\"group.name\"></i-input>\n </i-form-item>\n <i-form-item v-if=\"group.id\" label=\"所属项目\" required>\n <i-select class=\"diy-select\" v-model=\"group.projectId\" transfer filterable @on-change=\"onChangeProject(true)\">\n <i-option v-for=\"item in projectList\" :value=\"item.id\" :key=\"item.id\">{{item.name}}</i-option>\n </i-select>\n </i-form-item>\n <i-form-item label=\"分组位置\">\n <u-group-select :data=\"groupTree\" :current=\"parent\" @on-select=\"onSelectParent\"></u-group-select>\n </i-form-item>\n </i-form>\n <footer slot=\"footer\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click.stop=\"onSaveGroup\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click.stop=\"onGourpCancel\">取消</i-button>\n </footer>\n </i-modal>\n <i-modal draggable sticky reset-drag-position v-model=\"showInterfaceModal\" class=\"diy-modal\" :mask-closable=\"false\" :title=\"interfaceModel.id ? '修改接口': '新增接口'\">\n <i-form :label-width=\"100\" class=\"diy-form\" label-colon>\n <i-form-item label=\"接口名称\" required>\n <i-input class=\"diy-input\" v-model=\"interfaceModel.name\"></i-input>\n </i-form-item>\n\n <i-form-item v-if=\"interfaceModel.id\" label=\"所属项目\" required>\n <i-select class=\"diy-select\" v-model=\"interfaceModel.projectId\" transfer filterable @on-change=\"onChangeProject(false)\">\n <i-option v-for=\"item in projectList\" :value=\"item.id\" :key=\"item.id\">{{item.name}}</i-option>\n </i-select>\n </i-form-item>\n\n <i-form-item label=\"接口位置\" required>\n <u-group-select :data=\"groupTree\" :current=\"parent\" @on-select=\"onSelectParent\"></u-group-select>\n </i-form-item>\n <i-form-item label=\"接口类型\" required>\n <i-select v-model=\"interfaceModel.method\" class=\"diy-select\" transfer>\n <i-option v-for=\"item in typeList\" v-if=\"item.value\" :key=\"item.value\" :value=\"item.value\">{{item.text}}</i-option>\n </i-select>\n </i-form-item>\n </i-form>\n <footer slot=\"footer\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onSaveInterface\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onInterfaceCancel\">取消</i-button>\n </footer>\n </i-modal>\n <i-modal draggable sticky reset-drag-position v-model=\"showCopyModal\" class=\"diy-modal\" :mask-closable=\"false\" title=\"复制接口\">\n <i-form :label-width=\"100\" class=\"diy-form\" label-colon>\n <i-form-item label=\"接口名称\" required>\n <i-input class=\"diy-input\" v-model=\"copyName\"></i-input>\n </i-form-item>\n <i-form-item label=\"选择分组\" required>\n <u-group-select :isSelector=\"true\" :data=\"groupTree\" :current=\"parent\" @on-select=\"onSelectParent\"></u-group-select>\n </i-form-item>\n </i-form>\n <footer slot=\"footer\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onCopy\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onCopyCancel\">取消</i-button>\n </footer>\n </i-modal>\n\n <i-modal width=\"730\" draggable sticky reset-drag-position v-model=\"showMoveModal\" class=\"diy-modal\" :mask-closable=\"false\" :title=\"moveType==='group' ? '分组移动提示': '接口移动提示'\">\n <div class=\"api-move-project-body\">\n <span class=\"warn-title\">\n <i-icon type=\"ios-help-circle\" />\n 检测到被移动{{moveType==='group'?\"分组\":\"接口\"}}中存在已关联的授权/环境变量,是否在新项目中新建?\n </span>\n <span class=\"second-title\">新建授权/环境变量:将在目标项目中新建{{moveType==='group'?\"分组\":\"接口\"}}绑定的授权/环境变量</span>\n <span class=\"second-title\">不新建:将原有的授权/环境变量置为空,仅移动接口</span>\n <span class=\"second-title\">取消:取消本次操作</span>\n </div>\n <footer slot=\"footer\">\n <i-button class=\"diy-btn-primary api-move-ok-btn\" type=\"primary\" @click=\"onMoveOk(true)\">新建授权/环境变量</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onMoveOk(false)\">不新建</i-button>\n <i-button class=\"diy-btn-default api-move-cancel-btn\" @click=\"onMoveCancel\">取消</i-button>\n </footer>\n </i-modal>\n <u-batch-modal :visiable.sync=\"showBatchModal\" :data=\"categoryApiList\" :projectId=\"projectId\" @on-success=\"onBatchSuccess\"></u-batch-modal>\n</article>\n"
339
339
 
340
340
  /***/ }),
341
341
 
@@ -3989,7 +3989,7 @@ module.exports = DESCRIPTORS && fails(function () {
3989
3989
  /***/ "ccf6":
3990
3990
  /***/ (function(module, exports) {
3991
3991
 
3992
- module.exports = "<!DOCTYPE html>\n<article class=\"v-api-combine-wrapper\">\n <i-split v-model=\"split\" min=\"200px\" max=\"1100px\">\n <!-- 左侧内容 -->\n <section slot=\"left\" class=\"left-split-pane\">\n <u-type-tree :taskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" @on-import-success=\"onQuery\" @on-select=\"onNodeSelect\" @on-tree-data=\"onTreeData\">\n </u-type-tree>\n </section>\n <!-- 分割线 -->\n <section class=\"trigger\" slot=\"trigger\"></section>\n <!-- 右侧内容 -->\n <section slot=\"right\" class=\"right-split-pane\">\n <section class=\"search-wrapper\">\n <i-form class=\"diy-search-form\" ref=\"searchForm\" :model=\"formData\" label-position=\"left\" label-colon>\n <i-form-item label=\"名称\" prop=\"name\">\n <i-input class=\"diy-input\" v-model=\"formData.name\"></i-input>\n </i-form-item>\n <i-form-item label=\"编码\" prop=\"code\">\n <i-input class=\"diy-input\" v-model=\"formData.code\"></i-input>\n </i-form-item>\n </i-form>\n <div class=\"btns\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onQuery\">查询</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onReset\">重置</i-button>\n </div>\n </section>\n <section class=\"actions-wrapper\">\n <div class=\"action-item action-text\" @click=\"onAdd()\" :class=\"currentNode.id === 'virtual_root_directory' ? 'icon-button-disabled' : ''\">\n <i class=\"iconfont icon-add\"></i>\n <div>新增</div>\n </div>\n <div class=\"action-item action-text\" :class=\"(selection.length && !isContainsPublished) ? '' : 'icon-button-disabled'\" @click=\"onBatchDelete\">\n <i class=\"iconfont icon-delete\"></i>\n <span>批量删除</span>\n </div>\n </section>\n <section class=\"main-wrapper\">\n <template v-if=\"list&&list.length\">\n <i-table class=\"diy-table diy-table-scorll\" :columns=\"columns\" :data=\"list\" @on-selection-change=\"onSelectChange\" @on-row-click=\"onRowClick\">\n <template slot=\"status\" slot-scope=\"{row,index}\">\n <i-switch class=\"diy-switch\" :value=\"row.status==='PUBLISHED'\" @on-change=\"onStatusChange($event, row, index)\"></i-switch>\n <span>{{row.status===\"PUBLISHED\" ? \"已发布\" : \"未发布\"}}</span>\n </template>\n <template slot=\"requireAuth\" slot-scope=\"{row,index}\">\n <i-switch class=\"diy-switch\" :value=\"row.requireAuth\" :true-value=\"1\" :false-value=\"0\" @on-change=\"onRequireAuthChange($event, row, index)\">\n <span slot=\"open\">是</span>\n <span slot=\"close\">否</span>\n </i-switch>\n </template>\n <template slot=\"doc\" slot-scope=\"{row}\">\n <a @click=\"onOpenDoc(row)\">查看</a>\n </template>\n <template #operates=\"{row,index}\">\n <div class=\"row-actions\">\n <i @click=\"onDetail(row)\" title=\"查看\" class=\"iconfont icon-a-xinzengzhibiaobeifen9\"></i>\n <i @click=\"onCopy(row)\" title=\"复制\" class=\"iconfont icon-fuzhi1\"> </i>\n <template v-if=\"row.status!=='PUBLISHED'\">\n <i @click=\"onEdit(row)\" title=\"编辑\" class=\"iconfont icon-Edit\"></i>\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </template>\n </div>\n </template>\n </i-table>\n <i-page\n class=\"diy-page\"\n show-total\n show-sizer\n show-elevator\n :total=\"paging.totalCount\"\n :current=\"paging.pageIndex\"\n :page-size=\"paging.pageSize\"\n @on-change=\"onPageIndexChange\"\n @on-page-size-change=\"onPageSizeChange\"\n ></i-page>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </section>\n </section>\n </i-split>\n <i-spin fix v-show=\"loading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\n <i-modal draggable sticky reset-drag-position v-model=\"showCopyModal\" class=\"diy-modal combine-copy-modal\" :mask-closable=\"false\" title=\"复制接口\">\n <i-form :label-width=\"100\" class=\"diy-form\" v-model=\"copyData\" label-colon>\n <i-form-item label=\"接口名称\" required>\n <i-input class=\"diy-input\" v-model=\"copyData.name\"></i-input>\n </i-form-item>\n <i-form-item label=\"接口编码\" required>\n <i-input class=\"diy-input\" v-model=\"copyData.code\"></i-input>\n </i-form-item>\n <i-form-item label=\"选择分组\" required>\n <u-tree-selector :treeData=\"treeData\" leaf-name=\"copy\" :canChooseFolder=\"true\" v-model=\"categoryData.id\" @on-select=\"selectCategory\"> </u-tree-selector>\n </i-form-item>\n </i-form>\n <footer slot=\"footer\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onCopyConfirm\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onCopyCancel\">取消</i-button>\n </footer>\n </i-modal>\n</article>\n"
3992
+ module.exports = "<!DOCTYPE html>\n<article class=\"v-api-combine-wrapper\">\n <i-split v-model=\"split\" min=\"200px\" max=\"1100px\">\n <!-- 左侧内容 -->\n <section slot=\"left\" class=\"left-split-pane\">\n <u-type-tree :taskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" @on-import-success=\"onQuery\" @on-select=\"onNodeSelect\" @on-tree-data=\"onTreeData\">\n </u-type-tree>\n </section>\n <!-- 分割线 -->\n <section class=\"trigger\" slot=\"trigger\"></section>\n <!-- 右侧内容 -->\n <section slot=\"right\" class=\"right-split-pane\">\n <section class=\"search-wrapper\">\n <i-form class=\"diy-search-form\" ref=\"searchForm\" :model=\"formData\" label-position=\"left\" label-colon>\n <i-form-item label=\"名称\" prop=\"name\">\n <i-input class=\"diy-input\" v-model=\"formData.name\"></i-input>\n </i-form-item>\n <i-form-item label=\"编码\" prop=\"code\">\n <i-input class=\"diy-input\" v-model=\"formData.code\"></i-input>\n </i-form-item>\n </i-form>\n <div class=\"btns\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onQuery\">查询</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onReset\">重置</i-button>\n </div>\n </section>\n <section class=\"actions-wrapper\">\n <div class=\"action-item action-text\" @click=\"onAdd()\" :class=\"currentNode.id === 'virtual_root_directory' ? 'icon-button-disabled' : ''\">\n <i class=\"iconfont icon-add\"></i>\n <div>新增</div>\n </div>\n <div class=\"action-item action-text\" :class=\"(selection.length && !isContainsPublished) ? '' : 'icon-button-disabled'\" @click=\"onBatchDelete\">\n <i class=\"iconfont icon-delete\"></i>\n <span>批量删除</span>\n </div>\n </section>\n <section class=\"main-wrapper\">\n <template v-if=\"list&&list.length\">\n <i-table class=\"diy-table diy-table-scorll\" :columns=\"columns\" :data=\"list\" @on-selection-change=\"onSelectChange\" @on-row-click=\"onRowClick\">\n <template slot=\"status\" slot-scope=\"{row,index}\">\n <i-switch class=\"diy-switch\" :value=\"row.status==='PUBLISHED'\" @on-change=\"onStatusChange($event, row, index)\"></i-switch>\n <span>{{row.status===\"PUBLISHED\" ? \"已发布\" : \"未发布\"}}</span>\n </template>\n <template slot=\"authFlag\" slot-scope=\"{row,index}\">\n <i-switch class=\"diy-switch\" :value=\"row.authFlag\" :true-value=\"1\" :false-value=\"0\" @on-change=\"onAuthFlagChange($event, row, index)\">\n <span slot=\"open\">是</span>\n <span slot=\"close\">否</span>\n </i-switch>\n </template>\n <template slot=\"doc\" slot-scope=\"{row}\">\n <a @click=\"onOpenDoc(row)\">查看</a>\n </template>\n <template #operates=\"{row,index}\">\n <div class=\"row-actions\">\n <i @click=\"onDetail(row)\" title=\"查看\" class=\"iconfont icon-a-xinzengzhibiaobeifen9\"></i>\n <i @click=\"onCopy(row)\" title=\"复制\" class=\"iconfont icon-fuzhi1\"> </i>\n <template v-if=\"row.status!=='PUBLISHED'\">\n <i @click=\"onEdit(row)\" title=\"编辑\" class=\"iconfont icon-Edit\"></i>\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </template>\n </div>\n </template>\n </i-table>\n <i-page\n class=\"diy-page\"\n show-total\n show-sizer\n show-elevator\n :total=\"paging.totalCount\"\n :current=\"paging.pageIndex\"\n :page-size=\"paging.pageSize\"\n @on-change=\"onPageIndexChange\"\n @on-page-size-change=\"onPageSizeChange\"\n ></i-page>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </section>\n </section>\n </i-split>\n <i-spin fix v-show=\"loading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\n <i-modal draggable sticky reset-drag-position v-model=\"showCopyModal\" class=\"diy-modal combine-copy-modal\" :mask-closable=\"false\" title=\"复制接口\">\n <i-form :label-width=\"100\" class=\"diy-form\" v-model=\"copyData\" label-colon>\n <i-form-item label=\"接口名称\" required>\n <i-input class=\"diy-input\" v-model=\"copyData.name\"></i-input>\n </i-form-item>\n <i-form-item label=\"接口编码\" required>\n <i-input class=\"diy-input\" v-model=\"copyData.code\"></i-input>\n </i-form-item>\n <i-form-item label=\"选择分组\" required>\n <u-tree-selector :treeData=\"treeData\" leaf-name=\"copy\" :canChooseFolder=\"true\" v-model=\"categoryData.id\" @on-select=\"selectCategory\"> </u-tree-selector>\n </i-form-item>\n </i-form>\n <footer slot=\"footer\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onCopyConfirm\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onCopyCancel\">取消</i-button>\n </footer>\n </i-modal>\n</article>\n"
3993
3993
 
3994
3994
  /***/ }),
3995
3995
 
@@ -5068,10 +5068,10 @@ var service_Service = /** @class */function (_super) {
5068
5068
  Service.prototype.getDoc = function (id) {
5069
5069
  return this._get("/unity/combine-info/".concat(id, "/doc"));
5070
5070
  };
5071
- Service.prototype.changeRequireAuth = function (id, requireAuth) {
5071
+ Service.prototype.changeAuthFlag = function (id, authFlag) {
5072
5072
  return __awaiter(this, void 0, Promise, function () {
5073
5073
  return __generator(this, function (_a) {
5074
- return [2 /*return*/, this._post("/unity/combine-info/requireauth/changestatus?id=".concat(id, "&requireAuth=").concat(requireAuth))];
5074
+ return [2 /*return*/, this._post("/unity/combine-info/requireauth/changestatus?id=".concat(id, "&authFlag=").concat(authFlag))];
5075
5075
  });
5076
5076
  });
5077
5077
  };
@@ -5115,7 +5115,7 @@ var service_Service = /** @class */function (_super) {
5115
5115
  })], Service.prototype, "getDoc", null);
5116
5116
  __decorate([serviceHandler("save", {
5117
5117
  title: "保存数据"
5118
- })], Service.prototype, "changeRequireAuth", null);
5118
+ })], Service.prototype, "changeAuthFlag", null);
5119
5119
  __decorate([serviceHandler("save", {
5120
5120
  title: "保存数据"
5121
5121
  })], Service.prototype, "changeStatus", null);
@@ -6487,7 +6487,7 @@ var project_combine_ProjectCombineManage = /** @class */function (_super) {
6487
6487
  }, {
6488
6488
  title: "是否需要认证",
6489
6489
  align: "left",
6490
- slot: "requireAuth",
6490
+ slot: "authFlag",
6491
6491
  width: window.pageRatio * 160,
6492
6492
  resizable: true
6493
6493
  }, {
@@ -6740,7 +6740,7 @@ var project_combine_ProjectCombineManage = /** @class */function (_super) {
6740
6740
  this.categoryData = node;
6741
6741
  this.copyData.categoryId = node.id;
6742
6742
  };
6743
- ProjectCombineManage.prototype.onRequireAuthChange = function (value, row, index) {
6743
+ ProjectCombineManage.prototype.onAuthFlagChange = function (value, row, index) {
6744
6744
  return __awaiter(this, void 0, void 0, function () {
6745
6745
  var id, res;
6746
6746
  return __generator(this, function (_a) {
@@ -6750,11 +6750,11 @@ var project_combine_ProjectCombineManage = /** @class */function (_super) {
6750
6750
  if (!id) {
6751
6751
  return [2 /*return*/];
6752
6752
  }
6753
- return [4 /*yield*/, this.service.changeRequireAuth(id, value ? 1 : 0)];
6753
+ return [4 /*yield*/, this.service.changeAuthFlag(id, value ? 1 : 0)];
6754
6754
  case 1:
6755
6755
  res = _a.sent();
6756
6756
  if (!(res === null || res === void 0 ? void 0 : res.hasError)) {
6757
- row.requireAuth = value ? 1 : 0;
6757
+ row.authFlag = value ? 1 : 0;
6758
6758
  }
6759
6759
  return [2 /*return*/];
6760
6760
  }
@@ -8511,7 +8511,7 @@ var combine_model_ProjectCombineModel = /** @class */function (_super) {
8511
8511
  function ProjectCombineModel() {
8512
8512
  var _this = _super !== null && _super.apply(this, arguments) || this;
8513
8513
  _this.model = {
8514
- requireAuth: 1,
8514
+ authFlag: 1,
8515
8515
  type: "SCRIPT",
8516
8516
  status: "NOT_PUBLISHED",
8517
8517
  relations: [],
@@ -8636,8 +8636,8 @@ var combine_model_ProjectCombineModel = /** @class */function (_super) {
8636
8636
  res = _a.sent();
8637
8637
  if (!(res === null || res === void 0 ? void 0 : res.hasError)) {
8638
8638
  this.model = res.result;
8639
- if (!this.model.requireAuth) {
8640
- this.model.requireAuth = 0;
8639
+ if (!this.model.authFlag) {
8640
+ this.model.authFlag = 0;
8641
8641
  }
8642
8642
  }
8643
8643
  _a.label = 2;
@@ -9355,12 +9355,24 @@ var service_ApiService = /** @class */function (_super) {
9355
9355
  return this._post("/unity/api/category", category);
9356
9356
  }
9357
9357
  };
9358
+ ApiService.prototype.checkCategory = function (category) {
9359
+ return this._post("/unity/api/category/update/check", category);
9360
+ };
9361
+ ApiService.prototype.updateMoveCategory = function (category, copyEnvFlag) {
9362
+ return this._post("/unity/api/category/updateWithEnv?copyEnvFlag=".concat(copyEnvFlag), category);
9363
+ };
9358
9364
  ApiService.prototype.saveApi = function (api) {
9359
9365
  if (api.id) {
9360
9366
  return this._put("/unity/api/info", api);
9361
9367
  }
9362
9368
  return this._post("/unity/api/info", api);
9363
9369
  };
9370
+ ApiService.prototype.checkApi = function (api) {
9371
+ return this._post("/unity/api/info/update/check", api);
9372
+ };
9373
+ ApiService.prototype.updateMoveApi = function (api, copyEnvFlag) {
9374
+ return this._post("/unity/api/info/updateWithEnv?copyEnvFlag=".concat(copyEnvFlag), api);
9375
+ };
9364
9376
  ApiService.prototype.copyApi = function (id, name, projectId, categoryId) {
9365
9377
  return this._post("/unity/api/info/copy?id=".concat(id, "&name=").concat(name, "&projectId=").concat(projectId, "&categoryId=").concat(categoryId));
9366
9378
  };
@@ -9460,11 +9472,31 @@ var service_ApiService = /** @class */function (_super) {
9460
9472
  showTip: true,
9461
9473
  showErrorMsg: true
9462
9474
  })], ApiService.prototype, "saveCategory", null);
9475
+ __decorate([serviceHandler("save", {
9476
+ title: "保存分组",
9477
+ showTip: false,
9478
+ showErrorMsg: true
9479
+ })], ApiService.prototype, "checkCategory", null);
9480
+ __decorate([serviceHandler("save", {
9481
+ title: "保存分组",
9482
+ showTip: true,
9483
+ showErrorMsg: true
9484
+ })], ApiService.prototype, "updateMoveCategory", null);
9463
9485
  __decorate([serviceHandler("save", {
9464
9486
  title: "保存接口",
9465
9487
  showErrorMsg: true,
9466
9488
  showTip: true
9467
9489
  })], ApiService.prototype, "saveApi", null);
9490
+ __decorate([serviceHandler("save", {
9491
+ title: "保存接口",
9492
+ showErrorMsg: true,
9493
+ showTip: false
9494
+ })], ApiService.prototype, "checkApi", null);
9495
+ __decorate([serviceHandler("save", {
9496
+ title: "保存接口",
9497
+ showTip: true,
9498
+ showErrorMsg: true
9499
+ })], ApiService.prototype, "updateMoveApi", null);
9468
9500
  __decorate([serviceHandler("save", {
9469
9501
  title: "复制接口",
9470
9502
  showErrorMsg: false,
@@ -12804,16 +12836,25 @@ var project_detail_tree = __webpack_require__("9355");
12804
12836
 
12805
12837
 
12806
12838
 
12839
+
12807
12840
  var tree_ProjectTree = /** @class */function (_super) {
12808
12841
  __extends(ProjectTree, _super);
12809
12842
  function ProjectTree() {
12810
12843
  var _this = _super !== null && _super.apply(this, arguments) || this;
12844
+ _this.projectList = [];
12811
12845
  _this.data = [];
12812
12846
  _this.groupTree = [];
12813
12847
  _this.parent = {};
12814
12848
  _this.renderData = [];
12815
12849
  _this.keyword = "";
12816
12850
  _this.type = "all";
12851
+ _this.moveType = "group";
12852
+ _this.MOVE_RESULT = {
12853
+ BIND_JOB: "更新失败,API已被任务绑定,不允许变更项目信息",
12854
+ BIND_ENV: "更新失败,API存在关联环境变量,请确认变更项目信息时是否复制环境变量",
12855
+ BIND_NONE: "API未被任务绑定,且API不存在关联环境变量,更新成功",
12856
+ NOT_UPDATED_PROJECT: "API项目信息未改变,更新成功"
12857
+ };
12817
12858
  _this.typeList = [
12818
12859
  // {
12819
12860
  // value: "all",
@@ -12842,10 +12883,12 @@ var tree_ProjectTree = /** @class */function (_super) {
12842
12883
  _this.showCopyModal = false;
12843
12884
  _this.copyName = "";
12844
12885
  _this.group = {};
12886
+ _this.showMoveModal = false;
12845
12887
  return _this;
12846
12888
  }
12847
12889
  ProjectTree.prototype.mounted = function () {
12848
12890
  var _this = this;
12891
+ this.loadProjectList();
12849
12892
  this.$subscribe("api://project-detail-save", function () {
12850
12893
  _this.init();
12851
12894
  });
@@ -12880,7 +12923,9 @@ var tree_ProjectTree = /** @class */function (_super) {
12880
12923
  name: data.parentName
12881
12924
  };
12882
12925
  this.interfaceModel = data.$clone();
12926
+ this.moveType = "interface";
12883
12927
  this.showInterfaceModal = true;
12928
+ this.onChangeProject(false);
12884
12929
  };
12885
12930
  ProjectTree.prototype.getApis = function (data) {
12886
12931
  var _this = this;
@@ -12985,21 +13030,30 @@ var tree_ProjectTree = /** @class */function (_super) {
12985
13030
  this.parent = {};
12986
13031
  this.showCopyModal = false;
12987
13032
  };
13033
+ ProjectTree.prototype.onMoveCancel = function () {
13034
+ this.parent = {};
13035
+ this.interfaceModel = {};
13036
+ this.group = {};
13037
+ this.showMoveModal = false;
13038
+ };
12988
13039
  ProjectTree.prototype.onAddInterface = function (group) {
12989
13040
  this.interfaceModel = {
12990
- method: "GET"
13041
+ method: "GET",
13042
+ categoryId: group.id,
13043
+ projectId: this.projectId
12991
13044
  };
12992
13045
  this.parent = group;
12993
13046
  this.showInterfaceModal = true;
13047
+ this.onChangeProject(false);
12994
13048
  };
12995
13049
  ProjectTree.prototype.onSaveInterface = function () {
12996
13050
  return __awaiter(this, void 0, void 0, function () {
12997
- var result;
13051
+ var res, status, result;
12998
13052
  return __generator(this, function (_a) {
12999
13053
  switch (_a.label) {
13000
13054
  case 0:
13001
13055
  this.interfaceModel.categoryId = this.parent.id;
13002
- this.interfaceModel.projectId = this.projectId;
13056
+ // this.interfaceModel.projectId = this.projectId;
13003
13057
  if (!this.interfaceModel.name) {
13004
13058
  this.$message.error("接口名称不能为空");
13005
13059
  return [2 /*return*/];
@@ -13013,14 +13067,35 @@ var tree_ProjectTree = /** @class */function (_super) {
13013
13067
  this.showInterfaceModal = true;
13014
13068
  return [2 /*return*/];
13015
13069
  }
13016
- return [4 /*yield*/, this.service.saveApi(this.interfaceModel)];
13070
+ if (!this.interfaceModel.id) return [3 /*break*/, 2];
13071
+ return [4 /*yield*/, this.service.checkApi(this.interfaceModel)];
13017
13072
  case 1:
13073
+ res = _a.sent();
13074
+ if (res && !res.hasError) {
13075
+ status = res.result;
13076
+ this.showInterfaceModal = false;
13077
+ if (["BIND_NONE", "NOT_UPDATED_PROJECT"].includes(status)) {
13078
+ this.$message.success("保存接口成功");
13079
+ this.$emit("on-edit-interface-success", this.interfaceModel);
13080
+ this.init();
13081
+ } else if ("BIND_JOB" === status) {
13082
+ this.$message.error(this.MOVE_RESULT.BIND_JOB);
13083
+ } else if ("BIND_ENV" === status) {
13084
+ this.showMoveModal = true;
13085
+ }
13086
+ }
13087
+ return [3 /*break*/, 4];
13088
+ case 2:
13089
+ return [4 /*yield*/, this.service.saveApi(this.interfaceModel)];
13090
+ case 3:
13018
13091
  result = _a.sent();
13019
13092
  if (result && !result.hasError) {
13020
13093
  this.showInterfaceModal = false;
13021
13094
  this.$emit("on-edit-interface-success", this.interfaceModel);
13022
13095
  this.init();
13023
13096
  }
13097
+ _a.label = 4;
13098
+ case 4:
13024
13099
  return [2 /*return*/];
13025
13100
  }
13026
13101
  });
@@ -13056,13 +13131,16 @@ var tree_ProjectTree = /** @class */function (_super) {
13056
13131
  name: group.parentName
13057
13132
  };
13058
13133
  this.group = group.$clone();
13134
+ this.moveType = "group";
13059
13135
  this.showGroupModal = true;
13136
+ this.onChangeProject(true);
13060
13137
  };
13061
13138
  ProjectTree.prototype.onAddGroup = function () {
13062
13139
  this.group = {
13063
13140
  projectId: this.projectId
13064
13141
  };
13065
13142
  this.showGroupModal = true;
13143
+ this.onChangeProject(true);
13066
13144
  };
13067
13145
  /**
13068
13146
  * 输入关键字对数据进行过滤
@@ -13074,21 +13152,6 @@ var tree_ProjectTree = /** @class */function (_super) {
13074
13152
  }
13075
13153
  this.renderData = this.filterData(this.data.$clone());
13076
13154
  };
13077
- /**
13078
- * 判断一个节点是否是与关键字匹配的叶子节点,或者是包含符合条件的叶子节点的祖先节点
13079
- * @param node
13080
- */
13081
- // public match(node: any) {
13082
- // if (!node.children || node.children.length === 0) {
13083
- // return (node.title || node.name).indexOf(this.keyword) !== -1 && (this.type === "all" || this.type === node.method);
13084
- // } else {
13085
- // let flag = false;
13086
- // node.children.forEach((v: any) => {
13087
- // flag = this.match(v) ? this.match(v) : flag;
13088
- // });
13089
- // return flag;
13090
- // }
13091
- // }
13092
13155
  /**
13093
13156
  * 判断一个节点是否是与关键字匹配的叶子节点或者目录节点,或者是包含符合条件的叶子节点的祖先节点
13094
13157
  * 如果匹配的是目录节点,那么目录下的节点无需过滤
@@ -13135,7 +13198,7 @@ var tree_ProjectTree = /** @class */function (_super) {
13135
13198
  };
13136
13199
  ProjectTree.prototype.onSaveGroup = function () {
13137
13200
  return __awaiter(this, void 0, void 0, function () {
13138
- var result;
13201
+ var isChildNode, res, status, result;
13139
13202
  return __generator(this, function (_a) {
13140
13203
  switch (_a.label) {
13141
13204
  case 0:
@@ -13149,13 +13212,38 @@ var tree_ProjectTree = /** @class */function (_super) {
13149
13212
  this.$message.warning("所属分组不能选中自身");
13150
13213
  return [2 /*return*/];
13151
13214
  }
13152
- return [4 /*yield*/, this.service.saveCategory(this.group)];
13215
+ isChildNode = this.isChildNode(this.group, this.group.parentId);
13216
+ if (isChildNode) {
13217
+ this.$message.warning("所属分组不能选中自身的子节点");
13218
+ return [2 /*return*/];
13219
+ }
13220
+ if (!this.group.id) return [3 /*break*/, 2];
13221
+ return [4 /*yield*/, this.service.checkCategory(this.group)];
13153
13222
  case 1:
13223
+ res = _a.sent();
13224
+ if (res && !res.hasError) {
13225
+ status = res.result;
13226
+ this.showGroupModal = false;
13227
+ if (["BIND_NONE", "NOT_UPDATED_PROJECT"].includes(status)) {
13228
+ this.$message.success("保存分组成功");
13229
+ this.init();
13230
+ } else if ("BIND_JOB" === status) {
13231
+ this.$message.error(this.MOVE_RESULT.BIND_JOB);
13232
+ } else if ("BIND_ENV" === status) {
13233
+ this.showMoveModal = true;
13234
+ }
13235
+ }
13236
+ return [3 /*break*/, 4];
13237
+ case 2:
13238
+ return [4 /*yield*/, this.service.saveCategory(this.group)];
13239
+ case 3:
13154
13240
  result = _a.sent();
13155
13241
  if (result && !result.hasError) {
13156
13242
  this.showGroupModal = false;
13157
13243
  this.init();
13158
13244
  }
13245
+ _a.label = 4;
13246
+ case 4:
13159
13247
  return [2 /*return*/];
13160
13248
  }
13161
13249
  });
@@ -13196,12 +13284,104 @@ var tree_ProjectTree = /** @class */function (_super) {
13196
13284
  ProjectTree.prototype.onBatchSuccess = function (data) {
13197
13285
  this.$emit("on-success", data);
13198
13286
  };
13287
+ // 是否当前节点的子节点
13288
+ ProjectTree.prototype.isChildNode = function (currentNode, targetId) {
13289
+ if (!currentNode.children || currentNode.children.length === 0) {
13290
+ return false;
13291
+ }
13292
+ for (var _i = 0, _a = currentNode.children; _i < _a.length; _i++) {
13293
+ var child = _a[_i];
13294
+ if (child.id === targetId) {
13295
+ return true;
13296
+ }
13297
+ if (this.isChildNode(child, targetId)) {
13298
+ return true;
13299
+ }
13300
+ }
13301
+ return false;
13302
+ };
13303
+ ProjectTree.prototype.loadProjectList = function () {
13304
+ return __awaiter(this, void 0, void 0, function () {
13305
+ var res;
13306
+ return __generator(this, function (_a) {
13307
+ switch (_a.label) {
13308
+ case 0:
13309
+ return [4 /*yield*/, this.projectService.getProjectList({})];
13310
+ case 1:
13311
+ res = _a.sent();
13312
+ this.projectList = (res === null || res === void 0 ? void 0 : res.result) || [];
13313
+ return [2 /*return*/];
13314
+ }
13315
+ });
13316
+ });
13317
+ };
13318
+ // 改变所属项目
13319
+ ProjectTree.prototype.onChangeProject = function (isGroup) {
13320
+ return __awaiter(this, void 0, void 0, function () {
13321
+ var result, data;
13322
+ return __generator(this, function (_a) {
13323
+ switch (_a.label) {
13324
+ case 0:
13325
+ this.parent = {
13326
+ id: null,
13327
+ name: null
13328
+ };
13329
+ if (!isGroup) return [3 /*break*/, 2];
13330
+ this.group.parentId = null;
13331
+ this.group.parentName = null;
13332
+ return [4 /*yield*/, this.service.getApiTree(this.group.projectId)];
13333
+ case 1:
13334
+ result = _a.sent();
13335
+ return [3 /*break*/, 4];
13336
+ case 2:
13337
+ this.interfaceModel.categoryId = null;
13338
+ return [4 /*yield*/, this.service.getApiTree(this.interfaceModel.projectId)];
13339
+ case 3:
13340
+ result = _a.sent();
13341
+ _a.label = 4;
13342
+ case 4:
13343
+ data = (result === null || result === void 0 ? void 0 : result.result) || [];
13344
+ TreeDataUtil.handlerTreeData(data, "name");
13345
+ this.groupTree = data;
13346
+ return [2 /*return*/];
13347
+ }
13348
+ });
13349
+ });
13350
+ };
13351
+ ProjectTree.prototype.onMoveOk = function (copyEnvFlag) {
13352
+ return __awaiter(this, void 0, void 0, function () {
13353
+ var res;
13354
+ return __generator(this, function (_a) {
13355
+ switch (_a.label) {
13356
+ case 0:
13357
+ this.showMoveModal = false;
13358
+ if (!(this.moveType === "group")) return [3 /*break*/, 2];
13359
+ return [4 /*yield*/, this.service.updateMoveCategory(this.group, copyEnvFlag)];
13360
+ case 1:
13361
+ res = _a.sent();
13362
+ return [3 /*break*/, 4];
13363
+ case 2:
13364
+ if (!(this.moveType === "interface")) return [3 /*break*/, 4];
13365
+ return [4 /*yield*/, this.service.updateMoveApi(this.interfaceModel, copyEnvFlag)];
13366
+ case 3:
13367
+ res = _a.sent();
13368
+ _a.label = 4;
13369
+ case 4:
13370
+ if (res && !res.hasError) {
13371
+ this.init();
13372
+ }
13373
+ return [2 /*return*/];
13374
+ }
13375
+ });
13376
+ });
13377
+ };
13199
13378
  __decorate([Object(flagwind_web_["config"])({
13200
13379
  default: function () {
13201
13380
  return [];
13202
13381
  }
13203
13382
  })], ProjectTree.prototype, "projectId", void 0);
13204
13383
  __decorate([autowired(project_detail_service)], ProjectTree.prototype, "service", void 0);
13384
+ __decorate([autowired(project_list_service)], ProjectTree.prototype, "projectService", void 0);
13205
13385
  __decorate([Object(flagwind_web_["watch"])("projectId", {
13206
13386
  immediate: true
13207
13387
  })], ProjectTree.prototype, "init", null);
@@ -13675,7 +13855,7 @@ module.exports = "<div class=\"v-parameter-list-container\">\r\n <main>\r\n
13675
13855
  /***/ "d8e7":
13676
13856
  /***/ (function(module, exports) {
13677
13857
 
13678
- module.exports = "<!DOCTYPE html>\n<article class=\"v-api-combine-info-wrapper\">\n <header class=\"header\">\n {{title}}\n </header>\n <main>\n <i-form ref=\"form\" class=\"info-form\" :model=\"model\" :rules=\"rules\">\n <i-row>\n <section class=\"title-g\">基本信息</section>\n <i-form-item label=\"名称:\" prop=\"name\">\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"model.name\" :disabled=\"!isEdit\"></i-input>\n </i-form-item>\n <i-form-item label=\"编码:\" prop=\"code\">\n <i-input class=\"diy-input\" placeholder=\"请输入编码\" v-model=\"model.code\" :disabled=\"!isEdit\"></i-input>\n </i-form-item>\n <i-form-item label=\"是否需要认证:\" prop=\"requireAuth\">\n <i-switch class=\"diy-switch\" :disabled=\"!isEdit\" :true-value=\"1\" :false-value=\"0\" v-model=\"model.requireAuth\">\n <span slot=\"open\">是</span>\n <span slot=\"close\">否</span>\n </i-switch>\n </i-form-item>\n <i-form-item class=\"full-width\" label=\"描述:\">\n <i-input type=\"textarea\" class=\"diy-input-textarea\" :rows=\"1\" placeholder=\"请输入描述\" v-model=\"model.description\" :disabled=\"!isEdit\"></i-input>\n </i-form-item>\n </i-row>\n <i-row>\n <section class=\"title-g\">待合并列表</section>\n <section class=\"to-combine-list\">\n <template v-if=\"isEdit\">\n <i-button class=\"diy-btn-default\" @click=\"onAddDataModel\">添加数据模型</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onAddApiProject\">添加 API</i-button>\n </template>\n <template v-if=\"model.relations&&model.relations.length\">\n <i-table class=\"diy-table\" :columns=\"relationColumns\" :data=\"model.relations\">\n <template #type=\"{row}\">\n <span>{{row.type==='MODEL'?'数据模型':row.type==='API'?'API':''}}</span>\n </template>\n <template #operates=\"{row,index}\">\n <div class=\"row-actions\">\n <i title=\"查看\" class=\"iconfont icon-rizhichakan\" @click=\"onDetail(row)\"></i>\n <i-poptip v-if=\"isEdit\" confirm transfer title=\"确认删除这条数据吗?\" @on-ok=\"onRelationDelete(row)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </div>\n </template>\n </i-table>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </section>\n </i-row>\n <i-row>\n <section class=\"title-g\">参数详情</section>\n <section class=\"parameter-detail\">\n <section class=\"card-panel card-panel-no-right-border\">\n <i-tabs>\n <i-tab-pane label=\"请求参数\" name=\"request\">\n <u-request-parameter-list :data=\"model.reqParams\" :isEdit=\"isEdit\"></u-request-parameter-list>\n </i-tab-pane>\n <i-tab-pane label=\"响应参数\" name=\"response\">\n <u-response-parameter-list :data=\"model.respParams\" :isEdit=\"isEdit\"></u-response-parameter-list>\n </i-tab-pane>\n </i-tabs>\n </section>\n <section class=\"card-panel\">\n <div class=\"card-panel-header\">\n <div>\n <span>执行脚本</span>\n <i-icon class=\"help-icon\" type=\"md-alert\" @click=\"onOpenDoc\" title=\"帮助文档\"> </i-icon>\n </div>\n <span class=\"action-text\" @click.stop=\"onOpenTest\">\n <i class=\"iconfont icon-run\"></i>\n <span>试运行</span>\n </span>\n </div>\n <div class=\"card-panel-main\">\n <u-base-editor class=\"editor\" :data.sync=\"model.content\" :readOnly=\"!isEdit\"></u-base-editor>\n </div>\n </section>\n </section>\n </i-row>\n </i-form>\n </main>\n <footer>\n <template v-if=\"isEdit\">\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click.stop=\"onSave\">确定</i-button>\n <i-button type=\"text\" class=\"diy-btn-text\" @click.stop=\"onBack\">取消</i-button>\n </template>\n <template v-else>\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click.stop=\"onBack\">关闭</i-button>\n </template>\n </footer>\n <u-data-model-modal v-model=\"dataModelShow\" :data=\"dataModelRelations\" @save=\"onRelationsSave\"></u-data-model-modal>\n <u-api-project-modal v-model=\"apiProjectShow\" :data=\"apiProjectRelations\" @save=\"onRelationsSave\"></u-api-project-modal>\n <u-data-model-doc-modal v-model=\"dataModelDocShow\" :doc=\"dataModelDoc\"></u-data-model-doc-modal>\n <u-api-project-detail-modal :visiable.sync=\"apiProjectDetailShow\" :model=\"apiProjectDetail\"></u-api-project-detail-modal>\n <u-test-run-modal :visible.sync=\"testShow\" :params=\"model.reqParams\" :data=\"testResult\" @on-run=\"onTestRun\"></u-test-run-modal>\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\n</article>\n"
13858
+ module.exports = "<!DOCTYPE html>\n<article class=\"v-api-combine-info-wrapper\">\n <header class=\"header\">\n {{title}}\n </header>\n <main>\n <i-form ref=\"form\" class=\"info-form\" :model=\"model\" :rules=\"rules\">\n <i-row>\n <section class=\"title-g\">基本信息</section>\n <i-form-item label=\"名称:\" prop=\"name\">\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"model.name\" :disabled=\"!isEdit\"></i-input>\n </i-form-item>\n <i-form-item label=\"编码:\" prop=\"code\">\n <i-input class=\"diy-input\" placeholder=\"请输入编码\" v-model=\"model.code\" :disabled=\"!isEdit\"></i-input>\n </i-form-item>\n <i-form-item label=\"是否需要认证:\" prop=\"authFlag\">\n <i-switch class=\"diy-switch\" :disabled=\"!isEdit\" :true-value=\"1\" :false-value=\"0\" v-model=\"model.authFlag\">\n <span slot=\"open\">是</span>\n <span slot=\"close\">否</span>\n </i-switch>\n </i-form-item>\n <i-form-item class=\"full-width\" label=\"描述:\">\n <i-input type=\"textarea\" class=\"diy-input-textarea\" :rows=\"1\" placeholder=\"请输入描述\" v-model=\"model.description\" :disabled=\"!isEdit\"></i-input>\n </i-form-item>\n </i-row>\n <i-row>\n <section class=\"title-g\">待合并列表</section>\n <section class=\"to-combine-list\">\n <template v-if=\"isEdit\">\n <i-button class=\"diy-btn-default\" @click=\"onAddDataModel\">添加数据模型</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onAddApiProject\">添加 API</i-button>\n </template>\n <template v-if=\"model.relations&&model.relations.length\">\n <i-table class=\"diy-table\" :columns=\"relationColumns\" :data=\"model.relations\">\n <template #type=\"{row}\">\n <span>{{row.type==='MODEL'?'数据模型':row.type==='API'?'API':''}}</span>\n </template>\n <template #operates=\"{row,index}\">\n <div class=\"row-actions\">\n <i title=\"查看\" class=\"iconfont icon-rizhichakan\" @click=\"onDetail(row)\"></i>\n <i-poptip v-if=\"isEdit\" confirm transfer title=\"确认删除这条数据吗?\" @on-ok=\"onRelationDelete(row)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </div>\n </template>\n </i-table>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </section>\n </i-row>\n <i-row>\n <section class=\"title-g\">参数详情</section>\n <section class=\"parameter-detail\">\n <section class=\"card-panel card-panel-no-right-border\">\n <i-tabs>\n <i-tab-pane label=\"请求参数\" name=\"request\">\n <u-request-parameter-list :data=\"model.reqParams\" :isEdit=\"isEdit\"></u-request-parameter-list>\n </i-tab-pane>\n <i-tab-pane label=\"响应参数\" name=\"response\">\n <u-response-parameter-list :data=\"model.respParams\" :isEdit=\"isEdit\"></u-response-parameter-list>\n </i-tab-pane>\n </i-tabs>\n </section>\n <section class=\"card-panel\">\n <div class=\"card-panel-header\">\n <div>\n <span>执行脚本</span>\n <i-icon class=\"help-icon\" type=\"md-alert\" @click=\"onOpenDoc\" title=\"帮助文档\"> </i-icon>\n </div>\n <span class=\"action-text\" @click.stop=\"onOpenTest\">\n <i class=\"iconfont icon-run\"></i>\n <span>试运行</span>\n </span>\n </div>\n <div class=\"card-panel-main\">\n <u-base-editor class=\"editor\" :data.sync=\"model.content\" :readOnly=\"!isEdit\"></u-base-editor>\n </div>\n </section>\n </section>\n </i-row>\n </i-form>\n </main>\n <footer>\n <template v-if=\"isEdit\">\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click.stop=\"onSave\">确定</i-button>\n <i-button type=\"text\" class=\"diy-btn-text\" @click.stop=\"onBack\">取消</i-button>\n </template>\n <template v-else>\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click.stop=\"onBack\">关闭</i-button>\n </template>\n </footer>\n <u-data-model-modal v-model=\"dataModelShow\" :data=\"dataModelRelations\" @save=\"onRelationsSave\"></u-data-model-modal>\n <u-api-project-modal v-model=\"apiProjectShow\" :data=\"apiProjectRelations\" @save=\"onRelationsSave\"></u-api-project-modal>\n <u-data-model-doc-modal v-model=\"dataModelDocShow\" :doc=\"dataModelDoc\"></u-data-model-doc-modal>\n <u-api-project-detail-modal :visiable.sync=\"apiProjectDetailShow\" :model=\"apiProjectDetail\"></u-api-project-detail-modal>\n <u-test-run-modal :visible.sync=\"testShow\" :params=\"model.reqParams\" :data=\"testResult\" @on-run=\"onTestRun\"></u-test-run-modal>\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\n</article>\n"
13679
13859
 
13680
13860
  /***/ }),
13681
13861