From 193856ccdbff022e54ef22294efbc7aee41eeb8a Mon Sep 17 00:00:00 2001 From: zhengw <247276359@qq.com> Date: Wed, 28 Jan 2026 16:00:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../account-plugin/account-plugin.json | 8 ++ .../account-plugin/account-plugin.ts | 75 +++++++++++++++++++ .../account-plugin/account-plugin.wxml | 13 ++++ .../account-plugin/account-plugin.wxss | 10 +++ .../date-picker-plugin.json | 8 ++ .../date-picker-plugin/date-picker-plugin.ts | 43 +++++++++++ .../date-picker-plugin.wxml | 10 +++ .../date-picker-plugin.wxss | 0 .../components/page-plugin/page-plugin.wxml | 4 +- .../components/sort-plugin/sort-plugin.json | 8 ++ .../components/sort-plugin/sort-plugin.ts | 39 ++++++++++ .../components/sort-plugin/sort-plugin.wxml | 18 +++++ .../components/sort-plugin/sort-plugin.wxss | 9 +++ miniprogram/pages/index/index.json | 1 - miniprogram/pages/my/my.wxml | 26 ++++--- 15 files changed, 259 insertions(+), 13 deletions(-) create mode 100644 miniprogram/pages/components/account-plugin/account-plugin.json create mode 100644 miniprogram/pages/components/account-plugin/account-plugin.ts create mode 100644 miniprogram/pages/components/account-plugin/account-plugin.wxml create mode 100644 miniprogram/pages/components/account-plugin/account-plugin.wxss create mode 100644 miniprogram/pages/components/date-picker-plugin/date-picker-plugin.json create mode 100644 miniprogram/pages/components/date-picker-plugin/date-picker-plugin.ts create mode 100644 miniprogram/pages/components/date-picker-plugin/date-picker-plugin.wxml create mode 100644 miniprogram/pages/components/date-picker-plugin/date-picker-plugin.wxss create mode 100644 miniprogram/pages/components/sort-plugin/sort-plugin.json create mode 100644 miniprogram/pages/components/sort-plugin/sort-plugin.ts create mode 100644 miniprogram/pages/components/sort-plugin/sort-plugin.wxml create mode 100644 miniprogram/pages/components/sort-plugin/sort-plugin.wxss diff --git a/miniprogram/pages/components/account-plugin/account-plugin.json b/miniprogram/pages/components/account-plugin/account-plugin.json new file mode 100644 index 0000000..f567539 --- /dev/null +++ b/miniprogram/pages/components/account-plugin/account-plugin.json @@ -0,0 +1,8 @@ +{ + "component": true, + "usingComponents": { + "t-picker": "tdesign-miniprogram/picker/picker", + "t-picker-item": "tdesign-miniprogram/picker-item/picker-item", + "t-cell": "tdesign-miniprogram/cell/cell" + } +} \ No newline at end of file diff --git a/miniprogram/pages/components/account-plugin/account-plugin.ts b/miniprogram/pages/components/account-plugin/account-plugin.ts new file mode 100644 index 0000000..6dc6116 --- /dev/null +++ b/miniprogram/pages/components/account-plugin/account-plugin.ts @@ -0,0 +1,75 @@ +import { post } from '@/utils/https'; +import { getAuthInfo, toArray } from '@/utils/util'; + +Component({ + options: { multipleSlots: true }, + /** + * 组件的属性列表 + */ + properties: { + value: { + type: null, + }, + }, + observers: { + value: function () { + this.setData({ label: this.data.listToObj[this.data.value]?.label }); + }, + }, + + /** + * 组件的初始数据 + */ + data: { + visible: false, + list: [] as any[], + listToObj: {} as any, + label: '', + }, + lifetimes: { + attached() { + const auth = getAuthInfo(); + const SF_ERP_ACCOUNT_VIEW = auth.SF_ERP_ACCOUNT_VIEW; + post('ErpAccount/list', { state: 1 }).then((res: any) => { + let accountDefaultObj: any = {}; + const list = toArray(res?.data?.list).map((el) => { + if (el.if_default == 2) { + accountDefaultObj = el; + } + const label = `${el.account_name}${ + SF_ERP_ACCOUNT_VIEW ? `(余额: ${el.current_amount})` : '' + }`; + el.label = label; + this.data.listToObj[el.account_id] = el; + return { + label: label, + value: el.account_id, + }; + }); + if (!accountDefaultObj) { + accountDefaultObj = list[0] || {}; + } + this.setData({ list: list, label: this.data.listToObj[this.data.value]?.label }); + this.triggerEvent('default', accountDefaultObj); + }); + }, + }, + + /** + * 组件的方法列表 + */ + methods: { + onShowPicker() { + this.setData({ visible: true }); + }, + onPickerCancel() { + this.setData({ visible: false }); + }, + onPickerConfirm(e: any) { + // console.log(e); + const item = this.data.listToObj[e.detail.value[0]]; + this.triggerEvent('ok', item); + this.setData({ visible: false }); + }, + }, +}); diff --git a/miniprogram/pages/components/account-plugin/account-plugin.wxml b/miniprogram/pages/components/account-plugin/account-plugin.wxml new file mode 100644 index 0000000..7fe9bc3 --- /dev/null +++ b/miniprogram/pages/components/account-plugin/account-plugin.wxml @@ -0,0 +1,13 @@ + + 选择账户 + + + + + + {{option.tag}} + + + + \ No newline at end of file diff --git a/miniprogram/pages/components/account-plugin/account-plugin.wxss b/miniprogram/pages/components/account-plugin/account-plugin.wxss new file mode 100644 index 0000000..b07a591 --- /dev/null +++ b/miniprogram/pages/components/account-plugin/account-plugin.wxss @@ -0,0 +1,10 @@ +.custom-label { + display: inline-flex; +} + +.custom-label::after { + content: '*'; + color: red; + font-size: 32rpx; + margin-left: 4rpx; +} diff --git a/miniprogram/pages/components/date-picker-plugin/date-picker-plugin.json b/miniprogram/pages/components/date-picker-plugin/date-picker-plugin.json new file mode 100644 index 0000000..5cb57de --- /dev/null +++ b/miniprogram/pages/components/date-picker-plugin/date-picker-plugin.json @@ -0,0 +1,8 @@ +{ + "component": true, + "usingComponents": { + "t-date-time-picker": "tdesign-miniprogram/date-time-picker/date-time-picker", + "t-cell": "tdesign-miniprogram/cell/cell", + "t-icon": "tdesign-miniprogram/icon/icon" + } +} \ No newline at end of file diff --git a/miniprogram/pages/components/date-picker-plugin/date-picker-plugin.ts b/miniprogram/pages/components/date-picker-plugin/date-picker-plugin.ts new file mode 100644 index 0000000..ba6ceee --- /dev/null +++ b/miniprogram/pages/components/date-picker-plugin/date-picker-plugin.ts @@ -0,0 +1,43 @@ +Component({ + options: { multipleSlots: true }, + /** + * 组件的属性列表 + */ + properties: { + title: null, + mode: null, + placeholder: null, + value: null, + }, + + /** + * 组件的初始数据 + */ + data: { + visible: false, + format: { + date: 'YYYY-MM-DD', + second: 'YYYY-MM-DD HH:mm:ss', + }, + now: Date.now(), + }, + + /** + * 组件的方法列表 + */ + methods: { + showPicker() { + this.setData({ visible: true }); + }, + hidePicker() { + this.setData({ visible: false }); + }, + onConfirm(e: any) { + this.triggerEvent('confirm', { value: e.detail.value }); + this.hidePicker(); + }, + onClear() { + this.triggerEvent('confirm', { value: '' }); + }, + }, +}); diff --git a/miniprogram/pages/components/date-picker-plugin/date-picker-plugin.wxml b/miniprogram/pages/components/date-picker-plugin/date-picker-plugin.wxml new file mode 100644 index 0000000..4eb477c --- /dev/null +++ b/miniprogram/pages/components/date-picker-plugin/date-picker-plugin.wxml @@ -0,0 +1,10 @@ + + + {{value || ''}} + + + + + \ No newline at end of file diff --git a/miniprogram/pages/components/date-picker-plugin/date-picker-plugin.wxss b/miniprogram/pages/components/date-picker-plugin/date-picker-plugin.wxss new file mode 100644 index 0000000..e69de29 diff --git a/miniprogram/pages/components/page-plugin/page-plugin.wxml b/miniprogram/pages/components/page-plugin/page-plugin.wxml index e9f5801..cc387fe 100644 --- a/miniprogram/pages/components/page-plugin/page-plugin.wxml +++ b/miniprogram/pages/components/page-plugin/page-plugin.wxml @@ -28,8 +28,8 @@ 一键登录 - + 我已阅读并同意 diff --git a/miniprogram/pages/components/sort-plugin/sort-plugin.json b/miniprogram/pages/components/sort-plugin/sort-plugin.json new file mode 100644 index 0000000..aca5695 --- /dev/null +++ b/miniprogram/pages/components/sort-plugin/sort-plugin.json @@ -0,0 +1,8 @@ +{ + "component": true, + "usingComponents": { + "t-cell": "tdesign-miniprogram/cell/cell", + "t-icon": "tdesign-miniprogram/icon/icon", + "popup-plugin": "/pages/components/popup-plugin/popup-plugin" + } +} \ No newline at end of file diff --git a/miniprogram/pages/components/sort-plugin/sort-plugin.ts b/miniprogram/pages/components/sort-plugin/sort-plugin.ts new file mode 100644 index 0000000..cde1a58 --- /dev/null +++ b/miniprogram/pages/components/sort-plugin/sort-plugin.ts @@ -0,0 +1,39 @@ +import { getDataSet } from '@/utils/util'; + +Component({ + /** + * 组件的属性列表 + */ + properties: { + options: Array, + value: null, + }, + + /** + * 组件的初始数据 + */ + data: { + visible: false, + }, + + /** + * 组件的方法列表 + */ + methods: { + open() { + this.setData({ visible: true }); + }, + onClose() { + this.setData({ visible: false }); + }, + select(e: any) { + const dataset = getDataSet(e); + const index = dataset.index; + const item = this.data.options[index]; + const order = dataset.order; + + this.triggerEvent('ok', { value: item.value + ' ' + order }); + this.onClose(); + }, + }, +}); diff --git a/miniprogram/pages/components/sort-plugin/sort-plugin.wxml b/miniprogram/pages/components/sort-plugin/sort-plugin.wxml new file mode 100644 index 0000000..f06da58 --- /dev/null +++ b/miniprogram/pages/components/sort-plugin/sort-plugin.wxml @@ -0,0 +1,18 @@ + + 排序 + + + + + + + 升序 + + 降序 + + + \ No newline at end of file diff --git a/miniprogram/pages/components/sort-plugin/sort-plugin.wxss b/miniprogram/pages/components/sort-plugin/sort-plugin.wxss new file mode 100644 index 0000000..4ae34fc --- /dev/null +++ b/miniprogram/pages/components/sort-plugin/sort-plugin.wxss @@ -0,0 +1,9 @@ +.sort-plugin { + display: inline-flex; + align-items: center; + height: 64rpx; + box-sizing: border-box; + border: 1rpx solid #ddd; + border-radius: 8rpx; + padding: 0 16rpx; +} diff --git a/miniprogram/pages/index/index.json b/miniprogram/pages/index/index.json index 19f9765..d99667d 100644 --- a/miniprogram/pages/index/index.json +++ b/miniprogram/pages/index/index.json @@ -4,7 +4,6 @@ "t-icon": "tdesign-miniprogram/icon/icon", "tab-bar-plugin": "/pages/components/tab-bar-plugin/tab-bar-plugin", "pagination-plugin": "/pages/components/pagination-plugin/pagination-plugin", - "select-plugin": "/pages/components/select-plugin/select-plugin", "search-popup": "/pages/components/search-popup/search-popup" } } diff --git a/miniprogram/pages/my/my.wxml b/miniprogram/pages/my/my.wxml index 6a5deaa..11b35c3 100644 --- a/miniprogram/pages/my/my.wxml +++ b/miniprogram/pages/my/my.wxml @@ -3,23 +3,30 @@ - + + + + {{company_info.company_name[0]}} + + + {{company_info.company_desc}} - - - + + + + {{user_info.login_name[0]}} + + + {{user_info.login_name}} @@ -32,6 +39,5 @@ - \ No newline at end of file