diff --git a/src/view/layout/aside/asideComponent/asyncSubmenu.vue b/src/view/layout/aside/asideComponent/asyncSubmenu.vue
new file mode 100644
index 0000000..8b487f5
--- /dev/null
+++ b/src/view/layout/aside/asideComponent/asyncSubmenu.vue
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+ {{ routerInfo.meta.title }}
+
+
+
+
+
+
+
+
+
diff --git a/src/view/layout/aside/asideComponent/index.vue b/src/view/layout/aside/asideComponent/index.vue
new file mode 100644
index 0000000..8cb1a6f
--- /dev/null
+++ b/src/view/layout/aside/asideComponent/index.vue
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/layout/aside/asideComponent/menuItem.vue b/src/view/layout/aside/asideComponent/menuItem.vue
new file mode 100644
index 0000000..031d1de
--- /dev/null
+++ b/src/view/layout/aside/asideComponent/menuItem.vue
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/layout/aside/historyComponent/history.vue b/src/view/layout/aside/historyComponent/history.vue
new file mode 100644
index 0000000..5986aeb
--- /dev/null
+++ b/src/view/layout/aside/historyComponent/history.vue
@@ -0,0 +1,385 @@
+
+
+
+
+
+
+ {{ fmtTitle(item.meta.title,item) }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/layout/bottomInfo/bottomInfo.vue b/src/view/layout/bottomInfo/bottomInfo.vue
new file mode 100644
index 0000000..fb1f055
--- /dev/null
+++ b/src/view/layout/bottomInfo/bottomInfo.vue
@@ -0,0 +1,11 @@
+
+
+
+
+ Powered by
+ Web-Admin
+
+ Copyright
+ 利农天下
+
+
diff --git a/src/view/layout/screenfull/index.vue b/src/view/layout/screenfull/index.vue
new file mode 100644
index 0000000..ab8da7f
--- /dev/null
+++ b/src/view/layout/screenfull/index.vue
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
diff --git a/src/view/layout/search/search.vue b/src/view/layout/search/search.vue
new file mode 100644
index 0000000..bc9e410
--- /dev/null
+++ b/src/view/layout/search/search.vue
@@ -0,0 +1,83 @@
+
+
+
+
+
+
diff --git a/src/view/layout/setting/index.vue b/src/view/layout/setting/index.vue
new file mode 100644
index 0000000..e360ae3
--- /dev/null
+++ b/src/view/layout/setting/index.vue
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+
+
+ 简约白
+
+
+
+
+
+
+
+

+
+
+ 商务黑
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/login/index.vue b/src/view/login/index.vue
new file mode 100644
index 0000000..4193154
--- /dev/null
+++ b/src/view/login/index.vue
@@ -0,0 +1,186 @@
+
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
{{ $GIN_VUE_ADMIN.appName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
![请输入验证码]()
+
+
+
+
+ 登 录
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/person/person.vue b/src/view/person/person.vue
new file mode 100644
index 0000000..f725a09
--- /dev/null
+++ b/src/view/person/person.vue
@@ -0,0 +1,507 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ userStore.userInfo.nickName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
这个家伙很懒,什么都没有留下
+
+
+
+ -
+
+
+
+ {{ userStore.userInfo.nickName }}
+
+
+ -
+
+
+
+ 北京反转极光科技有限公司-技术部-前端事业群
+
+
+ -
+
+
+
+ 中国·北京市·朝阳区
+
+
+ -
+
+
+
+ GoLang/JavaScript/Vue/Gorm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ time>0?`(${time}s)后重新获取`:'获取验证码' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ emailTime>0?`(${emailTime}s)后重新获取`:'获取验证码' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/product/product.vue b/src/view/product/product.vue
new file mode 100755
index 0000000..3df86a7
--- /dev/null
+++ b/src/view/product/product.vue
@@ -0,0 +1,437 @@
+
+
+
+
+
+
+
+ 创建日期
+
+
+
+
+
+
+
+
+ —
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+ 新增
+ 删除
+
+
+
+
+
+
+
+ {{ formatCategory(scope.row.categoryId) }}
+
+
+
+ {{ formatBoolean(scope.row.status) }}
+
+
+ {{ formatDate(scope.row.createdAt) }}
+
+
+
+
+
+
+
+ 查看详情
+
+ 变更
+ 删除
+
+
+
+
+
+
+
+
+
{{type==='create'?'添加':'修改'}}
+
+ 确 定
+ 取 消
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查看详情
+
+
+
+
+ {{ formData.ID }}
+
+
+ {{ formData.code }}
+
+
+ {{ formData.name }}
+
+
+ {{ formatCategory(formData.categoryId) }}
+
+
+ {{ formData.sortWeight }}
+
+
+ {{ formatBoolean(formData.status) }}
+
+
+ {{ formatDate(formData.createdAt) }}
+
+
+ {{ formatDate(formData.updatedAt) }}
+
+
+
+
+
+
+
+
+
diff --git a/src/view/product/productForm.vue b/src/view/product/productForm.vue
new file mode 100755
index 0000000..d6f1979
--- /dev/null
+++ b/src/view/product/productForm.vue
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存
+ 返回
+
+
+
+
+
+
+
+
+
diff --git a/src/view/productCategory/productCategory.vue b/src/view/productCategory/productCategory.vue
new file mode 100755
index 0000000..726bbf9
--- /dev/null
+++ b/src/view/productCategory/productCategory.vue
@@ -0,0 +1,341 @@
+
+
+
+
+ 新增
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+ 查看详情
+
+ 变更
+ 删除
+
+
+
+
+
+
+
+
+
{{type==='create'?'添加':'修改'}}
+
+ 确 定
+ 取 消
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查看详情
+
+
+
+
+ {{ formData.ID }}
+
+
+ {{ formData.parentId }}
+
+
+ {{ formData.name }}
+
+
+ {{ formatDate(formData.createdAt) }}
+
+
+ {{ formatDate(formData.updatedAt) }}
+
+
+
+
+
+
+
+
diff --git a/src/view/productCategory/productCategoryForm.vue b/src/view/productCategory/productCategoryForm.vue
new file mode 100755
index 0000000..ce36c02
--- /dev/null
+++ b/src/view/productCategory/productCategoryForm.vue
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+
+
+ 保存
+ 返回
+
+
+
+
+
+
+
+
+
diff --git a/src/view/productPrice/productPrice.vue b/src/view/productPrice/productPrice.vue
new file mode 100755
index 0000000..ca8c1ee
--- /dev/null
+++ b/src/view/productPrice/productPrice.vue
@@ -0,0 +1,497 @@
+
+
+
+
+
+
+
+ 创建日期
+
+
+
+
+
+
+
+
+ —
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+ 新增
+ 删除
+
+
+
+
+
+ {{ formatProduct(scope.row.productId) }}
+
+
+ {{ formatOnlyDate(scope.row.publishDate) }}
+
+
+
+
+
+
+
+
+ {{ formatBoolean(scope.row.status) }}
+
+
+
+
+ {{ formatDate(scope.row.createdAt) }}
+
+
+
+
+
+
+
+
+ 查看详情
+
+ 变更
+ 删除
+
+
+
+
+
+
+
+
+
{{type==='create'?'添加':'修改'}}
+
+ 确 定
+ 取 消
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查看详情
+
+
+
+
+ {{ formData.ID }}
+
+
+ {{ formatProduct(formData.productId) }}
+
+
+ {{ formatOnlyDate(formData.publishDate) }}
+
+
+ {{ formData.norm }}
+
+
+ {{ formData.areaId }}
+
+
+ {{ formData.areaFullname }}
+
+
+ {{ formData.priceType }}
+
+
+ {{ formData.priceUnit }}
+
+
+ {{ formData.priceMin }}
+
+
+ {{ formData.priceMax }}
+
+
+ {{ formatBoolean(formData.status) }}
+
+
+ {{ formData.remark }}
+
+
+ {{ formatDate(formData.createdAt) }}
+
+
+ {{ formatDate(formData.updatedAt) }}
+
+
+
+
+
+
+
+
+
diff --git a/src/view/productPrice/productPriceForm.vue b/src/view/productPrice/productPriceForm.vue
new file mode 100755
index 0000000..48e429b
--- /dev/null
+++ b/src/view/productPrice/productPriceForm.vue
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存
+ 返回
+
+
+
+
+
+
+
+
+
diff --git a/src/view/sourcePrice/sourcePrice.vue b/src/view/sourcePrice/sourcePrice.vue
new file mode 100755
index 0000000..48c6d10
--- /dev/null
+++ b/src/view/sourcePrice/sourcePrice.vue
@@ -0,0 +1,641 @@
+
+
+
+
+
+
+
+ 创建日期
+
+
+
+
+
+
+
+
+ —
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+ 新增
+ 删除
+
+
+
+
+
+ {{ formatProduct(scope.row.productId) }}
+
+
+
+
+
+
+
+
+ {{ formatPriceType(scope.row.priceType) }}
+
+
+
+
+
+ {{ formatOnlyDate(scope.row.publishDate) }}
+
+
+
+ {{ formatDate(scope.row.createdAt) }}
+
+
+ {{ formatDate(scope.row.updatedAt) }}
+
+
+
+
+ {{ scope.row.crawTable }}.{{ scope.row.crawTableId }}
+
+
+
+
+
+
+
+
+
+
+ 查看详情
+
+ 变更
+ 删除
+
+
+
+
+
+
+
+
+
{{type==='create'?'添加':'修改'}}
+
+ 确 定
+ 取 消
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查看详情
+
+
+
+
+ {{ formData.ID }}
+
+
+ {{ formData.crawTable }}
+
+
+ {{ formData.crawTableId }}
+
+
+ {{ formatProduct(formData.productId) }}
+
+
+ {{ formData.productPriceId }}
+
+
+ {{ formData.companyPriceId }}
+
+
+ {{ formData.norm }}
+
+
+ {{ formData.areaId }}
+
+
+ {{ formData.areaFullname }}
+
+
+ {{ formData.producter }}
+
+
+ {{ formatPriceType(formData.priceType) }}
+
+
+ {{ formData.price }}
+
+
+ {{ formData.priceUnit }}
+
+
+ {{ formData.companyName }}
+
+
+ {{ formatOnlyDate(formData.publishDate) }}
+
+
+ {{ formatDate(formData.createdAt) }}
+
+
+ {{ formatDate(formData.updatedAt) }}
+
+
+
+
+
+
+
+ 查看爬虫数据详情
+
+
+
+
+ {{ formData.ID }}
+
+
+ {{ formData.code }}
+
+
+ {{ formData.name }}
+
+
+ {{ formData.norm }}
+
+
+ {{ formData.producer }}
+
+
+ {{ formData.priceType }}
+
+
+ {{ formData.priceUnit }}
+
+
+ {{ formData.price }}
+
+
+ {{ formData.areaDetail }}
+
+
+ {{ formData.dealer }}
+
+
+ {{ formData.publishDate }}
+
+
+ {{ formData.uniqueCode }}
+
+
+ {{ formData.crawlTime }}
+
+
+ {{ formData.status }}
+
+
+ {{ formData.syncError }}
+
+
+ {{ formatDate(formData.createdAt) }}
+
+
+ {{ formatDate(formData.updatedAt) }}
+
+
+
+
+
+
+
+
+
diff --git a/src/view/sourcePrice/sourcePriceForm.vue b/src/view/sourcePrice/sourcePriceForm.vue
new file mode 100755
index 0000000..5e4f8dd
--- /dev/null
+++ b/src/view/sourcePrice/sourcePriceForm.vue
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存
+ 返回
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/api/api.vue b/src/view/superAdmin/api/api.vue
new file mode 100644
index 0000000..73184e2
--- /dev/null
+++ b/src/view/superAdmin/api/api.vue
@@ -0,0 +1,512 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+ 新增
+
+ 删除
+ 刷新缓存
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.method }} / {{ methodFilter(scope.row.method) }}
+
+
+
+
+
+
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/authority/authority.vue b/src/view/superAdmin/authority/authority.vue
new file mode 100644
index 0000000..9cd98d8
--- /dev/null
+++ b/src/view/superAdmin/authority/authority.vue
@@ -0,0 +1,468 @@
+
+
+
+
+
+ 新增角色
+
+
+
+
+
+
+
+ 设置权限
+ 新增子角色
+ 拷贝
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/authority/components/apis.vue b/src/view/superAdmin/authority/components/apis.vue
new file mode 100644
index 0000000..609169c
--- /dev/null
+++ b/src/view/superAdmin/authority/components/apis.vue
@@ -0,0 +1,146 @@
+
+
+
+
+
+
diff --git a/src/view/superAdmin/authority/components/datas.vue b/src/view/superAdmin/authority/components/datas.vue
new file mode 100644
index 0000000..61d6b8b
--- /dev/null
+++ b/src/view/superAdmin/authority/components/datas.vue
@@ -0,0 +1,142 @@
+
+
+
+
+ 全选
+ 本角色
+ 本角色及子角色
+ 确 定
+
+
+
+ {{ item.authorityName }}
+
+
+
+
+
+
diff --git a/src/view/superAdmin/authority/components/menus.vue b/src/view/superAdmin/authority/components/menus.vue
new file mode 100644
index 0000000..e22adc5
--- /dev/null
+++ b/src/view/superAdmin/authority/components/menus.vue
@@ -0,0 +1,247 @@
+
+
+
+
+ 确 定
+
+
+
+
+
+
+ {{ node.label }}
+
+ setDefault(data)"
+ >
+ {{ row.defaultRouter === data.name?"首页":"设为首页" }}
+
+
+
+ OpenBtn(data)"
+ >
+ 分配按钮
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/dictionary/sysDictionary.vue b/src/view/superAdmin/dictionary/sysDictionary.vue
new file mode 100644
index 0000000..b8e8fdd
--- /dev/null
+++ b/src/view/superAdmin/dictionary/sysDictionary.vue
@@ -0,0 +1,262 @@
+
+
+
+
+
+
+ 字典列表
+
+ 新增
+
+
+
+
+
{{ dictionary.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/dictionary/sysDictionaryDetail.vue b/src/view/superAdmin/dictionary/sysDictionaryDetail.vue
new file mode 100644
index 0000000..39d2076
--- /dev/null
+++ b/src/view/superAdmin/dictionary/sysDictionaryDetail.vue
@@ -0,0 +1,344 @@
+
+
+
+
+ 字典详细内容
+ 新增字典项
+
+
+
+
+ {{ formatDate(scope.row.CreatedAt) }}
+
+
+
+
+
+
+
+
+
+ {{ formatBoolean(scope.row.status) }}
+
+
+
+
+
+
+ 变更
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/index.vue b/src/view/superAdmin/index.vue
new file mode 100644
index 0000000..d622809
--- /dev/null
+++ b/src/view/superAdmin/index.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/menu/icon.vue b/src/view/superAdmin/menu/icon.vue
new file mode 100644
index 0000000..07e748b
--- /dev/null
+++ b/src/view/superAdmin/menu/icon.vue
@@ -0,0 +1,1197 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.key }}
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/menu/menu.vue b/src/view/superAdmin/menu/menu.vue
new file mode 100644
index 0000000..72e3885
--- /dev/null
+++ b/src/view/superAdmin/menu/menu.vue
@@ -0,0 +1,763 @@
+
+
+
+
+ 新增根菜单
+
+
+
+
+
+
+
+
+ {{ scope.row.meta.title }}
+
+
+
+
+
+
+
+
+ {{ scope.row.meta.icon }}
+
+
+
+
+
+
+
+ {{ scope.row.hidden?"隐藏":"显示" }}
+
+
+
+
+
+
+
+ 添加子菜单
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 路由Path
+ 添加参数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 如果菜单包含子菜单,请创建router-view二级路由页面或者点我设置
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 高亮菜单
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 是否为基础页面
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 新增菜单参数
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+ 新增可控按钮
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/operation/sysOperationRecord.vue b/src/view/superAdmin/operation/sysOperationRecord.vue
new file mode 100644
index 0000000..51cdecc
--- /dev/null
+++ b/src/view/superAdmin/operation/sysOperationRecord.vue
@@ -0,0 +1,323 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+ 删除
+
+
+
+
+
+ {{ scope.row.user.userName }}({{ scope.row.user.nickName }})
+
+
+
+ {{ formatDate(scope.row.CreatedAt) }}
+
+
+
+
+ {{ scope.row.status }}
+
+
+
+
+
+
+
+
+
+
+
+
{{ fmtBody(scope.row.body) }}
+
+
+
+
+
+
+
无
+
+
+
+
+
+
+
+
+
{{ fmtBody(scope.row.resp) }}
+
+
+
+
+
+
无
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/superAdmin/user/user.vue b/src/view/superAdmin/user/user.vue
new file mode 100644
index 0000000..1eae296
--- /dev/null
+++ b/src/view/superAdmin/user/user.vue
@@ -0,0 +1,515 @@
+
+
+
+
+
+ 新增用户
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {changeAuthority(scope.row,flag,0)}"
+ @remove-tag="(removeAuth)=>{changeAuthority(scope.row,false,removeAuth)}"
+ />
+
+
+
+
+ {switchEnable(scope.row)}"
+ />
+
+
+
+
+
+ 删除
+ 编辑
+ 重置密码
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/system/state.vue b/src/view/system/state.vue
new file mode 100644
index 0000000..f3c05c5
--- /dev/null
+++ b/src/view/system/state.vue
@@ -0,0 +1,237 @@
+
+
+
+
+
+
+ Runtime
+
+
+
+ os:
+
+
+
+ cpu nums:
+
+
+
+ compiler:
+
+
+
+ go version:
+
+
+
+ goroutine nums:
+
+
+
+
+
+
+
+
+ Disk
+
+
+
+
+
+ total (MB)
+
+
+
+ used (MB)
+
+
+
+ total (GB)
+
+
+
+ used (GB)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CPU
+
+
+
+ physical number of cores:
+
+
+
+ core {{ index }}:
+
+
+
+
+
+
+
+
+ Ram
+
+
+
+
+
+ total (MB)
+
+
+
+ used (MB)
+
+
+
+ total (GB)
+
+
+
+ used (GB)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/systemArea/systemArea.vue b/src/view/systemArea/systemArea.vue
new file mode 100755
index 0000000..bb2d830
--- /dev/null
+++ b/src/view/systemArea/systemArea.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+ ID
+
+
+
+
+
+ 上级Id
+
+
+
+
+
+ 地区级别
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+ 新增
+ 删除
+
+
+
+
+
+
+
+
+ {{ formatBoolean(scope.row.visible) }}
+
+
+
+
+
+
+
+
+
+ 查看详情
+
+ 变更
+ 删除
+
+
+
+
+
+
+
+
+
{{ type==='create'?'添加':'修改' }}
+
+ 确 定
+ 取 消
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查看详情
+
+
+
+
+ {{ formData.ID }}
+
+
+ {{ formData.pid }}
+
+
+ {{ formData.name }}
+
+
+ {{ formatBoolean(formData.visible) }}
+
+
+ {{ formData.weight }}
+
+
+ {{ formData.level }}
+
+
+
+
+
+
+
+
+
diff --git a/src/view/systemArea/systemAreaForm.vue b/src/view/systemArea/systemAreaForm.vue
new file mode 100755
index 0000000..3419783
--- /dev/null
+++ b/src/view/systemArea/systemAreaForm.vue
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存
+ 返回
+
+
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/autoCode/component/fieldDialog.vue b/src/view/systemTools/autoCode/component/fieldDialog.vue
new file mode 100644
index 0000000..d87a28e
--- /dev/null
+++ b/src/view/systemTools/autoCode/component/fieldDialog.vue
@@ -0,0 +1,239 @@
+
+
+
+
+
+
+
+ 自动填充
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/autoCode/component/previewCodeDialg.vue b/src/view/systemTools/autoCode/component/previewCodeDialg.vue
new file mode 100644
index 0000000..fec1ce3
--- /dev/null
+++ b/src/view/systemTools/autoCode/component/previewCodeDialg.vue
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/autoCode/index.vue b/src/view/systemTools/autoCode/index.vue
new file mode 100644
index 0000000..cef63b6
--- /dev/null
+++ b/src/view/systemTools/autoCode/index.vue
@@ -0,0 +1,1009 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 业务库
+
+
+
+
+
+ {{ item.aliasName }}
+ {{ item.dbName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 使用此表创建
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Struct简称
+
+
+
+
+
+
+
+
+
+
+ 文件名称
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 业务库
+
+
+
+
+
+ {{ item.aliasName }}
+ {{ item.dbName }}
+
+
+
+
+
+
+
+ 使用GVA结构
+
+
+
+
+
+
+
+ 创建资源标识
+
+
+
+
+
+
+
+ 自动创建API
+
+
+
+
+
+
+
+ 自动移动文件
+
+
+
+
+
+
+
+
+
+ 新增字段
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 高级编辑
+ 上移
+ 下移
+ 删除
+
+
+
+
+
+ 预览代码
+ 生成代码
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/autoCodeAdmin/index.vue b/src/view/systemTools/autoCodeAdmin/index.vue
new file mode 100644
index 0000000..4375531
--- /dev/null
+++ b/src/view/systemTools/autoCodeAdmin/index.vue
@@ -0,0 +1,227 @@
+
+
+
+
+ 新增
+
+
+
+
+
+ {{ formatDate(scope.row.CreatedAt) }}
+
+
+
+
+
+
+
+ 已回滚
+
+
+ 未回滚
+
+
+
+
+
+
+ 回滚(删表)
+ 回滚(不删表)
+ 复用
+ 删除
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/autoPkg/autoPkg.vue b/src/view/systemTools/autoPkg/autoPkg.vue
new file mode 100644
index 0000000..b9f1202
--- /dev/null
+++ b/src/view/systemTools/autoPkg/autoPkg.vue
@@ -0,0 +1,213 @@
+
+
+
+
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/autoPlug/autoPlug.vue b/src/view/systemTools/autoPlug/autoPlug.vue
new file mode 100644
index 0000000..e22453c
--- /dev/null
+++ b/src/view/systemTools/autoPlug/autoPlug.vue
@@ -0,0 +1,350 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 创建
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/exportTemplate/exportTemplate.vue b/src/view/systemTools/exportTemplate/exportTemplate.vue
new file mode 100644
index 0000000..136b924
--- /dev/null
+++ b/src/view/systemTools/exportTemplate/exportTemplate.vue
@@ -0,0 +1,723 @@
+
+
+
+
+
+
+
+
+ 创建日期
+
+
+
+
+
+
+ —
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+ 新增
+
+ 删除
+
+
+
+
+ {{ formatDate(scope.row.CreatedAt) }}
+
+
+
+ {{ scope.row.dbNname || "GVA库" }}
+
+
+
+
+
+
+
+
+ 变更
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+ 业务库
+
+
+
+
+
+ {{ item.aliasName }}
+ {{ item.dbName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ formData.conditions.splice(key, 1)"
+ >删除
+
+
+ 添加条件
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/formCreate/index.vue b/src/view/systemTools/formCreate/index.vue
new file mode 100644
index 0000000..8dbc2cf
--- /dev/null
+++ b/src/view/systemTools/formCreate/index.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/index.vue b/src/view/systemTools/index.vue
new file mode 100644
index 0000000..e7cba00
--- /dev/null
+++ b/src/view/systemTools/index.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/installPlugin/index.vue b/src/view/systemTools/installPlugin/index.vue
new file mode 100644
index 0000000..01a5a94
--- /dev/null
+++ b/src/view/systemTools/installPlugin/index.vue
@@ -0,0 +1,42 @@
+
+
+
+
+
+ 拖拽或点击上传
+
+
+
+ 请把安装包的zip拖拽至此处上传
+
+
+
+
+
+
+
diff --git a/src/view/systemTools/pubPlug/pubPlug.vue b/src/view/systemTools/pubPlug/pubPlug.vue
new file mode 100644
index 0000000..f8e7237
--- /dev/null
+++ b/src/view/systemTools/pubPlug/pubPlug.vue
@@ -0,0 +1,32 @@
+
+
+
+
+
+
diff --git a/src/view/systemTools/system/system.vue b/src/view/systemTools/system/system.vue
new file mode 100644
index 0000000..d50874f
--- /dev/null
+++ b/src/view/systemTools/system/system.vue
@@ -0,0 +1,557 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 开启
+
+
+ 开启
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 测试邮件
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 本地文件配置
+
+
+
+
+
+
+
+
+ qiniu上传配置
+
+
+
+
+
+
+
+
+
+
+ 开启
+
+
+
+
+
+
+
+
+ 开启
+
+
+
+ 腾讯云COS上传配置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 阿里云OSS上传配置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 华为云Obs上传配置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 立即更新
+ 重启服务(开发中)
+
+
+
+
+
+
+
diff --git a/vitePlugin/codeServer/index.js b/vitePlugin/codeServer/index.js
new file mode 100644
index 0000000..390310e
--- /dev/null
+++ b/vitePlugin/codeServer/index.js
@@ -0,0 +1,42 @@
+const child_process = require('child_process')
+
+export default function GvaPositionServer() {
+ return {
+ name: 'gva-position-server',
+ apply: 'serve',
+ configureServer(server) {
+ server.middlewares.use((req, _, next) => {
+ if (req._parsedUrl.pathname === '/gvaPositionCode') {
+ const path =
+ req._parsedUrl.query && req._parsedUrl.query.split('=')[1]
+ if (path && path !== 'null') {
+ if (process.env.VITE_EDITOR === 'webstorm') {
+ const linePath = path.split(':')[1]
+ const filePath = path.split(':')[0]
+ const platform = os()
+ if (platform === 'win32') {
+ child_process.exec(
+ `webstorm64.exe --line ${linePath} ${filePath}`
+ )
+ } else {
+ child_process.exec(
+ `webstorm --line ${linePath} ${filePath}`
+ )
+ }
+ } else {
+ child_process.exec('code -r -g ' + path)
+ }
+ }
+ }
+ next()
+ })
+ },
+ }
+}
+
+function os() {
+ 'use strict'
+ const os = require('os')
+ const platform = os.platform()
+ return platform
+}
diff --git a/vitePlugin/fullImport/fullImport.js b/vitePlugin/fullImport/fullImport.js
new file mode 100644
index 0000000..d42322b
--- /dev/null
+++ b/vitePlugin/fullImport/fullImport.js
@@ -0,0 +1,23 @@
+import * as path from 'path'
+export default function fullImportPlugin() {
+ let config
+ return {
+ name: 'fullImportElementPlus',
+ async configResolved(conf) {
+ config = conf
+ },
+ transform(code, id) {
+ const sourcePath = path.join(config.root, 'src/main.js').split(path.sep).join('/')
+ const targetPath = id.split(path.sep).join('/')
+ if (sourcePath === targetPath) {
+ const name = 'ElementPlus'
+ // 引入 ElementPlus 和 样式
+ code = code.replace(`import { createApp } from 'vue'`, ($1) => $1 + `\nimport ${name} from 'element-plus'`)
+ code = code.replace(`import './style/element_visiable.scss'`, ($1) => $1 + `\nimport 'element-plus/theme-chalk/src/index.scss'`)
+ code = code.replace('.mount(', ($1) => `.use(${name})` + $1)
+ return code
+ }
+ return code
+ }
+ }
+}
diff --git a/vitePlugin/gvaPosition/index.js b/vitePlugin/gvaPosition/index.js
new file mode 100644
index 0000000..0644c7a
--- /dev/null
+++ b/vitePlugin/gvaPosition/index.js
@@ -0,0 +1,51 @@
+export default function GvaPosition() {
+ return {
+ name: 'gva-position',
+ apply: 'serve',
+ transform(code, id) {
+ const index = id.lastIndexOf('.')
+ const ext = id.substr(index + 1)
+ if (ext.toLowerCase() === 'vue') {
+ return codeLineTrack(code, id)
+ }
+ },
+ }
+}
+
+const codeLineTrack = (code, id) => {
+ const lineList = code.split('\n')
+ const newList = []
+ lineList.forEach((item, index) => {
+ newList.push(addLineAttr(item, index + 1, id)) // 添加位置属性,index+1为具体的代码行号
+ })
+ return newList.join('\n')
+}
+
+const addLineAttr = (lineStr, line, id) => {
+ if (!/^\s+ {
+ const skip = [
+ 'KeepAlive',
+ 'template',
+ 'keep-alive',
+ 'transition',
+ 'el-',
+ 'El',
+ 'router-view',
+ ]
+ if (item && !skip.some((i) => item.indexOf(i) > -1)) {
+ const reg = new RegExp(`${item}`)
+ const location = `${item} code-location="${id}:${line}"`
+ lineStr = lineStr.replace(reg, location)
+ }
+ })
+ }
+ return lineStr
+}
diff --git a/vitePlugin/svgIcon/svgIcon.js b/vitePlugin/svgIcon/svgIcon.js
new file mode 100644
index 0000000..b89ec7e
--- /dev/null
+++ b/vitePlugin/svgIcon/svgIcon.js
@@ -0,0 +1,57 @@
+import { readFileSync, readdirSync } from 'fs'
+const svgTitle = /', '')
+ svgRes.push(svg)
+ }
+ }
+ return svgRes
+}
+export const svgBuilder = (path) => {
+ if (path === '') return
+ const res = findSvgFile(path)
+ return {
+ name: 'svg-transform',
+ transformIndexHtml(html) {
+ return html.replace(
+ '
',
+ `
+
+
+ `
+ )
+ }
+ }
+}