feat:弹窗自定义、输入过滤的临时方案示例;

master
zhoulei 3 years ago
parent 2a3d62282e
commit e06fba9800

@ -1,28 +1,38 @@
<!--
* @Author: zhou lei
* @Date: 2021-12-14 09:59:02
* @LastEditTime: 2022-01-20 11:53:51
* @LastEditors: zhou lei
* @Description:
* @FilePath: /wms_haiwai_app/src/App.vue
* 联系方式:910592680@qq.com 18669792120 科海达信息技术有限公司
-->
<script lang="ts">
import Vue from "vue";
import Vue from 'vue';
import MyMixin from './utils/mixin';
// #ifdef APP-PLUS
import checkAppUpdate from "@/plugins/app-update";
import checkAppUpdate from '@/plugins/app-update';
// #endif
export default Vue.extend({
mpType: "app",
mpType: 'app',
onLaunch() {
console.log("App Launch");
console.log('App Launch');
// #ifdef APP-PLUS
checkAppUpdate();
// #endif
},
onShow() {
console.log("App Show");
console.log('App Show');
},
onHide() {
console.log("App Hide");
console.log('App Hide');
},
});
</script>
<style lang="scss">
/* 注意要写在第一行同时给style标签加入lang="scss"属性 */
@import "~uview-ui/index.scss";
@import '~uview-ui/index.scss';
/*每个页面公共css */
page {
height: 100%;

@ -1,7 +1,17 @@
import { Component, Vue } from "vue-property-decorator";
import { page } from "@/utils/page";
import { session } from "@/store/modules/session";
import { image } from "@/utils/image";
/*
* @Author: zhou lei
* @Date: 2021-11-08 17:12:53
* @LastEditTime: 2022-01-20 11:57:05
* @LastEditors: zhou lei
* @Description:
* @FilePath: /wms_haiwai_app/src/components/base/page.ts
* :910592680@qq.com 18669792120
*/
import { Component, Vue } from 'vue-property-decorator';
import { page } from '@/utils/page';
import { session } from '@/store/modules/session';
import { image } from '@/utils/image';
@Component
export class BasePage extends Vue {
/**

@ -11,6 +11,7 @@
<u-image width="288rpx" height="85rpx" :src="image.global.logo1"></u-image>
<span>V1.6</span>
</view>
<u-form class="form" :model="form" ref="form" :border-bottom="false" :error-type="['toast']">
<u-form-item
class="form-item"
@ -24,7 +25,7 @@
}"
><u-input
v-model="form.username"
:placeholder="this.$t('message.PleaseInputUserName')"
:placeholder="$t('message.PleaseInputUserName')"
placeholder-style="color: rgba(255, 255, 255, 0.36)"
:custom-style="{
height: '88rpx',
@ -44,7 +45,7 @@
}"
><u-input
v-model="form.password"
:placeholder="this.$t('message.PleaseInputPassword')"
:placeholder="$t('message.PleaseInputPassword')"
type="password"
placeholder-style="color: rgba(255, 255, 255, 0.36)"
:custom-style="{
@ -77,7 +78,7 @@
</template>
<script lang="ts">
import { Component, Ref } from 'vue-property-decorator';
import { Component, Ref, Watch } from 'vue-property-decorator';
import { server } from '@/pages/login/server/model';
import Alerts from '@/components/alert/alerts.vue';
import { page } from '@/utils/page';
@ -85,11 +86,13 @@ import { session } from '@/store/modules/session';
import { BasePage } from '@/components/base/page';
import { VForm } from 'vue/types/form';
import { Lang } from '@/i18n';
import { url } from '@/utils/url';
// mixin
import MyMixins from '@/utils/mixin';
// import { any } from 'lodash/fp';
@Component({
components: { Alerts },
mixins: [MyMixins],
})
export default class LoginPage extends BasePage {
/**
@ -107,6 +110,14 @@ export default class LoginPage extends BasePage {
return server.serverAddress;
}
//
username = '';
@Watch('username')
typeNum() {
this.$nextTick(() => {
this.username = this.username.replace(/^(\d+)\.(\d\d).*$/, '$1.$2');
});
}
form = {
username: '',
password: '',

@ -0,0 +1,27 @@
/*
* @Author: zhou lei
* @Date: 2022-01-20 11:26:20
* @LastEditTime: 2022-01-20 17:48:10
* @LastEditors: zhou lei
* @Description:
* @FilePath: /wms_haiwai_app/src/utils/mixin.ts
* :910592680@qq.com 18669792120
*/
import Vue from 'vue';
import { Component } from 'vue-property-decorator';
@Component // 一定要用Component修饰
export default class MyMixins extends Vue {
customToast(msg: string, type = 'toast', title = '') {
if (type === 'toast') {
uni.showToast({
title: msg,
});
} else {
uni.showModal({
title: title,
content: msg,
});
}
}
}
Loading…
Cancel
Save