fix(tiny-vue): 内部和开源代码同步,减少维护成本 [WI2023]

Match-id-31a5bd840dddac8f9371b683a11e8d2521d111c1
This commit is contained in:
OpenTiny 2023-02-22 16:45:25 +08:00
parent 0527f9519a
commit f41a593d29
2554 changed files with 67717 additions and 9963 deletions

193
.cid/tiny-vue.yml Normal file
View File

@ -0,0 +1,193 @@
version: 0.1.0
name: tiny-vue
language: nodejs
# 构建工具
dependencies:
base:
nodejs: best
# 构建机器
machine:
standard:
euler:
- default
# 构建脚本
scripts:
- sh build.sh
# 构建产物
artifacts:
npm_deploy:
- config_path: ./dist/${componentName}/package.json
# - config_path: ./dist/alert/package.json
# - config_path: ./dist/action-menu/package.json
# - config_path: ./dist/button/package.json
# - config_path: ./dist/vue/package.json
# - config_path: ./dist/action-sheet/package.json
# - config_path: ./dist/amount/package.json
# - config_path: ./dist/area/package.json
# - config_path: ./dist/autocomplete/package.json
# - config_path: ./dist/avatar/package.json
# - config_path: ./dist/badge/package.json
# - config_path: ./dist/breadcrumb/package.json
# - config_path: ./dist/breadcrumb-item/package.json
# - config_path: ./dist/bulletin-board/package.json
# - config_path: ./dist/button-group/package.json
# - config_path: ./dist/calendar/package.json
# - config_path: ./dist/card-template/package.json
# - config_path: ./dist/carousel/package.json
# - config_path: ./dist/carousel-item/package.json
# - config_path: ./dist/cascader/package.json
# - config_path: ./dist/cascader-menu/package.json
# - config_path: ./dist/cascader-node/package.json
# - config_path: ./dist/cascader-panel/package.json
# - config_path: ./dist/chart/package.json
# - config_path: ./dist/chart/autonavi-map/package.json
# - config_path: ./dist/chart/baidu-map/package.json
# - config_path: ./dist/chart/chart-bar/package.json
# - config_path: ./dist/chart/chart-boxplot/package.json
# - config_path: ./dist/chart/chart-candle/package.json
# - config_path: ./dist/chart/chart-core/package.json
# - config_path: ./dist/chart/chart-funnel/package.json
# - config_path: ./dist/chart/chart-gauge/package.json
# - config_path: ./dist/chart/chart-graph/package.json
# - config_path: ./dist/chart/chart-heatmap/package.json
# - config_path: ./dist/chart/chart-histogram/package.json
# - config_path: ./dist/chart/chart-line/package.json
# - config_path: ./dist/chart/chart-liquidfill/package.json
# - config_path: ./dist/chart/chart-map/package.json
# - config_path: ./dist/chart/chart-pie/package.json
# - config_path: ./dist/chart/chart-radar/package.json
# - config_path: ./dist/chart/chart-ring/package.json
# - config_path: ./dist/chart/chart-sankey/package.json
# - config_path: ./dist/chart/chart-scatter/package.json
# - config_path: ./dist/chart/chart-sunburst/package.json
# - config_path: ./dist/chart/chart-tree/package.json
# - config_path: ./dist/chart/chart-waterfall/package.json
# - config_path: ./dist/chart/chart-wordcloud/package.json
# - config_path: ./dist/checkbox/package.json
# - config_path: ./dist/checkbox-button/package.json
# - config_path: ./dist/checkbox-group/package.json
# - config_path: ./dist/col/package.json
# - config_path: ./dist/collapse/package.json
# - config_path: ./dist/collapse-item/package.json
# - config_path: ./dist/collapse-transition/package.json
# - config_path: ./dist/common/package.json
# - config_path: ./dist/company/package.json
# - config_path: ./dist/container/package.json
# - config_path: ./dist/country/package.json
# - config_path: ./dist/credit-card/package.json
# - config_path: ./dist/credit-card-form/package.json
# - config_path: ./dist/crop/package.json
# - config_path: ./dist/currency/package.json
# - config_path: ./dist/date-panel/package.json
# - config_path: ./dist/date-picker/package.json
# - config_path: ./dist/date-range/package.json
# - config_path: ./dist/date-table/package.json
# - config_path: ./dist/dept/package.json
# - config_path: ./dist/detail-page/package.json
# - config_path: ./dist/dialog-box/package.json
# - config_path: ./dist/drop-roles/package.json
# - config_path: ./dist/drop-times/package.json
# - config_path: ./dist/dropdown/package.json
# - config_path: ./dist/dropdown-item/package.json
# - config_path: ./dist/dropdown-menu/package.json
# - config_path: ./dist/espace/package.json
# - config_path: ./dist/exception/package.json
# - config_path: ./dist/file-upload/package.json
# - config_path: ./dist/floatbar/package.json
# - config_path: ./dist/form/package.json
# - config_path: ./dist/form-item/package.json
# - config_path: ./dist/fullscreen/package.json
# - config_path: ./dist/fall-menu/package.json
# - config_path: ./dist/grid/package.json
# - config_path: ./dist/grid-column/package.json
# - config_path: ./dist/grid-manager/package.json
# - config_path: ./dist/grid-toolbar/package.json
# - config_path: ./dist/hrapprover/package.json
# - config_path: ./dist/icon/package.json
# - config_path: ./dist/image/package.json
# - config_path: ./dist/image-viewer/package.json
# - config_path: ./dist/input/package.json
# - config_path: ./dist/ip-address/package.json
# - config_path: ./dist/layout/package.json
# - config_path: ./dist/link/package.json
# - config_path: ./dist/link-menu/package.json
# - config_path: ./dist/list/package.json
# - config_path: ./dist/loading/package.json
# - config_path: ./dist/locale/package.json
# - config_path: ./dist/locales/package.json
# - config_path: ./dist/logon-user/package.json
# - config_path: ./dist/logout/package.json
# - config_path: ./dist/milestone/package.json
# - config_path: ./dist/mini-picker/package.json
# - config_path: ./dist/modal/package.json
# - config_path: ./dist/month-range/package.json
# - config_path: ./dist/month-table/package.json
# - config_path: ./dist/nav-bar/package.json
# - config_path: ./dist/nav-menu/package.json
# - config_path: ./dist/notify/package.json
# - config_path: ./dist/numeric/package.json
# - config_path: ./dist/option/package.json
# - config_path: ./dist/option-group/package.json
# - config_path: ./dist/pager/package.json
# - config_path: ./dist/pager-item/package.json
# - config_path: ./dist/panel/package.json
# - config_path: ./dist/picker/package.json
# - config_path: ./dist/picker-column/package.json
# - config_path: ./dist/pop-upload/package.json
# - config_path: ./dist/popeditor/package.json
# - config_path: ./dist/popover/package.json
# - config_path: ./dist/popup/package.json
# - config_path: ./dist/progress/package.json
# - config_path: ./dist/pull-refresh/package.json
# - config_path: ./dist/radio/package.json
# - config_path: ./dist/radio-button/package.json
# - config_path: ./dist/radio-group/package.json
# - config_path: ./dist/rate/package.json
# - config_path: ./dist/roles/package.json
# - config_path: ./dist/row/package.json
# - config_path: ./dist/scroll-text/package.json
# - config_path: ./dist/scrollbar/package.json
# - config_path: ./dist/search/package.json
# - config_path: ./dist/select/package.json
# - config_path: ./dist/select-dropdown/package.json
# - config_path: ./dist/slide-bar/package.json
# - config_path: ./dist/slider/package.json
# - config_path: ./dist/split/package.json
# - config_path: ./dist/steps/package.json
# - config_path: ./dist/svg-icon/package.json
# - config_path: ./dist/switch/package.json
# - config_path: ./dist/tab-item/package.json
# - config_path: ./dist/tabbar/package.json
# - config_path: ./dist/tabbar-item/package.json
# - config_path: ./dist/table/package.json
# - config_path: ./dist/tabs/package.json
# - config_path: ./dist/tag/package.json
# - config_path: ./dist/text-popup/package.json
# - config_path: ./dist/time/package.json
# - config_path: ./dist/time-line/package.json
# - config_path: ./dist/time-panel/package.json
# - config_path: ./dist/time-picker/package.json
# - config_path: ./dist/time-range/package.json
# - config_path: ./dist/time-select/package.json
# - config_path: ./dist/time-spinner/package.json
# - config_path: ./dist/toggle-menu/package.json
# - config_path: ./dist/tooltip/package.json
# - config_path: ./dist/top-box/package.json
# - config_path: ./dist/transfer/package.json
# - config_path: ./dist/transfer-panel/package.json
# - config_path: ./dist/tree/package.json
# - config_path: ./dist/tree-menu/package.json
# - config_path: ./dist/upload/package.json
# - config_path: ./dist/upload-dragger/package.json
# - config_path: ./dist/upload-list/package.json
# - config_path: ./dist/user/package.json
# - config_path: ./dist/user-account/package.json
# - config_path: ./dist/user-contact/package.json
# - config_path: ./dist/user-head/package.json
# - config_path: ./dist/user-link/package.json
# - config_path: ./dist/wizard/package.json
# - config_path: ./dist/year-table/package.json

36
.husky/_/husky.sh Normal file
View File

@ -0,0 +1,36 @@
#!/usr/bin/env sh
if [ -z "$husky_skip_init" ]; then
debug () {
if [ "$HUSKY_DEBUG" = "1" ]; then
echo "husky (debug) - $1"
fi
}
readonly hook_name="$(basename -- "$0")"
debug "starting $hook_name..."
if [ "$HUSKY" = "0" ]; then
debug "HUSKY env variable is set to 0, skipping hook"
exit 0
fi
if [ -f ~/.huskyrc ]; then
debug "sourcing ~/.huskyrc"
. ~/.huskyrc
fi
readonly husky_skip_init=1
export husky_skip_init
sh -e "$0" "$@"
exitCode="$?"
if [ $exitCode != 0 ]; then
echo "husky - $hook_name hook exited with code $exitCode (error)"
fi
if [ $exitCode = 127 ]; then
echo "husky - command not found in PATH=$PATH"
fi
exit $exitCode
fi

View File

@ -1,4 +1,4 @@
#!/bin/sh #!/bin/sh
. "$(dirname "$0")/_/husky.sh" . "$(dirname "$0")/_/husky.sh"
yarn commitlint --edit $1 npx --no-install commitlint --edit

View File

@ -1,4 +1,4 @@
#!/bin/sh #!/bin/sh
. "$(dirname "$0")/_/husky.sh" . "$(dirname "$0")/_/husky.sh"
npx lint-staged npx lint-staged

3
.npmrc Normal file
View File

@ -0,0 +1,3 @@
@huawei:registry=https://npm.cloudartifact.dgg.dragon.tools.huawei.com/artifactory/api/npm/npm-cbcbigate/
_auth=Y2JjYmlnYXRlOkh1YXdlaUAxMjM=
registry=https://npm.inhuawei.com/

View File

@ -5,7 +5,7 @@
- 报告[新缺陷](https://github.com/opentiny/tiny-vue/issues/new?template=bug-report.yml) - 报告[新缺陷](https://github.com/opentiny/tiny-vue/issues/new?template=bug-report.yml)
- 为[已有缺陷](https://github.com/opentiny/tiny-vue/labels/bug)提供更详细的信息比如补充截图、提供更详细的复现步骤、提供最小可复现demo链接等 - 为[已有缺陷](https://github.com/opentiny/tiny-vue/labels/bug)提供更详细的信息比如补充截图、提供更详细的复现步骤、提供最小可复现demo链接等
- 提交 Pull requests 修复文档中的错别字或让文档更清晰和完善 - 提交 Pull requests 修复文档中的错别字或让文档更清晰和完善
- 添加官方小助手微信 opentiny加入技术交流群参与讨论 - 添加官方小助手微信 opentiny-official,加入技术交流群参与讨论
当你亲自使用 TinyVue 组件库,并参与多次以上形式的贡献,对 TinyVue 逐渐熟悉之后,可以尝试做一些更有挑战的事情,比如: 当你亲自使用 TinyVue 组件库,并参与多次以上形式的贡献,对 TinyVue 逐渐熟悉之后,可以尝试做一些更有挑战的事情,比如:
@ -63,7 +63,7 @@ npm run dev:vue2
- 请确保你已经完成本地启动中的步骤,并能正常访问:[http://127.0.0.1:5173/](http://127.0.0.1:5173/) - 请确保你已经完成本地启动中的步骤,并能正常访问:[http://127.0.0.1:5173/](http://127.0.0.1:5173/)
- 创建新分支 `git checkout -b username/feature1`,分支名字建议为 `username/feat-xxx` / `username/fix-xxx` - 创建新分支 `git checkout -b username/feature1`,分支名字建议为 `username/feat-xxx` / `username/fix-xxx`
- 本地编码 - 本地编码
- 遵循 Commit Message Format 规范进行提交,不符合提交规范的 PR 将不会被合并 - 遵循 [Commit Message Format](https://www.conventionalcommits.org/zh-hans/v1.0.0/) 规范进行提交,不符合提交规范的 PR 将不会被合并
- 提交到远程仓库git push origin branchName - 提交到远程仓库git push origin branchName
- (可选)同步上游仓库 dev 分支最新代码git pull upstream dev - (可选)同步上游仓库 dev 分支最新代码git pull upstream dev
- 打开 TinyVue 代码仓库的 [Pull requests](https://github.com/opentiny/tiny-vue/pulls) 链接,点击 New pull request 按钮提交 PR - 打开 TinyVue 代码仓库的 [Pull requests](https://github.com/opentiny/tiny-vue/pulls) 链接,点击 New pull request 按钮提交 PR
@ -77,5 +77,5 @@ npm run dev:vue2
如果你对我们的开源项目感兴趣,欢迎通过以下方式加入我们的开源社区。 如果你对我们的开源项目感兴趣,欢迎通过以下方式加入我们的开源社区。
- 添加官方小助手微信opentiny加入我们的技术交流群 - 添加官方小助手微信opentiny-official,加入我们的技术交流群
- 加入邮件列表opentiny@googlegroups.com - 加入邮件列表opentiny@googlegroups.com

View File

@ -50,7 +50,7 @@ import { Button as TinyButton } from '@opentiny/vue'
```shell ```shell
git clone git@github.com:opentiny/tiny-vue.git git clone git@github.com:opentiny/tiny-vue.git
cd tiny-vue cd tiny-vue
npm i npm i --legacy-peer-deps
# 启动 Vue3 项目 # 启动 Vue3 项目
npm run dev:vue3 npm run dev:vue3

View File

@ -2,12 +2,19 @@
if [ ! $version ]; if [ ! $version ];
then npm version 0.1.0-`date "+%Y%m%d%H%M%S"`; then npm version 0.1.0-`date "+%Y%m%d%H%M%S"`;
else npm version ${version}; else npm version $version;
fi fi
npm run bootstrap npm install
npm run build:vue3
npm run release3 if [ ! $componentName ];
then
npm run build:vue$vueVersion
else
npm run buildfuxi:vue$vueVersion
fi
npm run releasefuxi$vueVersion
if [ $? -ne 0 ] if [ $? -ne 0 ]
then then

View File

@ -50,6 +50,5 @@ const buildFullRuntime = (buildType) => {
fs.writeFileSync(outputPath, output) fs.writeFileSync(outputPath, output)
utils.logGreen(`npm run build:entry done. [${outputDir}/${buildType}.js]`) utils.logGreen(`npm run build:entry done. [${outputDir}/${buildType}.js]`)
} };
['core', 'base', 'chart'].forEach(buildFullRuntime)
;['core', 'base', 'chart'].forEach(buildFullRuntime)

View File

@ -138,7 +138,7 @@ const createEntry = (mode) => {
}) })
fs.writeFileSync(OUTPUT_PATH, output) fs.writeFileSync(OUTPUT_PATH, output)
} };
;['all', 'pc', 'mobile'].forEach(createEntry) ['all', 'pc', 'mobile'].forEach(createEntry)
utils.logGreen(`npm run build:entry done. [${outputDir}/index.js,${outputDir}/pc.js,${outputDir}/mobile.js]`) utils.logGreen(`npm run build:entry done. [${outputDir}/index.js,${outputDir}/pc.js,${outputDir}/mobile.js]`)

View File

