# cy_3d_ui **Repository Path**: hanyuqq/cy_3d_ui ## Basic Information - **Project Name**: cy_3d_ui - **Description**: vue2+cesium.js--3D项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-30 - **Last Updated**: 2025-04-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # basaltic_system 全局控件 size 大小(已做全局控制,注意页面排版) - 0 < window.innerWidth < 1024 : small - 1024 <= window.innerWidth < 1440 : medium - 1440 <= window.innerWidth < Infinity : large ## Build Setup ```bash # install dependencies npm install # serve with hot reload at localhost:9200 npm start # build for production with minification npm run build # build for production and view the bundle analyzer report npm run build --report ``` ## eslint vscode 安装 eslint 的扩展,并在设置中添加如下配置 ``` "eslint.options": { "extensions": [".js", ".vue"] }, "eslint.validate": [ "javascript", "javascriptreact", "vue-html", { "language": "vue", "autoFix": true }, { "language": "html", "autoFix": true } ], "eslint.run": "onSave", "eslint.autoFixOnSave": true, "editor.codeActionsOnSave": { "source.fixAll.eslint": true } ``` ## 页面路由 src/router/index.js 登陆时后台路由获取模拟 src/pages/treeDara.js ## 接口调用 1. this.atomAPI.xxx 2. src/service/appVersion.js => api 中的 url 中带有的版本信息 3. 其余路径安装接口文档结构组成 ## 组件使用 element 组件照常使用,api 照常使用 ## 自定义组件 src/components/custom 中有自定义组件,原则上不要修改,已被全局注册,无须在页面引 入,template 中直接使用即可,例如:AtomButton 组件在 template 中使用 \\ ### **1 \\** | 描述 | 属性或方法 | 值 | 类型 | 默认 | | ------------ | :---------: | :--------------------------------------------------------------: | :----: | :-----: | | 控制渲染标签 | :ele | span \| p \| div | String | div | | 字体大小 | :size | smaller \| small \| medium \| large \| larger | String | | 颜色预设 | :type | primary \| secondary \| placeholder \| success \| danger \| info | String | regular | | 行高预设 | :lineHeight | smaller \| small \| large \| larger | String | ### **2 \\** | 描述 | 属性或方法 | 值 | 类型 | 默认 | | --------------------- | :-------------------------------------------------: | :-----------------------: | :-----------------------: | :--: | | 是否带有 loading 效果 | :hasLoading | true \| false | Boolean | true | | | 除 loading 属性,其余所有属性与 element-ui 保持一致 | | | | @click | cb => cb(none\|\|boolean) | Function(none\|\|Boolean) | - 和 element-ui 中的 el-button 相比,除了 loading 属性,其余 api 均保持一致 - 点击事件仍然使用@click, 可以传入带布尔值参数的回调,布尔值控制 loading 的结束 ### **3 \\** | 描述 | 属性或方法 | 值 | 类型 | 默认 | | ------------------------------- | :-----------: | :------------: | :------: | :--: | | 控制渲染 el-link 或者 el-button | :ele | button \| link | String | link | | 是否允许执行弹出框 | :allow | true\|false | Boolean | true | | 不允许弹出时提示什么内容 | :allowMessage | | String | | | 确认执行 | @confirm | () => {} | Function | | 取消执行 | @cancel | () => {} | Function | ### **4 \\** | 描述 | 属性或方法 | 值 | 类型 | 默认 | | ------------------------------------- | :------------: | :---------------------------------------------: | :----: | :------------------------------------------------------------------------: | | 控制渲染触发器 el-button 或者 el-link | :ele | button \| link | String | button | | 触发器属性 | :buttonOptions | 继承 el-button 或 el-link 的属性,由:ele 值决定 | Object | {} | | 对话框属性 | :dialogOptions | 继承 el-dialog 的属性 | Object | {} | | 自定义按钮 | :buttons | 继承 el-button 的属性 | Array | [{ text: "取消", event: () => null }, { text: "确定", event: () => null }] | | dialog 对应的 ref | :ref | | String | | - 自定义按钮中传入的 event 回调中有一个参数,布尔值,控制 dialog 对话框的关闭 - 外部可通过执行 this.\$refs.triggerRef.visible = false;控制 dialog 对话框的关闭 ### **5 \\** | 描述 | 属性或方法 | 值 | 类型 | 默认 | | ---- | :--------: | :----: | :------------: | :--: | | 间隙 | :gap | 0 \| 1 | String\|Number | 1 | - 仅能包裹\\和 \\ ### **6 \\** | 描述 | 属性或方法 | 值 | 类型 | 默认 | | ------------ | :-------------: | :------------------------: | :-------------------------------------------------------: | :--------: | | 排版方向 | :direction | 与 flex-direction 相同 | String | row | | 间隙 | :gap | 数字 \| 两个数字组成的数组 | String \| Number \| Array[Number\|String, Number\|String] | 6 | | 是否换行 | :wrap | 与 flex-wrap 相同 | String | nowrap | | 主轴排列方式 | :justifyContent | 与 justify-content 相同 | String | flex-start | | 副轴对齐方式 | :alignItems | 与 align-items 相同 | String | center | - 能包裹所有标签 - 能通过/^\d+\$/正则校验的数字或字符串,或数组[a, b]且 a, b 都必须是通过/^\d+\$/ 正则校验的数字或字符串 ### **7 \\** | 描述 | 属性或方法 | 值 | 类型 | 默认 | | ------------ | :---------: | :-: | :-----: | :-----: | | 表单 ref | :formRef | | String | formRef | | 配置 | :form | | Array | [] | | 分列 | :col | | Number | 1 | | loading 状态 | :loading | | Boolean | false | | label 宽度 | :labelWidth | | Number | 80 | | 表单操作按钮 | :buttons | | Array | [] | - :form 结构如下 ``` { label: String, // label名称 /* * 渲染表单type类型: * input => * select => * radio => * checkbox => * datetime => * date => * time => * textarea => */ type: String, key: String, // 表单项key defaultValue: String|Array, // 表单项默认值,checkbox的默认值是value组成的数组 placeholder: String, // placeholder options: Array, // 当type='Array'时渲染的select下的options选项, {label: '', value: ''} groupOptions: Boolean, // options是否分组显示,与此同时options的数据结构需要相应改变 rules: Array, // 表单校验配置 nextRow: Boolean, // 是否在此换行 span: Number, // 表单项宽度占几列 display: Boolean, // 是否显示或隐藏 } ``` - 其余属性集成 element,例如 type='textarea'如下 ``` { maxlength:Number, rows:Number, "show-word-limit": Boolean, multiple: Boolean, //默认collapse-tags的值与multiple保持一致 } ``` - option 的禁用状态:在 label 和 value 属性之外,传入 disabled(Boolean)即可 ### **8 \\** | 描述 | 属性或方法 | 值 | 类型 | 默认 | | ------------------------------------------------------ | :--------: | :-: | :----: | :--: | | 分列 | :col | | Number | 3 | | 数据来源 | :data | | Object | {} | | 结构,与表单的配置:form 一样的结构,甚至就是同一个数据 | :config | | Array | [] | - 其余属性集成 element-ui 的\\ ### **9 \** | 描述 | 属性或方法 | 值 | 类型 | 默认 | | ------------------ | :---------------------------------------: | :-: | :------: | :-------: | | 修改当前选择的卫星 | this.\$store.commit("SET_SAT_ACTIVE", Object) | | | | | 卫星变动回调 | @change="event" | | function | | | 获取已选卫星 code | this.\$store.getters.getSatActive | | String | undefined | | 获取已选卫星信息 | this.\$store.state.satActive | | Object | {} | | 已选卫星是否存入vuex| relativeVuex | | Boolean | true | - 在 event 回调方法中,如有需要可选择接收 event(value,item)参数,其中 value 与 this.\$store.getters.getSatActive 一致, item 为已选的卫星对象属性。 ### **10 \\** | 描述 | 属性或方法 | 值 | 类型 | 默认 | | ------------ | :--------: | :-: | :------: | :------------: | | 节点点击事件 | @click | | Function | data => (data) | - 点击事件中的参数为节点的 data,其中 data.category 可以区分是分系统或者单机设备 ### **10 \\** - 封装的公共搜索组件,统一优化处理了回车搜索事件; | 描述 | 属性或方法 | 值 | 类型 | 默认 | | ------------ | :-------------: | :-: | :------: | :--------------------------------: | | 搜索处理方法 | :action | | Function | condition => () //会将条件传处理函数 | | 搜索条件类型(可选) | :conditionsType | | Array | [] //[{label:'标签',value:'some'}] | | 过滤类型(like,equal...) | :filterType | 'like' | String | 'like' | ### **11 \** | 描述 | 属性或方 | 值 | 类型 | 默认 | | ---------------------- | :---------------: | :-: | :------: | :-------: | | 需要筛选的数组 | dataList | | Array | [] | | 是否显示需要选择的code值 | isShowCode | | Boolean | false | | 传入的属性值 | defaultProps | | Object | {label: "name",value: "id",code: "code"} | | 弹窗出现位置 | placement | | String | bottom | | 选择框左侧的名字 | title | | String | '' | | 默认提示 | placeholder | | String | 请选择 | | 是否可以删除选择的值 | deleteShow | | Boolean | true | | 整个选择框的宽度 | width | | String | 100%(接收width所以属性,例如200px) | | 选择变动回调 | @change="event" | | function | | - 在 defaultProps 参数中,name为显示的值,value为唯一标识或者需要返回的值,code为显示的副值, 在回调@change绑定方法后,第一个值为传入的value值,第二个值为整个选中的对象。 ### **11 \** | 描述 | 属性或方 | 值 | 类型 | 默认 | | ---------------------- | :---------------: | :-: | :------: | :-------: | | 需要筛选的数组 | dataList | | Array | [] | | 所以已选中的值 | selected | | Array | [] | | 是否显示需要选择的code值 | isShowCode | | Boolean | false | | 传入的属性值 | defaultProps | | Object | {label: "name",value: "id",code: "code"} | | 弹窗出现位置 | placement | | String | bottom | | 默认提示 | placeholder | | String | 请选择 | | 整个选择框的宽度 | width | | String | 100%(接收width所以属性,例如200px) | | 选择变动回调 | @change="event" | | function | | - 在 defaultProps 参数中,name为显示的值,value为唯一标识或者需要返回的值,code为显示的副值, 在回调@change绑定方法后,只有一个参数返回,即选中的这个数组。