提交 bac94258 编写于 作者: ibizdev's avatar ibizdev

chitanda 发布系统代码 [TrainSys,网页端]

上级 7e7a04d2
......@@ -12,12 +12,12 @@
},
"dependencies": {
"@ibiz-template/command": "^0.0.1-alpha.13",
"@ibiz-template/controller": "^0.0.1-alpha.13",
"@ibiz-template/controller": "^0.0.1-alpha.14",
"@ibiz-template/core": "^0.0.1-alpha.13",
"@ibiz-template/model": "^0.0.1-alpha.13",
"@ibiz-template/runtime": "^0.0.1-alpha.13",
"@ibiz-template/service": "^0.0.1-alpha.13",
"@ibiz-template/vue-util": "^0.0.1-alpha.13",
"@ibiz-template/runtime": "^0.0.1-alpha.14",
"@ibiz-template/service": "^0.0.1-alpha.14",
"@ibiz-template/vue-util": "^0.0.1-alpha.14",
"ionicons": "^6.0.3",
"lodash-es": "^4.17.21",
"pinia": "^2.0.22",
......
......@@ -4,12 +4,12 @@ specifiers:
'@commitlint/cli': ^17.1.2
'@commitlint/config-conventional': ^17.1.0
'@ibiz-template/command': ^0.0.1-alpha.13
'@ibiz-template/controller': ^0.0.1-alpha.13
'@ibiz-template/controller': ^0.0.1-alpha.14
'@ibiz-template/core': ^0.0.1-alpha.13
'@ibiz-template/model': ^0.0.1-alpha.13
'@ibiz-template/runtime': ^0.0.1-alpha.13
'@ibiz-template/service': ^0.0.1-alpha.13
'@ibiz-template/vue-util': ^0.0.1-alpha.13
'@ibiz-template/runtime': ^0.0.1-alpha.14
'@ibiz-template/service': ^0.0.1-alpha.14
'@ibiz-template/vue-util': ^0.0.1-alpha.14
'@types/lodash-es': ^4.17.6
'@types/node': ^18.8.3
'@types/qs': ^6.9.7
......@@ -60,12 +60,12 @@ specifiers:
dependencies:
'@ibiz-template/command': 0.0.1-alpha.13
'@ibiz-template/controller': 0.0.1-alpha.13_shcsvwcrwdpj5n2nv2xv2l6lfy
'@ibiz-template/controller': 0.0.1-alpha.14_lgwfpop2bpzodbgsxv73wkyjbi
'@ibiz-template/core': 0.0.1-alpha.13_amgpmzcbvys7f63sicqtedd4k4
'@ibiz-template/model': 0.0.1-alpha.13_amgpmzcbvys7f63sicqtedd4k4
'@ibiz-template/runtime': 0.0.1-alpha.13_n7b5b5dioubyiowp2snbbxeade
'@ibiz-template/service': 0.0.1-alpha.13_l3fjyt72yqcz2326lva7ylb7zq
'@ibiz-template/vue-util': 0.0.1-alpha.13_cnmdady62wmdf2eslhn6mf62om
'@ibiz-template/runtime': 0.0.1-alpha.14_3frn3sb4vsgtilqmvfr7s25fzi
'@ibiz-template/service': 0.0.1-alpha.14_l3fjyt72yqcz2326lva7ylb7zq
'@ibiz-template/vue-util': 0.0.1-alpha.14_jz5phm7dsxi7e3pyr5442ij6xu
dayjs: 1.11.5
ionicons: 6.0.3
lodash-es: 4.17.21
......@@ -661,20 +661,22 @@ packages:
resolution: {integrity: sha512-IUD6x29nmmxdL8XbGGfBAEYlPO/+E8qHd/TI2ncgaaBFcF6M4ih7xga8l1oYuSdr+xx4mlXkAbzQFOqAQWm21g==}
dev: false
/@ibiz-template/controller/0.0.1-alpha.13_shcsvwcrwdpj5n2nv2xv2l6lfy:
resolution: {integrity: sha512-C+AyY6m/nCZpOz/L/nCC9DqO8uuncMP7MSm3BP+nAx29IrGOdlHCRmlD4uB51oguU6269A2ghKSrmy3+UhtEpQ==}
/@ibiz-template/controller/0.0.1-alpha.14_lgwfpop2bpzodbgsxv73wkyjbi:
resolution: {integrity: sha512-SR+6ZRlRffhILVw5wPIjY37J3w/rFa0fw8nL59Xa/IbhEe/i9TxkQga8kxEe83mGyMCSY21QP8y5w6z1JBys+Q==}
peerDependencies:
'@ibiz-template/core': ^0.0.1-alpha.2
'@ibiz-template/model': ^0.0.1-alpha.2
'@ibiz-template/runtime': ^0.0.1-alpha.2
'@ibiz-template/service': ^0.0.1-alpha.2
lodash-es: ^4.17.21
qx-util: ^0.4.1
dependencies:
'@ibiz-template/core': 0.0.1-alpha.13_amgpmzcbvys7f63sicqtedd4k4
'@ibiz-template/model': 0.0.1-alpha.13_amgpmzcbvys7f63sicqtedd4k4
'@ibiz-template/runtime': 0.0.1-alpha.13_n7b5b5dioubyiowp2snbbxeade
'@ibiz-template/service': 0.0.1-alpha.13_l3fjyt72yqcz2326lva7ylb7zq
'@ibiz-template/runtime': 0.0.1-alpha.14_3frn3sb4vsgtilqmvfr7s25fzi
'@ibiz-template/service': 0.0.1-alpha.14_l3fjyt72yqcz2326lva7ylb7zq
async-validator: 4.2.5
lodash-es: 4.17.21
qx-util: 0.4.1
dev: false
......@@ -705,8 +707,8 @@ packages:
qx-util: 0.4.1
dev: false
/@ibiz-template/runtime/0.0.1-alpha.13_n7b5b5dioubyiowp2snbbxeade:
resolution: {integrity: sha512-txnHlPNYcy5A+SbnOOd1Sc5IKwN+Ztbeq/eRE7kMtuXO+Bwc7s6sITy4xUhA8Ywj6EjuAqRf362HA0jOsPe+Sg==}
/@ibiz-template/runtime/0.0.1-alpha.14_3frn3sb4vsgtilqmvfr7s25fzi:
resolution: {integrity: sha512-CD5Uc9Cr8Zn8iL7NxRs9nbb+J3AAE+RRPrcMvi9xbkpo6qlXiroyMHsNk0R7mKtQ6zkukocU8k4yR05+OR1I6g==}
peerDependencies:
'@ibiz-template/core': ^0.0.1-alpha.2
'@ibiz-template/model': ^0.0.1-alpha.2
......@@ -716,12 +718,12 @@ packages:
'@ibiz-template/command': 0.0.1-alpha.13
'@ibiz-template/core': 0.0.1-alpha.13_amgpmzcbvys7f63sicqtedd4k4
'@ibiz-template/model': 0.0.1-alpha.13_amgpmzcbvys7f63sicqtedd4k4
'@ibiz-template/service': 0.0.1-alpha.13_l3fjyt72yqcz2326lva7ylb7zq
'@ibiz-template/service': 0.0.1-alpha.14_l3fjyt72yqcz2326lva7ylb7zq
qx-util: 0.4.1
dev: false
/@ibiz-template/service/0.0.1-alpha.13_l3fjyt72yqcz2326lva7ylb7zq:
resolution: {integrity: sha512-T+3kmWVU8VvuKD+fhwp+nq4BR+1vpW5Wd65yNisrApZrGj+vpKMjdops8B4ogA/Vu6DIs5VPbhaibS3sYFjXVQ==}
/@ibiz-template/service/0.0.1-alpha.14_l3fjyt72yqcz2326lva7ylb7zq:
resolution: {integrity: sha512-8qxTaTzVnK2z1NRvRLJhK2cJUsJobp6XnC2MDmMSbxEIf0/LvKh3v7KDP+G2Y4wK3jGQxdAuSBGdTwYBxHlmVQ==}
peerDependencies:
'@ibiz-template/core': ^0.0.1-alpha.2
'@ibiz-template/model': ^0.0.1-alpha.2
......@@ -734,8 +736,8 @@ packages:
ramda: 0.28.0
dev: false
/@ibiz-template/vue-util/0.0.1-alpha.13_cnmdady62wmdf2eslhn6mf62om:
resolution: {integrity: sha512-dRJSitjsQp0blIjuyFia1LZHmvJPXF25eEtFzmv9RbnEwkz/9Dd2H2dPtuqyZaqlYF9sKcWbuFRsC9Rjyz9wSQ==}
/@ibiz-template/vue-util/0.0.1-alpha.14_jz5phm7dsxi7e3pyr5442ij6xu:
resolution: {integrity: sha512-a/IN9YAnsiFVAB6ccnLHp3h71EK/I4+BVjX+vTIGuN3hq3z+LFqaBq7BYg/2G8L3aFPBMU+83UZg/vi7fMaBKQ==}
peerDependencies:
'@ibiz-template/controller': '>=0.0.1-alpha.2'
'@ibiz-template/core': '>=0.0.1-alpha.2'
......@@ -745,7 +747,7 @@ packages:
vue: ^2.7.10
vue-router: ^3.6.4
dependencies:
'@ibiz-template/controller': 0.0.1-alpha.13_shcsvwcrwdpj5n2nv2xv2l6lfy
'@ibiz-template/controller': 0.0.1-alpha.14_lgwfpop2bpzodbgsxv73wkyjbi
'@ibiz-template/core': 0.0.1-alpha.13_amgpmzcbvys7f63sicqtedd4k4
'@ibiz-template/model': 0.0.1-alpha.13_amgpmzcbvys7f63sicqtedd4k4
qs: 6.11.0
......
......@@ -52,6 +52,7 @@ import AppKeepAlive from './components/common/app-keep-alive/app-keep-alive.vue'
import {
AppIcon,
ViewToolbar,
WFToolbar,
QuickSearch,
AppCol,
AppRow,
......@@ -137,6 +138,7 @@ export const AppRegister = {
v.component('AppCol', AppCol);
v.component('AppRow', AppRow);
v.component('ViewToolbar', ViewToolbar);
v.component('WfToolbar', WFToolbar);
v.component('ActionToolbar', ActionToolbar);
v.component('AppGridPagination', AppGridPagination);
v.component('FormItemContainer', FormItemContainer);
......
......@@ -42,7 +42,7 @@ export const ActionToolbar = defineComponent({
type='text'
on-click={(e: MouseEvent) => this.handleClick(detail, e)}
disabled={this.actionsState[detail.name].disabled}
class={[this.ns.be('item'), this.ns.is('disabled', false)]}
class={[this.ns.e('item'), this.ns.is('disabled', false)]}
>
{detail.showIcon && action.getPSSysImage() && (
<app-icon icon={action.getPSSysImage()}></app-icon>
......
import AppIcon from './app-icon/app-icon';
import QuickSearch from './quick-search/quick-search';
import { ViewToolbar } from './view-toolbar/view-toolbar';
import { WFToolbar } from './wf-toolbar/wf-toolbar';
import { AppCol } from './app-col/app-col';
import { AppRow } from './app-row/app-row';
import AppGridPagination from './app-grid-pagination/app-grid-pagination';
......@@ -13,6 +14,7 @@ import { WfVersionSelect } from './wf-version-select/wf-version-select';
export {
AppIcon,
ViewToolbar,
WFToolbar,
AppCol,
AppRow,
QuickSearch,
......
import { defineComponent } from 'vue';
import { useNamespace } from '@ibiz-template/vue-util';
import '@/styles/components/common/wf-toolbar/wf-toolbar.scss';
import { WFLink } from '@ibiz-template/controller';
export const WFToolbar = defineComponent({
name: 'WFToolbar',
props: {
wfLinks: {
type: Array<WFLink>,
required: true,
},
},
setup(props, { emit }) {
const ns = useNamespace('wf-toolbar');
// 点击事件抛给表格执行
const handleClick = async (link: WFLink, event: MouseEvent) => {
emit('wf-link-click', link, event);
};
return { ns, handleClick };
},
render() {
const wfLinks = this.wfLinks || [];
return (
<div class={`${this.ns.b()}`}>
{wfLinks.length > 0 &&
wfLinks.map(link => {
return (
<div key={link.sequenceFlowId} class={this.ns.e('item')}>
<i-button
title={link.sequenceFlowName}
on-click={(e: MouseEvent) => this.handleClick(link, e)}
>
{link.sequenceFlowName || ''}
</i-button>
</div>
);
})}
</div>
);
},
});
......@@ -5,6 +5,7 @@ import {
} from '@ibiz-template/vue-util';
import { defineComponent, getCurrentInstance, PropType } from 'vue';
import { ViewType } from '@ibiz-template/model';
import { WFLink } from '@ibiz-template/controller';
import { getViewComponentName } from '@/util';
export const WFDynaEditView3 = defineComponent({
......@@ -24,7 +25,33 @@ export const WFDynaEditView3 = defineComponent({
},
render(h) {
return (
<view-base controller={this.c}>
<view-base
controller={this.c}
scopedSlots={{
toolbar: () => {
if (this.c.complete && this.c.model.toolbar) {
return [
<view-toolbar
modelData={this.c.model.toolbar}
on-neuronInit={this.c.nerve.onNeuronInit(
this.c.model.toolbar.source.name,
)}
viewMode={this.c.modal.mode}
></view-toolbar>,
this.c.wfLinks.length > 0 && (
<wf-toolbar
wfLinks={this.c.wfLinks}
on-wf-link-click={(link: WFLink) => {
this.c.onLinkClick(link);
}}
></wf-toolbar>
),
];
}
return null;
},
}}
>
{this.c.complete && (
<i-tabs
class={[this.ns.be('', 'tab')]}
......
.#{bem('wf-toolbar')} {
@include set-component-css-var('wf-toolbar', $wf-toolbar);
}
@include b('wf-toolbar') {
display: flex;
@include e('item') {
display: flex;
align-items: center;
margin: getCssVar('wf-toolbar', 'item-margin');
.ivu-btn {
@include flex(row, center, center);
> span {
@include flex(row, center, center);
}
}
}
}
......@@ -9,6 +9,11 @@
width: 100%;
height: 100%;
// 工具栏占位
@include e(toolbar) {
@include flex;
}
@include when(no-header) {
> .#{bem(view-layout-content)} {
margin: 0;
......
......@@ -355,6 +355,17 @@ $view-toolbar-embed: map.merge(
/* view-toolbar 视图工具栏 end */
/* wf-toolbar 工作流工具栏 start */
$wf-toolbar: () !default;
$wf-toolbar: map.merge(
(
'item-margin': 0 4px,
),
$wf-toolbar
);
/* wf-toolbar 工作流工具栏 end */
/* app-menu 菜单 start */
$app-menu: () !default;
$app-menu: map.merge(
......
......@@ -20,6 +20,15 @@ export class LoadingUtil implements ILoadingUtil {
*/
protected count = 0;
/**
* 当前在触发的重定向加载动画次数
*
* @author chitanda
* @date 2022-10-08 17:10:02
* @protected
*/
protected countRedirect = 0;
/**
* 显示全局加载动画
*
......@@ -48,4 +57,32 @@ export class LoadingUtil implements ILoadingUtil {
Vue.prototype.$Spin.hide();
}
}
/**
* 显示顶部加载动画
*
* @author chitanda
* @date 2022-10-08 16:10:01
*/
showRedirect(): void {
if (this.countRedirect === 0) {
Vue.prototype.$Loading.start();
}
this.countRedirect += 1;
}
/**
* 隐藏顶部加载动画
*
* @author chitanda
* @date 2022-10-08 16:10:09
*/
hideRedirect(): void {
if (this.countRedirect > 0) {
this.countRedirect -= 1;
}
if (this.countRedirect === 0) {
Vue.prototype.$Loading.finish();
}
}
}
......@@ -490,10 +490,10 @@
resolved "https://registry.yarnpkg.com/@ibiz-template/command/-/command-0.0.1-alpha.13.tgz#e8f07fede7fbfd3aa22eeec80ad66acf6c914d1e"
integrity sha512-IUD6x29nmmxdL8XbGGfBAEYlPO/+E8qHd/TI2ncgaaBFcF6M4ih7xga8l1oYuSdr+xx4mlXkAbzQFOqAQWm21g==
"@ibiz-template/controller@^0.0.1-alpha.13":
version "0.0.1-alpha.13"
resolved "https://registry.yarnpkg.com/@ibiz-template/controller/-/controller-0.0.1-alpha.13.tgz#8d95de0c0d701778164e964f85dbc916ee3aa381"
integrity sha512-C+AyY6m/nCZpOz/L/nCC9DqO8uuncMP7MSm3BP+nAx29IrGOdlHCRmlD4uB51oguU6269A2ghKSrmy3+UhtEpQ==
"@ibiz-template/controller@^0.0.1-alpha.14":
version "0.0.1-alpha.14"
resolved "https://registry.yarnpkg.com/@ibiz-template/controller/-/controller-0.0.1-alpha.14.tgz#2630990e35442cff395027de333bbc91f2d45d93"
integrity sha512-SR+6ZRlRffhILVw5wPIjY37J3w/rFa0fw8nL59Xa/IbhEe/i9TxkQga8kxEe83mGyMCSY21QP8y5w6z1JBys+Q==
dependencies:
async-validator "^4.2.5"
......@@ -514,22 +514,22 @@
"@ibiz/dynamic-model-api" "^2.0.5"
pluralize "^8.0.0"
"@ibiz-template/runtime@^0.0.1-alpha.13":
version "0.0.1-alpha.13"
resolved "https://registry.yarnpkg.com/@ibiz-template/runtime/-/runtime-0.0.1-alpha.13.tgz#983facfae054fb49c2dd98c6c8dab38a471be9c9"
integrity sha512-txnHlPNYcy5A+SbnOOd1Sc5IKwN+Ztbeq/eRE7kMtuXO+Bwc7s6sITy4xUhA8Ywj6EjuAqRf362HA0jOsPe+Sg==
"@ibiz-template/runtime@^0.0.1-alpha.14":
version "0.0.1-alpha.14"
resolved "https://registry.yarnpkg.com/@ibiz-template/runtime/-/runtime-0.0.1-alpha.14.tgz#f62d7638c608368caf119d070d9da82d28793ed2"
integrity sha512-CD5Uc9Cr8Zn8iL7NxRs9nbb+J3AAE+RRPrcMvi9xbkpo6qlXiroyMHsNk0R7mKtQ6zkukocU8k4yR05+OR1I6g==
dependencies:
"@ibiz-template/command" "^0.0.1-alpha.13"
"@ibiz-template/service@^0.0.1-alpha.13":
version "0.0.1-alpha.13"
resolved "https://registry.yarnpkg.com/@ibiz-template/service/-/service-0.0.1-alpha.13.tgz#beb8a8cbf0e41c0e12aa32bc98f64c657f5b5d97"
integrity sha512-T+3kmWVU8VvuKD+fhwp+nq4BR+1vpW5Wd65yNisrApZrGj+vpKMjdops8B4ogA/Vu6DIs5VPbhaibS3sYFjXVQ==
"@ibiz-template/service@^0.0.1-alpha.14":
version "0.0.1-alpha.14"
resolved "https://registry.yarnpkg.com/@ibiz-template/service/-/service-0.0.1-alpha.14.tgz#5110cb981d0918e62e02f81d0ef24764ec8c9e35"
integrity sha512-8qxTaTzVnK2z1NRvRLJhK2cJUsJobp6XnC2MDmMSbxEIf0/LvKh3v7KDP+G2Y4wK3jGQxdAuSBGdTwYBxHlmVQ==
"@ibiz-template/vue-util@^0.0.1-alpha.13":
version "0.0.1-alpha.13"
resolved "https://registry.yarnpkg.com/@ibiz-template/vue-util/-/vue-util-0.0.1-alpha.13.tgz#4e643aed8acfb80b27dee5c16a8ec8a711cf01fb"
integrity sha512-dRJSitjsQp0blIjuyFia1LZHmvJPXF25eEtFzmv9RbnEwkz/9Dd2H2dPtuqyZaqlYF9sKcWbuFRsC9Rjyz9wSQ==
"@ibiz-template/vue-util@^0.0.1-alpha.14":
version "0.0.1-alpha.14"
resolved "https://registry.yarnpkg.com/@ibiz-template/vue-util/-/vue-util-0.0.1-alpha.14.tgz#148e80cbc67ab4c168001a96e3dd425d65a5464c"
integrity sha512-a/IN9YAnsiFVAB6ccnLHp3h71EK/I4+BVjX+vTIGuN3hq3z+LFqaBq7BYg/2G8L3aFPBMU+83UZg/vi7fMaBKQ==
"@ibiz/dynamic-model-api@^2.0.5":
version "2.0.5"
......
......@@ -25,7 +25,7 @@
</modules>
<properties>
<ibiz.cloud.version>8.1.0.221</ibiz.cloud.version>
<ibiz.cloud.version>8.1.0.223</ibiz.cloud.version>
</properties>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册