@ -32,7 +32,7 @@ const inputOptions = {
// 如果打包文件中包含 jsx 语法, commonjs 必须放置在 babel 配置下面,否则会报错 PLUGIN_ERROR // 如果打包文件中包含 jsx 语法, commonjs 必须放置在 babel 配置下面,否则会报错 PLUGIN_ERROR
commonjs() commonjs()
], ],
external: (deps) => /^@opentiny[\\/]-vue-common/.test(deps) external: (deps) => /^@huawei[\\/]tiny-vue-common/.test(deps)
} }
const outputOptions = { const outputOptions = {
@ -49,7 +49,7 @@ const build = (components) => {
if (component.path === 'index.js') { if (component.path === 'index.js') {
inputs.external = (deps) => !deps.includes('index.js') inputs.external = (deps) => !deps.includes('index.js')
} else { } else {
inputs.external = (deps) => /^@opentiny[\\/]vue-common/.test(deps) inputs.external = (deps) => /^@huawei[\\/]tiny-vue-common/.test(deps)
} }
rollup rollup

View File

@ -22,9 +22,9 @@ const replaceConstant = {
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV) 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV)
} }
if (process.env.tiny_mode === 'pc') { if (process.env.TINY_MODE === 'pc') {
outputOptions.format = 'umd' outputOptions.format = 'umd'
replaceConstant['process.env.TINY_MODE'] = JSON.stringify(process.env.tiny_mode) replaceConstant['process.env.TINY_MODE'] = JSON.stringify(process.env.TINY_MODE)
} }
/** /**

View File

@ -16,7 +16,7 @@ const TAG = process.argv[3] === 'false' ? '' : process.argv[3]
const packages = path.join(ROOT_PATH, 'packages') const packages = path.join(ROOT_PATH, 'packages')
const pkgJsonFileName = 'package.json' const pkgJsonFileName = 'package.json'
const { logGreen } = require('./utils') const { logGreen } = require('./utils')
const tinyVueReg = /@opentiny\// const tinyVueReg = /@huawei\//
const targetVersion = process.argv[2] || JSON.parse(fs.readFileSync(path.join(ROOT_PATH, pkgJsonFileName)).toString()).version const targetVersion = process.argv[2] || JSON.parse(fs.readFileSync(path.join(ROOT_PATH, pkgJsonFileName)).toString()).version

View File

@ -8,10 +8,26 @@ const { nodeResolve } = require('@rollup/plugin-node-resolve')
const { pathJoin } = require('./utils') const { pathJoin } = require('./utils')
const { getAllModules } = require('./module-utils') const { getAllModules } = require('./module-utils')
const external = ['vue', './pc', './mobile', '@vue/composition-api', '@opentiny/vue-common', '@opentiny/vue-locale', '@opentiny/vue-renderless'] const external = [
'vue',
'quill',
'./pc',
'echarts',
'echarts-amap',
'./mobile',
'@vue/composition-api',
'echarts-liquidfill',
'echarts-wordcloud',
'@opentiny/vue-common',
'@opentiny/vue-locale',
'@opentiny/vue-renderless'
]
const globals = { const globals = {
vue: 'Vue', vue: 'Vue',
'echarts-amap': 'echarts.amap',
'echarts-liquidfill': 'echarts-liquidfill',
'echarts-wordcloud': 'echarts-wordcloud',
'@vue/composition-api': 'vueCompositionApi', '@vue/composition-api': 'vueCompositionApi',
'@opentiny/vue-common': 'TinyVueCommon', '@opentiny/vue-common': 'TinyVueCommon',
'@opentiny/vue-locale': 'TinyVueLocale', '@opentiny/vue-locale': 'TinyVueLocale',
@ -35,9 +51,9 @@ components.forEach((item) => {
globals[item.libName] = item.global // TinyTodo globals[item.libName] = item.global // TinyTodo
if (isComponent) { if (isComponent) {
if (fs.existsSync(pathJoin('../../vue-theme3'))) { if (fs.existsSync(pathJoin('../../tiny-vue-theme'))) {
aliasList[`@opentiny/vue-theme/${item.LowerName}/index.css`] = pathJoin(`../../vue-theme3/style/${item.LowerName}/index.css`) aliasList[`@opentiny/vue-theme/${item.LowerName}/index.css`] = pathJoin(`../../tiny-vue-theme/src/${item.LowerName}/index.css`)
aliasList[`@opentiny/vue-theme/${item.LowerName}/index.js`] = pathJoin(`../../vue-theme3/style/${item.LowerName}/index.js`) aliasList[`@opentiny/vue-theme/${item.LowerName}/index.js`] = pathJoin(`../../tiny-vue-theme/src/${item.LowerName}/index.js`)
} }
external.push(item.libName + '/index.js') external.push(item.libName + '/index.js')
} else { } else {
@ -47,7 +63,8 @@ components.forEach((item) => {
exports.aliasList = aliasList exports.aliasList = aliasList
exports.external = (deps) => external.includes(deps) || /^@opentiny[\\/](vue-renderless|vue-theme|vue-common|vue-icon)|cropperjs/.test(deps) exports.external = (deps) =>
external.includes(deps) || /^@huawei[\\/](tiny-vue-renderless|tiny-vue-theme|tiny-vue-common|tiny-vue-icon)|echarts|cropperjs|quill/.test(deps)
exports.globals = globals exports.globals = globals

View File

@ -197,7 +197,7 @@ const getSortModules = ({ filterIntercept, isSort = true }) => {
component.parentDir = componentName component.parentDir = componentName
// libPath: 'packages/todo/dist/pc.js' 组件输出路径 // libPath: 'packages/todo/dist/pc.js' 组件输出路径
component.libPath = component.path.replace('/index.js', '/src/index.js').replace('/src/', '/dist/lib/').replace('.vue', '.js') component.libPath = component.path.replace('/index.js', '/src/index.js').replace('/src/', '/dist/lib/').replace('.vue', '.js')
// libName: '@opentiny/vue/todo/pc' // libName: '@huawei/vue/todo/pc'
component.libName = component.libPath component.libName = component.libPath
.replace('packages/', '') .replace('packages/', '')
.replace('/index', '') .replace('/index', '')

View File

@ -4,8 +4,8 @@
const fs = require('fs-extra') const fs = require('fs-extra')
const path = require('path') const path = require('path')
const { execSync } = require('child_process') const { execSync } = require('child_process')
const utils = require('./utils') const utils = require('../build/utils')
const { logGreen } = require('./utils') const { logGreen } = require('../build/utils')
const sourcePkg = 'packages' const sourcePkg = 'packages'
const packages = 'dist' const packages = 'dist'
@ -17,6 +17,7 @@ const NPM_WAREHOUSE = process.env.NPM_WAREHOUSE
const targetVersion = utils.getTinyVersion('themeVersion') const targetVersion = utils.getTinyVersion('themeVersion')
const targetVersionArr = targetVersion.split('.') const targetVersionArr = targetVersion.split('.')
const themeVersionDependencies = `~${targetVersionArr[0]}.${targetVersionArr[1]}.0` const themeVersionDependencies = `~${targetVersionArr[0]}.${targetVersionArr[1]}.0`
const typings = 'typings'
const packPackages = (p, packagePath) => { const packPackages = (p, packagePath) => {
execSync('npm pack -q', { cwd: path.join(packages, p) }) execSync('npm pack -q', { cwd: path.join(packages, p) })
@ -63,6 +64,9 @@ const dealPackage = (p, packageJSON) => {
} }
} }
packageJSON.dependencies = Object.assign(packageJSON.dependencies || {}, dependencies) packageJSON.dependencies = Object.assign(packageJSON.dependencies || {}, dependencies)
if (VERSION_TAG.startsWith('3')) {
packageJSON.types = 'index.d.ts'
}
packageJSON.sideEffects = false packageJSON.sideEffects = false
packageJSON.version = VERSION_TAG packageJSON.version = VERSION_TAG
} }
@ -116,6 +120,41 @@ const dealFile = (componentDir, distDir) => {
} }
} }
// chart文件夹处理
const releaseChart = (componentDir, item) => {
fs.readdirSync(componentDir).forEach((child) => {
const stat = fs.statSync(path.join(componentDir, child))
if (stat.isDirectory()) {
const distPath = path.join(sourcePkg, item, child, packages)
const packageJson = path.join(sourcePkg, item, child, packageName)
const typingsPath = path.join(typings, item, child)
if (fs.existsSync(typingsPath) && VERSION_TAG.startsWith('3')) {
fs.copySync(typingsPath, path.join(packages, item), {
overwrite: true
})
}
if (fs.existsSync(distPath)) {
fs.copySync(distPath, path.join(packages, item, child), {
overwrite: true
})
fs.copySync(packageJson, path.join(packages, item, child, packageName), {
overwrite: true
})
} else {
fs.copySync(componentDir, path.join(packages, item, child), {
overwrite: true
})
}
release(path.join(item, child))
}
})
}
// 读取packages文件夹下的所有组件并执行copy操作 // 读取packages文件夹下的所有组件并执行copy操作
const releaseAll = () => { const releaseAll = () => {
fs.readdirSync(path.join(sourcePkg)).forEach((item) => { fs.readdirSync(path.join(sourcePkg)).forEach((item) => {
@ -125,6 +164,13 @@ const releaseAll = () => {
if (stat.isDirectory()) { if (stat.isDirectory()) {
const distPath = path.join(sourcePkg, item, packages) const distPath = path.join(sourcePkg, item, packages)
const packageJson = path.join(sourcePkg, item, packageName) const packageJson = path.join(sourcePkg, item, packageName)
const typingsPath = path.join(typings, item)
if (fs.existsSync(typingsPath) && VERSION_TAG.startsWith('3')) {
fs.copySync(typingsPath, path.join(packages, item), {
overwrite: true
})
}
if (fs.existsSync(distPath)) { if (fs.existsSync(distPath)) {
fs.copySync(distPath, path.join(packages, item), { fs.copySync(distPath, path.join(packages, item), {
@ -134,6 +180,7 @@ const releaseAll = () => {
overwrite: true overwrite: true
}) })
} else { } else {
// 如果packags包里面没有dist目录则copy整个目录比如common local等适配层
fs.copySync(componentDir, path.join(packages, item), { fs.copySync(componentDir, path.join(packages, item), {
overwrite: true overwrite: true
}) })
@ -143,6 +190,9 @@ const releaseAll = () => {
} }
release(item) release(item)
if (item === 'chart') {
releaseChart(componentDir, item)
}
} }
}) })

View File

@ -4,21 +4,18 @@
const fs = require('fs-extra') const fs = require('fs-extra')
const path = require('path') const path = require('path')
const semver = require('semver') const semver = require('semver')
const { execSync } = require('child_process')
const sourcePkg = 'packages' const sourcePkg = 'packages'
const source = 'dist' const source = 'dist'
const packageName = 'package.json' const packageName = 'package.json'
const typings = 'typings'
const packagePath = path.join(source, packageName) const packagePath = path.join(source, packageName)
const packageJSON = fs.readJSONSync(packageName) const packageJSON = fs.readJSONSync(packageName)
const keys = ['name', 'version', 'description', 'main', 'files', 'sideEffects', 'author', 'license', 'repository', 'dependencies', 'engines', 'browserslist'] const keys = ['name', 'version', 'description', 'main', 'files', 'sideEffects', 'author', 'license', 'repository', 'dependencies', 'engines', 'browserslist']
const allDist = 'allDist'
const toOneZip = process.env.tiny_mode === 'pc'
const NPM_TAG = process.env.NPM_TAG const NPM_TAG = process.env.NPM_TAG
// 命令行中指定的版本号 // 命令行中指定的版本号
const VERSION_TAG = process.env.VERSION_TAG const VERSION_TAG = process.env.VERSION_TAG
const NPM_WAREHOUSE = process.env.NPM_WAREHOUSE
for (let key in packageJSON) { for (let key in packageJSON) {
if (Object.prototype.hasOwnProperty.call(packageJSON, key)) { if (Object.prototype.hasOwnProperty.call(packageJSON, key)) {
@ -33,7 +30,7 @@ if (VERSION_TAG) {
// 根据modules.json生成所有组件列表信息 // 根据modules.json生成所有组件列表信息
const genDependencies = () => { const genDependencies = () => {
const { getComponents } = require('./module-utils') const { getComponents } = require('../build/module-utils')
let dependencies = {} let dependencies = {}
getComponents(false).forEach((component) => { getComponents(false).forEach((component) => {
@ -61,6 +58,10 @@ const genDependencies = () => {
return dependencies return dependencies
} }
if (VERSION_TAG.startsWith('3')) {
packageJSON.types = 'index.d.ts'
}
// 根据组件列表信息重新package.json的dependencies信息 // 根据组件列表信息重新package.json的dependencies信息
packageJSON.dependencies = Object.assign(packageJSON.dependencies || {}, genDependencies()) packageJSON.dependencies = Object.assign(packageJSON.dependencies || {}, genDependencies())
@ -69,45 +70,15 @@ fs.copySync(packagePath, path.join(source, 'vue', packageName), {
overwrite: true overwrite: true
}) })
if (toOneZip) { const entrys = ['pc.js', 'mobile.js', 'index.js']
const vuePackage = path.join(allDist, 'vue')
if (!fs.existsSync(allDist)) { entrys.forEach((name) => {
fs.mkdirSync(allDist) fs.copySync(path.join(sourcePkg, name), path.join(source, 'vue', name), {
} overwrite: true
if (!fs.existsSync(vuePackage)) {
fs.mkdirSync(vuePackage)
}
fs.copyFileSync(packageName, path.join(vuePackage, packageName))
fs.readdirSync(source).forEach((item) => {
const stat = fs.statSync(path.join(source, item))
if (!stat.isDirectory()) {
fs.copyFileSync(path.join(source, item), path.join(vuePackage, item))
}
}) })
} else { if (VERSION_TAG.startsWith('3')) {
const entrys = ['pc.js', 'mobile.js', 'index.js'] fs.copySync(path.join(typings, name.replace('.js', '.d.ts')), path.join(source, 'vue', name.replace('.js', '.d.ts')), {
entrys.forEach((name) => {
fs.copyFileSync(path.join(sourcePkg, name), path.join(source, name))
fs.copySync(path.join(sourcePkg, name), path.join(source, 'vue', name), {
overwrite: true overwrite: true
}) })
})
// 只有在发布npm测试仓库的时候才执行以下压缩包的逻辑
if (NPM_WAREHOUSE === 'test') {
execSync('npm pack', { cwd: source })
fs.readdirSync(source).forEach((item) => {
if (item.endsWith('.tgz')) {
const tgzPath = path.join(source, item)
fs.moveSync(tgzPath, path.join('tgzs', item), { overwrite: true })
}
})
} }
} })

View File

@ -142,15 +142,7 @@ const runtimeComponents = {
'Chart', 'Chart',
'ChartBoxplot' 'ChartBoxplot'
], ],
external: [ external: ['CardTemplate', 'CreditCard', 'CreditCardForm', 'SvgIcon', 'AutonaviMap', 'ChartWordcloud', 'ChartLiquidfill']
'CardTemplate',
'CreditCard',
'CreditCardForm',
'SvgIcon',
'AutonaviMap',
'ChartWordcloud',
'ChartLiquidfill'
]
} }
const echartsVersion = getVersion('echarts') const echartsVersion = getVersion('echarts')
@ -160,12 +152,10 @@ const dependencies = {
vue: 'node_modules/vue/dist/vue.min.js', vue: 'node_modules/vue/dist/vue.min.js',
'vue-i18n': 'node_modules/vue-i18n/dist/vue-i18n.min.js', 'vue-i18n': 'node_modules/vue-i18n/dist/vue-i18n.min.js',
axios: 'node_modules/axios/dist/axios.min.js', axios: 'node_modules/axios/dist/axios.min.js',
'axios-mock-adapter': 'axios-mock-adapter': 'node_modules/axios-mock-adapter/dist/axios-mock-adapter.min.js',
'node_modules/axios-mock-adapter/dist/axios-mock-adapter.min.js', '@vue/composition-api': 'node_modules/@vue/composition-api/dist/vue-composition-api.prod.js',
'@vue/composition-api': '@huawei/core': 'node_modules/@huawei/core/dist/aurora.min.js',
'node_modules/@vue/composition-api/dist/vue-composition-api.prod.js', '@huawei/service': 'node_modules/@huawei/service/dist/aurora.service.min.js',
'@aurora/core': 'node_modules/@aurora/core/dist/aurora.min.js',
'@aurora/service': 'node_modules/@aurora/service/dist/aurora.service.min.js',
cropperjs: 'node_modules/cropperjs/dist/cropper.min.js', cropperjs: 'node_modules/cropperjs/dist/cropper.min.js',
vue3: 'example/node_modules/vue/dist/vue.global.prod.js', vue3: 'example/node_modules/vue/dist/vue.global.prod.js',
'vue3-i18n': 'example/node_modules/vue-i18n/dist/vue-i18n.global.js' 'vue3-i18n': 'example/node_modules/vue-i18n/dist/vue-i18n.global.js'
@ -176,17 +166,14 @@ const runtimeDeps = {
vue: 'lib/vue.min.js' + getVersion('vue'), vue: 'lib/vue.min.js' + getVersion('vue'),
axios: 'lib/axios.min.js' + getVersion('axios'), axios: 'lib/axios.min.js' + getVersion('axios'),
'vue-i18n': 'lib/vue-i18n.min.js' + getVersion('vue-i18n'), 'vue-i18n': 'lib/vue-i18n.min.js' + getVersion('vue-i18n'),
'axios-mock-adapter': 'axios-mock-adapter': 'lib/axios-mock-adapter.min.js' + getVersion('axios-mock-adapter')
'lib/axios-mock-adapter.min.js' + getVersion('axios-mock-adapter')
}, },
aurora: { aurora: {
'@aurora/core': 'lib/aurora.min.js' + getVersion('@aurora/core'), '@huawei/core': 'lib/aurora.min.js' + getVersion('@huawei/core'),
'@aurora/service': '@huawei/service': 'lib/aurora.service.min.js' + getVersion('@huawei/service')
'lib/aurora.service.min.js' + getVersion('@aurora/service')
}, },
aui3Lib: { tiny3Lib: {
'@vue/composition-api': '@vue/composition-api': 'lib/vue-composition-api.prod.js' + getVersion('@vue/composition-api'),
'lib/vue-composition-api.prod.js' + getVersion('@vue/composition-api'),
echarts: echartsSource, echarts: echartsSource,
'echarts/lib/echarts': echartsSource, 'echarts/lib/echarts': echartsSource,
'echarts/lib/chart/bar': echartsSource, 'echarts/lib/chart/bar': echartsSource,
@ -217,13 +204,10 @@ const runtimeDeps = {
'echarts/lib/component/dataZoom': echartsSource, 'echarts/lib/component/dataZoom': echartsSource,
'echarts/lib/component/visualMap': echartsSource, 'echarts/lib/component/visualMap': echartsSource,
cropperjs: 'lib/cropper.min.js' + getVersion('cropperjs'), cropperjs: 'lib/cropper.min.js' + getVersion('cropperjs'),
'@opentiny/vue-renderless-common': '@opentiny/vue-renderless-common': 'tiny/common/renderless.js' + getVersion('@opentiny/vue-renderless')
'aui/common/renderless.js' +
getVersion('@opentiny/vue-renderless')
}, },
aui3Component: { tiny3Component: {
'@opentiny/vue-locale': '@opentiny/vue-locale': 'COMPONENT_DIR/locale.js' + auroraVueVersion,
'COMPONENT_DIR/locale.js' + auroraVueVersion,
'@opentiny/vue-icon': 'COMPONENT_DIR/icon.js' + auroraVueVersion, '@opentiny/vue-icon': 'COMPONENT_DIR/icon.js' + auroraVueVersion,
'@opentiny/vue-common': 'COMPONENT_DIR/common.js' + auroraVueVersion '@opentiny/vue-common': 'COMPONENT_DIR/common.js' + auroraVueVersion
} }
@ -241,9 +225,7 @@ const getPartDeps = (keys = []) => {
return tempDeps return tempDeps
} }
const getAllDeps = () => { const getAllDeps = () => getPartDeps(Object.keys(runtimeDeps))
return getPartDeps(Object.keys(runtimeDeps))
}
const getAllComponents = () => { const getAllComponents = () => {
const componentMap = moduleUtils.getPcComponents(true) const componentMap = moduleUtils.getPcComponents(true)
@ -255,38 +237,26 @@ const getAllComponents = () => {
let version = auroraVueVersion let version = auroraVueVersion
try { try {
version = version = '?v=' + require('../' + libEntry.replace('index.js', 'package.json')).version.replace(/[\^|~]/g, '')
'?v=' +
require('../' +
libEntry.replace('index.js', 'package.json')).version.replace(
/[\^|~]/g,
''
)
} catch (e) { } catch (e) {
logRed(e) logRed(e)
} }
systemMap[componentMap[i].importName] = systemMap[componentMap[i].importName] = 'COMPONENT_DIR/' + libName + '.js' + version
'COMPONENT_DIR/' + libName + '.js' + version
} }
return systemMap return systemMap
} }
const getFullRuntimeDeps = () => { const getFullRuntimeDeps = () => ({ ...getAllDeps(), ...getAllComponents() })
return { ...getAllDeps(), ...getAllComponents() }
}
const getComponentRuntimeDeps = () => { const getComponentRuntimeDeps = () => ({
return { ...getPartDeps(['theme', 'tiny3Lib', 'tiny3Component']),
...getPartDeps(['theme', 'aui3Lib', 'aui3Component']), ...getAllComponents()
...getAllComponents() })
}
}
const getFullRuntime = (name) => { const getFullRuntime = (name) => {
const arr = const arr = typeof name === 'string' ? [name] : name || Object.keys(runtimeComponents)
typeof name === 'string' ? [name] : name || Object.keys(runtimeComponents)
return [].concat(...arr.map((key) => runtimeComponents[key])) return [].concat(...arr.map((key) => runtimeComponents[key]))
} }
@ -295,14 +265,7 @@ const getFullRuntime = (name) => {
* 提取 @opentiny/vue-renderless 中的公共代码打成独立包避免组件运行不正常 * 提取 @opentiny/vue-renderless 中的公共代码打成独立包避免组件运行不正常
*/ */
const getRenderlessExports = () => { const getRenderlessExports = () => {
const RENDERLESS_PATH = pathJoin( const RENDERLESS_PATH = pathJoin('..', 'node_modules', '@huawei', 'renderless', 'common', 'runtime.js')
'..',
'node_modules',
'@aurora',
'renderless',
'common',
'runtime.js'
)
let EXTERNAL_RENDERLESS = [] let EXTERNAL_RENDERLESS = []

12
example/.npmrc Normal file
View File

@ -0,0 +1,12 @@
# registry=https://npm.cloudartifact.dgg.dragon.tools.huawei.com/artifactory/api/npm/npm-cbcbigate/
# _auth=Y2JjYmlnYXRlOkh1YXdlaUAxMjM=
#@huawei:registry=https://szg1.artifactory.inhuawei.com/artifactory/api/npm/npm-cbu-common
registry=https://npm.inhuawei.com/
# 装测试包
@huawei:registry=https://npm.cloudartifact.dgg.dragon.tools.huawei.com/artifactory/api/npm/npm-cbcbigate/
_auth=Y2JjYmlnYXRlOkh1YXdlaUAxMjM=
# 安装
@originjs:registry=https://npm.cloudartifact.dgg.dragon.tools.huawei.com/artifactory/api/npm/npm-fed/
@types:registry=https://npm.cloudartifact.dgg.dragon.tools.huawei.com/artifactory/api/npm/sz-npm-public

View File

@ -45,7 +45,7 @@ const build = (icons) => {
} else if (itconComponent.path === 'lowercase.js') { } else if (itconComponent.path === 'lowercase.js') {
inputs3.external = (deps) => !deps.includes('lowercase.js') inputs3.external = (deps) => !deps.includes('lowercase.js')
} else { } else {
inputs3.external = (deps) => !/@opentiny[\\/]vue-theme/.test(deps) && !deps.includes('index.js') inputs3.external = (deps) => !/@huawei[\\/]tiny-vue-theme/.test(deps) && !deps.includes('index.js')
} }
rollup rollup

View File

@ -25,7 +25,7 @@ const replaceConstant = {
if (process.env.TINY_MODE === 'pc') { if (process.env.TINY_MODE === 'pc') {
outputOptions.format = 'umd' outputOptions.format = 'umd'
replaceConstant['process.env.TINY_MODE'] = JSON.stringify(process.env.tiny_mode) replaceConstant['process.env.TINY_MODE'] = JSON.stringify(process.env.TINY_MODE)
} }
const build = ({ comp, callbackFn }) => { const build = ({ comp, callbackFn }) => {

View File

@ -8,13 +8,27 @@ const { nodeResolve } = require('@rollup/plugin-node-resolve')
const { pathJoin } = require('../../build/utils') const { pathJoin } = require('../../build/utils')
const { getAllModules } = require('../../build/module-utils') const { getAllModules } = require('../../build/module-utils')
const external = ['vue', './pc', './mobile', '@opentiny/vue-common', '@opentiny/vue-locale', '@vue/composition-api', '@opentiny/vue-renderless'] const external = [
'vue',
'./pc',
'./mobile',
'@opentiny/vue-common',
'echarts',
'echarts-amap',
'@opentiny/vue-locale',
'quill',
'@vue/composition-api',
'@opentiny/vue-renderless'
]
const globals = { const globals = {
vue: 'Vue', vue: 'Vue',
'@vue/composition-api': 'vueCompositionApi', '@vue/composition-api': 'vueCompositionApi',
'@opentiny/vue-locale': 'TinyVueLocale', '@opentiny/vue-locale': 'TinyVueLocale',
'@opentiny/vue-common': 'TinyVueCommon', '@opentiny/vue-common': 'TinyVueCommon',
'echarts-amap': 'echarts.amap',
'echarts-liquidfill': 'echarts-liquidfill',
'echarts-wordcloud': 'echarts-wordcloud',
'@opentiny/vue-renderless': 'TinyRenderLess' '@opentiny/vue-renderless': 'TinyRenderLess'
} }
@ -30,14 +44,14 @@ components.forEach((itemComponent) => {
const isComponent = itemComponent.type === 'component' const isComponent = itemComponent.type === 'component'
external.push(itemComponent.importName) external.push(itemComponent.importName) // @opentiny/vue3-todo
external.push(itemComponent.libName) external.push(itemComponent.libName) // @opentiny/vue3/todo
globals[itemComponent.libName] = itemComponent.global // TinyTodo globals[itemComponent.libName] = itemComponent.global // TinyTodo
if (isComponent) { if (isComponent) {
if (fs.existsSync(pathJoin('../../tiny-vue-theme'))) { if (fs.existsSync(pathJoin('../../tiny-vue-theme'))) {
aliasList[`@opentiny/vue-theme/${itemComponent.LowerName}/index.css`] = pathJoin(`../../tiny-vue-theme/src/${itemComponent.LowerName}/index.css`) aliasList[`@opentiny/vue-theme/${itemComponent.LowerName}/index.css`] = pathJoin(`../../tiny-vue-theme/style/${itemComponent.LowerName}/index.css`)
aliasList[`@opentiny/vue-theme/${itemComponent.LowerName}/index.js`] = pathJoin(`../../tiny-vue-theme/src/${itemComponent.LowerName}/index.js`) aliasList[`@opentiny/vue-theme/${itemComponent.LowerName}/index.js`] = pathJoin(`../../tiny-vue-theme/style/${itemComponent.LowerName}/index.js`)
} }
external.push(`${itemComponent.libName}/index.js`) external.push(`${itemComponent.libName}/index.js`)
} else { } else {
@ -47,7 +61,8 @@ components.forEach((itemComponent) => {
exports.aliasList = aliasList exports.aliasList = aliasList
exports.external = (deps) => external.includes(deps) || /^@opentiny[\\/](vue-common|vue-renderless|vue-theme|vue-icon|cropperjs)/.test(deps) exports.external = (deps) =>
external.includes(deps) || /^@huawei[\\/](tiny-vue-renderless|tiny-vue-theme|tiny-vue-common|tiny-vue-icon)|echarts|cropperjs|quill/.test(deps)
exports.globalsMap = globals exports.globalsMap = globals

1
example/entry/icon.js Normal file
View File

@ -0,0 +1 @@
export * from '@opentiny/vue-icon'

5
example/entry/pc.js Normal file
View File

@ -0,0 +1,5 @@
export * from '@opentiny/vue'
import locale from '@opentiny/vue-locale'
// 这里需要在运行时导出国际化方法
export { locale }

View File

@ -4,22 +4,25 @@
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
"test": "vitest test", "test": "vitest test",
"build:runtime-pc": "vite build --mode pc",
"build:runtime-icon": "vite build --mode icon",
"build:icon3": "cross-env NODE_ENV=production node build/build-icon.js", "build:icon3": "cross-env NODE_ENV=production node build/build-icon.js",
"coverage": "vitest run --coverage" "coverage": "vitest run --coverage"
}, },
"devDependencies": { "devDependencies": {
"@vue/babel-plugin-jsx": "^1.1.0",
"rollup-plugin-postcss": "^2.0.3",
"rollup-plugin-vue": "^6.0.0",
"vue": "^3.2.11",
"@vue/test-utils": "^2.0.0",
"jsdom": "16.4.0",
"vue-i18n": "^9.1.7",
"vitest": "^0.22.1",
"vue-router": "^4.0.11",
"@vitejs/plugin-vue": "^3.0.3", "@vitejs/plugin-vue": "^3.0.3",
"@vitejs/plugin-vue-jsx": "^2.0.0", "@vitejs/plugin-vue-jsx": "^2.0.0",
"vite-plugin-markdown-vue": "^0.1.2" "@vue/babel-plugin-jsx": "^1.1.0",
"@vue/test-utils": "^2.0.0",
"esbuild-register": "^3.3.3",
"jsdom": "16.4.0",
"rollup-plugin-postcss": "^2.0.3",
"rollup-plugin-vue": "^6.0.0",
"vite-plugin-markdown-vue": "^0.1.2",
"vitest": "^0.22.1",
"vue": "^3.2.25",
"vue-i18n": "^9.1.7",
"vue-router": "^4.0.11"
}, },
"eslintConfig": { "eslintConfig": {
"root": true, "root": true,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@ -5,7 +5,9 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" /> <meta name="viewport" content="width=device-width,initial-scale=1.0" />
<link rel="icon" href="./favicon.ico" /> <link rel="icon" href="./favicon.ico" />
<title> TinyVue </title> <title>
TinyUI for Vue ( <%= htmlWebpackPlugin.options.vueVersion %> )
</title>
</head> </head>
<body> <body>
<noscript> <noscript>
@ -16,4 +18,4 @@
<div id="app"></div> <div id="app"></div>
<!-- built files will be auto injected --> <!-- built files will be auto injected -->
</body> </body>
</html> </html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,56 @@
{
"area": [
{
"org_id": "3623",
"id_and_type": "3623JCR",
"parent_and_type": null,
"name_cn": "A公司 Marketing与销售服务部",
"date_from": "2005/06/21 00:00:00",
"name_en": "Consumer BG Marketing and Sales Service Dept",
"parent_type": null,
"dept_code": "024206",
"date_to": null,
"parent": null,
"area_label": "JCR"
},
{
"org_id": "650561",
"id_and_type": "650561JCR",
"parent_and_type": null,
"name_cn": "A公司 Marketing与销售服务部东莞",
"date_from": "2012/09/27 00:00:00",
"name_en": "Consumer BG Marketing and Sales Service Dept (Dongguan)",
"parent_type": null,
"dept_code": "036068",
"date_to": null,
"parent": null,
"area_label": "JCR"
},
{
"org_id": "654434",
"id_and_type": "654434JCR",
"parent_and_type": null,
"name_cn": "区域管理部",
"date_from": "2014/06/18 00:00:00",
"name_en": "Regions Mgmt Dept",
"parent_type": null,
"dept_code": "038368",
"date_to": null,
"parent": null,
"area_label": "JCR"
},
{
"org_id": "653159",
"id_and_type": "037852JCR",
"parent_and_type": null,
"name_cn": "A公司业务部",
"date_from": "2014/01/20 00:00:00",
"name_en": "Consumer BG Business Unit",
"parent_type": null,
"dept_code": "037852",
"date_to": null,
"parent": null,
"area_label": "JCR"
}
]
}

View File

@ -0,0 +1,343 @@
{
"JCR": {
"area": [
{
"org_id": "3623",
"id_and_type": "3623JCR",
"parent_and_type": null,
"name_cn": "A公司 Marketing与销售服务部",
"date_from": "2005/06/21 00:00:00",
"name_en": "Consumer BG Marketing and Sales Service Dept",
"parent_type": null,
"dept_code": "024206",
"date_to": null,
"parent": null,
"area_label": "JCR"
},
{
"org_id": "650561",
"id_and_type": "650561JCR",
"parent_and_type": null,
"name_cn": "A公司 Marketing与销售服务部东莞",
"date_from": "2012/09/27 00:00:00",
"name_en": "Consumer BG Marketing and Sales Service Dept (Dongguan)",
"parent_type": null,
"dept_code": "036068",
"date_to": null,
"parent": null,
"area_label": "JCR"
},
{
"org_id": "654434",
"id_and_type": "654434JCR",
"parent_and_type": null,
"name_cn": "区域管理部",
"date_from": "2014/06/18 00:00:00",
"name_en": "Regions Mgmt Dept",
"parent_type": null,
"dept_code": "038368",
"date_to": null,
"parent": null,
"area_label": "JCR"
},
{
"org_id": "653159",
"id_and_type": "037852JCR",
"parent_and_type": null,
"name_cn": "A公司业务部",
"date_from": "2014/01/20 00:00:00",
"name_en": "Consumer BG Business Unit",
"parent_type": null,
"dept_code": "037852",
"date_to": null,
"parent": null,
"area_label": "JCR"
}
]
},
"Region": {
"area": [
{
"org_id": "608076",
"id_and_type": "608076Region",
"parent_and_type": "650561JCR",
"name_cn": "火星终端子公司",
"date_from": "2007/08/06 00:00:00",
"name_en": "SZ Device USA",
"parent_type": "JCR",
"dept_code": "024387",
"date_to": null,
"parent": "650561",
"area_label": "Region"
},
{
"org_id": "606661",
"id_and_type": "606661Region",
"parent_and_type": "654434JCR",
"name_cn": "中东测试数据",
"date_from": "2007/04/06 00:00:00",
"name_en": "Middle East Region",
"parent_type": "JCR",
"dept_code": "026699",
"date_to": null,
"parent": "654434",
"area_label": "Region"
},
{
"org_id": "611900",
"id_and_type": "611900Region",
"parent_and_type": "654434JCR",
"name_cn": "加拿大代表处",
"date_from": "2008/04/09 00:00:00",
"name_en": "Canada Rep Office",
"parent_type": "JCR",
"dept_code": "027339",
"date_to": null,
"parent": "654434",
"area_label": "Region"
},
{
"org_id": "1079",
"id_and_type": "1079Region",
"parent_and_type": "654434JCR",
"name_cn": "中国测试数据",
"date_from": "1980/01/01 00:00:00",
"name_en": "China Region",
"parent_type": "JCR",
"dept_code": "027425",
"date_to": null,
"parent": "654434",
"area_label": "Region"
},
{
"org_id": "4199",
"id_and_type": "4199Region",
"parent_and_type": "3623JCR",
"name_cn": "测试数据",
"date_from": "2005/06/29 00:00:00",
"name_en": "test data China Region",
"parent_type": "JCR",
"dept_code": "024207",
"date_to": null,
"parent": "3623",
"area_label": "Region"
},
{
"org_id": "653596",
"id_and_type": "653596Region",
"parent_and_type": "037852JCR",
"name_cn": "国内销售与服务部",
"date_from": "2014/03/18 00:00:00",
"name_en": "Domestic Sales & Service Dept",
"parent_type": "JCR",
"dept_code": "037985",
"date_to": null,
"parent": "037852",
"area_label": "Region"
},
{
"org_id": "606804",
"id_and_type": "606804Region",
"parent_and_type": "654434JCR",
"name_cn": "西欧测试数据",
"date_from": "2007/04/19 00:00:00",
"name_en": "West European Region",
"parent_type": "JCR",
"dept_code": "024931",
"date_to": null,
"parent": "654434",
"area_label": "Region"
}
]
},
"Rep. Office": {
"area": [
{
"org_id": "1112",
"id_and_type": "1112Rep.Office",
"parent_and_type": "1079Region",
"name_cn": "北京代表处",
"date_from": "1980/ 01 / 01 00:00:00",
"name_en": "Beijing Rep Office, CN",
"parent_type": "Region",
"dept_code": "027848",
"date_to": null,
"parent": "1079",
"area_label": "Rep.Office"
},
{
"org_id": "1114",
"id_and_type": "1114Rep.Office",
"parent_and_type": "1079Region",
"name_cn": "天津代表处",
"date_from": "1980/ 01 / 01 00:00:00",
"name_en": "Tianjin Rep Office, CN",
"parent_type": "Region",
"dept_code": "027862",
"date_to": null,
"parent": "1079",
"area_label": "Rep.Office"
},
{
"org_id": "1115",
"id_and_type": "1115Rep.Office",
"parent_and_type": "1079Region",
"name_cn": "太原代表处",
"date_from": "1980/ 01 / 01 00:00:00",
"name_en": "Taiyuan Rep Office, CN",
"parent_type": "Region",
"dept_code": "027876",
"date_to": null,
"parent": "1079",
"area_label": "Rep.Office"
},
{
"org_id": "649991",
"id_and_type": "649991Rep.Office",
"parent_and_type": "4199Region",
"name_cn": "测试数据广东代表处",
"date_from": "2012/ 07 / 28 00:00:00",
"name_en": "test data China Region Guangdong Rep Office",
"parent_type": "Region",
"dept_code": "035628",
"date_to": null,
"parent": "4199",
"area_label": "Rep.Office"
},
{
"org_id": "100000",
"id_and_type": "100000Rep.Office",
"parent_and_type": "606804Region",
"name_cn": "加勒比海代表处",
"date_from": "2013/ 09 / 29 00:00:00",
"name_en": "Caribbean Rep Office",
"parent_type": "Region",
"dept_code": "037549",
"date_to": null,
"parent": "606804",
"area_label": "Rep.Office"
},
{
"org_id": "1125",
"id_and_type": "1125Rep.Office",
"parent_and_type": "1079Region",
"name_cn": "兰州代表处",
"date_from": "1980/ 01 / 01 00:00:00",
"name_en": "Lanzhou Rep Office, CN",
"parent_type": "Region",
"dept_code": "028017",
"date_to": null,
"parent": "1079",
"area_label": "Rep.Office"
}
]
},
"Office": {
"area": [
{
"org_id": "610453",
"id_and_type": "610453Office",
"parent_and_type": "100000Rep. Office",
"name_cn": "牙买加工作室",
"date_from": "2007/11/26 00:00:00",
"name_en": "Jamaica Office",
"parent_type": "Rep. Office",
"dept_code": "025641",
"date_to": null,
"parent": "100000",
"area_label": "Office"
},
{
"org_id": "615077",
"id_and_type": "615077Office",
"parent_and_type": "100000Rep. Office",
"name_cn": "巴拿马工作室",
"date_from": "2008/07/08 00:00:00",
"name_en": "Panama Office",
"parent_type": "Rep. Office",
"dept_code": "025656",
"date_to": null,
"parent": "100000",
"area_label": "Office"
},
{
"org_id": "620058",
"id_and_type": "620058Office",
"parent_and_type": "100000Rep. Office",
"name_cn": "多米尼加工作室",
"date_from": "2009/05/21 00:00:00",
"name_en": "Dominica Office",
"parent_type": "Rep. Office",
"dept_code": "025659",
"date_to": null,
"parent": "100000",
"area_label": "Office"
},
{
"org_id": "649896",
"id_and_type": "649896Office",
"parent_and_type": "1125Rep. Office",
"name_cn": "西宁工作室",
"date_from": "2012/07/12 00:00:00",
"name_en": "Xining Office, CN",
"parent_type": "Rep. Office",
"dept_code": "035560",
"date_to": null,
"parent": "1125",
"area_label": "Office"
},
{
"org_id": "661414",
"id_and_type": "661414Office",
"parent_and_type": "649991Rep. Office",
"name_cn": "测试数据广州工作室",
"date_from": "2016/03/28 00:00:00",
"name_en": "test data China Region Guangzhou Office",
"parent_type": "Rep. Office",
"dept_code": "041626",
"date_to": null,
"parent": "649991",
"area_label": "Office"
},
{
"org_id": "661415",
"id_and_type": "661415Office",
"parent_and_type": "649991Rep. Office",
"name_cn": "测试数据深圳工作室",
"date_from": "2016/03/28 00:00:00",
"name_en": "test data China Region Shenzhen Office",
"parent_type": "Rep. Office",
"dept_code": "041627",
"date_to": null,
"parent": "649991",
"area_label": "Office"
},
{
"org_id": "661416",
"id_and_type": "661416Office",
"parent_and_type": "649991Rep. Office",
"name_cn": "测试数据东莞工作室",
"date_from": "2016/03/28 00:00:00",
"name_en": "test data China Region Dongguan Office",
"parent_type": "Rep. Office",
"dept_code": "041628",
"date_to": null,
"parent": "649991",
"area_label": "Office"
},
{
"org_id": "661417",
"id_and_type": "661417Office",
"parent_and_type": "649991Rep. Office",
"name_cn": "测试数据佛山工作室",
"date_from": "2016/03/28 00:00:00",
"name_en": "test data China Region Foshan Office",
"parent_type": "Rep. Office",
"dept_code": "041629",
"date_to": null,
"parent": "649991",
"area_label": "Office"
}
]
}
}

View File

@ -0,0 +1,108 @@
{
"area": [
{
"org_id": "610453",
"id_and_type": "610453Office",
"parent_and_type": "652495Rep. Office",
"name_cn": "牙买加办事处",
"date_from": "2007/11/26 00:00:00",
"name_en": "Jamaica Office",
"parent_type": "Rep. Office",
"dept_code": "025641",
"date_to": null,
"parent": "652495",
"area_label": "Office"
},
{
"org_id": "615077",
"id_and_type": "615077Office",
"parent_and_type": "652495Rep. Office",
"name_cn": "巴拿马办事处",
"date_from": "2008/07/08 00:00:00",
"name_en": "Panama Office",
"parent_type": "Rep. Office",
"dept_code": "025656",
"date_to": null,
"parent": "652495",
"area_label": "Office"
},
{
"org_id": "620058",
"id_and_type": "620058Office",
"parent_and_type": "652495Rep. Office",
"name_cn": "多米尼加办事处",
"date_from": "2009/05/21 00:00:00",
"name_en": "Dominica Office",
"parent_type": "Rep. Office",
"dept_code": "025659",
"date_to": null,
"parent": "652495",
"area_label": "Office"
},
{
"org_id": "649896",
"id_and_type": "649896Office",
"parent_and_type": "1125Rep. Office",
"name_cn": "西宁办事处",
"date_from": "2012/07/12 00:00:00",
"name_en": "Xining Office, CN",
"parent_type": "Rep. Office",
"dept_code": "035560",
"date_to": null,
"parent": "1125",
"area_label": "Office"
},
{
"org_id": "661414",
"id_and_type": "661414Office",
"parent_and_type": "649991Rep. Office",
"name_cn": "A公司XX地区部广州办事处",
"date_from": "2016/03/28 00:00:00",
"name_en": "Consumer BG Greater China Region Guangzhou Office",
"parent_type": "Rep. Office",
"dept_code": "041626",
"date_to": null,
"parent": "649991",
"area_label": "Office"
},
{
"org_id": "661415",
"id_and_type": "661415Office",
"parent_and_type": "649991Rep. Office",
"name_cn": "A公司XX地区部深圳办事处",
"date_from": "2016/03/28 00:00:00",
"name_en": "Consumer BG Greater China Region Shenzhen Office",
"parent_type": "Rep. Office",
"dept_code": "041627",
"date_to": null,
"parent": "649991",
"area_label": "Office"
},
{
"org_id": "661416",
"id_and_type": "661416Office",
"parent_and_type": "649991Rep. Office",
"name_cn": "A公司XX地区部东莞办事处",
"date_from": "2016/03/28 00:00:00",
"name_en": "Consumer BG Greater China Region Dongguan Office",
"parent_type": "Rep. Office",
"dept_code": "041628",
"date_to": null,
"parent": "649991",
"area_label": "Office"
},
{
"org_id": "661417",
"id_and_type": "661417Office",
"parent_and_type": "649991Rep. Office",
"name_cn": "A公司XX地区部佛山办事处",
"date_from": "2016/03/28 00:00:00",
"name_en": "Consumer BG Greater China Region Foshan Office",
"parent_type": "Rep. Office",
"dept_code": "041629",
"date_to": null,
"parent": "649991",
"area_label": "Office"
}
]
}

View File

@ -0,0 +1,95 @@
{
"area": [
{
"org_id": "608076",
"id_and_type": "608076Region",
"parent_and_type": "650561JCR",
"name_cn": "火星终端子公司",
"date_from": "2007/08/06 00:00:00",
"name_en": "SZ Device USA",
"parent_type": "JCR",
"dept_code": "024387",
"date_to": null,
"parent": "650561",
"area_label": "Region"
},
{
"org_id": "606661",
"id_and_type": "606661Region",
"parent_and_type": "654434JCR",
"name_cn": "中东地区部",
"date_from": "2007/04/06 00:00:00",
"name_en": "Middle East Region",
"parent_type": "JCR",
"dept_code": "026699",
"date_to": null,
"parent": "654434",
"area_label": "Region"
},
{
"org_id": "611900",
"id_and_type": "611900Region",
"parent_and_type": "654434JCR",
"name_cn": "加拿大代表处",
"date_from": "2008/04/09 00:00:00",
"name_en": "Canada Rep Office",
"parent_type": "JCR",
"dept_code": "027339",
"date_to": null,
"parent": "654434",
"area_label": "Region"
},
{
"org_id": "1079",
"id_and_type": "1079Region",
"parent_and_type": "654434JCR",
"name_cn": "中国地区部",
"date_from": "1980/01/01 00:00:00",
"name_en": "China Region",
"parent_type": "JCR",
"dept_code": "027425",
"date_to": null,
"parent": "654434",
"area_label": "Region"
},
{
"org_id": "4199",
"id_and_type": "4199Region",
"parent_and_type": "3623JCR",
"name_cn": "A公司XX地区部",
"date_from": "2005/06/29 00:00:00",
"name_en": "Consumer BG Greater China Region",
"parent_type": "JCR",
"dept_code": "024207",
"date_to": null,
"parent": "3623",
"area_label": "Region"
},
{
"org_id": "653596",
"id_and_type": "653596Region",
"parent_and_type": "037852JCR",
"name_cn": "国内销售与服务部",
"date_from": "2014/03/18 00:00:00",
"name_en": "Domestic Sales & Service Dept",
"parent_type": "JCR",
"dept_code": "037985",
"date_to": null,
"parent": "037852",
"area_label": "Region"
},
{
"org_id": "606804",
"id_and_type": "606804Region",
"parent_and_type": "654434JCR",
"name_cn": "西欧地区部",
"date_from": "2007/04/19 00:00:00",
"name_en": "West European Region",
"parent_type": "JCR",
"dept_code": "024931",
"date_to": null,
"parent": "654434",
"area_label": "Region"
}
]
}

View File

@ -0,0 +1,82 @@
{
"area": [
{
"org_id": "1112",
"id_and_type": "1112Rep.Office",
"parent_and_type": "1079Region",
"name_cn": "北京代表处",
"date_from": "1980/ 01 / 01 00:00:00",
"name_en": "Beijing Rep Office, CN",
"parent_type": "Region",
"dept_code": "027848",
"date_to": null,
"parent": "1079",
"area_label": "Rep.Office"
},
{
"org_id": "1114",
"id_and_type": "1114Rep.Office",
"parent_and_type": "1079Region",
"name_cn": "天津代表处",
"date_from": "1980/ 01 / 01 00:00:00",
"name_en": "Tianjin Rep Office, CN",
"parent_type": "Region",
"dept_code": "027862",
"date_to": null,
"parent": "1079",
"area_label": "Rep.Office"
},
{
"org_id": "1115",
"id_and_type": "1115Rep.Office",
"parent_and_type": "1079Region",
"name_cn": "太原代表处",
"date_from": "1980/ 01 / 01 00:00:00",
"name_en": "Taiyuan Rep Office, CN",
"parent_type": "Region",
"dept_code": "027876",
"date_to": null,
"parent": "1079",
"area_label": "Rep.Office"
},
{
"org_id": "649991",
"id_and_type": "649991Rep.Office",
"parent_and_type": "4199Region",
"name_cn": "A公司XX地区部广东代表处",
"date_from": "2012/ 07 / 28 00:00:00",
"name_en": "Consumer BG Greater China Region Guangdong Rep Office",
"parent_type": "Region",
"dept_code": "035628",
"date_to": null,
"parent": "4199",
"area_label": "Rep.Office"
},
{
"org_id": "652495",
"id_and_type": "652495Rep.Office",
"parent_and_type": "606804Region",
"name_cn": "加勒比海代表处",
"date_from": "2013/ 09 / 29 00:00:00",
"name_en": "Caribbean Rep Office",
"parent_type": "Region",
"dept_code": "037549",
"date_to": null,
"parent": "606804",
"area_label": "Rep.Office"
},
{
"org_id": "1125",
"id_and_type": "1125Rep.Office",
"parent_and_type": "1079Region",
"name_cn": "兰州代表处",
"date_from": "1980/ 01 / 01 00:00:00",
"name_en": "Lanzhou Rep Office, CN",
"parent_type": "Region",
"dept_code": "028017",
"date_to": null,
"parent": "1079",
"area_label": "Rep.Office"
}
]
}

View File

@ -0,0 +1,103 @@
[
{
"parent_instance_name": null,
"value": 5,
"assigneeColumn": null,
"remark": null,
"task_create_by": "uuid~dGVzdDE=",
"task_id": "E92_test1_467679ee0f424db98e2c2d673c6009df",
"appid": "app_000000040141",
"instance_end_time": "",
"ext": {},
"node_id": "managerId",
"task_admin": [],
"instance_status": "1",
"instance_extend": {},
"_id": "56552e1fa0957029ffcce971",
"hw_hae_paging": {
"startIndex": 1,
"totalRows": 2,
"curPage": 1,
"pageSize": 15,
"endIndex": 15,
"totalPages": 1
},
"process_key": "processMobile",
"instance_starter": "uuid~dGVzdDE=",
"instance_create_time": "2015-11-25 11:42:23",
"instance_id": "E92_test1_d6b728c58fbf428b95dba1457d254bc2",
"task_due_time": "",
"task_candidate": [],
"last_update_time": "2015-11-25 11:42:23",
"attach_id": "A76bd0ebf664b42ab8ae76e4968ba95d6",
"task_reader": [
"uuid~dGVzdDE="
],
"process_name": "手机话费报销申请",
"approver": [],
"task_name": "主管审批",
"modification_num": "1",
"task_status": "1",
"process_version": "9",
"task_assignee": [
"uuid~dGVzdDE="
],
"reader": [
"uuid~dGVzdDE="
],
"business_key": "50f7f96d-9808-431f-99bc-e4593002318f",
"task_end_time": "",
"last_update_by": "uuid~dGVzdDE=",
"parent_instance_id": null,
"node_name": "主管审批",
"task_url": "toApprove",
"engine_name": "E92",
"task_create_time": "2015-11-25 11:42:23.000168"
},
{
"parent_instance_name": null,
"assigneeColumn": null,
"remark": null,
"task_create_by": "uuid~dGVzdDE=",
"task_id": "E4_test2_1616635ea8e8452481545f585dbd5979",
"appid": "app_000000040141",
"instance_end_time": "",
"ext": {},
"node_id": "managerId",
"task_admin": [],
"instance_status": "1",
"instance_extend": {},
"_id": "56551c55a0957029ffcce94d",
"process_key": "processMobile",
"instance_starter": "uuid~dGVzdDE=",
"instance_create_time": "2015-11-25 10:26:28",
"instance_id": "E4_test2_d5ad0716628e48cbad3bb9828d998109",
"task_due_time": "",
"task_candidate": [],
"last_update_time": "2015-11-25 10:26:28",
"attach_id": "A76bd0ebf664b42ab8ae76e4968ba95d6",
"task_reader": [
"uuid~dGVzdDE="
],
"process_name": "手机话费报销申请",
"approver": [],
"task_name": "主管审批",
"modification_num": "1",
"task_status": "1",
"process_version": "9",
"task_assignee": [
"uuid~dGVzdDE="
],
"reader": [
"uuid~dGVzdDE="
],
"business_key": "1a5bf156-6a09-4526-b015-340e6cea7488",
"task_end_time": "",
"last_update_by": "uuid~dGVzdDE=",
"parent_instance_id": null,
"node_name": "主管审批",
"task_url": "toApprove",
"engine_name": "E4",
"task_create_time": "2015-11-25 10:26:28.000966"
}
]

View File

@ -0,0 +1,86 @@
[
{
"programValidity": null,
"employeeNumber": "12345678",
"userType": "HWE",
"currentRole": null,
"currentProgramIds": null,
"validRoles": null,
"defaultRole": "otc:2749;",
"coalitionPermission": false,
"endDate": "2017-11-13T14:26:06.000+0800",
"dept": null,
"userId": 421000103624183,
"userAccount": "test1",
"userCN": "test1",
"email": "test1@test1.com",
"creationDate": "2012-08-17T11:26:18.000+0800",
"lastUpdateDate": "2015-03-30T14:27:34.000+0800",
"rowIdx": -1,
"creationUserCN": null,
"lastUpdateUserCN": null
},
{
"programValidity": null,
"employeeNumber": "12345678",
"userType": "WX",
"currentRole": null,
"currentProgramIds": null,
"validRoles": null,
"defaultRole": null,
"coalitionPermission": false,
"endDate": null,
"dept": null,
"userId": 435259704104388,
"userAccount": "test2",
"userCN": "test2",
"email": "test2@test2.com",
"creationDate": "2017-10-23T11:16:59.000+0800",
"lastUpdateDate": "2017-10-23T11:16:59.000+0800",
"rowIdx": -1,
"creationUserCN": null,
"lastUpdateUserCN": null
},
{
"programValidity": null,
"employeeNumber": "12345678",
"userType": "HWE",
"currentRole": null,
"currentProgramIds": null,
"validRoles": null,
"defaultRole": null,
"coalitionPermission": false,
"endDate": "2017-10-26T11:48:56.000+0800",
"dept": null,
"userId": 441047913162396,
"userAccount": "test3",
"userCN": "test3",
"email": "test3@test3.com",
"creationDate": "2015-01-06T09:38:41.000+0800",
"lastUpdateDate": "2017-10-10T15:13:28.000+0800",
"rowIdx": -1,
"creationUserCN": null,
"lastUpdateUserCN": null
},
{
"programValidity": null,
"employeeNumber": "12345678",
"userType": "WX",
"currentRole": null,
"currentProgramIds": null,
"validRoles": null,
"defaultRole": null,
"coalitionPermission": false,
"endDate": "2017-11-10T08:50:56.000+0800",
"dept": null,
"userId": 655783272594485,
"userAccount": "test4",
"userCN": "test4",
"email": "test4@test4.com",
"creationDate": "2017-10-10T18:22:33.000+0800",
"lastUpdateDate": "2017-10-10T18:22:33.000+0800",
"rowIdx": -1,
"creationUserCN": null,
"lastUpdateUserCN": null
}
]

View File

@ -0,0 +1,86 @@
[
{
"programValidity": null,
"employeeNumber": "test1",
"userType": "HWE",
"currentRole": null,
"currentProgramIds": null,
"validRoles": null,
"defaultRole": "otc:2749;",
"coalitionPermission": false,
"endDate": "2017-11-13T14:26:06.000+0800",
"dept": null,
"userId": 421000103624183,
"userAccount": "test1",
"userCN": "test1",
"email": "",
"creationDate": "2012-08-17T11:26:18.000+0800",
"lastUpdateDate": "2015-03-30T14:27:34.000+0800",
"rowIdx": -1,
"creationUserCN": null,
"lastUpdateUserCN": null
},
{
"programValidity": null,
"employeeNumber": "test10",
"userType": "WX",
"currentRole": null,
"currentProgramIds": null,
"validRoles": null,
"defaultRole": null,
"coalitionPermission": false,
"endDate": null,
"dept": null,
"userId": 435259704104388,
"userAccount": "test10",
"userCN": "test10",
"email": "",
"creationDate": "2017-10-23T11:16:59.000+0800",
"lastUpdateDate": "2017-10-23T11:16:59.000+0800",
"rowIdx": -1,
"creationUserCN": null,
"lastUpdateUserCN": null
},
{
"programValidity": null,
"employeeNumber": "test2",
"userType": "HWE",
"currentRole": null,
"currentProgramIds": null,
"validRoles": null,
"defaultRole": null,
"coalitionPermission": false,
"endDate": "2017-10-26T11:48:56.000+0800",
"dept": null,
"userId": 441047913162396,
"userAccount": "test2",
"userCN": "test2",
"email": "",
"creationDate": "2015-01-06T09:38:41.000+0800",
"lastUpdateDate": "2017-10-10T15:13:28.000+0800",
"rowIdx": -1,
"creationUserCN": null,
"lastUpdateUserCN": null
},
{
"programValidity": null,
"employeeNumber": "test3",
"userType": "WX",
"currentRole": null,
"currentProgramIds": null,
"validRoles": null,
"defaultRole": null,
"coalitionPermission": false,
"endDate": "2017-11-10T08:50:56.000+0800",
"dept": null,
"userId": 655783272594485,
"userAccount": "test3",
"userCN": "test3",
"email": "",
"creationDate": "2017-10-10T18:22:33.000+0800",
"lastUpdateDate": "2017-10-10T18:22:33.000+0800",
"rowIdx": -1,
"creationUserCN": null,
"lastUpdateUserCN": null
}
]

View File

@ -0,0 +1,52 @@
{
"currency": [
{
"symbol": "$",
"currency_code": "MZN"
},
{
"symbol": null,
"currency_code": "CNY"
},
{
"symbol": "*NULL*",
"currency_code": "CHE"
},
{
"symbol": "$",
"currency_code": "USD"
},
{
"symbol": null,
"currency_code": "VND"
},
{
"symbol": null,
"currency_code": "VUV"
},
{
"symbol": null,
"currency_code": "WST"
},
{
"symbol": null,
"currency_code": "XAF"
},
{
"symbol": null,
"currency_code": "IRU"
},
{
"symbol": null,
"currency_code": "IRE"
},
{
"symbol": null,
"currency_code": "BYN"
},
{
"symbol": null,
"currency_code": "HKD"
}
]
}

View File

@ -0,0 +1,80 @@
[
{
"l5_Organization_Id": null,
"errorInfo": null,
"l5_Dept_Code": null,
"l0_Name": "SZ技术",
"l3_Dept_Code": "041963",
"l2_Name": "测试数据XX人力资源部",
"date_From": "2016/04/2900: 00: 00",
"l6_Organization_Id": null,
"name": "BPIT&QM HRBP管理部",
"l1_Organization_Id": "1385",
"upper_Organization_Id": "1389",
"l0_Organization_Id": "1072",
"upper_Name": "测试数据XX人力资源部",
"business_Group_Id": "443",
"l3_Organization_Id": "662093",
"l6_Name": null,
"coa_Combination": "0021.000.0001.041963",
"l4_Name": null,
"l4_Organization_Id": null,
"dept_Code": "041963",
"dept_Level": "3",
"organization_Id": "662093",
"l0_Dept_Code": "022471",
"l2_Dept_Code": "023114",
"upper_Dept_Code": "023114",
"l1_Name": "测试数据XX管理部",
"l4_Dept_Code": null,
"last_Update_Date": "2017/05/2015: 14: 18",
"l2_Organization_Id": "1389",
"l5_Name": null,
"l1_Dept_Code": "023093",
"date_To": null,
"language": "CHN",
"region_Code": "0001",
"l6_Dept_Code": null,
"cost_Allocation_Keyflex_Id": "1563274",
"l3_Name": "BPIT&QM HRBP管理部"
},
{
"l5_Organization_Id": null,
"errorInfo": null,
"l5_Dept_Code": null,
"l0_Name": "SZ技术",
"l3_Dept_Code": "023286",
"l2_Name": "中央XX测试数据部",
"date_From": "2011/03/30 00:00:00",
"l6_Organization_Id": null,
"name": "XX应用实施部",
"l1_Organization_Id": "1404",
"upper_Organization_Id": "627453",
"l0_Organization_Id": "1072",
"upper_Name": "XX应用交付部",
"business_Group_Id": "443",
"l3_Organization_Id": "627453",
"l6_Name": null,
"coa_Combination": "0021.000.0001.022471",
"l4_Name": "XX应用实施部",
"l4_Organization_Id": "627409",
"dept_Code": "022471",
"dept_Level": "4",
"organization_Id": "627409",
"l0_Dept_Code": "022471",
"l2_Dept_Code": "023489",
"upper_Dept_Code": "023286",
"l1_Name": "测试数据室XX",
"l4_Dept_Code": "022471",
"last_Update_Date": "2017/11/14 12:32:32",
"l2_Organization_Id": "3864",
"l5_Name": null,
"l1_Dept_Code": "023338",
"date_To": null,
"language": "CHN",
"region_Code": "0001",
"l6_Dept_Code": null,
"cost_Allocation_Keyflex_Id": "1082225",
"l3_Name": "XX应用交付部"
}
]

View File

@ -0,0 +1,168 @@
[
{
"upperCode": "000001",
"list": [
{
"coa_Combination": null,
"hrCode": "022471",
"dept_Code": null,
"hrName": "SZ技术",
"coaCode": null
},
{
"coa_Combination": null,
"hrCode": "030055",
"dept_Code": null,
"hrName": "SZ海洋网络",
"coaCode": null
},
{
"coa_Combination": null,
"hrCode": "035021",
"dept_Code": null,
"hrName": "天闻数媒",
"coaCode": null
},
{
"coa_Combination": null,
"hrCode": "022279",
"dept_Code": null,
"hrName": "贝托SZ",
"coaCode": null
},
{
"coa_Combination": null,
"hrCode": "030736",
"dept_Code": null,
"hrName": "鼎桥通信",
"coaCode": null
}
]
},
{
"upperCode": "023114",
"list": [
{
"coa_Combination": null,
"hrCode": "041963",
"dept_Code": null,
"hrName": "BPIT&QM HRBP管理部",
"coaCode": "0021.000.0001.041963"
}
]
},
{
"upperCode": "038384",
"list": [
{
"coa_Combination": null,
"hrCode": "038759",
"dept_Code": null,
"hrName": "公共技术平台部",
"coaCode": "0021.000.0001.038759"
}
]
},
{
"upperCode": "022471",
"list": [
{
"coa_Combination": null,
"hrCode": "023338",
"dept_Code": null,
"hrName": "测试数据室XX",
"coaCode": "0021.000.0001.023338"
},
{
"coa_Combination": null,
"hrCode": "027425",
"dept_Code": null,
"hrName": "中国XX测试数据部",
"coaCode": "0021.000.0002.027425"
},
{
"coa_Combination": null,
"hrCode": "023093",
"dept_Code": null,
"hrName": "测试数据XX管理部",
"coaCode": "0021.000.0001.023093"
}
]
},
{
"upperCode": "023093",
"list": [
{
"coa_Combination": null,
"hrCode": "038370",
"dept_Code": null,
"hrName": "业务应用与XX测试数据部",
"coaCode": "0021.000.0001.038370"
},
{
"coa_Combination": null,
"hrCode": "038371",
"dept_Code": null,
"hrName": "企业架构与流程管理部",
"coaCode": "0021.000.0001.038371"
},
{
"coa_Combination": null,
"hrCode": "023114",
"dept_Code": null,
"hrName": "测试数据XX人力资源部",
"coaCode": "0021.000.0001.023114"
},
{
"coa_Combination": null,
"hrCode": "034899",
"dept_Code": null,
"hrName": "测试数据XX财经管理部",
"coaCode": "0021.000.0001.034899"
},
{
"coa_Combination": null,
"hrCode": "023221",
"dept_Code": null,
"hrName": "测试数据XX质量与运营部",
"coaCode": "0021.000.0001.023221"
}
]
},
{
"upperCode": "023338",
"list": [
{
"coa_Combination": null,
"hrCode": "023489",
"dept_Code": null,
"hrName": "中央XX测试数据部",
"coaCode": "0021.000.0001.023489"
}
]
},
{
"upperCode": "023489",
"list": [
{
"coa_Combination": null,
"hrCode": "023286",
"dept_Code": null,
"hrName": "XX应用交付部",
"coaCode": "0021.000.0001.023286"
}
]
},
{
"upperCode": "023286",
"list": [
{
"coa_Combination": null,
"hrCode": "022471",
"dept_Code": null,
"hrName": "XX应用实施部",
"coaCode": "0021.000.0001.022471"
}
]
}
]

View File

@ -0,0 +1,32 @@
[
{
"coaCode": "0021.000.0001.037106",
"hrCode": "037106",
"hrName": "无线网络业务架构与设计部",
"coaStatus": "1-有效-VALID"
},
{
"coaCode": "0021.000.0001.037271",
"hrCode": "037271",
"hrName": "服务架构与技术规划部",
"coaStatus": "1-有效-VALID"
},
{
"coaCode": "0021.000.0001.023475",
"hrCode": "023475",
"hrName": "测试数据室XX质量与运营部",
"coaStatus": "1-有效-VALID"
},
{
"coaCode": "0021.000.0001.023114",
"hrCode": "023114",
"hrName": "测试数据XX人力资源部",
"coaStatus": "1-有效-VALID"
},
{
"coaCode": "0021.000.0001.023093",
"hrCode": "023093",
"hrName": "测试数据XX管理部",
"coaStatus": "1-有效-VALID"
}
]

View File

@ -0,0 +1,342 @@
[
{
"id": "1",
"name": "GFD科技有限公司",
"userId": 421000103624183,
"area": "华东区",
"province": "福建省",
"city": "福州",
"contact": "许生",
"telephone": "13620211175",
"address": "福州",
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"employees": 800,
"created_date": "2014-04-30 00:56:00",
"boole": false,
"assets": "1000000",
"rate": 0.9
},
{
"id": "2",
"name": "WWW科技有限公司",
"userId": 421000103624183,
"area": "华南区",
"province": "广东省",
"city": "深圳",
"contact": "朱生",
"telephone": "16549849651",
"address": "深圳福田区",
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"employees": 300,
"created_date": "2016-07-08 12:36:22",
"boole": true,
"assets": "1500000",
"rate": 0.7
},
{
"id": "3",
"name": "RFV有限责任公司",
"userId": 441047913162396,
"area": "华南区",
"province": "广东省",
"city": "中山",
"contact": "秦生",
"telephone": "13145351232",
"address": "中山市",
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"employees": 1300,
"created_date": "2014-02-14 14:14:14",
"boole": false,
"assets": "1500000",
"rate": 0.6
},
{
"id": "4",
"name": "TGB科技有限公司",
"userId": 655783272594485,
"area": "华东区",
"province": "福建省",
"city": "龙岩",
"contact": "周生",
"telephone": "18920211175",
"address": "龙岩",
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"employees": 360,
"created_date": "2013-01-13 13:13:13",
"boole": true,
"assets": "1200000",
"rate": 0.5
},
{
"id": "5",
"name": "YHN科技有限公司",
"userId": 655783272594485,
"area": "华南区",
"province": "广东省",
"city": "韶关",
"contact": "郑生",
"telephone": "18920211175",
"address": "韶关",
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"employees": 810,
"created_date": "2012-12-12 12:12:12",
"boole": true,
"assets": "1500000",
"rate": 0.6
},
{
"id": "6",
"name": "WSX科技有限公司",
"userId": 441047913162396,
"area": "华中区",
"province": "湖北省",
"city": "黄冈",
"contact": "陈生",
"telephone": "13120211175",
"address": "黄冈",
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"employees": 800,
"created_date": "2011-11-11 11:11:11",
"boole": true,
"assets": "1500000",
"rate": 0.6
},
{
"id": "7",
"name": "KBG物业有限公司",
"userId": 421000103624183,
"area": "华中区",
"province": "湖北省",
"city": "赤壁",
"contact": "王二",
"telephone": "13066932564",
"address": "赤壁",
"introduction": "公司治理结构严格按现代企业制度设计管理机构设置合理制度完善各部门分工明确、协作顺畅。拥有中、高级职称或大学本科以上学历的人员占职工总人数的80%以上,具有雄厚的资金实力和高度专业化的项目开发管理能力,是一支具有强烈的社会责任感和引领房地产业科技创新的地产新军。",
"employees": 400,
"created_date": "2016-04-30 23:56:00",
"boole": false,
"assets": "2000000",
"rate": 0.7
},
{
"id": "8",
"name": "深圳市福德宝网络技术有限公司",
"userId": 421000103624183,
"address": "厦门岛内",
"area": "华东区",
"assets": "2000000",
"boole": true,
"city": "厦门",
"contact": "李四",
"created_date": "2016-06-03 13:53:25",
"employees": 540,
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"province": "福建省",
"rate": 0.6,
"telephone": "15875599279"
},
{
"id": "9",
"name": "UJM有限责任公司",
"userId": 421000103624183,
"area": "华南区",
"province": "广西省",
"city": "南宁",
"contact": "段生",
"telephone": "15920211175",
"address": "南宁",
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"employees": 750,
"created_date": "2014-04-21 11:56:00",
"boole": true,
"assets": "1500000",
"rate": 0.6
},
{
"id": "10",
"name": "IKA有限责任公司",
"userId": 421000103624183,
"area": "华南区",
"province": "广西省",
"city": "北海",
"contact": "谭生",
"telephone": "15820211175",
"address": "北海",
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"employees": 400,
"created_date": "2014-09-30 00:56:00",
"boole": false,
"assets": "110000",
"rate": 0.11
},
{
"id": "11",
"name": "TIG管理有限公司",
"userId": 421000103624183,
"area": "华南区",
"province": "广西省",
"city": "桂林",
"contact": "陈生",
"telephone": "13120211175",
"address": "桂林",
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"employees": 900,
"created_date": "2014-11-30 00:56:00",
"boole": true,
"assets": "120000",
"rate": 0.13
},
{
"id": "12",
"name": "GGT科技有限公司",
"userId": 441047913162396,
"area": "西南区",
"province": "云南省",
"city": "昆明",
"contact": "周生",
"telephone": "13120211175",
"address": "昆明",
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"employees": 500,
"created_date": "2014-03-20 02:50:00",
"boole": false,
"assets": "100000",
"rate": 0.1
},
{
"id": "13",
"name": "YYS有限公司",
"userId": 441047913162396,
"area": "西南区",
"province": "云南省",
"city": "西双版纳",
"contact": "廖生",
"telephone": "13120211175",
"address": "西双版纳",
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"employees": 985,
"created_date": "2015-07-28 11:37:00",
"boole": true,
"assets": "120000",
"rate": 0.12
},
{
"id": "14",
"name": "VBN有限责任公司",
"userId": 421000103624183,
"area": "西南区",
"province": "云南省",
"city": "大理",
"contact": "欧生",
"telephone": "15820211175",
"address": "大理",
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"employees": 598,
"created_date": "2014-04-30 00:56:00",
"boole": false,
"assets": "220000",
"rate": 0.22
},
{
"id": "15",
"name": "深圳XX科技有限公司",
"userId": 441047913162396,
"area": "华中区",
"province": "湖北省",
"city": "武汉",
"contact": "阮生",
"telephone": "18920211175",
"address": "武汉",
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"employees": 725,
"created_date": "2014-04-30 00:56:00",
"boole": true,
"assets": "2500000",
"rate": 0.8
},
{
"id": "16",
"name": "深圳XX信息技术有限公司",
"userId": 421000103624183,
"area": "华中区",
"province": "湖北省",
"city": "十堰",
"contact": "邓生",
"telephone": "13120211175",
"address": "十堰",
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"employees": 632,
"created_date": "2014-07-30 02:44:00",
"boole": true,
"assets": "3000000",
"rate": 0.85
},
{
"id": "17",
"name": "深圳XX餐饮管理有限公司",
"userId": 441047913162396,
"area": "华中区",
"province": "湖北省",
"city": "潜江",
"contact": "罗生",
"telephone": "13520211175",
"address": "潜江",
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"employees": 246,
"created_date": "2013-04-30 00:56:00",
"boole": false,
"assets": "2000000",
"rate": 0.7
},
{
"id": "18",
"name": "珠海XX科技有限公司",
"userId": 441047913162396,
"area": "华南区",
"province": "广东省",
"city": "珠海",
"contact": "黄生",
"telephone": "13120211175",
"address": "珠海香洲区",
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"employees": 592,
"created_date": "2014-05-30 01:00:00",
"boole": false,
"assets": "1800000",
"rate": 0.66
},
{
"id": "19",
"name": "珠海XX医疗科技有限公司",
"userId": 441047913162396,
"area": "华南区",
"province": "广东省",
"city": "广州",
"contact": "刘生",
"telephone": "13820211175",
"address": "广州天河区",
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"employees": 851,
"created_date": "2014-04-29 08:56:00",
"boole": false,
"assets": "100000",
"rate": 0.1
},
{
"id": "20",
"name": "东莞XX礼品有限公司",
"userId": 421000103624183,
"area": "华中区",
"province": "湖北省",
"city": "襄阳",
"contact": "范生",
"telephone": "13120211175",
"address": "襄阳",
"introduction": "公司技术和研发实力雄厚是国家863项目的参与者并被政府认定为“高新技术企业”。",
"employees": 394,
"created_date": "2014-04-28 10:56:00",
"boole": true,
"assets": "400000",
"rate": 0.4
}
]

View File

@ -0,0 +1,93 @@
[
{
"id": "1",
"pid": "0",
"name": "GFD科技有限公司",
"area": "华东区",
"employees": "800"
},
{
"id": "15",
"pid": "1",
"name": "GFD科技股份有限子公司",
"area": "华东区",
"employees": "700"
},
{
"id": "2",
"pid": "0",
"name": "WWWW科技有限公司",
"area": "华南区",
"employees": "500"
},
{
"id": "22",
"pid": "2",
"name": "WWWW科技股份有限子公司",
"area": "华南区",
"employees": "720"
},
{
"id": "3",
"pid": "4",
"name": "RFV有限责任公司",
"area": "华南区",
"employees": "300"
},
{
"id": "4",
"pid": "0",
"name": "TGB有限公司",
"area": "华南区",
"employees": "360"
},
{
"id": "5",
"pid": "4",
"name": "YHN科技有限公司",
"area": "华南区",
"employees": "810"
},
{
"id": "6",
"pid": "5",
"name": "WSX科技有限公司",
"area": "华南区",
"employees": "800"
},
{
"id": "7",
"pid": "0",
"name": "XX物业有限公司",
"area": "华南区",
"employees": "400"
},
{
"id": "8",
"pid": "7",
"name": "深圳市XX网络技术有限公司",
"area": "华南区",
"employees": "540"
},
{
"id": "9",
"pid": "5",
"name": "UJM有限责任公司",
"area": "华南区",
"employees": "750"
},
{
"id": "10",
"pid": "7",
"name": "IK有限责任公司",
"area": "华南区",
"employees": "400"
},
{
"id": "23",
"pid": "10",
"name": "IK有限责任股份有限公司",
"area": "华南区",
"employees": "455"
}
]

View File

@ -0,0 +1,20 @@
[
{
"dept_Code": "022471",
"remarks": null,
"approval_Person": "test1",
"approval_Category": "0303"
},
{
"dept_Code": "041963",
"remarks": "权限申请",
"approval_Person": "test2",
"approval_Category": "0303"
},
{
"dept_Code": "041963",
"remarks": "资产申请",
"approval_Person": "test3",
"approval_Category": "0303"
}
]

View File

@ -0,0 +1,87 @@
{
"more": [
1
],
"company": [
{
"kw_control_status": "Branches/分公司",
"tx_delegate": "test1 95270007/SZ,",
"kw_in_group": "Y",
"tx_type_en": "Domestic",
"tx_corporation": "SZ Technologies Co., Ltd. Guangzhou Branch",
"tx_person": null,
"tx_country_code": "CN",
"tx_corporation_cn": "SZ技术有限公司广州分公司",
"last_modified_date": "2016/05/03 14:04:48",
"kwregion": "China Region",
"txcity": "广州/Guangzhou",
"tx_country": "中国/China",
"tx_entity_type": "in operation",
"tx_corporation_local": "SZ技术有限公司广州分公司",
"tx_type_cn": "国内",
"dtincorporation": "2009-08-24",
"txaddress": "广州市越秀区环市东路",
"tx_coa": "0231"
},
{
"kw_control_status": "Subsidiaries/子公司",
"tx_delegate": "test2 95270008/SZ,",
"kw_in_group": "Y",
"tx_type_en": "Overseas",
"tx_corporation": "SZ Network USA, Inc.",
"tx_person": null,
"tx_country_code": "US",
"tx_corporation_cn": "SZ网络MG有限公司",
"last_modified_date": "2016/10/29 11:18:30",
"kwregion": "America Rep Office",
"txcity": "Dallas, Texas",
"tx_country": "MG/United States",
"tx_entity_type": "closed",
"tx_corporation_local": "SZ Network USA, Inc.",
"tx_type_cn": "海外",
"dtincorporation": "2010-03-12",
"txaddress": "\"350 North St. Paul StreetDallas\"",
"tx_coa": "0741"
},
{
"kw_control_status": "Controlled Entities/合营公司",
"tx_delegate": "张三,",
"kw_in_group": "Y",
"tx_type_en": "Overseas",
"tx_corporation": "H.S. USA,INC.",
"tx_person": "张三,李四,",
"tx_country_code": "US",
"tx_corporation_cn": "MG有限公司美研所",
"last_modified_date": "2016/05/03 14:04:48",
"kwregion": "America Rep Office",
"txcity": "Cupertino",
"tx_country": "MG/United States",
"tx_entity_type": "closed",
"tx_corporation_local": "HS USA.,Inc",
"tx_type_cn": "海外",
"dtincorporation": "2008-09-03",
"txaddress": "1209 Orange Street,City of Wilmington,County of New Castle",
"tx_coa": "7061"
},
{
"kw_control_status": "Subsidiaries/子公司",
"tx_delegate": null,
"kw_in_group": "Y",
"tx_type_en": "Domestic",
"tx_corporation": "shenzhenSZ",
"tx_person": null,
"tx_country_code": "CN",
"tx_corporation_cn": "SZ技术有限公司",
"last_modified_date": "2016/11/15 14:41:24",
"kwregion": "China Region",
"txcity": "深圳市",
"tx_country": "中国/China",
"tx_entity_type": "setting up",
"tx_corporation_local": "深圳坂田SZ",
"tx_type_cn": "国内",
"dtincorporation": "2016-08-01",
"txaddress": "SZ技术有限公司",
"tx_coa": "0021"
}
]
}

View File

@ -0,0 +1,94 @@
{
"country": [
{
"territory_short_name": "China",
"description": "the People's Republic of China",
"language": "US",
"territory_code": "CN"
},
{
"territory_short_name": "France",
"description": "the French Republic",
"language": "US",
"territory_code": "FR"
},
{
"territory_short_name": "Finland",
"description": "the Republic of Finland",
"language": "US",
"territory_code": "FI"
},
{
"territory_short_name": "Kuwait",
"description": "the State of Kuwait",
"language": "US",
"territory_code": "KW"
},
{
"territory_short_name": "Moldova (the Republic of)",
"description": "the Republic of Moldova",
"language": "US",
"territory_code": "MD"
},
{
"territory_short_name": "Mozambique",
"description": "the Republic of Mozambique",
"language": "US",
"territory_code": "MZ"
},
{
"territory_short_name": "Niger",
"description": "the Republic of the Niger",
"language": "US",
"territory_code": "NE"
},
{
"territory_short_name": "Oman",
"description": "the Sultanate of Oman",
"language": "US",
"territory_code": "OM"
},
{
"territory_short_name": "Panama",
"description": "the Republic of Panama",
"language": "US",
"territory_code": "PA"
},
{
"territory_short_name": "Papua New Guinea",
"description": "the Independent State of Papua New Guinea",
"language": "US",
"territory_code": "PG"
},
{
"territory_short_name": "Serbia",
"description": "the Republic of Serbia",
"language": "US",
"territory_code": "RS"
},
{
"territory_short_name": "Senegal",
"description": "the Republic of Senegal",
"language": "US",
"territory_code": "SN"
},
{
"territory_short_name": "Tonga",
"description": "the Kingdom of Tonga",
"language": "US",
"territory_code": "TO"
},
{
"territory_short_name": "Uganda",
"description": "the Republic of Uganda",
"language": "US",
"territory_code": "UG"
},
{
"territory_short_name": "United States",
"description": "the United States of America",
"language": "US",
"territory_code": "US"
}
]
}

View File

@ -0,0 +1,79 @@
[
{
"sex": "M",
"l0_Name": "SZ技术",
"effective_Start_Date": "2011/10/14 00:00:00",
"l3_Dept_Code": "038384",
"person_Notes_Cn": "test1 12345678",
"l2_Name": "信息技术工程部",
"short_Name": "l12345678",
"effective_End_Date": "4712/12/31 00:00:00",
"person_Mail": "",
"name": "公共技术测试数据部门",
"location_second_area": "Shenzhen",
"upper_Name": "IT技术架构与测试数据部",
"coa_Combination": "0021.000.0001.038759",
"l4_Name": "公共技术测试数据部门",
"english_Name": "zhang san",
"dept_Code": "038759",
"employee_Number": "12345678",
"l0_Dept_Code": "022471",
"l2_Dept_Code": "023268",
"upper_Dept_Code": "038384",
"l1_Name": "测试数据部",
"location_country": "China",
"l4_Dept_Code": "038759",
"start_Date": "2011/08/01 00:00:00",
"contract_Location_Code": "010400",
"l1_Dept_Code": "023093",
"contract_Location_Name": "China\\Guangdong-Shenzhen",
"location_first_area": "Guangdong",
"last_Name": "张三",
"language": "CHN",
"l3_Name": "测试与测试数据部"
},
{
"contract_Location_Name": "China\\Guangdong-Shenzhen",
"location_second_area": "Shenzhen",
"effective_End_Date": "4712/12/31 00:00:00",
"l4_Name": "公共技术测试数据部门",
"l0_Dept_Code": "022471",
"l0_Name": "SZ技术",
"coa_Combination": "0021.000.0001.038759",
"last_Name": "李四",
"language": "CHN",
"l1_Name": "测试数据部",
"l3_Dept_Code": "038384",
"l4_Dept_Code": "038759",
"location_first_area": "Guangdong",
"l2_Name": "信息技术工程部",
"start_Date": "2014/04/21 00:00:00",
"l2_Dept_Code": "023268",
"effective_Start_Date": "2014/04/21 00:00:00",
"upper_Dept_Code": "038384",
"employee_Number": "12345678",
"dept_Code": "038759",
"contract_Location_Code": "010400",
"short_Name": "12345678",
"person_Mail": "",
"l3_Name": "IT技术架构与测试数据部",
"sex": "M",
"name": "公共技术测试数据部门",
"person_Notes_Cn": "test2 12345678",
"location_country": "China",
"upper_Name": "IT技术架构与测试数据部",
"l1_Dept_Code": "023093",
"english_Name": "li si"
},
{
"language": "CHN",
"employee_Number": "12345678",
"short_Name": "12345678",
"person_Mail": "",
"person_Notes_Cn": "wangwu 12345678",
"last_Name": "王五",
"english_Name": "wang wu",
"l0_Name": "SZ技术",
"l1_Name": "SZIT云"
}
]

View File

@ -0,0 +1,18 @@
[
{
"id": "b49cf1a5326b4ce797541064e48302d5",
"app_id": "app_common777777",
"code": "zhCN",
"name": "中文",
"i18n$$name": "中文",
"order_number": null
},
{
"id": "bdaedfe15dfd4ad8aa30bc05567de629",
"app_id": "app_common777777",
"code": "enUS",
"name": "English",
"i18n$$name": "English",
"order_number": null
}
]

View File

@ -0,0 +1,265 @@
[
{
"id": "ced3f89e313d4bbea1821a9942196d0d",
"app_id": "app_common666666",
"sub_app_id": null,
"code": "a",
"value": "b",
"language": "enUS",
"module": "hae.manager.catalog",
"memo": null,
"extend": null,
"created_by": "uuid~eldYMjc2MDg0",
"created_date": "2016-03-01 09:59:50.000000",
"last_updated_by": "uuid~eldYMjc2MDg0",
"last_updated_date": "2016-03-01 09:59:50.000000",
"modification_num": 1,
"type": "2",
"hw_hae_paging": {
"startIndex": 1,
"totalRows": 652,
"curPage": 1,
"pageSize": 15,
"endIndex": 15,
"totalPages": 44
}
},
{
"id": "70cdecbd47714568812433ac99895c9e",
"app_id": "app_common666666",
"sub_app_id": null,
"code": "a",
"value": "a",
"language": "zhCN",
"module": "hae.manager.catalog",
"memo": null,
"extend": null,
"created_by": "uuid~eldYMjc2MDg0",
"created_date": "2016-03-01 09:59:50.000000",
"last_updated_by": "uuid~eldYMjc2MDg0",
"last_updated_date": "2016-03-01 09:59:50.000000",
"modification_num": 1,
"type": "2"
},
{
"id": "830cbe73d92f41fdaf11647fd70c7313",
"app_id": "app_common666666",
"sub_app_id": null,
"code": "hae.developer.Guideline.Environment",
"value": "环境及运维手册",
"language": "zhCN",
"module": "hae.manager.catalog",
"memo": null,
"extend": null,
"created_by": "uuid~dGVzdDE=",
"created_date": "2015-05-28 09:41:51.000000",
"last_updated_by": "uuid~dzAwMTk2MTgx",
"last_updated_date": "2015-09-01 10:55:50.000000",
"modification_num": 2,
"type": "2"
},
{
"id": "2c3d8b59b68948caa637fa857cfe2a17",
"app_id": "app_common666666",
"sub_app_id": null,
"code": "hae.developer.Guideline.FrontWebDocuments",
"value": "Web Development Docs",
"language": "enUS",
"module": "hae.manager.catalog",
"memo": null,
"extend": null,
"created_by": "uuid~dGVzdDE=",
"created_date": "2015-05-28 09:40:02.000000",
"last_updated_by": "uuid~dzAwMTk2MTgx",
"last_updated_date": "2015-09-01 10:55:50.000000",
"modification_num": 3,
"type": "2"
},
{
"id": "b1143eb90e224153b27c60bacf027ea8",
"app_id": "app_common666666",
"sub_app_id": null,
"code": "hae.developer.Guideline.FrontWebDocuments",
"value": "Web开发手册",
"language": "zhCN",
"module": "hae.manager.catalog",
"memo": null,
"extend": null,
"created_by": "uuid~dGVzdDE=",
"created_date": "2015-05-28 09:40:02.000000",
"last_updated_by": "uuid~dzAwMTk2MTgx",
"last_updated_date": "2015-09-01 10:55:50.000000",
"modification_num": 2,
"type": "2"
},
{
"id": "1477ebb28ad645d699dac39eae3ff945",
"app_id": "app_common666666",
"sub_app_id": null,
"code": "hae.developer.Guideline.WebDoc",
"value": "Web Document",
"language": "enUS",
"module": "hae.saas.i18n",
"memo": null,
"extend": null,
"created_by": "uuid~eFdYMjMzODM5",
"created_date": "2015-04-10 10:16:29.000000",
"last_updated_by": "uuid~dzAwMTk2MTgx",
"last_updated_date": "2015-09-01 10:55:49.000000",
"modification_num": 1,
"type": "1"
},
{
"id": "721f546b95ac484e9711033cb0613747",
"app_id": "app_common666666",
"sub_app_id": null,
"code": "hae.developer.Guideline.WebDoc",
"value": "前端WEB文档",
"language": "zhCN",
"module": "hae.saas.i18n",
"memo": null,
"extend": null,
"created_by": "uuid~eFdYMjMzODM5",
"created_date": "2015-04-10 10:16:29.000000",
"last_updated_by": "uuid~dzAwMTk2MTgx",
"last_updated_date": "2015-09-01 10:55:49.000000",
"modification_num": 1,
"type": "1"
},
{
"id": "af6c514babec4b33b980b026a516e217",
"app_id": "app_common666666",
"sub_app_id": null,
"code": "hae.developer.Guideline.webDoc",
"value": "WEB Document",
"language": "enUS",
"module": "hae.saas.i18n",
"memo": null,
"extend": null,
"created_by": "uuid~eFdYMjMzODM5",
"created_date": "2015-04-10 10:09:46.000000",
"last_updated_by": "uuid~dzAwMTk2MTgx",
"last_updated_date": "2015-09-01 10:55:49.000000",
"modification_num": 1,
"type": "1"
},
{
"id": "e71ada77514d4417b118e4d8fc9ec708",
"app_id": "app_common666666",
"sub_app_id": null,
"code": "hae.developer.Guideline.webDoc",
"value": "前端WEB文档",
"language": "zhCN",
"module": "hae.saas.i18n",
"memo": null,
"extend": null,
"created_by": "uuid~eFdYMjMzODM5",
"created_date": "2015-04-10 10:09:46.000000",
"last_updated_by": "uuid~dzAwMTk2MTgx",
"last_updated_date": "2015-09-01 10:55:49.000000",
"modification_num": 1,
"type": "1"
},
{
"id": "cf188cfc93e94d05bbbfc25f4d628550",
"app_id": "app_common666666",
"sub_app_id": null,
"code": "hae.developer.HelpTopic",
"value": "Help",
"language": "enUS",
"module": "hae.saas.i18n",
"memo": null,
"extend": null,
"created_by": "uuid~d1dYMjAzNDY3",
"created_date": "2015-04-07 15:56:15.000000",
"last_updated_by": "uuid~dzAwMTk2MTgx",
"last_updated_date": "2015-09-01 10:55:49.000000",
"modification_num": 19,
"type": "1"
},
{
"id": "4472e69546f4489b98772d5f4eaf5abf",
"app_id": "app_common666666",
"sub_app_id": null,
"code": "hae.developer.HelpTopic",
"value": "帮助",
"language": "zhCN",
"module": "hae.saas.i18n",
"memo": null,
"extend": null,
"created_by": "uuid~d1dYMjAzNDY3",
"created_date": "2015-04-07 15:56:15.000000",
"last_updated_by": "uuid~dzAwMTk2MTgx",
"last_updated_date": "2015-09-01 10:55:49.000000",
"modification_num": 1,
"type": "1"
},
{
"id": "a5ad6b57e7954fbfb9a19a295d924ce5",
"app_id": "app_common666666",
"sub_app_id": null,
"code": "hae.developer.HelpTopic.ConfigurePlatform",
"value": "Configuration Platform",
"language": "enUS",
"module": "hae.manager.catalog",
"memo": null,
"extend": null,
"created_by": "uuid~dGVzdDE=",
"created_date": "2015-05-28 10:19:41.000000",
"last_updated_by": "uuid~dzAwMTk2MTgx",
"last_updated_date": "2015-09-01 10:55:50.000000",
"modification_num": 2,
"type": "2"
},
{
"id": "bfb4547487b24321a6991bc65a8c5d8e",
"app_id": "app_common666666",
"sub_app_id": null,
"code": "hae.developer.HelpTopic.ConfigurePlatform",
"value": "配置平台",
"language": "zhCN",
"module": "hae.manager.catalog",
"memo": null,
"extend": null,
"created_by": "uuid~dGVzdDE=",
"created_date": "2015-05-28 10:19:41.000000",
"last_updated_by": "uuid~dzAwMTk2MTgx",
"last_updated_date": "2015-09-01 10:55:50.000000",
"modification_num": 1,
"type": "2"
},
{
"id": "960d6aadbe3b43a8932b5ca95ff18cf8",
"app_id": "app_common666666",
"sub_app_id": null,
"code": "hae.developer.HelpTopic.Expert",
"value": "Online Expert",
"language": "enUS",
"module": "hae.manager.catalog",
"memo": null,
"extend": null,
"created_by": "uuid~eDAwMTkyMDAw",
"created_date": "2015-06-01 14:33:52.000000",
"last_updated_by": "uuid~dzAwMTk2MTgx",
"last_updated_date": "2015-09-01 10:55:49.000000",
"modification_num": 2,
"type": "2"
},
{
"id": "d95f2707549e42e6a9cd75de4d429025",
"app_id": "app_common666666",
"sub_app_id": null,
"code": "hae.developer.HelpTopic.Expert",
"value": "专家在线",
"language": "zhCN",
"module": "hae.manager.catalog",
"memo": null,
"extend": null,
"created_by": "uuid~eDAwMTkyMDAw",
"created_date": "2015-06-01 14:33:52.000000",
"last_updated_by": "uuid~dzAwMTk2MTgx",
"last_updated_date": "2015-09-01 10:55:49.000000",
"modification_num": 1,
"type": "2"
}
]

View File

@ -0,0 +1,10 @@
[
{
"id": "ee2dcdfb6dc94b33b997db2fff25a1bf",
"module": "hae.saas.i18n",
"code": "pmallmng.exception.code.",
"type": "1",
"value": "sdfeeee",
"language": "zhCN"
}
]

View File

@ -0,0 +1,92 @@
[
{
"id": 1,
"pid": -1,
"name": "湖南",
"memo": ""
},
{
"id": 2,
"pid": -1,
"name": "湖北",
"memo": ""
},
{
"id": 3,
"pid": -1,
"name": "广东",
"memo": ""
},
{
"id": 4,
"pid": -1,
"name": "广西",
"memo": ""
},
{
"id": 5,
"pid": -1,
"name": "浙江",
"memo": ""
},
{
"id": 6,
"pid": -1,
"name": "西藏",
"memo": ""
},
{
"id": 7,
"pid": -1,
"name": "四川",
"memo": ""
},
{
"id": 8,
"pid": -1,
"name": "云南",
"memo": ""
},
{
"id": 9,
"pid": 1,
"name": "长沙",
"memo": ""
},
{
"id": 10,
"pid": 2,
"name": "武汉",
"memo": ""
},
{
"id": 11,
"pid": 3,
"name": "广州",
"memo": ""
},
{
"id": 12,
"pid": 3,
"name": "深圳",
"memo": ""
},
{
"id": 13,
"pid": 3,
"name": "东莞",
"memo": ""
},
{
"id": 14,
"pid": 3,
"name": "惠州",
"memo": ""
},
{
"id": 15,
"pid": 1,
"name": "岳阳",
"memo": ""
}
]

View File

@ -0,0 +1,98 @@
[
{
"id": 100,
"pId": 0,
"label": "node1",
"isParent": true
},
{
"id": 1,
"pId": 100,
"label": "node1.1",
"isParent": false
},
{
"id": 2,
"pId": 100,
"label": "node1.2",
"isParent": false
},
{
"id": 3,
"pId": 100,
"label": "node1.3",
"isParent": false
},
{
"id": 4,
"pId": 100,
"label": "node1.4",
"isParent": true
},
{
"id": 41,
"pId": 4,
"label": "node1.4.1",
"isParent": false
},
{
"id": 411,
"pId": 41,
"label": "node1.4.1.1",
"isParent": false
},
{
"id": 42,
"pId": 4,
"label": "node1.4.2",
"isParent": false
},
{
"id": 421,
"pId": 42,
"label": "node1.4.2.1",
"isParent": false
},
{
"id": 5,
"pId": 100,
"label": "node1.5",
"isParent": true
},
{
"id": 51,
"pId": 5,
"label": "node1.5.1",
"isParent": false
},
{
"id": 101,
"pId": 0,
"label": "node2",
"isParent": true
},
{
"id": 1011,
"pId": 101,
"label": "node2.1",
"isParent": false
},
{
"id": 102,
"pId": 0,
"label": "node3",
"isParent": true
},
{
"id": 1021,
"pId": 102,
"label": "node3.1",
"isParent": false
},
{
"id": 103,
"pId": 0,
"label": "node4",
"isParent": false
}
]

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 716 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 564 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 550 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 795 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -1,3 +1,8 @@
<template> <template>
<router-view /> <router-view />
</template> </template>
<style>
body {
background-color: var(--ti-base-color-bg-1);
}
</style>

View File

@ -13,7 +13,6 @@ export default {
}, },
setup(props) { setup(props) {
const mode = localStorage.getItem('vue-example-mode') || 'pc' const mode = localStorage.getItem('vue-example-mode') || 'pc'
return { return {
template: defineAsyncComponent(() => import(/* @vite-ignore */ `./demo/${mode}/${props.link}`)) template: defineAsyncComponent(() => import(/* @vite-ignore */ `./demo/${mode}/${props.link}`))
} }

View File

@ -1,5 +1,11 @@
<template> <template>
<div class="panel page-container"> <div class="panel page-container">
<div class="top-nav">
<tiny-select class="theme-picker" v-model="currentTheme" placeholder="请选择主题">
<tiny-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </tiny-option>
</tiny-select>
<div @click="switchMode" class="switch-mode">切换到 {{ isPc ? 'Mobile' : 'PC' }} 示例</div>
</div>
<div class="left"> <div class="left">
<tiny-tree-menu <tiny-tree-menu
_mode="pc" _mode="pc"
@ -18,13 +24,13 @@
</div> </div>
<div class="right"> <div class="right">
<router-view class="content"></router-view> <router-view class="content"></router-view>
<div @click="switchMode" class="switch-mode">切换到 {{ isPc ? 'Mobile' : 'PC' }} 示例</div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { TreeMenu } from '@opentiny/vue' import { TreeMenu, Select, Option } from '@opentiny/vue'
import { CURRENT_THEME_KEY, THEME_MAP } from '../const'
import MenuDataMob from '@/nav.config.comp.mobile.json' import MenuDataMob from '@/nav.config.comp.mobile.json'
import MenuData from '@/nav.config.comp.json' import MenuData from '@/nav.config.comp.json'
import '@/assets/markdown.css' import '@/assets/markdown.css'
@ -32,7 +38,9 @@ import '@/assets/tiny-mobile-demo.css'
export default { export default {
components: { components: {
TinyTreeMenu: TreeMenu TinyTreeMenu: TreeMenu,
TinySelect: Select,
TinyOption: Option
}, },
methods: { methods: {
nodeClick(node) { nodeClick(node) {
@ -54,6 +62,39 @@ export default {
MenuData() { MenuData() {
return this.isPc ? MenuData : MenuDataMob return this.isPc ? MenuData : MenuDataMob
} }
},
data() {
return {
currentTheme: localStorage.getItem(CURRENT_THEME_KEY) || 'tiny-default-theme',
options: [
{
value: 'tiny-default-theme',
label: '默认'
},
{
value: 'tiny-impression-theme',
label: '印象'
},
{
value: 'tiny-infinity-theme',
label: '无限'
},
{
value: 'tiny-deep-theme',
label: '深邃夜空'
},
{
value: 'tiny-galaxy-theme',
label: '追光'
}
]
}
},
watch: {
currentTheme(newVal) {
this.theme.changeTheme(THEME_MAP[newVal])
localStorage.setItem(CURRENT_THEME_KEY, this.theme.currentTheme.id)
}
} }
} }
</script> </script>
@ -92,27 +133,45 @@ export default {
width: 900px; width: 900px;
margin: auto; margin: auto;
} }
.top-nav {
display: flex;
justify-content: flex-end;
align-items: center;
height: 40px;
position: fixed;
top: 0;
right: 0;
padding-right: 20px;
width: 100%;
background-color: var(--ti-base-color-bg-1);
box-shadow: 0 4px 8px 0 rgba(37, 43, 58, 0.1);
z-index: 2001;
}
.theme-picker {
width: 100px;
margin-right: 12px;
}
</style> </style>
<style> <style>
.right section .demo-header > h2 { .right section .demo-header > h2 {
font-weight: 400; font-weight: 400;
color: #1f2f3d; color: var(--ti-base-color-common-7);
} }
.right section > h3 { .right section > h3 {
margin: 40px 0 20px 0; margin: 40px 0 20px 0;
padding-bottom: 0.3rem; padding-bottom: 0.3rem;
border-bottom: 1px solid #eaecef; border-bottom: 1px solid var(--ti-base-color-border);
font-weight: 400; font-weight: 400;
color: #1f2f3d; color: var(--ti-base-color-common-7);
} }
.switch-mode { .switch-mode {
position: fixed;
top: 10px;
right: 20px;
color: var(--ti-common-color-line-active); color: var(--ti-common-color-line-active);
cursor: pointer; cursor: pointer;
margin-left: 20px;
} }
</style> </style>

View File

@ -4,16 +4,8 @@
<h1 class="page__title">上滑列表</h1> <h1 class="page__title">上滑列表</h1>
<p class="page__desc">弹出式菜单</p> <p class="page__desc">弹出式菜单</p>
</div> </div>
<tiny-button _mode="mobile" @click="fn" type="primary" size="large" <tiny-button _mode="mobile" @click="fn" type="primary" size="large">上滑列表</tiny-button>
>上滑列表</tiny-button <tiny-action-sheet _mode="mobile" v-model="activeName" :menus="menus" :visible="boxVisibility" @update:visible="boxVisibility = $event"></tiny-action-sheet>
>
<tiny-action-sheet
_mode="mobile"
v-model="activeName"
:menus="menus"
:visible="boxVisibility"
@update:visible="boxVisibility = $event"
></tiny-action-sheet>
</div> </div>
</template> </template>
@ -32,8 +24,7 @@ export default {
menus: [ menus: [
{ {
id: 1, id: 1,
label: label: '我是小花,我是小花,我是小花,我是小花,我是小花,我是小花,我是小花'
'我是小花,我是小花,我是小花,我是小花,我是小花,我是小花,我是小花'
}, },
{ {
id: 2, id: 2,

View File

@ -27,8 +27,7 @@ export default {
menus: [ menus: [
{ {
id: 1, id: 1,
label: label: '我是小花,我是小花,我是小花,我是小花,我是小花,我是小花,我是小花'
'我是小花,我是小花,我是小花,我是小花,我是小花,我是小花,我是小花'
}, },
{ {
id: 2, id: 2,

View File

@ -27,8 +27,7 @@ export default {
menus: [ menus: [
{ {
id: 1, id: 1,
label: label: '我是小花,我是小花,我是小花,我是小花,我是小花,我是小花,我是小花'
'我是小花,我是小花,我是小花,我是小花,我是小花,我是小花,我是小花'
}, },
{ {
id: 2, id: 2,

View File

@ -5,17 +5,9 @@
<p class="page__desc">弹出式菜单</p> <p class="page__desc">弹出式菜单</p>
</div> </div>
<tiny-button @click="fn" type="primary" size="large">上滑列表</tiny-button> <tiny-button @click="fn" type="primary" size="large">上滑列表</tiny-button>
<tiny-action-sheet <tiny-action-sheet v-model="activeName" ref="action" :menus="menus" :visible="boxVisibility" @update:visible="boxVisibility = $event">
v-model="activeName"
ref="action"
:menus="menus"
:visible="boxVisibility"
@update:visible="boxVisibility = $event"
>
<template #action> <template #action>
<tiny-button @click="visibleHandle" type="primary" size="large" <tiny-button @click="visibleHandle" type="primary" size="large">取消</tiny-button>
>取消</tiny-button
>
</template> </template>
</tiny-action-sheet> </tiny-action-sheet>
</div> </div>
@ -36,8 +28,7 @@ export default {
menus: [ menus: [
{ {
id: 1, id: 1,
label: label: '我是小花,我是小花,我是小花,我是小花,我是小花,我是小花,我是小花'
'我是小花,我是小花,我是小花,我是小花,我是小花,我是小花,我是小花'
}, },
{ {
id: 2, id: 2,

View File

@ -5,12 +5,7 @@
<p class="page__desc">弹出式菜单</p> <p class="page__desc">弹出式菜单</p>
</div> </div>
<tiny-button @click="fn" type="primary" size="large">上滑列表</tiny-button> <tiny-button @click="fn" type="primary" size="large">上滑列表</tiny-button>
<tiny-action-sheet <tiny-action-sheet v-model="activeName" :menus="menus" :visible="boxVisibility" @update:visible="boxVisibility = $event">
v-model="activeName"
:menus="menus"
:visible="boxVisibility"
@update:visible="boxVisibility = $event"
>
<template #item="data"> <template #item="data">
<div> <div>
{{ data.item.label }} {{ data.item.label }}
@ -35,8 +30,7 @@ export default {
menus: [ menus: [
{ {
id: 1, id: 1,
label: label: '我是小花,我是小花,我是小花,我是小花,我是小花,我是小花,我是小花'
'我是小花,我是小花,我是小花,我是小花,我是小花,我是小花,我是小花'
}, },
{ {
id: 2, id: 2,

View File

@ -28,7 +28,7 @@ export default {
}, },
data() { data() {
return { return {
circleUrl: 'static/images/watercolor.png' circleUrl: 'static/images/circle.png'
} }
} }
} }

View File

@ -2,7 +2,7 @@
<div class="avatar-wrap"> <div class="avatar-wrap">
<tiny-avatar :src="circleUrl" :src-set="srcSet" size="large"></tiny-avatar> <tiny-avatar :src="circleUrl" :src-set="srcSet" size="large"></tiny-avatar>
<tiny-avatar :icon="IconClockWork" size="large"></tiny-avatar> <tiny-avatar :icon="IconClockWork" size="large"></tiny-avatar>
<tiny-avatar :src="circleUrl" fit="contain" size="large"></tiny-avatar> <tiny-avatar :src="circleUrlfit" fit="none" size="large"></tiny-avatar>
<tiny-avatar :src="errorUrl" :error="onError" fit="none" size="large"></tiny-avatar> <tiny-avatar :src="errorUrl" :error="onError" fit="none" size="large"></tiny-avatar>
<tiny-avatar :src="circleUrl" shape="square" fit="none" size="large"></tiny-avatar> <tiny-avatar :src="circleUrl" shape="square" fit="none" size="large"></tiny-avatar>
</div> </div>
@ -19,8 +19,9 @@ export default {
data() { data() {
return { return {
IconClockWork: iconClockWork(), IconClockWork: iconClockWork(),
circleUrl: 'static/images/floral.png', circleUrl: 'static/images/circle.png',
srcSet: 'static/images/watercolor.png 100w,static/images/floral.png 300w,static/images/fruit.jpg 500w', circleUrlfit: 'static/images/dog1.png',
srcSet: 'static/images/dog1.png 100w,static/images/dog2.png 300w,static/images/dog3.png 500w',
errorUrl: 'error.png', //使 errorUrl: 'error.png', //使
onError() { onError() {
console.log('加载失败') console.log('加载失败')

View File

@ -60,8 +60,8 @@ export default {
}, },
data() { data() {
return { return {
circleUrl: 'static/images/floral.png', circleUrl: 'static/images/dog2.png',
dogUrl: 'static/images/fruit.jpg' dogUrl: 'static/images/dog1.png'
} }
} }
} }

View File

@ -2,9 +2,7 @@
<div class="badge-wrap"> <div class="badge-wrap">
<tiny-badge :value="unread" :hidden="unread === 0">我的待办</tiny-badge> <tiny-badge :value="unread" :hidden="unread === 0">我的待办</tiny-badge>
<br /> <br />
<tiny-button :disabled="unread === 0" @click="read" <tiny-button :disabled="unread === 0" @click="read">读取一条消息</tiny-button>
>读取一条消息</tiny-button
>
</div> </div>
</template> </template>

View File

@ -1,12 +1,8 @@
<template> <template>
<div class="badge-wrap"> <div class="badge-wrap">
<tiny-badge :value="2" :href="'/'" target="_self" <tiny-badge :value="2" :href="'/'" target="_self">当前标签页打开</tiny-badge>
>当前标签页打开</tiny-badge
>
<br /> <br />
<tiny-badge :value="2" :href="'/'" target="_blank" <tiny-badge :value="2" :href="'/'" target="_blank">新建标签页打开</tiny-badge>
>新建标签页打开</tiny-badge
>
</div> </div>
</template> </template>

View File

@ -19,17 +19,13 @@
<div class="btb"> <div class="btb">
<tiny-button type="primary" size="small" plain>默认按钮</tiny-button> <tiny-button type="primary" size="small" plain>默认按钮</tiny-button>
<tiny-button type="primary" size="small" plain disabled <tiny-button type="primary" size="small" plain disabled>默认按钮</tiny-button>
>默认按钮</tiny-button
>
</div> </div>
<div class="btb"> <div class="btb">
<tiny-button type="primary" size="mini">按钮</tiny-button> <tiny-button type="primary" size="mini">按钮</tiny-button>
</div> </div>
<div class="btb"> <div class="btb">
<tiny-button :icon="IconMessageCircle" type="primary" size="mini" plain <tiny-button :icon="IconMessageCircle" type="primary" size="mini" plain>加入会议</tiny-button>
>加入会议</tiny-button
>
</div> </div>
<tiny-button type="primary" size="medium">主要按钮</tiny-button> <tiny-button type="primary" size="medium">主要按钮</tiny-button>
<tiny-button type="success" size="medium">成功按钮</tiny-button> <tiny-button type="success" size="medium">成功按钮</tiny-button>
@ -39,20 +35,12 @@
<span>底部悬浮按钮</span> <span>底部悬浮按钮</span>
</div> </div>
<div class="btb"> <div class="btb">
<tiny-button type="primary" size="small" plain @click="dat = 0" <tiny-button type="primary" size="small" plain @click="dat = 0">有间距双按钮</tiny-button>
>有间距双按钮</tiny-button <tiny-button type="primary" size="small" plain @click="dat = 1">无间距双按钮</tiny-button>
>
<tiny-button type="primary" size="small" plain @click="dat = 1"
>无间距双按钮</tiny-button
>
</div> </div>
<div class="btb"> <div class="btb">
<tiny-button type="primary" size="small" plain @click="dat = 2" <tiny-button type="primary" size="small" plain @click="dat = 2">确定单按钮</tiny-button>
>确定单按钮</tiny-button <tiny-button type="primary" size="small" plain @click="dat = 3">删除单按钮</tiny-button>
>
<tiny-button type="primary" size="small" plain @click="dat = 3"
>删除单按钮</tiny-button
>
</div> </div>
</div> </div>
<div class="test" v-if="dat === 1"> <div class="test" v-if="dat === 1">

View File

@ -11,14 +11,7 @@
<script> <script>
import { Button } from '@opentiny/vue' import { Button } from '@opentiny/vue'
import { import { iconDel, iconYes, iconEdit, iconMail, iconStarO, iconSearch } from '@opentiny/vue-icon'
iconDel,
iconYes,
iconEdit,
iconMail,
iconStarO,
iconSearch
} from '@opentiny/vue-icon'
export default { export default {
components: { components: {

View File

@ -7,23 +7,14 @@
<div class="demo-padds-native-type"> <div class="demo-padds-native-type">
<tiny-form ref="ruleForm" :model="createData" :rules="rules"> <tiny-form ref="ruleForm" :model="createData" :rules="rules">
<tiny-form-item label="优秀" prop="users"> <tiny-form-item label="优秀" prop="users">
<tiny-input <tiny-input v-model="createData.users" placeholder="请输入内容" type="form"></tiny-input>
v-model="createData.users"
placeholder="请输入内容"
type="form"
></tiny-input>
</tiny-form-item> </tiny-form-item>
<tiny-form-item> <tiny-form-item>
<tiny-button @click="handleSubmit('ruleForm')">重置</tiny-button> <tiny-button @click="handleSubmit('ruleForm')">重置</tiny-button>
</tiny-form-item> </tiny-form-item>
</tiny-form> </tiny-form>
</div> </div>
<tiny-dialog-box <tiny-dialog-box :visible="boxVisibility" @update:visible="boxVisibility = $event" :modal-append-to-body="false" title="消息提示">
:visible="boxVisibility"
@update:visible="boxVisibility = $event"
:modal-append-to-body="false"
title="消息提示"
>
<span>reset</span> <span>reset</span>
</tiny-dialog-box> </tiny-dialog-box>
</div> </div>

View File

@ -1,12 +1,7 @@
<template> <template>
<div class="checkbox-group-wrap"> <div class="checkbox-group-wrap">
<tiny-checkbox-group v-model="checkboxGroup"> <tiny-checkbox-group v-model="checkboxGroup">
<tiny-checkbox <tiny-checkbox v-for="(city, index) in cities" :label="city" :key="index">{{ city }}</tiny-checkbox>
v-for="(city, index) in cities"
:label="city"
:key="index"
>{{ city }}</tiny-checkbox
>
</tiny-checkbox-group> </tiny-checkbox-group>
</div> </div>
</template> </template>

View File

@ -1,13 +1,7 @@
<template> <template>
<div class="checkbox-group-wrap"> <div class="checkbox-group-wrap">
<tiny-checkbox-group v-model="checkboxGroup"> <tiny-checkbox-group v-model="checkboxGroup">
<tiny-checkbox <tiny-checkbox v-for="(city, index) in cities" :label="city" :key="index" :disabled="city === '北京'">{{ city }}</tiny-checkbox>
v-for="(city, index) in cities"
:label="city"
:key="index"
:disabled="city === '北京'"
>{{ city }}</tiny-checkbox
>
</tiny-checkbox-group> </tiny-checkbox-group>
</div> </div>
</template> </template>

View File

@ -1,12 +1,7 @@
<template> <template>
<div class="checkbox-group-wrap"> <div class="checkbox-group-wrap">
<tiny-checkbox-group v-model="checkboxGroup" @change="handleChange"> <tiny-checkbox-group v-model="checkboxGroup" @change="handleChange">
<tiny-checkbox <tiny-checkbox v-for="(city, index) in cities" :label="city" :key="index">{{ city }}</tiny-checkbox>
v-for="(city, index) in cities"
:label="city"
:key="index"
>{{ city }}</tiny-checkbox
>
</tiny-checkbox-group> </tiny-checkbox-group>
</div> </div>
</template> </template>

View File

@ -1,12 +1,7 @@
<template> <template>
<div class="checkbox-group-wrap"> <div class="checkbox-group-wrap">
<tiny-checkbox-group v-model="checkboxGroup" :min="1" :max="3"> <tiny-checkbox-group v-model="checkboxGroup" :min="1" :max="3">
<tiny-checkbox <tiny-checkbox v-for="(city, index) in cities" :label="city" :key="index">{{ city }}</tiny-checkbox>
v-for="(city, index) in cities"
:label="city"
:key="index"
>{{ city }}</tiny-checkbox
>
</tiny-checkbox-group> </tiny-checkbox-group>
</div> </div>
</template> </template>

View File

@ -1,12 +1,7 @@
<template> <template>
<div class="checkbox-group-wrap"> <div class="checkbox-group-wrap">
<tiny-checkbox-group v-model="checkboxGroup" vertical> <tiny-checkbox-group v-model="checkboxGroup" vertical>
<tiny-checkbox <tiny-checkbox v-for="(city, index) in cities" :label="city" :key="index">{{ city }}</tiny-checkbox>
v-for="(city, index) in cities"
:label="city"
:key="index"
>{{ city }}</tiny-checkbox
>
</tiny-checkbox-group> </tiny-checkbox-group>
</div> </div>
</template> </template>

View File

@ -1,8 +1,6 @@
<template> <template>
<div class="checkbox-wrap"> <div class="checkbox-wrap">
<tiny-checkbox v-model="checked" @change="handleChange" <tiny-checkbox v-model="checked" @change="handleChange">复选框</tiny-checkbox>
>复选框</tiny-checkbox
>
</div> </div>
</template> </template>

View File

@ -1,18 +1,8 @@
<template> <template>
<div class="checkbox-wrap"> <div class="checkbox-wrap">
<tiny-checkbox <tiny-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @click="all">全选</tiny-checkbox>
:indeterminate="isIndeterminate"
v-model="checkAll"
@click="all"
>全选</tiny-checkbox
>
<tiny-checkbox-group v-model="checkboxGroup"> <tiny-checkbox-group v-model="checkboxGroup">
<tiny-checkbox <tiny-checkbox v-for="(city, index) in cities" :label="city" :key="index">{{ city }}</tiny-checkbox>
v-for="(city, index) in cities"
:label="city"
:key="index"
>{{ city }}</tiny-checkbox
>
</tiny-checkbox-group> </tiny-checkbox-group>
</div> </div>
</template> </template>
@ -39,10 +29,7 @@ export default {
computed: { computed: {
isIndeterminate: { isIndeterminate: {
get() { get() {
return !( return !(this.checkboxGroup.length === 0 || this.checkboxGroup.length === this.cities.length)
this.checkboxGroup.length === 0 ||
this.checkboxGroup.length === this.cities.length
)
} }
}, },
checkAll: { checkAll: {

View File

@ -1,8 +1,6 @@
<template> <template>
<div class="checkbox-wrap"> <div class="checkbox-wrap">
<tiny-checkbox v-model="checked" false-label="no" true-label="yes" <tiny-checkbox v-model="checked" false-label="no" true-label="yes">复选框</tiny-checkbox>
>复选框</tiny-checkbox
>
<br /> <br />
当前选中状态的值为{{ checked }} 当前选中状态的值为{{ checked }}
</div> </div>

View File

@ -1,14 +1,7 @@
<template> <template>
<div class="tiny-mobile-dialog-box-demo"> <div class="tiny-mobile-dialog-box-demo">
<tiny-button @click="boxVisibility = true" <tiny-button @click="boxVisibility = true">弹出Dialog {{ boxVisibility }}</tiny-button>
>弹出Dialog {{ boxVisibility }}</tiny-button <tiny-dialog-box :visible="boxVisibility" @update:visible="boxVisibility = $event" width="30%" append-to-body>
>
<tiny-dialog-box
:visible="boxVisibility"
@update:visible="boxVisibility = $event"
width="30%"
append-to-body
>
<span>dialog-box内容</span> <span>dialog-box内容</span>
</tiny-dialog-box> </tiny-dialog-box>
</div> </div>

View File

@ -5,59 +5,27 @@
<p class="page__desc">对话框</p> <p class="page__desc">对话框</p>
</div> </div>
<div class="cls"> <div class="cls">
<tiny-button @click="boxVisibility1 = true" type="primary" size="large" <tiny-button @click="boxVisibility1 = true" type="primary" size="large">有标题类提示框</tiny-button>
>有标题类提示框</tiny-button <tiny-dialog-box :visible="boxVisibility1" @update:visible="boxVisibility1 = $event" :modal-append-to-body="false" title="标题">
>
<tiny-dialog-box
:visible="boxVisibility1"
@update:visible="boxVisibility1 = $event"
:modal-append-to-body="false"
title="标题"
>
<span>单行文本单行文本单行文本</span> <span>单行文本单行文本单行文本</span>
</tiny-dialog-box> </tiny-dialog-box>
</div> </div>
<div class="cls"> <div class="cls">
<tiny-button @click="boxVisibility3 = true" size="large" <tiny-button @click="boxVisibility3 = true" size="large">有标题多行提示框</tiny-button>
>有标题多行提示框</tiny-button <tiny-dialog-box :visible="boxVisibility3" @update:visible="boxVisibility3 = $event" :modal-append-to-body="false" title="标题">
> <span> 弹窗内容正文三个和尚刚好是个好时光还是三个和尚风格还是更换</span>
<tiny-dialog-box
:visible="boxVisibility3"
@update:visible="boxVisibility3 = $event"
:modal-append-to-body="false"
title="标题"
>
<span>
弹窗内容正文三个和尚刚好是个好时光还是三个和尚风格还是更换</span
>
</tiny-dialog-box> </tiny-dialog-box>
</div> </div>
<div class="cls"> <div class="cls">
<tiny-button @click="boxVisibility2 = true" type="danger" size="large" <tiny-button @click="boxVisibility2 = true" type="danger" size="large">无标题类提示框</tiny-button>
>无标题类提示框</tiny-button <tiny-dialog-box :visible="boxVisibility2" @update:visible="boxVisibility2 = $event" :modal-append-to-body="false" :show-header="false">
>
<tiny-dialog-box
:visible="boxVisibility2"
@update:visible="boxVisibility2 = $event"
:modal-append-to-body="false"
:show-header="false"
>
<span>单行文本单行文本单行文本</span> <span>单行文本单行文本单行文本</span>
</tiny-dialog-box> </tiny-dialog-box>
</div> </div>
<div class="cls"> <div class="cls">
<tiny-button @click="boxVisibility4 = true" type="danger" size="large" <tiny-button @click="boxVisibility4 = true" type="danger" size="large">无标题多行提示框</tiny-button>
>无标题多行提示框</tiny-button <tiny-dialog-box :visible="boxVisibility4" @update:visible="boxVisibility4 = $event" :modal-append-to-body="false" :show-header="false">
> <span> 弹窗内容正文三个和尚刚好是个好时光还是三个和尚风格还是更换</span>
<tiny-dialog-box
:visible="boxVisibility4"
@update:visible="boxVisibility4 = $event"
:modal-append-to-body="false"
:show-header="false"
>
<span>
弹窗内容正文三个和尚刚好是个好时光还是三个和尚风格还是更换</span
>
</tiny-dialog-box> </tiny-dialog-box>
</div> </div>
</div> </div>

Some files were not shown because too many files have changed in this diff Show More