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

tony001 发布系统代码 [后台服务,演示应用]

上级 acc51616
......@@ -6,16 +6,19 @@
border: 1px solid #dcdee2;
margin-left: 10px;
color: #606266;
background-color: #fff;
&:hover {
border: 1px solid #dcdee2;
}
&.is-disabled {
background-color: #f5f5f5;
color: #00000040;
}
}
}
.code{
padding-top: 8px;
}
.error {
color: red;
.ivu-alert-error {
background-color: rgb(255, 225, 225);
}
}
\ No newline at end of file
<template>
<div class="app-login-note-verify">
<div :class="[model.sysCss, 'app-login-note-verify']" :style="containerStyle">
<div class="content">
<i-input
size="default"
......@@ -8,15 +8,12 @@
:placeholder="$t('components.login.phoneplaceholder')"
@on-blur="veriPhoneNumber"
></i-input>
<el-button
:disabled="disabled"
size="mini"
type="primary"
@click="getVeriCode()"
>{{ disabled ? `${countDown}s ${$t('components.login.getcodeafter')}` : `${$t('components.login.getcode')}` }}</el-button
>
<el-button :disabled="disabled" size="mini" @click="getVeriCode()">{{
disabled ? `${delay}s ${$t("components.login.getcodeafter")}` : `${$t("components.login.getcode")}`
}}</el-button>
</div>
<div class="code">
<alert v-show="phoneError" type="error">电话号码格式错误</alert>
<div class="code" v-show="this.show">
<i-input
size="default"
type="text"
......@@ -28,118 +25,140 @@
</div>
</template>
<script lang='ts'>
<script lang="ts">
import { PanelFieldModel } from "@/model/panel-detail";
import { Vue, Component, Prop } from "vue-property-decorator";
@Component({})
export default class AppPresetSmsVerification extends Vue {
export default class AppLoginNoteVerify extends Vue {
/**
* 模型
*
* @type {string}
* @memberof AppLoginInput
*/
@Prop() public model!: PanelFieldModel;
/**
*验证码
*
*
* @type {string}
* @memberof AppPresetSmsVerification
* @memberof AppLoginInput
*/
@Prop() public value!: string;
/**
* 名称
*
* @type {string}
* @memberof AppLoginInput
*/
@Prop() public name!: string;
/**
*验证码当前值
*
* @type {string}
* @memberof AppPresetSmsVerification
* @memberof AppLoginNoteVerify
*/
get currentValue(): string {
return this.value;
}
/**
* 手机号
*
* @type {*}
* @memberof AppPresetSmsVerification
* @memberof AppLoginNoteVerify
*/
public phoneNumber: string = '';
/**
* 倒计时
*
* @type {*}
* @memberof AppPresetSmsVerification
*/
public countDown: number = 60;
public phoneNumber: string = "";
/**
* 错误提示
* @type {*}
* @memberof AppPresetSmsVerification
* @memberof AppLoginNoteVerify
*/
public phoneError = false;
/**
* 是否禁用获取验证码按钮
*
* @type {*}
* @memberof AppPresetSmsVerification
* @type {boolean}
* @memberof AppLoginNoteVerify
*/
public disabled: boolean = false;
/**
* 定时器
* 显示验证码输入框
*
* @type {*}
* @memberof AppPresetSmsVerification
* @type {boolean}
* @memberof AppLoginNoteVerify
*/
public timer: any;
public show: boolean = false;
/**
* @description 设置倒计时
* @memberof AppPresetSmsVerification
* 延迟
*
* @type {number}
* @memberof AppLoginNoteVerify
*/
public setCountDown() {
if (this.countDown > 0) {
this.countDown--;
} else {
this.countDown = 60;
this.disabled = false;
clearInterval(this.timer);
}
this.$forceUpdate();
}
public delay: number = 60;
/**
* 定时器
*
* @type {any}
* @memberof AppLoginNoteVerify
*/
public timer: any = null;
/**
* @description 验证码输入变化
* @memberof AppPresetSmsVerification
* @memberof AppLoginNoteVerify
*/
public codeChange(value: string) {
this.$emit("change", value);
this.$emit("valueChange", { name: this.name, value: value });
}
/**
* @description 校验手机号
* @memberof AppPresetSmsVerification
* @memberof AppLoginNoteVerify
*/
public veriPhoneNumber(): boolean {
this.phoneError = !/^1[3-9]\d{9}$/.test(this.phoneNumber);
if(this.phoneError) {
this.$emit("error", this.$t('components.login.phonefailed'));
return this.phoneError;
}
/**
* @description 设置延迟时间
* @memberof AppLoginNoteVerify
*/
public setDelay() {
this.timer = setInterval(() => {
if (this.delay > 0) {
this.delay--;
} else {
this.$emit("error", '');
this.delay = 60;
this.disabled = false;
clearInterval(this.timer);
}
return this.phoneError;
}, 1000)
}
/**
* @description 获取验证码
* @memberof AppPresetSmsVerification
* @memberof AppLoginNoteVerify
*/
public getVeriCode() {
if(this.phoneError) return;
if (this.phoneError) return;
// todo 获取验证码
this.show = true;
this.disabled = true;
this.setDelay();
}
}
</script>
<style lang='less'>
<style lang="less">
@import "./app-login-note-verify.less";
</style>
......@@ -96,9 +96,9 @@
</template>
<template #static_carousel1>
<span>轮播图参数:
参数:SA.SRFDA.PS.Core.Res.PSSysImageImpl@3f134cf5
参数:SA.SRFDA.PS.Core.Res.PSSysImageImpl@c21892d
参数:SA.SRFDA.PS.Core.Res.PSSysImageImpl@6db4ef93
参数:SA.SRFDA.PS.Core.Res.PSSysImageImpl@36931f1
参数:SA.SRFDA.PS.Core.Res.PSSysImageImpl@6f4dc6f6
参数:SA.SRFDA.PS.Core.Res.PSSysImageImpl@5b417990
</span>
<app-rawitem-carousel
type="STATIC_CAROUSEL"
......
......@@ -35,7 +35,7 @@
<app-login-captcha name="auth_captcha1" :model="layoutModelDetails.auth_captcha1" :value="layoutData.auth_captcha1" @valueChange="handleValueChange" />
</template>
<template #auth_verificationcode>
<app-login-note-verify />
<app-login-note-verify name="auth_verificationcode" :model="layoutModelDetails.auth_verificationcode" :value="layoutData.auth_verificationcode" @valueChange="handleValueChange" />
</template>
<template #auth_loginmsg>
<app-login-message name="auth_loginmsg" :model="layoutModelDetails.auth_loginmsg" :value="layoutData.auth_loginmsg" />
......
......@@ -621,7 +621,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/
public load(opt: any = {}): void {
if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return;
}
const arg: any = { ...opt };
......@@ -657,7 +657,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/
public loadDraft(opt: any = {},mode?:string): void {
if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return;
}
const arg: any = { ...opt } ;
......
......@@ -48,18 +48,18 @@
<div v-show="flag" class="batch-toolbar">
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="usr2dataviewdataview_batchtoolbarModels.deuiaction1.visabled" :disabled="usr2dataviewdataview_batchtoolbarModels.deuiaction1.disabled" class='' v-loading:i-button @click="dataview_batchtoolbar_click({ tag: 'deuiaction1' }, $event)">
<i-button v-show="dataviewexpviewdataviewexpbar_dataview_batchtoolbarModels.deuiaction1.visabled" :disabled="dataviewexpviewdataviewexpbar_dataview_batchtoolbarModels.deuiaction1.disabled" class='' v-loading:i-button @click="dataviewexpbar_dataview_batchtoolbar_click({ tag: 'deuiaction1' }, $event)">
<i class='fa fa-edit'></i>
<span class='caption'>{{$t('entities.ibizbook.usr2dataviewdataview_batchtoolbar_toolbar.deuiaction1.caption')}}</span>
<span class='caption'>{{$t('entities.ibizbook.dataviewexpviewdataviewexpbar_dataview_batchtoolbar_toolbar.deuiaction1.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibizbook.usr2dataviewdataview_batchtoolbar_toolbar.deuiaction1.tip')}}</div>
<div slot='content'>{{$t('entities.ibizbook.dataviewexpviewdataviewexpbar_dataview_batchtoolbar_toolbar.deuiaction1.tip')}}</div>
</tooltip>
<tooltip :transfer="true" :max-width="600">
<i-button v-show="usr2dataviewdataview_batchtoolbarModels.deuiaction2.visabled" :disabled="usr2dataviewdataview_batchtoolbarModels.deuiaction2.disabled" class='' v-loading:i-button @click="dataview_batchtoolbar_click({ tag: 'deuiaction2' }, $event)">
<i-button v-show="dataviewexpviewdataviewexpbar_dataview_batchtoolbarModels.deuiaction2.visabled" :disabled="dataviewexpviewdataviewexpbar_dataview_batchtoolbarModels.deuiaction2.disabled" class='' v-loading:i-button @click="dataviewexpbar_dataview_batchtoolbar_click({ tag: 'deuiaction2' }, $event)">
<i class='fa fa-remove'></i>
<span class='caption'>{{$t('entities.ibizbook.usr2dataviewdataview_batchtoolbar_toolbar.deuiaction2.caption')}}</span>
<span class='caption'>{{$t('entities.ibizbook.dataviewexpviewdataviewexpbar_dataview_batchtoolbar_toolbar.deuiaction2.caption')}}</span>
</i-button>
<div slot='content'>{{$t('entities.ibizbook.usr2dataviewdataview_batchtoolbar_toolbar.deuiaction2.tip')}}</div>
<div slot='content'>{{$t('entities.ibizbook.dataviewexpviewdataviewexpbar_dataview_batchtoolbar_toolbar.deuiaction2.tip')}}</div>
</tooltip>
</div>
</div>
......@@ -174,18 +174,18 @@ export default class Usr2Base extends Vue implements ControlInterface {
public appEntityService: IBIZBOOKEntityService = new IBIZBOOKEntityService({ $store: this.$store });
/**
* dataview_batchtoolbar 部件 click 事件
* dataviewexpbar_dataview_batchtoolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof Usr2Base
*/
public dataview_batchtoolbar_click($event: any, $event2?: any) {
public dataviewexpbar_dataview_batchtoolbar_click($event: any, $event2?: any) {
if (Object.is($event.tag, 'deuiaction1')) {
this.dataview_batchtoolbar_deuiaction1_click(null, 'dataview_batchtoolbar', $event2);
this.dataviewexpbar_dataview_batchtoolbar_deuiaction1_click(null, 'dataviewexpbar_dataview_batchtoolbar', $event2);
}
if (Object.is($event.tag, 'deuiaction2')) {
this.dataview_batchtoolbar_deuiaction2_click(null, 'dataview_batchtoolbar', $event2);
this.dataviewexpbar_dataview_batchtoolbar_deuiaction2_click(null, 'dataviewexpbar_dataview_batchtoolbar', $event2);
}
}
......@@ -198,7 +198,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @param {*} [$event]
* @memberof
*/
public dataview_batchtoolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) {
public dataviewexpbar_dataview_batchtoolbar_deuiaction1_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
......@@ -226,7 +226,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @param {*} [$event]
* @memberof
*/
public dataview_batchtoolbar_deuiaction2_click(params: any = {}, tag?: any, $event?: any) {
public dataviewexpbar_dataview_batchtoolbar_deuiaction2_click(params: any = {}, tag?: any, $event?: any) {
// 参数
// 取数
let datas: any[] = [];
......@@ -254,7 +254,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @param {*} [$event]
* @memberof
*/
public dataview_memo1_u37f11a8_click(params: any = {}, tag?: any, $event?: any) {
public dataviewexpbar_dataview_memo1_u37f11a8_click(params: any = {}, tag?: any, $event?: any) {
// 取数
let datas: any[] = [];
let xData: any = null;
......@@ -281,7 +281,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @param {*} [$event]
* @memberof
*/
public dataview_memo1_uc365542_click(params: any = {}, tag?: any, $event?: any) {
public dataviewexpbar_dataview_memo1_uc365542_click(params: any = {}, tag?: any, $event?: any) {
// 取数
let datas: any[] = [];
let xData: any = null;
......@@ -309,7 +309,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKUsr2DataViewBase
* @memberof IBIZBOOKDataViewExpViewBase
*/
public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) {
......@@ -335,7 +335,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKUsr2DataViewBase
* @memberof IBIZBOOKDataViewExpViewBase
*/
public Remove(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this;
......@@ -629,9 +629,9 @@ export default class Usr2Base extends Vue implements ControlInterface {
* 工具栏模型
*
* @type {*}
* @memberof IBIZBOOKUsr2DataView
* @memberof IBIZBOOKDataViewExpView
*/
public usr2dataviewdataview_batchtoolbarModels: any = {
public dataviewexpviewdataviewexpbar_dataview_batchtoolbarModels: any = {
deuiaction1: { name: 'deuiaction1', actiontarget: 'NONE', caption: '编辑', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Edit', target: 'SINGLEKEY' } },
deuiaction2: { name: 'deuiaction2', actiontarget: 'NONE', caption: '删除', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Remove', target: 'MULTIKEY' } },
......@@ -956,7 +956,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
*/
public load(opt: any = {}, isReset: boolean = false): void {
if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr2DataView' + (this.$t('app.list.notConfig.fetchAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKDataViewExpView' + (this.$t('app.list.notConfig.fetchAction') as string) });
return;
}
const arg: any = {...opt};
......@@ -1036,7 +1036,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
*/
public async remove(datas: any[]): Promise<any> {
if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr2DataView' + (this.$t('app.gridpage.notConfig.removeAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKDataViewExpView' + (this.$t('app.gridpage.notConfig.removeAction') as string) });
return;
}
let _datas:any[] = [];
......@@ -1146,7 +1146,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
try {
if(Object.is(item.rowDataState, 'create')){
if(!this.createAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr2DataView' + (this.$t('app.list.notConfig.createAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKDataViewExpView' + (this.$t('app.list.notConfig.createAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator);
......@@ -1154,7 +1154,7 @@ export default class Usr2Base extends Vue implements ControlInterface {
}
}else if(Object.is(item.rowDataState, 'update')){
if(!this.updateAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr2DataView' + (this.$t('app.list.notConfig.updateAction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKDataViewExpView' + (this.$t('app.list.notConfig.updateAction') as string) });
}else{
Object.assign(item,{viewparams:this.viewparams});
if(item.ibizbook){
......@@ -1245,16 +1245,16 @@ export default class Usr2Base extends Vue implements ControlInterface {
public uiAction(data: any, tag: any, $event: any) {
$event.stopPropagation();
if(Object.is('Edit', tag)) {
this.dataview_batchtoolbar_deuiaction1_click(data, tag, $event);
this.dataviewexpbar_dataview_batchtoolbar_deuiaction1_click(data, tag, $event);
}
if(Object.is('Remove', tag)) {
this.dataview_batchtoolbar_deuiaction2_click(data, tag, $event);
this.dataviewexpbar_dataview_batchtoolbar_deuiaction2_click(data, tag, $event);
}
if(Object.is('Edit', tag)) {
this.dataview_memo1_u37f11a8_click(data, tag, $event);
this.dataviewexpbar_dataview_memo1_u37f11a8_click(data, tag, $event);
}
if(Object.is('Remove', tag)) {
this.dataview_memo1_uc365542_click(data, tag, $event);
this.dataviewexpbar_dataview_memo1_uc365542_click(data, tag, $event);
}
}
......
......@@ -1545,7 +1545,7 @@ export default class SFormBase extends Vue implements ControlInterface {
*/
public load(opt: any = {}): void {
if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderTestCLEditView2' + (this.$t('app.formpage.notconfig.loadaction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderSEditView3' + (this.$t('app.formpage.notconfig.loadaction') as string) });
return;
}
const arg: any = { ...opt };
......@@ -1580,7 +1580,7 @@ export default class SFormBase extends Vue implements ControlInterface {
*/
public loadDraft(opt: any = {}): void {
if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderTestCLEditView2' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderSEditView3' + (this.$t('app.formpage.notconfig.loaddraftaction') as string) });
return;
}
const arg: any = { ...opt } ;
......@@ -1642,7 +1642,7 @@ export default class SFormBase extends Vue implements ControlInterface {
const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction;
if(!action){
let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction";
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderTestCLEditView2' + (this.$t('app.formpage.notconfig.actionname') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderSEditView3' + (this.$t('app.formpage.notconfig.actionname') as string) });
return;
}
Object.assign(arg,{viewparams:this.viewparams});
......@@ -1750,7 +1750,7 @@ export default class SFormBase extends Vue implements ControlInterface {
const action: any = Object.is(data.srfuf, '1') ? this.updateAction : this.createAction;
if(!action){
let actionName:any = Object.is(data.srfuf, '1')?"updateAction":"createAction";
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderTestCLEditView2' + (this.$t('app.formpage.notconfig.actionname') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderSEditView3' + (this.$t('app.formpage.notconfig.actionname') as string) });
return;
}
Object.assign(arg,{viewparams:this.viewparams});
......@@ -1827,7 +1827,7 @@ export default class SFormBase extends Vue implements ControlInterface {
public remove(opt:Array<any> = [],showResultInfo?: boolean): Promise<any> {
return new Promise((resolve: any, reject: any) => {
if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderTestCLEditView2' + (this.$t('app.formpage.notconfig.removeaction') as string) });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZOrderSEditView3' + (this.$t('app.formpage.notconfig.removeaction') as string) });
return;
}
const arg: any = opt[0];
......
......@@ -172,7 +172,7 @@
<!--输出实体[IBIZBOOK]数据结构 -->
<changeSet author="a_LAB01_df847bdfd" id="tab-ibizbook-18-7">
<changeSet author="a_LAB01_df847bdfd" id="tab-ibizbook-28-7">
<createTable tableName="T_IBIZBOOK">
<column name="CREATEMAN" remarks="" type="VARCHAR(60)">
</column>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册