From e92aeae89a7430b326ab2157ed5004cc5c87d659 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期五, 28 十一月 2025 18:21:56 +0800
Subject: [PATCH] 75
---
components/oi-form/list/select/index.vue | 57 +--
locale/es.json | 1
pages/modal/3018_2.vue | 31 +
pages/modal/3200_view.vue | 10
pages/modal/5601.vue | 3
components/data-select/index.vue | 723 ++++++++++++++++++++++++++++++++++++++++++++++++
pages/modal/3202.vue | 22 +
locale/zh-Hans.json | 1
pages/index/index.vue | 2
locale/en.json | 1
pages/modal/3202_view.vue | 20
locale/zh-Hant.json | 1
pages/modal/3200.vue | 19 +
manifest.json | 4
14 files changed, 832 insertions(+), 63 deletions(-)
diff --git a/components/data-select/index.vue b/components/data-select/index.vue
new file mode 100644
index 0000000..9b5b715
--- /dev/null
+++ b/components/data-select/index.vue
@@ -0,0 +1,723 @@
+<template>
+ <view class="oi-data-select">
+ <span v-if="label" class="uni-label-text hide-on-phone">{{label + '锛�}}</span>
+ <view class="uni-stat-box" :class="{'uni-stat__actived': current}">
+ <view class="uni-select" :class="{'uni-select--disabled':disabled}">
+ <view class="uni-select__input-box" @click="toggleSelector">
+ <input class="uni-select__input-text" :class="disabled?'input-disabled':''" v-model="current"
+ :placeholder="typePlaceholder" @blur="onBlur" :disabled="disabled || !filterable" />
+ <view v-if="modelValue && clear && !disabled" @click.stop="clearVal">
+ <uni-icons type="clear" color="#c0c4cc" size="24" />
+ </view>
+ <view v-else>
+ <uni-icons :type="showSelector? 'top' : 'bottom'" size="14" color="#999" />
+ </view>
+ </view>
+ <view class="uni-select--mask" v-if="showSelector" @click="toggleSelector()" />
+ <template v-if="popDown">
+ <view class="uni-select__selector" v-if="showSelector">
+ <view class="uni-popper__arrow"></view>
+ <scroll-view scroll-y="true" class="uni-select__selector-scroll">
+ <view class="uni-select__selector-empty" v-if="selections.length === 0">
+ <text>{{emptyTips}}</text>
+ </view>
+ <view v-else class="uni-select__selector-item"
+ :class="item.value == modelValue ?'selected-item':''" v-for="(item,index) in selections"
+ :key="index" @click="change(item)">
+ <text
+ :class="{'uni-select__selector__disabled': item.disable}">{{formatItemName(item)}}</text>
+ </view>
+ </scroll-view>
+ </view>
+ </template><template v-else>
+ <view class="uni-select__selector-top" v-if="showSelector">
+
+ <scroll-view scroll-y="true" class="uni-select__selector-scroll">
+ <view class="uni-select__selector-empty" v-if="selections.length === 0">
+ <text>{{emptyTips}}</text>
+ </view>
+ <view v-else class="uni-select__selector-item"
+ :class="item.value == modelValue ?'selected-item':''" v-for="(item,index) in selections"
+ :key="index" @click="change(item)">
+ <text
+ :class="{'uni-select__selector__disabled': item.disable}">{{formatItemName(item)}}</text>
+ </view>
+ </scroll-view>
+ <view class="uni-popper__arrow-top"></view>
+ </view>
+ </template>
+ </view>
+ </view>
+ </view>
+</template>
+
+<script>
+ /**
+ * DataChecklist 鏁版嵁閫夋嫨鍣�+ * @description 閫氳繃鏁版嵁娓叉煋鐨勪笅鎷夋缁勪欢
+ * @property {String} value 榛樿鍊�+ * @property {Array} localdata 鏈湴鏁版嵁 锛屾牸寮�[{text:'',value:''}]
+ * @property {Boolean} clear 鏄惁鍙互娓呯┖宸查�椤�+ * @property {Boolean} emptyText 娌℃湁鏁版嵁鏃舵樉绀虹殑鏂囧瓧 锛屾湰鍦版暟鎹棤鏁�+ * @property {String} label 宸︿晶鏍囬
+ * @property {String} placeholder 杈撳叆妗嗙殑鎻愮ず鏂囧瓧
+ * @property {Boolean} disabled 鏄惁绂佺敤
+ * @event {Function} change 閫変腑鍙戠敓鍙樺寲瑙﹀彂
+ */
+
+ export default {
+ name: "OIDataSelect",
+ mixins: [uniCloud.mixinDatacom || {}],
+ props: {
+ localdata: {
+ type: Array,
+ default () {
+ return []
+ }
+ },
+ value: {
+ type: [String, Number],
+ default: ''
+ },
+ modelValue: {
+ type: [String, Number],
+ default: ''
+ },
+ label: {
+ type: String,
+ default: ''
+ },
+ placeholder: {
+ type: String,
+ default: '璇烽�鎷�
+ },
+ emptyTips: {
+ type: String,
+ default: '鏃犻�椤�
+ },
+ clear: {
+ type: Boolean,
+ default: true
+ },
+ defItem: {
+ type: Number,
+ default: 0
+ },
+ filterable: {
+ type: Boolean,
+ default: false
+ },
+
+ disabled: {
+ type: Boolean,
+ default: false
+ },
+ // 鏍煎紡鍖栬緭鍑�鐢ㄦ硶 field="_id as value, version as text, uni_platform as label" format="{label} - {text}"
+ format: {
+ type: String,
+ default: ''
+ },
+ },
+ data() {
+ return {
+ pointY: 0,
+ scrollHeight: 40,
+ keyboardHeight: 400,
+ windowSize: {},
+ showSelector: false,
+ current: '',
+ mixinDatacomResData: [],
+ apps: [],
+ channels: [],
+ cacheKey: "OIDataSelect-lastSelectedValue",
+ };
+ },
+ created() {
+ const _this = this
+ this.debounceGet = this.debounce(() => {
+ this.query();
+ }, 300);
+ if (this.collection && !this.localdata.length) {
+ this.debounceGet();
+ }
+
+ uni.getSystemInfo({
+ success(e) {
+ _this.windowSize = {
+ width: e.windowWidth,
+ height: e.windowHeight - (e.statusBarHeight || 0)
+ }
+ },
+
+ })
+ uni.onKeyboardHeightChange((res) => {
+ // console.log("onKeyboardHeightChange", res)
+ _this.keyboardHeight = res.height; // 鍗曚綅锛歱x
+
+ });
+ },
+ destroyed() {
+ uni.offKeyboardHeightChange(() => {}) //
+ },
+ computed: {
+ typePlaceholder() {
+ const text = {
+ 'opendb-stat-app-versions': '鐗堟湰',
+ 'opendb-app-channels': '娓犻亾',
+ 'opendb-app-list': '搴旂敤'
+ }
+ const common = this.placeholder
+ const placeholder = text[this.collection]
+ return placeholder ?
+ common + placeholder :
+ common
+ },
+ valueCom() {
+ // #ifdef VUE3
+ return this.modelValue;
+ // #endif
+ // #ifndef VUE3
+ return this.value;
+ // #endif
+ },
+ textShow() {
+ // 闀挎枃鏈樉绀�+ let text = this.current;
+ if (text.length > 10) {
+ return text.slice(0, 25) + '...';
+ }
+ return text;
+ },
+ selections() {
+ let list = this.mixinDatacomResData
+ if (this.filterable) {
+ if (this.current) {
+ list = this.mixinDatacomResData.filter((a) => a.text.match(new RegExp(this.current, "i")))
+
+ }
+ }
+ let height = (list.length * 35) || 35
+ if (height > 200) {
+ height = 200
+ }
+ this.scrollHeight = height + 10
+ return list
+ },
+ popDown() {
+ console.log("popDown", this.pointY, this.keyboardHeight, this.scrollHeight, this.windowSize.height)
+ if (this.filterable) {
+ if (this.pointY + this.scrollHeight > this.windowSize.height - this.keyboardHeight) {
+ return false
+ }
+ } else {
+ if (this.pointY + this.scrollHeight > this.windowSize.height) {
+ return false
+ }
+ }
+ return true
+
+ }
+ },
+
+ watch: {
+ localdata: {
+ immediate: true,
+ handler(val, old) {
+ if (Array.isArray(val) && old !== val) {
+ this.mixinDatacomResData = val
+ }
+ }
+ },
+ valueCom(val, old) {
+ this.initDefVal()
+ },
+ mixinDatacomResData: {
+ immediate: true,
+ handler(val) {
+ if (val.length) {
+ this.initDefVal()
+ }
+ }
+ },
+
+ },
+ methods: {
+ debounce(fn, time = 100) {
+ let timer = null
+ return function(...args) {
+ if (timer) clearTimeout(timer)
+ timer = setTimeout(() => {
+ fn.apply(this, args)
+ }, time)
+ }
+ },
+ // 鎵ц鏁版嵁搴撴煡璇�+ query() {
+ this.mixinDatacomEasyGet();
+ },
+ // 鐩戝惉鏌ヨ鏉′欢鍙樻洿浜嬩欢
+ onMixinDatacomPropsChange() {
+ if (this.collection) {
+ this.debounceGet();
+ }
+ },
+ initDefVal() {
+ let defValue = ''
+ if ((this.valueCom || this.valueCom === 0) && !this.isDisabled(this.valueCom)) {
+ defValue = this.valueCom
+ } else {
+ let strogeValue
+ if (this.collection) {
+ strogeValue = this.getCache()
+ }
+ if (strogeValue || strogeValue === 0) {
+ defValue = strogeValue
+ } else {
+ let defItem = ''
+ if (this.defItem > 0 && this.defItem <= this.mixinDatacomResData.length) {
+ defItem = this.mixinDatacomResData[this.defItem - 1].value
+ }
+ defValue = defItem
+ }
+ if (defValue || defValue === 0) {
+ this.emit(defValue)
+ }
+ }
+ const def = this.mixinDatacomResData.find(item => item.value === defValue)
+ this.current = def ? this.formatItemName(def) : ''
+ },
+
+ /**
+ * @param {[String, Number]} value
+ * 鍒ゆ柇鐢ㄦ埛缁欑殑 value 鏄惁鍚屾椂涓虹鐢ㄧ姸鎬�+ */
+ isDisabled(value) {
+ let isDisabled = false;
+
+ this.mixinDatacomResData.forEach(item => {
+ if (item.value === value) {
+ isDisabled = item.disable
+ }
+ })
+
+ return isDisabled;
+ },
+ onBlur() {
+ if (this.modelValue) {
+ const def = this.mixinDatacomResData.find(item => item.value === this.modelValue)
+ this.current = def ? this.formatItemName(def) : ''
+ } else {
+ this.current = ""
+ }
+ },
+ clearVal() {
+ this.emit('')
+ if (this.collection) {
+ this.removeCache()
+ }
+ },
+ change(item) {
+ if (!item.disable) {
+ this.showSelector = false
+ this.current = this.formatItemName(item)
+ this.emit(item.value)
+ }
+ },
+ emit(val) {
+ this.$emit('input', val)
+ this.$emit('update:modelValue', val)
+ this.$emit('change', val)
+ if (this.collection) {
+ this.setCache(val);
+ }
+ },
+ toggleSelector(e) {
+ if (this.disabled) {
+ return
+ }
+
+
+ if (!this.showSelector) {
+ this.pointY = e.detail.y
+
+ }
+ this.showSelector = !this.showSelector
+ },
+ formatItemName(item) {
+ let {
+ text,
+ value,
+ channel_code
+ } = item
+ channel_code = channel_code ? `(${channel_code})` : ''
+
+ if (this.format) {
+ // 鏍煎紡鍖栬緭鍑�+ let str = "";
+ str = this.format;
+ for (let key in item) {
+ str = str.replace(new RegExp(`{${key}}`, "g"), item[key]);
+ }
+ return str;
+ } else {
+ return this.collection.indexOf('app-list') > 0 ?
+ `${text}(${value})` :
+ (
+ text ?
+ text :
+ `鏈懡鍚�{channel_code}`
+ )
+ }
+ },
+ // 鑾峰彇褰撳墠鍔犺浇鐨勬暟鎹�+ getLoadData() {
+ return this.mixinDatacomResData;
+ },
+ // 鑾峰彇褰撳墠缂撳瓨key
+ getCurrentCacheKey() {
+ return this.collection;
+ },
+ // 鑾峰彇缂撳瓨
+ getCache(name = this.getCurrentCacheKey()) {
+ let cacheData = uni.getStorageSync(this.cacheKey) || {};
+ return cacheData[name];
+ },
+ // 璁剧疆缂撳瓨
+ setCache(value, name = this.getCurrentCacheKey()) {
+ let cacheData = uni.getStorageSync(this.cacheKey) || {};
+ cacheData[name] = value;
+ uni.setStorageSync(this.cacheKey, cacheData);
+ },
+ // 鍒犻櫎缂撳瓨
+ removeCache(name = this.getCurrentCacheKey()) {
+ let cacheData = uni.getStorageSync(this.cacheKey) || {};
+ delete cacheData[name];
+ uni.setStorageSync(this.cacheKey, cacheData);
+ },
+ }
+ }
+</script>
+
+<style lang="scss">
+ $uni-base-color: #6a6a6a !default;
+ $uni-main-color: #333 !default;
+ $uni-secondary-color: #909399 !default;
+ $uni-border-3: #e5e5e5;
+
+ /* #ifndef APP-NVUE */
+ @media screen and (max-width: 500px) {
+ .hide-on-phone {
+ display: none;
+ }
+ }
+
+ /* #endif */
+ .oi-data-select {
+ display: flex;
+ align-items: center;
+ // padding: 15px;
+ /* #ifdef H5 */
+ cursor: pointer;
+ /* #endif */
+ width: 100%;
+ flex: 1;
+ box-sizing: border-box;
+
+
+ .uni-stat-box {
+ width: 100%;
+ flex: 1;
+ }
+
+ .uni-stat__actived {
+ width: 100%;
+ flex: 1;
+ // outline: 1px solid #2979ff;
+ }
+
+ .uni-label-text {
+ font-size: 14px;
+ font-weight: bold;
+ color: $uni-base-color;
+ margin: auto 0;
+ margin-right: 5px;
+ }
+
+ .uni-select {
+ font-size: 14px;
+ border: 1px solid $uni-border-3;
+ box-sizing: border-box;
+ border-radius: 4px;
+ padding: 0 5px;
+ padding-left: 10px;
+ position: relative;
+ /* #ifndef APP-NVUE */
+ display: flex;
+ user-select: none;
+ /* #endif */
+ flex-direction: row;
+ align-items: center;
+ border-bottom: solid 1px $uni-border-3;
+ width: 100%;
+ flex: 1;
+ height: 35px;
+
+ &--disabled {
+ background-color: #f5f7fa;
+ cursor: not-allowed;
+ }
+ }
+
+ .uni-select:hover {
+ border: 1px solid rgb(41, 121, 255);
+ }
+
+
+ .uni-select__label {
+ font-size: 16px;
+ // line-height: 22px;
+ height: 35px;
+ padding-right: 10px;
+ color: $uni-secondary-color;
+ }
+
+ .uni-select__input-box {
+ height: 35px;
+ position: relative;
+ /* #ifndef APP-NVUE */
+ display: flex;
+ /* #endif */
+ flex: 1;
+ flex-direction: row;
+ align-items: center;
+ }
+
+ .uni-select__input {
+ flex: 1;
+ font-size: 14px;
+ height: 22px;
+ line-height: 22px;
+ }
+
+ .uni-select__input-plac {
+ font-size: 14px;
+ color: $uni-secondary-color;
+ }
+
+ .uni-select__selector {
+ /* #ifndef APP-NVUE */
+ box-sizing: border-box;
+ /* #endif */
+ position: absolute;
+ top: calc(100% + 12px);
+ left: 0;
+ width: 100%;
+ background-color: #FFFFFF;
+ border: 1px solid #EBEEF5;
+ border-radius: 6px;
+ box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+ z-index: 3;
+ padding: 4px 0;
+ }
+
+ .uni-select__selector-top {
+ /* #ifndef APP-NVUE */
+ box-sizing: border-box;
+ /* #endif */
+ position: absolute;
+ bottom: calc(100% + 12px);
+ left: 0;
+ width: 100%;
+ background-color: #FFFFFF;
+ border: 1px solid #EBEEF5;
+ border-radius: 6px;
+ box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+ z-index: 3;
+ padding: 4px 0;
+ }
+
+
+ .uni-select__selector-scroll {
+ /* #ifndef APP-NVUE */
+ max-height: 200px;
+ box-sizing: border-box;
+ /* #endif */
+ }
+
+ /* #ifdef H5 */
+ @media (min-width: 768px) {
+ .uni-select__selector-scroll {
+ max-height: 600px;
+ }
+ }
+
+ /* #endif */
+
+ .uni-select__selector-empty,
+ .uni-select__selector-item {
+ /* #ifndef APP-NVUE */
+ display: flex;
+ cursor: pointer;
+ /* #endif */
+ line-height: 35px;
+ font-size: 14px;
+ text-align: center;
+ /* border-bottom: solid 1px $uni-border-3; */
+ padding: 0px 10px;
+ }
+
+ .uni-select__selector-empty {
+ color: #666;
+ }
+
+ .selected-item {
+ color: rgb(41, 121, 255);
+ }
+
+
+ .uni-select__selector-item:hover {
+ background-color: #f9f9f9;
+ }
+
+ .uni-select__selector-empty:last-child,
+ .uni-select__selector-item:last-child {
+ /* #ifndef APP-NVUE */
+ border-bottom: none;
+ /* #endif */
+ }
+
+ .uni-select__selector__disabled {
+ opacity: 0.4;
+ cursor: default;
+ }
+
+ /* picker 寮瑰嚭灞傛寚鍚戜笅鐨勯�鐢ㄧ殑鎸囩ず灏忎笁瑙�*/
+ .uni-popper__arrow,
+ .uni-popper__arrow::after {
+ position: absolute;
+ display: block;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+ border-width: 6px;
+ }
+
+ .uni-popper__arrow {
+ filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
+ top: -6px;
+ left: 10%;
+ margin-right: 3px;
+ border-top-width: 0;
+ border-bottom-color: #EBEEF5;
+ }
+
+ .uni-popper__arrow::after {
+ content: " ";
+ top: 1px;
+ margin-left: -6px;
+ border-top-width: 0;
+ border-bottom-color: #fff;
+ }
+
+ /* picker 寮瑰嚭灞傛寚鍚戜笂鐨勯�鐢ㄦ寚绀哄皬涓夎 */
+ .uni-popper__arrow-top,
+ .uni-popper__arrow-top::after {
+ position: absolute;
+ display: block;
+ width: 0;
+ height: 0;
+ border-color: transparent;
+ border-style: solid;
+ border-width: 6px;
+ }
+
+ .uni-popper__arrow-top {
+ filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
+ bottom: -6px;
+ left: 10%;
+ margin-right: 3px;
+ border-bottom-width: 0;
+ border-top-color: #EBEEF5;
+ }
+
+ .uni-popper__arrow-top::after {
+ content: " ";
+ bottom: 1px;
+ margin-left: -6px;
+ border-bottom-width: 0;
+ border-top-color: #fff;
+ }
+
+ .uni-select__input-text {
+ // width: 280px;
+ width: 100%;
+ color: $uni-main-color;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ -o-text-overflow: ellipsis;
+ overflow: hidden;
+ }
+
+ .input-disabled {
+ background-color: #f3f3f3 !important;
+ }
+
+ .uni-select__input-placeholder {
+ color: $uni-base-color;
+ font-size: 12px;
+ }
+
+ .uni-select--mask {
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ right: 0;
+ left: 0;
+ z-index: 2;
+ }
+ }
+
+ .large-mode {
+ .oi-data-select {
+
+
+ .uni-label-text {
+ font-size: 24px;
+ }
+
+
+ .uni-select {
+ font-size: 24px;
+ height: 32px;
+ line-height: 32px;
+ height: 45px;
+ }
+
+ .uni-select__label {
+ font-size: 26px;
+ height: 45px;
+ }
+ .uni-select__input-box {
+ height: 45px;
+ }
+ .uni-select__input {
+
+ font-size: 24px;
+ }
+
+ .uni-select__input-plac {
+ font-size: 24px;
+ }
+
+ .uni-select__selector-empty,
+ .uni-select__selector-item {
+ font-size: 24px;
+ }
+
+ .uni-select__input-placeholder {
+ font-size: 22px;
+ }
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/components/oi-form/list/select/index.vue b/components/oi-form/list/select/index.vue
index e9bbfb4..dec8b19 100644
--- a/components/oi-form/list/select/index.vue
+++ b/components/oi-form/list/select/index.vue
@@ -1,18 +1,36 @@
<template>
<view class="oi-form-select">
<!-- 涓嬫媺閫夋嫨妗�-->
- <uni-data-picker v-if="model" class="data-picker" :class="data.disabled?'input-disabled':''"
+ <!-- <uni-data-picker v-if="model" class="data-picker" :class="data.disabled?'input-disabled':''"
v-model="model[data.fieldId]" :localdata="data.useDict ? data.dict : data.selections" @change="onChange"
:readonly="data.disabled" :clear-icon="false" :popup-title="data.label"></uni-data-picker>
<uni-data-picker v-else class="data-picker" :class="data.disabled?'input-disabled':''" v-model="data.value"
:localdata="data.useDict ? data.dict : data.selections" @change="onChange" :readonly="data.disabled"
- :clear-icon="false" :popup-title="data.label"></uni-data-picker>
+ :clear-icon="false" :popup-title="data.label"></uni-data-picker> -->
+ <!-- <OISelect v-if="model" v-model:value="model[data.fieldId]"
+ :dataList="data.useDict ? data.dict : data.selections" @change="onChange" :disabled="data.disabled"
+ :clearable="data.setting.clearable" :filterable="data.setting.filterable"></OISelect>
+ <OISelect v-else v-model:value="data.value" :dataList="data.useDict ? data.dict : data.selections"
+ @change="onChange" :disabled="data.disabled" :clearable="data.setting.clearable"
+ :filterable="data.setting.filterable"></OISelect> -->
+ <OIDataSelect v-if="model" v-model="model[data.fieldId]" :localdata="data.useDict ? data.dict : data.selections"
+ @change="onChange" :disabled="data.disabled" :clear="data.setting.clearable"
+ :filterable="data.setting.filterable"></OIDataSelect>
+ <OIDataSelect v-else v-model="data.value" :localdata="data.useDict ? data.dict : data.selections"
+ @change="onChange" :disabled="data.disabled" :clear="data.setting.clearable"
+ :filterable="data.setting.filterable"></OIDataSelect>
+
+
</view>
</template>
<script>
+ import OIDataSelect from '@/components/data-select/index.vue'
export default {
name: "OIFormSelect",
+ components: {
+ OIDataSelect
+ },
props: {
data: {
type: Object,
@@ -22,6 +40,10 @@
},
methods: {
onChange(e) {
+ if (this.model)
+ console.log(e, this.model[this.data.fieldId])
+ else
+ console.log(e, this.data.value)
this.$emit("on-change", e)
},
@@ -33,37 +55,8 @@
.oi-form-select {
width: 100%;
- .data-picker {
- width: 100%;
- background: #FFF;
- border-radius: 0 !important;
- color: #2d8cf0;
- /* padding: 10rpx 8rpx 12rpx; */
- font-size: 34rpx;
- font-family: inherit;
- box-shadow: none !important;
- transition-duration: 0.1s;
- margin-top: 0rpx;
- /* vertical-align: 10px; */
- vertical-align: middle;
- .uni-select {
- border: 1px solid #ccc;
- border-radius: 0 !important;
- color: #2d8cf0;
- }
-
- .uni-select__input-text {
- color: #2d8cf0;
- }
- }
-
-
-
- .input-disabled {
- background-color: #f3f3f3 !important;
- }
}
-
+
</style>
\ No newline at end of file
diff --git a/locale/en.json b/locale/en.json
index c3d8b82..83dd10d 100644
--- a/locale/en.json
+++ b/locale/en.json
@@ -61,6 +61,7 @@
"sys.please": "please",
"sys.port": "Port",
+"page.no_data": "No matching data",
"page.address": "address",
"page.server": "Server",
"page.mobox3_app_type": "Mobox3 PDA application types",
diff --git a/locale/es.json b/locale/es.json
index 23e174d..77f2b9b 100644
--- a/locale/es.json
+++ b/locale/es.json
@@ -60,6 +60,7 @@
"sys.please": "Por favor.",
"sys.port": "puerto",
+"page.no_data": "Sin datos coincidentes",
"page.address": "direcci贸n",
"page.server": "Servidor",
"page.mobox3_app_type": "Tipo de aplicaci贸n PDA mobox3",
diff --git a/locale/zh-Hans.json b/locale/zh-Hans.json
index 784886c..91ff134 100644
--- a/locale/zh-Hans.json
+++ b/locale/zh-Hans.json
@@ -60,6 +60,7 @@
"sys.please": "璇�,
"sys.port": "绔彛",
+"page.no_data": "鏃犲尮閰嶆暟鎹�,
"page.address": "鍦板潃",
"page.server": "鏈嶅姟鍦板潃",
"page.mobox3_app_type": "mobox3 pda搴旂敤绫诲瀷",
diff --git a/locale/zh-Hant.json b/locale/zh-Hant.json
index 1b86d52..fda5183 100644
--- a/locale/zh-Hant.json
+++ b/locale/zh-Hant.json
@@ -60,6 +60,7 @@
"sys.please": "璇�,
"sys.port": "绔彛",
+"page.no_data": "鐒″尮閰嶆暩鎿�,
"page.address": "鍦板潃",
"page.server": "鏈嶅嫏鍦板潃",
"page.mobox3_app_type": "mobox3 pda鎳夌敤椤炲瀷",
diff --git a/manifest.json b/manifest.json
index cf4f770..18df910 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,8 +2,8 @@
"name" : "MoboxPDA",
"appid" : "__UNI__56D451E",
"description" : "",
- "versionName" : "1.1.72",
- "versionCode" : 1172,
+ "versionName" : "1.1.75",
+ "versionCode" : 1175,
"transformPx" : false,
/* 5+App鐗规湁鐩稿叧 */
"app-plus" : {
diff --git a/pages/index/index.vue b/pages/index/index.vue
index 6dba341..74d65ae 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -9,7 +9,7 @@
:style="{'background-color':app.bk_color,'color':app.bk_color}">
<text class="ico" :class="app.img_font_style" :style="{'color':app.txt_color}"></text>
</a>
- <view @click="onClickApp(app)" class="app-name">{{app.name}}</view>
+ <view @click="onClickApp(app)" class="app-name">{{ (app.list_name || app.name)}}</view>
</view>
</view>
</view>
diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue
index 0511d95..28d0f61 100644
--- a/pages/modal/3018_2.vue
+++ b/pages/modal/3018_2.vue
@@ -660,9 +660,9 @@
if (item.name == "Input" || item.name == "InputNumber" || item.name == "Textarea") {
this.focusFieldId = item.fieldId
} else if (item.name == "ImageButton") {
-
+
var onClickEvent = item.bind.onClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�-
+
if (!onClickEvent.id) {
showInfo(this.translate('icon_click_event_empty'))
return;
@@ -800,8 +800,7 @@
focusFieldId: action.value
})
});
- }
- else if (action.action_type == 'open_panel') {
+ } else if (action.action_type == 'open_panel') {
var d = dialog({
title: '<i class="ace-icon fa fa-info-circle"></i> ' +
$this.translateSys("tip"),
@@ -1236,11 +1235,17 @@
//纭畾
sava() {
- if (this.after_ok?.id) { // 鐐瑰嚮纭畾鎸夐挳鍚�- this.afterOK();
- } else {
- this.add();
- }
+ this.handleButtonClick((done) => {
+ if (this.after_ok?.id) { // 鐐瑰嚮纭畾鎸夐挳鍚�+ this.afterOK();
+ } else {
+ this.add();
+ }
+ setTimeout(() => {
+ done(); // 閲嶇疆鐘舵�
+ }, 1000);
+ });
+
},
add() {
@@ -1662,6 +1667,14 @@
})
},
onButtonClicked(btn) {
+ this.handleButtonClick((done) => {
+ this.buttonClicked(btn);
+ setTimeout(() => {
+ done(); // 閲嶇疆鐘舵�
+ }, 1000);
+ });
+ },
+ buttonClicked(btn) {
let enviroment = {
button: "top",
button_name: btn.ShowName,
diff --git a/pages/modal/3200.vue b/pages/modal/3200.vue
index d1b38a8..8132477 100644
--- a/pages/modal/3200.vue
+++ b/pages/modal/3200.vue
@@ -846,13 +846,27 @@
//鍒锋柊
Refresh(value) {
//鍒锋柊褰撳墠椤甸潰
- this.initial();
+ this.handleButtonClick((done) => {
+ this.initial();
+ setTimeout(() => {
+ done(); // 閲嶇疆鐘舵�
+ }, 1000);
+ });
+
// uni.redirectTo({
// url:'../modal/3200?param='+JSON.stringify(this.param)+"&titlename="+this.title,
// });
},
//鐐瑰嚮鏄剧ず娴忚瀵硅薄鏄剧ず椤甸潰
- async onViewPageClick(style) {
+ onViewPageClick(style) {
+ this.handleButtonClick((done) => {
+ this.viewPageClick(style);
+ setTimeout(() => {
+ done(); // 閲嶇疆鐘舵�
+ }, 1000);
+ });
+ },
+ async viewPageClick(style) {
if (this.param.ViewPage) {
if (this.param.ViewPage.View_UIDef) {
this.styledef = style;
@@ -1674,6 +1688,7 @@
//鐐逛腑琛ㄥ崟
onPanelClick(value) { //鐐瑰嚮闈㈡澘楂樹寒鏄剧ず
// console.log(value);
+
this.setData({
activeItem: this.detail1StyleDefList[value]
})
diff --git a/pages/modal/3200_view.vue b/pages/modal/3200_view.vue
index ffb290d..9e40d67 100644
--- a/pages/modal/3200_view.vue
+++ b/pages/modal/3200_view.vue
@@ -385,7 +385,15 @@
})
},
//澶勭悊鐩稿叧鎸夐挳
- async onButtonClicked(btn) {
+ onButtonClicked(btn) {
+ this.handleButtonClick((done) => {
+ this.buttonClicked(btn);
+ setTimeout(() => {
+ done(); // 閲嶇疆鐘舵�
+ }, 1000);
+ });
+ },
+ async buttonClicked(btn) {
var style = this.styleDef || '';
try {
diff --git a/pages/modal/3202.vue b/pages/modal/3202.vue
index 6f3d68e..44ef81f 100644
--- a/pages/modal/3202.vue
+++ b/pages/modal/3202.vue
@@ -227,7 +227,7 @@
};
runCustomEvent(dataInfo).then(result => {
console.log(result);
-
+
if (result.ret != 0 && result.ret != 1) {
let cls_name = result.event_info?.cls_name
let event_name = result.event_info?.event_name
@@ -594,7 +594,15 @@
this.initial()
},
//鐐瑰嚮鏄剧ず娴忚瀵硅薄鏄剧ず椤甸潰
- async onViewPageClick(style) {
+ onViewPageClick(style) {
+ this.handleButtonClick((done) => {
+ this.viewPageClick(style);
+ setTimeout(() => {
+ done(); // 閲嶇疆鐘舵�
+ }, 1000);
+ });
+ },
+ async viewPageClick(style) {
if (!this.clickItemEvent.id) {
return;
}
@@ -639,7 +647,7 @@
data_json,
}).then(result => {
// console.log(result);
- hideLoading()
+ hideLoading()
if (result.ret != 0 && result.ret != 1) {
let cls_name = result.event_info?.cls_name
let event_name = result.event_info?.event_name
@@ -705,7 +713,7 @@
}).catch(ex => {
// console.log(ex);
- hideLoading()
+ hideLoading()
showError(ex, this.translateSys("error") + "8.1")
});
},
@@ -759,7 +767,7 @@
//鎵ц瑙﹀彂浜嬩欢
async triggerEvent(btn, style, enviroment) {
const $this = this
-showLoading("loading...")
+ showLoading("loading...")
var obj_attr = this.head_styledef.form.model;
// console.log(obj_attr);
var input_param = Base64.encode(
@@ -797,7 +805,7 @@
input_param,
data_json,
}).then(result => {
- hideLoading()
+ hideLoading()
// console.log(result);
if (result.ret != 0 && result.ret != 1) {
let cls_name = result.event_info?.cls_name
@@ -869,7 +877,7 @@
}).catch(ex => {
// console.log(ex);
- hideLoading()
+ hideLoading()
showError(ex, this.translateSys("error") + "8.1")
});
},
diff --git a/pages/modal/3202_view.vue b/pages/modal/3202_view.vue
index 1dc8d95..2d21a57 100644
--- a/pages/modal/3202_view.vue
+++ b/pages/modal/3202_view.vue
@@ -506,7 +506,6 @@
})
},
onButtonClicked(btn) {
-
let enviroment = {
button: "top",
button_name: btn.ShowName,
@@ -514,11 +513,16 @@
function: "3202",
master: {},
};
- if (btn.FunCode == "TriggerEvent") {
- this.onTriggerEvent(btn, enviroment);
- } else {
- this.$Message.warning(this.$t("sys.unrealized"));
- }
+ this.handleButtonClick((done) => {
+ if (btn.FunCode == "TriggerEvent") {
+ this.onTriggerEvent(btn, enviroment);
+ } else {
+ this.$Message.warning(this.$t("sys.unrealized"));
+ }
+ setTimeout(() => {
+ done(); // 閲嶇疆鐘舵�
+ }, 1000);
+ });
},
async onTriggerEvent(btn, enviroment) {
@@ -570,7 +574,7 @@
var $this = this;
if (!this.exit_view_event.id)
return
- showLoading("loading...")
+ showLoading("loading...")
let data_json = [];
let jsonlist = [];
let detailStyleList = this.detail1StyleDefList;
@@ -1001,8 +1005,8 @@
.v-scroll-view {
flex: 1;
- overflow: hidden;
width: 98%;
+ overflow: auto;
}
.view-bottom {
diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue
index 31dc2b6..dfa190f 100644
--- a/pages/modal/5601.vue
+++ b/pages/modal/5601.vue
@@ -58,7 +58,8 @@
'btn-one':pageData.Button.length == 1,
'btn-left':(btnIndex < pageData.Button.length - 1),
'btn-right': btnIndex > 0 && btnIndex == pageData.Button.length - 1 ,
- 'width-50':(pageData.Button.length == 2),'width-32':(pageData.Button.length == 3),'width-30':(pageData.DropDownButton.length> 0)}" @click="onBtnClick(btn, pageData)">
+ 'width-50':(pageData.Button.length == 2),'width-32':(pageData.Button.length == 3),
+ 'width-30':(pageData.DropDownButton.length> 0)}" @click="onBtnClick(btn, pageData)">
<text v-if="btn.Style == 'img' || btn.Style == 'img_text'" class="img"></text>
{{btn.ShowName ||""}}
</button>
--
Gitblit v1.9.1