From e17108966ccfcaee2bef8d981601c79c8716e304 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期四, 28 三月 2024 13:53:39 +0800 Subject: [PATCH] Merge branch 'demo' of http://47.97.1.152:5880/r/wms_app into demo --- components/z-input/z-input.vue | 131 ++++++++++++++++++++++++++++++++----------- 1 files changed, 97 insertions(+), 34 deletions(-) diff --git a/components/z-input/z-input.vue b/components/z-input/z-input.vue index ab8a105..287ed1b 100644 --- a/components/z-input/z-input.vue +++ b/components/z-input/z-input.vue @@ -3,11 +3,29 @@ <view class="main"> <view class="inner1">{{desc}}</view> <view class="put inner2"> - <input class="p-input" type="text" :placeholder="placeholder" @input="input" v-model="val"> - <uni-icons class="p-icon" type="closeempty" size="16" color="#707070" v-show="val.length" @click="clear"></uni-icons> + <uni-icons class="p-icon" + type="scan" + size="16" + color="#a6a6a6" + @click="scanCode" + > + </uni-icons> + <input class="p-input" + type="text" + :placeholder="placeholder" + v-model="data" + :focus="focusData" @input="inputVal"> + + <uni-icons class="p-icon" + type="closeempty" + size="16" + color="#b9b9b9" + v-show="data.length" + @click="clear"> + </uni-icons> </view> <view class="inner3" v-show="btn"> - <button class="m-btn" size="mini">{{btnName}}</button> + <button class="m-btn" size="mini" @click="clickBtn">{{btnName}}</button> </view> </view> </view> @@ -16,8 +34,22 @@ <script> export default { name:"z-input", + data() { + return { + data:'', + focusData: false + }; + }, props: { + index: { + type: Number, + default: 0 + }, desc: { + type: String, + default: '' + }, + name: { type: String, default: '' }, @@ -31,42 +63,70 @@ }, placeholder: { type: String, - default: '璇疯緭鍏�' + default: '鎵爜 / 褰曞叆' }, value: { - type: String, + type: [String,Number], default: '' }, lenCheck: { type: [Number], default: null }, + focus: { + type: Boolean, + default: false + } }, watch: { - value(val) { - console.log(1); - this.val = val + data(val) { + if (!this.lenCheck) { + this.$emit('input',val) + return + } + if (val.length != this.lenCheck) { + console.log(val); + setTimeout(()=>{ + this.data = '' + this.$emit('input','') + },10) + } else { + this.$emit('input',val) + } }, + value(val) { + this.data = val + }, + focus(f) { + this.focusData = !f + setTimeout(()=>{ + this.focusData = f + },10) + } }, created() { - this.val = this.value - }, - data() { - return { - val:'', - }; + this.data = this.value + this.focusData = this.focus }, methods: { - input() { - console.log(3); - if(this.val.length != this.lenCheck) { - this.val = '' - } - this.$emit('input',this.val); - }, clear() { - this.val = '' - this.input() + this.data = '' + }, + clickBtn() { + this.$emit('clickBtn'); + }, + inputVal() { + this.$emit('inputVal',{title:this.name,value:this.data}); + }, + scanCode() { + let _this = this + uni.scanCode({ + onlyFromCamera: true, + success(res) { + _this.data = res.result + _this.$emit('inputVal',{title:_this.name,value:_this.data}) + } + }) } } } @@ -76,9 +136,8 @@ .main { display: flex; align-items: center; - min-height: 70rpx; - background-color: #FFF; - /* border-bottom: 1px solid darkgray; */ + min-height: 50px; + background-color: #fff; } .put { display: flex; @@ -86,34 +145,38 @@ } .inner1 { - width: 120rpx; + width: 55px; padding-left: 8px; - font-weight: 700; + color: #606164; + font-weight: 900; font-family:'Helvetica Neue'; } .inner2 { - background-color: aliceblue; + background-color: #f8f8f8; flex: 1; display: flex; align-items: center; justify-content: center; + border-radius: 5px; + margin-right: 32rpx; + color: #606266; } .p-input { flex:1; - padding-left: 8px; + padding: 4px; } .p-icon { - margin-left: 8px; - margin-right: 8px; + margin-left: 4px; + margin-right: 4px; } .inner3 { - width: 200rpx; + width: 90px; display: flex; align-items: center; justify-content: center; } .m-btn { - background-color: #3c9cff; + background-color: #00aeec; color: #FFF; } .m-btn:active { -- Gitblit v1.9.1