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

ibiz4j 发布系统代码

上级 9a384406
.action-timeline {
position: relative;
height: 100%;
.action-timeline-wrapper {
padding-left: 115px;
color: var(--view-font-color-bright);
>.action-timeline-item {
position: relative;
height: 30px;
display: list-item;
list-style: none;
top: -6px;
>.timeline-time {
position: absolute;
left: -115px;
top: 5px;
font-size: 12px;
}
>.timeline-content {
padding: 5px;
padding-left: 65px;
}
}
>.action-timeline-item::before {
position: absolute;
top: 17px;
left: 45px;
z-index: 3;
width: 7px;
height: 7px;
background-color: var(--view-button-background-color);
border: 1px solid red;
content: ' ';
border-radius: 50%;
}
>.action-timeline-item:nth-child(n+2)::after {
position: absolute;
top: -7px;
bottom: 12px;
left: 48px;
z-index: 1;
display: block;
content: ' ';
border-left: 1px solid red;
}
}
.action-timeline-group-wrapper {
padding-left: 200px;
padding-right: 30px;
color: var(--view-font-color-bright);
.action-timeline-group {
position: relative;
padding-top: 30px;
>.date {
position: absolute;
width: 150px;
left: -170px;
border: 2px solid red;
font-size: 18px;
padding: 16px;
>.arrow {
position: absolute;
top: 16px;
right: 16px;
cursor: pointer;
}
}
>.date::before {
content: ' ';
display: block;
position: absolute;
right: -22px;
top: 30px;
height: 2px;
width: 20px;
background-color: red;
}
>.timeline {
padding: 16px;
border: 2px solid red;
}
}
}
}
\ No newline at end of file
<template>
<div class="action-timeline">
<template v-for="(item, index) in items">
<div :key='index' class='action-timeline-group-wrapper'>
<template v-for="(usertask, usertaskIndex) in item.usertasks">
<div :key='usertaskIndex' class='action-timeline-group expand'>
<div class='date'>
{{ usertask.userTaskName }}
<div class='arrow'>
<i @click="changeExpand($event)" class="el-icon-arrow-down" />
</div>
</div>
<div class='timeline'>
<template v-if="usertask.identitylinks && usertask.identitylinks.length > 0">
等待
<strong>
<template v-for="(identitylink, len) in usertask.identitylinks">
{{ identitylink.displayname }}
<template v-if="len != usertask.identitylinks.length - 1">
</template>
</template>
</strong>
处理
</template>
<template v-else>
<ul class="action-timeline-wrapper">
<template v-if="!usertask.isShow">
<template>
<li class="action-timeline-item">
<div class='timeline-time'>
{{ formatDate(usertask.comments[0].time, 'MM月DD日')}} &nbsp;{{ usertask.comments[0].authorName }}
</div>
<div class='timeline-content'>
{{ usertask.comments[0].type }}&nbsp;{{ usertask.comments[0].fullMessage }}
</div>
</li>
</template>
</template>
<template v-else>
<template v-for="(comment, commentIndex) in usertask.comments">
<li :key="commentIndex" class="action-timeline-item">
<div class='timeline-time'>
{{ formatDate(comment.time, 'MM月DD日')}} &nbsp;{{ comment.authorName }}
</div>
<div class='timeline-content'>
{{ comment.type }}&nbsp;{{ comment.fullMessage }}
</div>
</li>
</template>
</template>
</ul>
</template>
</div>
</div>
</template>
</div>
</template>
</div>
</template>
<script lang="ts">
import { Vue, Component, Prop } from 'vue-property-decorator';
import { ActionTimelineItem } from './action-timeline-interface';
import moment from 'moment';
@Component({
})
export default class ActionTimeline extends Vue {
@Prop() public data!: any;
public items: any[] = [{
"id": "40833204-9be4-11ea-9c94-0242130d84ce",
"name": null,
"processDefinitionKey": null,
"processDefinitionName": null,
"businessKey": "DC20200522022",
"startTime": "2020-05-22 12:25:22",
"endTime": null,
"startUserId": "001-004_0001",
"startUserName": "隆俊杰",
"usertasks": [{
"userTaskId": "tid-1-1f3eda90105907e25e6f2e8c0f82b903",
"userTaskName": "管理员审批",
"processDefinitionKey": null,
"processDefinitionName": null,
"identitylinks": [],
"comments": [{
"id": "44eddf40-9be4-11ea-9c94-0242130d84ce",
"author": "001-004_0001",
"authorName": "隆俊杰",
"fullMessage": "",
"time": "2020-05-22 12:25:29",
"type": "审批不通过",
"taskId": "40844383-9be4-11ea-9c94-0242130d84ce",
"processInstanceId": "40833204-9be4-11ea-9c94-0242130d84ce",
"processInstanceBusinessKey": "DC20200522022"
}, {
"id": "b39cfc68-9be4-11ea-9c94-0242130d84ce",
"author": "450000-000",
"authorName": "ibzadmin",
"fullMessage": "",
"time": "2020-05-22 12:28:35",
"type": "审批不通过",
"taskId": "a6c57ad1-9be4-11ea-9c94-0242130d84ce",
"processInstanceId": "40833204-9be4-11ea-9c94-0242130d84ce",
"processInstanceBusinessKey": "DC20200522022"
}]
}, {
"userTaskId": "tid-2-c60d498abacb47b510e0aa9d64a55e57",
"userTaskName": "被驳回",
"processDefinitionKey": null,
"processDefinitionName": null,
"identitylinks": [{
"id": "001-004_0001",
"firstname": null,
"displayname": "隆俊杰"
}],
"comments": [{
"id": "a6c21f6e-9be4-11ea-9c94-0242130d84ce",
"author": "001-004_0001",
"authorName": "隆俊杰",
"fullMessage": "",
"time": "2020-05-22 12:28:14",
"type": "提交",
"taskId": "44f09e63-9be4-11ea-9c94-0242130d84ce",
"processInstanceId": "40833204-9be4-11ea-9c94-0242130d84ce",
"processInstanceBusinessKey": "DC20200522022"
}]
}]
}];
public created() {
this.handleData();
}
public handleData() {
if(this.data) {
this.items = this.data;
}
}
public formatDate(date: string, format: string) {
return moment(date).format(format);
}
public updown: boolean = false;
public changeExpand($event:any) {
this.items.forEach((item: any) => {
item.usertasks.forEach((usertask: any) => {
if(usertask.comments.length > 0) {
usertask.isShow = false;
}
})
})
}
public expands: any;
public handleIdentData() {
if(this.data) {
this.items = this.data;
this.items.forEach((item: any) => {
item.usertasks.forEach((usertask: any) => {
usertask.isShow = true;
})
})
}
}
}
</script>
<style lang='less'>
@import './action-timeline.less';
</style>
\ No newline at end of file
......@@ -40,6 +40,7 @@ export default {
redirect_uri: "RedirectURI",
region_id: "RegionId",
disabled: "是否禁用",
lic: "授权",
accessid: "开放平台接入标识",
},
uiactions: {
......
......@@ -39,6 +39,7 @@ export default {
redirect_uri: "RedirectURI",
region_id: "RegionId",
disabled: "是否禁用",
lic: "授权",
accessid: "开放平台接入标识",
},
uiactions: {
......
......@@ -109,6 +109,13 @@
</app-form-item>
</i-col>
<i-col v-show="detailsModel.lic.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='lic' :itemRules="this.rules().lic" class='' :caption="$t('entities.sysopenaccess.main_form.details.lic')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.lic.error" :isEmptyCaption="false" labelPos="LEFT">
<app-file-upload :formState="formState" :ignorefieldvaluechange="ignorefieldvaluechange" @formitemvaluechange="onFormItemValueChange" :data="JSON.stringify(this.data)" name='lic' :value="data.lic" :disabled="detailsModel.lic.disabled" :uploadparams='{}' :exportparams='{}' style="overflow: auto;"></app-file-upload>
</app-form-item>
</i-col>
</row>
......@@ -460,6 +467,7 @@ export default class MainBase extends Vue implements ControlInterface {
redirect_uri: null,
region_id: null,
disabled: null,
lic: null,
accessid: null,
sysopenaccess:null,
};
......@@ -588,6 +596,12 @@ export default class MainBase extends Vue implements ControlInterface {
{ required: false, type: 'number', message: '是否禁用 值不能为空', trigger: 'change' },
{ required: false, type: 'number', message: '是否禁用 值不能为空', trigger: 'blur' },
],
lic: [
{ type: 'string', message: '授权 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '授权 值必须为字符串类型', trigger: 'blur' },
{ required: false, type: 'string', message: '授权 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: '授权 值不能为空', trigger: 'blur' },
],
accessid: [
{ type: 'string', message: '开放平台接入标识 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '开放平台接入标识 值必须为字符串类型', trigger: 'blur' },
......@@ -713,6 +727,8 @@ export default class MainBase extends Vue implements ControlInterface {
region_id: new FormItemModel({ caption: 'RegionId', detailType: 'FORMITEM', name: 'region_id', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
,
disabled: new FormItemModel({ caption: '是否禁用', detailType: 'FORMITEM', name: 'disabled', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
,
lic: new FormItemModel({ caption: '授权', detailType: 'FORMITEM', name: 'lic', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
,
accessid: new FormItemModel({ caption: '开放平台接入标识', detailType: 'FORMITEM', name: 'accessid', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
,
......@@ -886,6 +902,18 @@ export default class MainBase extends Vue implements ControlInterface {
this.formDataChange({ name: 'disabled', newVal: newVal, oldVal: oldVal });
}
/**
* 监控表单属性 lic 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@Watch('data.lic')
onLicChange(newVal: any, oldVal: any) {
this.formDataChange({ name: 'lic', newVal: newVal, oldVal: oldVal });
}
/**
* 监控表单属性 accessid 值
*
......@@ -969,6 +997,7 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
......
......@@ -85,6 +85,9 @@ export default class MainModel {
prop: 'disabled',
dataType: 'YESNO',
},
{
name: 'lic',
},
{
name: 'accessid',
prop: 'id',
......
......@@ -32,7 +32,7 @@
<!--输出实体[SYS_OPEN_ACCESS]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_open_access-28-2">
<changeSet author="a_A_5d9d78509" id="tab-sys_open_access-30-2">
<createTable tableName="IBZOPENACCESS">
<column name="ACCESSID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_OPEN_ACCESS_ACCESSID"/>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册