{"_id":"99cloud-yl-cmdb-instance-selector","_rev":"1-088ef2873112ced0b083b36356353d2a","name":"99cloud-yl-cmdb-instance-selector","dist-tags":{"latest":"0.1.10"},"versions":{"0.1.10":{"name":"99cloud-yl-cmdb-instance-selector","version":"0.1.10","private":false,"scripts":{"test":"vue-cli-service serve","lint":"eslint --fix --ext .js,.vue src tests"},"peerDependencies":{"core-js":"^3.6.5","element-ui":"^2.14.1","vue":"^2.6.11"},"devDependencies":{"@babel/preset-env":"^7.12.11","@vue/cli-plugin-babel":"~4.5.0","@vue/cli-plugin-eslint":"~4.5.0","@vue/cli-service":"~4.5.0","babel-eslint":"^10.0.1","babel-plugin-component":"^1.1.1","compression-webpack-plugin":"^3.0.0","core-js":"^3.6.5","css-loader":"^5.0.2","element-ui":"^2.14.1","eslint":"^5.16.0","eslint-loader":"^4.0.2","eslint-plugin-vue":"^5.2.3","lodash":"^4.17.20","sass":"^1.32.13","sass-loader":"^7.1.0","vue":"^2.6.11","vue-template-compiler":"^2.5.21"},"browserslist":["> 1%","last 2 versions","not dead"],"dependencies":{},"gitHead":"78b900e97a8080d819251b96ba12e6d8c86b9330","description":"cmdb 实例选择器","_id":"99cloud-yl-cmdb-instance-selector@0.1.10","_nodeVersion":"14.18.2","_npmVersion":"8.3.0","dist":{"integrity":"sha512-tLKKHALrfgQ9BZMG90rTnn9OCON5WKT2G5NAGVNGDeqA7WLLKafJjq2S9bvkPhcg6Yn2Ma8PBY331ZxxOOLgcw==","shasum":"8931ae2aec7888d424ec85f9ca705691ab8cdb05","tarball":"https://registry.npmjs.org/99cloud-yl-cmdb-instance-selector/-/99cloud-yl-cmdb-instance-selector-0.1.10.tgz","fileCount":17,"unpackedSize":62361,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhxW9gCRA9TVsSAnZWagAAdO0QAJOR/85Z2HCI9EqD85pZ\n9bBM04QT6hMneJcR1/BPFOehXOwq1m1u7ePfGsLI7LLHoWRQAuVvZkH/nBla\nPTcq1xIkfUpkIzd75JBYqtCMMQn5LHSdX36AH+fIbse8QWxuzVnyp8N0BLQK\nLezXPp/60VYgUMQyEUXOt20XUVMsImJ7CKp5vKWL8CmmDPW/VdiSDsuMcDOC\nqB+asf7alGA640SXcRoY17uicEWbAc/YRQq1mvgCtg1l4BuUsOw9TaYct2pn\n3YaYVesdmIwpNBEmi6ZPpQODFfFlp74L3oEHR1z/tvUuY0m2qR/hBI8h+Xg1\nWoFLd1JW19wzGQDJM5VEij6gGVt8TVwZc4ytAaLKOtoW6BRI2D2eMKYNqHl1\n+h9snOwA2FeB2Nn6hm3w4k26R7WmJs5l+UuOgJQa2cARhPiqYo+Gt8wSswbf\nAVQ43krvqVIPiY6w2kp85Ar9DZKcWMQ2y2OH08BUwmwuMoFdq/KRWBspz7or\nl51gdlCzEd8exV3CFlHMkhaO9yLJxzdsKoNQecxUYaialtkdW0t8pcmc5iUi\nREuYKQjBQseK8G/KkfZ+D+/WKaFML5QDW7rCeo5VufMHyBAwSP/CAiK5wdFw\nMWVYldidSWu08VckVrJBawwxvaXI/COJp6Xw0SkIiyDv7g+8nB0cLTsucD7S\nPdkY\r\n=odrK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDktdrw/dq5TglV4UMHBOXX/Gnr/3XPdu+Pt8gizBVOkAIhANJlvP47Olze44dQOeP8hvafcuxBPS8pf8jveOVVQlFg"}]},"_npmUser":{"name":"alifel","email":"alifel@163.com"},"directories":{},"maintainers":[{"name":"alifel","email":"alifel@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/99cloud-yl-cmdb-instance-selector_0.1.10_1640329056725_0.9507891406237217"},"_hasShrinkwrap":false}},"time":{"created":"2021-12-24T06:57:36.724Z","0.1.10":"2021-12-24T06:57:36.855Z","modified":"2022-04-04T10:25:17.633Z"},"maintainers":[{"name":"alifel","email":"alifel@163.com"}],"description":"cmdb 实例选择器","readme":"# cmdb-instance-selector\n\ncmdb 实例选择器\n\n2个方法：confirm、 cancel。  \n2 个必传值：data、api。  \n6 个可选值：readonly、modal、multipleLimit,newAppCondition、selectorConfigAll\n\n\n```js\n    <cmdb-instance-selector\n      @confirm=\"confirm\"\n      @cancel='cancel'\n      v-if=\"dialogVisible\"\n      :data=\"data\"\n      :api=\"api\"\n      :readonly=\"false\"\n      :multipleLimit=\"1\"\n      :modal=\"false\"\n    >\n    </cmdb-instance-selector>\n```\n## 两个方法：confirm、 cancel。 \nconfirm：res 就是点击`确定`返回的数据,有`嵌入式`和`弹出式`两种情况。\n\n```js\nfunction confirm(res) {}\n```\n***\n\ncancel：在该方法中控制组件的显示隐藏\n```js\nfunction cancel() {\n  this.dialogVisible = false\n},\n```\n\n\n## 6个可传值：readonly、modal、multipleLimit,newAppCondition、selectorConfigAll、onlySelectSameValuePropertyName\n***\n```js\nbusinessSystemRadio:只用来控制业务系统改项是否可以多选，true不可以多选，false可以多选，默认为true\n```\n***\n```\nmultipleLimit:地图路径项列表多选时用户最多可以选择的项目数，  \n              默认为 0，为`0`则不限制  \n              为 1 时地图路径项最多只能选择一项，以此类推...。\n```\n\n***\n\n\n```\nreadonly：默认`true`只读模式， `fasle`编辑模式\n```\n***\n\n```js\nnewAppCondition:'app需求，传入值有三个'\nname:  '控制某个地图路径项不能选择'\nmapPath:'控制地图路径项是否显示，也就是地图路径项的第一层, true 地图路径项隐藏。'\ncondition:'name控制不能选择的那一项的默认值'\nnewAppCondition:{\n  name:'业务系统',\n  mapPath:false,\n  condition:[\n    {\n      label:'测试2',\n      value:'测试id2',\n    },\n  ],\n},\n如果只需要隐藏地图路径项，而不设置默认值\nnewAppCondition:{\n  name:'',\n  mapPath:true,\n  condition:[\n    {\n      label:'',\n      value:'',\n    },\n  ],\n},\n```\n\n***\n```\nmodal：默认`true`弹出式， `false`普通块级元素嵌入页面。  \n弹出式和嵌入式的区别在于`返回值`\n\n\n弹出式：点击确定通过`confirm`接收数据\n\n嵌入式：因为嵌入式不会显示组件的`确定`按钮，所以要动态接收组件的返回数据，也是通过`confirm`来接收，当`cmdb`实例的已选列表或者地图路径项更新时，会动态返回当前所选的数据。\n```\n***\n```js\nselectorConfigAll：要传入所有业务系统的名称和tag，在调度计划选择业务系统时，多选的业务系统的执行器标签不能冲突。\n\n例如：\nselectorConfigAll:[\n  {\n    name:'xxx', //业务系统名称\n    tag:'xxx' // 业务系统执行器标签\n  },\n  {\n    name:'xxx',\n    tag:'xxx'\n  },\n  {\n    name:'xxx',\n    tag:'xxx'\n  }\n]\n```\n```js\nonlySelectSameValuePropertyName：当传入该值时，该值对应的穿梭框的某列属性不同的item仅仅只能选择一个到右边\n```\n## 两个必须传值：api、data\n***\n\napi：传入组件的 api 接口函数共有四个，名称必须和下面的一致。\n\n```js\n{\n  getInstanceListByCriteria: null,\n  getMapUrlListByModelName: null,\n  getPkModelAttributeName: null,\n  getInstanceListByMapUrl: null,\n}\n```\n\ndata：有两种情况，回显、新增。  \n 1.回显时传入的数据格式，该数据后台返回\n\n```js\n/**\n * 地图路径实例数据\n */\nconfigItemModelAttributes:[\n  {\n    /**\n     * 地图路径属性显示名称\n     */\n    \"attributeDesc\": string\n    /**\n     * 地图路径属性id\n     */\n    \"attributeName\": string,\n    /**\n     * 地图路径属性对应的值\n     */\n    \"attributeValue\": Array,\n  }\n\n  ...\n]\n/**\n * 地图路径查询显示名称\n */\n\"configItemModelDesc\": string,\n/**\n * 地图路径查询主体名称\n */\n\"configItemModelName\": string,\n/**\n * 地图路径项字符串\n */\n\"mapUrl\": string,\n/**\n * 地图路径项查询条件对应的值以及cmd实例属性\n */\n\"resourceKey\": {\n        /**\n         * 查询主体\n         */\n        \"mainModel\": string,\n        /**\n         * 地图路径项列表\n         */\n        \"mapUrlNameKeys\": Array,\n        /**\n         * cmdb实例属性值\n         */\n        \"returnedAttributes\": Array,\n        /**\n         * 是否以树形形式展示，默认false\n         */\n        \"treeify\": Boolean,\n        /**\n         * 地图路径项已选列表数据 Array\n         */\n        \"where\": [\n          {\n            /**\n             * 地图路径项名称\n             */\n            \"key\": string,\n            /**\n             * 判断符、默认值 in\n             */\n            \"operator\": string,\n            /**\n             * 地图路径已选项id\n             */\n            \"value\": Array,\n          },\n\n          ...\n        ],\n      },\n```\n\n例如：\n\n```json\n      {\n        \"configItemModelAttributes\": [\n          {\n            \"attributeDesc\": \"主机名称\",\n            \"attributeName\": \"hostname\",\n            \"attributeValue\": [\"devopszj000003\", \"devopszj000001\", \"devopszj000004\", \"devopszj000002\"],\n          },\n          {\n            \"attributeDesc\": \"管理IP地址\",\n            \"attributeName\": \"mgt_ip\",\n            \"attributeValue\": [\"172.20.150.02\", \"172.20.150.193\", \"172.20.150.90\", \"172.20.150.01\"],\n          },\n\n          ...\n        ],\n        \"configItemModelDesc\": \"主机\",\n        \"configItemModelName\": \"host\",\n        \"mapUrl\": \"1.2.3.4.5\",\n        \"resourceKey\": {\n          \"mainModel\": \"host\",\n          \"mapUrlNameKeys\": ['system.sub_system.set.layer.group.app.host'],\n          \"returnedAttributes\": ['host.hostname'],\n          \"treeify\": false,\n          \"where\": [\n            {\n              \"key\": \"system.id\",\n              \"operator\": \"in\",\n              \"value\": [\"0UqH3Zpth1VGHYr4-4jFPi\"],\n            },\n\n            ...\n          ],\n        },\n      }\n```\n\n2.新增时传入的数据格式\n\n```json\n  {\n        \"configItemModelAttributes\": [\n          {\n            \"attributeDesc\": \"xxx\",\n            \"attributeName\": \"xxx\",\n          },\n          {\n            \"attributeDesc\": \"xxx\",\n            \"attributeName\": \"xxx\",\n          },\n          ...\n        ],\n        \"configItemModelDesc\": \"xx\",\n        \"configItemModelName\": \"xx\",\n  }\n```\n","readmeFilename":"README.md"}