Browse Source

feat(messages): 优化取消消息的确认流程并添加驳回原因输入框
fix(share): 修复分享功能的用户等级判断逻辑
style: 调整文本区域高度和分享页面的输入框光标间距

EvilDragon 3 months ago
parent
commit
3cd097d3c0

+ 2 - 1
packages/app/src/core/libs/actions.ts

@@ -39,6 +39,7 @@ export const handleShareClick = () => {
     return useRouter().push('/pages/mine/authentication/index')
   }
   if (userStore.userInfo.level?.level < 2) {
-    return toast('请先升级为设计师')
+    toast('请先升级为设计师')
+    return false
   }
 }

+ 3 - 0
packages/app/src/core/themes/default.scss

@@ -13,3 +13,6 @@ page {
   background-color: #f3f3f3;
   border-radius: 100px;
 }
+.wd-textarea__inner {
+  height: 162rpx;
+}

+ 1 - 0
packages/app/src/pages/home/moment/index.vue

@@ -244,6 +244,7 @@ onShareAppMessage(async ({ from, target }) => {
             confirm-type="send"
             v-model="reviewContent"
             placeholder="说点什么..."
+            :cursor-spacing="140"
             @confirm="handleSend"
           ></wd-input>
         </div>

+ 35 - 4
packages/app/src/pages/messages/index.vue

@@ -28,6 +28,7 @@ import { storeToRefs } from 'pinia'
 import MessageCard from './components/message-card.vue'
 import CouponCard from '../common/components/coupon-card.vue'
 import { select } from 'radash'
+import { useMessage } from 'wot-design-uni'
 
 const pageHelperRef = ref<ComponentExposed<typeof PageHelper>>()
 const userStore = useUserStore()
@@ -41,13 +42,31 @@ const tabs = ref([
 ])
 const selectedCoupon = ref()
 const coupons = ref<Coupon[]>([])
+const cancelReason = ref('')
+const { confirm } = useMessage('wd-message-box-slot')
+
 const query = computed(() => ({ messageType: tabs.value[tab.value]?.value }))
 
 const handleCancel = async (message: Message) => {
-  await requestToast(
-    () => orderPointsCancel({ id: message.businessId.toString(), cancelReason: '用户取消' }),
-    { success: true, successTitle: '积分确认已驳回' },
-  )
+  await confirm({
+    title: '驳回',
+    beforeConfirm: async ({ resolve }) => {
+      if (!cancelReason.value) {
+        resolve(false)
+        uni.showToast({ title: '请输入驳回原因', icon: 'none' })
+        return
+      }
+      await requestToast(
+        () =>
+          orderPointsCancel({
+            id: message.businessId.toString(),
+            cancelReason: cancelReason.value,
+          }),
+        { success: true, successTitle: '积分确认已驳回' },
+      )
+      resolve(true)
+    },
+  })
   // await deleteMessage(message.id.toString())
   await updateMessage({ id: message.id, isRead: '1' })
   await pageHelperRef.value?.refresh()
@@ -117,6 +136,18 @@ onShow(async () => {
         </div>
       </template>
     </PageHelper>
+    <wd-message-box selector="wd-message-box-slot">
+      <!-- <wd-rate custom-class="custom-rate-class" v-model="rate" /> -->
+      <wd-config-provider :themeVars="{ textareaBg: 'transparent', textareaCellHeight: '100rpx' }">
+        <wd-textarea
+          custom-class="bg-[#f6f6f6]! rounded-lg border border-solid border-[#9f9f9f]/20"
+          v-model="cancelReason"
+          line="2"
+          height="100rpx"
+          placeholder="请输入驳回原因"
+        />
+      </wd-config-provider>
+    </wd-message-box>
     <wd-action-sheet title="优惠券" v-model="show">
       <view class="">
         <wd-tabs>