diff --git a/package.json b/package.json
index 2ac4a5fc..9f11668d 100644
--- a/package.json
+++ b/package.json
@@ -17,7 +17,8 @@
"vue": "^3.2.16",
"vue-i18n": "^9.2.0-beta.23",
"vue-router": "4.0.12",
- "vue3-lazyload": "^0.2.5-beta"
+ "vue3-lazyload": "^0.2.5-beta",
+ "vue3-sketch-ruler": "^1.3.3"
},
"devDependencies": {
"@types/node": "^16.11.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 176c9291..006de1b7 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -41,6 +41,7 @@ specifiers:
vue-router: 4.0.12
vue-tsc: ^0.28.7
vue3-lazyload: ^0.2.5-beta
+ vue3-sketch-ruler: ^1.3.3
dependencies:
animate.css: r2.cnpmjs.org/animate.css/4.1.1
@@ -53,6 +54,7 @@ dependencies:
vue-i18n: rg.cnpmjs.org/vue-i18n/9.2.0-beta.23_vue@3.2.24
vue-router: rg.cnpmjs.org/vue-router/4.0.12_vue@3.2.24
vue3-lazyload: registry.npmjs.org/vue3-lazyload/0.2.5-beta_e9ad48123e44f1efa3c90c8e8375ea6d
+ vue3-sketch-ruler: registry.npmjs.org/vue3-sketch-ruler/1.3.3_vue@3.2.24
devDependencies:
'@types/node': rg.cnpmjs.org/@types/node/16.11.12
@@ -2356,6 +2358,25 @@ packages:
vue: rg.cnpmjs.org/vue/3.2.24
dev: false
+ registry.npmjs.org/vue3-sketch-ruler/1.3.3_vue@3.2.24:
+ resolution: {integrity: sha512-k7wK34fWq0v4PiEklF0KAxS37UJS2nm8mMaE8g4Bqv9ZbBY7MxqrkM1wIj9VHmjN/MyQeodFWdg6lJv/ZESKlw==, registry: https://skimdb.npmjs.com/registry/, tarball: https://registry.npmjs.org/vue3-sketch-ruler/-/vue3-sketch-ruler-1.3.3.tgz}
+ id: registry.npmjs.org/vue3-sketch-ruler/1.3.3
+ name: vue3-sketch-ruler
+ version: 1.3.3
+ hasBin: true
+ requiresBuild: true
+ peerDependencies:
+ '@vue/composition-api': ^1.1.0
+ vue: ^2.6.0 || ^3.2.0
+ peerDependenciesMeta:
+ '@vue/composition-api':
+ optional: true
+ vue:
+ optional: true
+ dependencies:
+ vue: rg.cnpmjs.org/vue/3.2.24
+ dev: false
+
registry.npmjs.org/vueuc/0.4.26_vue@3.2.24:
resolution: {integrity: sha512-IK6TV4468k7Hpj1SXXPYelT/aYqmfa/SYTLFospwJ/uMebRExS1fh5tx6ZT3fSA0OkmCOHmmi2OGke+eSseAgw==, registry: https://skimdb.npmjs.com/registry/, tarball: https://registry.npmjs.org/vueuc/-/vueuc-0.4.26.tgz}
id: registry.npmjs.org/vueuc/0.4.26
diff --git a/src/main.ts b/src/main.ts
index 7dc599e8..df253ad1 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -6,7 +6,11 @@ import { setupStore } from '@/store'
import { setupNaive, setupDirectives, setupCustomComponents } from '@/plugins'
import { AppProvider } from '@/components/AppProvider/index'
import { setHtmlTheme } from '@/utils'
+
+// 引入动画
import 'animate.css/animate.min.css'
+// 引入标尺
+import 'vue3-sketch-ruler/lib/style.css'
async function appInit() {
const appProvider = createApp(AppProvider)
diff --git a/src/plugins/customComponents.ts b/src/plugins/customComponents.ts
index 547c859e..484e113f 100644
--- a/src/plugins/customComponents.ts
+++ b/src/plugins/customComponents.ts
@@ -1,6 +1,7 @@
import type { App } from 'vue'
import { GoSkeleton } from '@/components/GoSkeleton'
import { LoadingComponent } from '@/components/LoadingComponent'
+import { SketchRule } from 'vue3-sketch-ruler'
/**
* 全局注册自定义组件
@@ -9,4 +10,5 @@ import { LoadingComponent } from '@/components/LoadingComponent'
export function setupCustomComponents(app: App) {
app.component('GoSkeleton', GoSkeleton)
app.component('LoadingComponent', LoadingComponent)
+ app.component('SketchRule', SketchRule)
}
diff --git a/src/views/chart/ContentEdit/components/EditRule/index.ts b/src/views/chart/ContentEdit/components/EditRule/index.ts
new file mode 100644
index 00000000..426c4cec
--- /dev/null
+++ b/src/views/chart/ContentEdit/components/EditRule/index.ts
@@ -0,0 +1,3 @@
+import EditRule from './index.vue'
+
+export { EditRule }
diff --git a/src/views/chart/ContentEdit/components/EditRule/index.vue b/src/views/chart/ContentEdit/components/EditRule/index.vue
new file mode 100644
index 00000000..ed6984d3
--- /dev/null
+++ b/src/views/chart/ContentEdit/components/EditRule/index.vue
@@ -0,0 +1,68 @@
+
+