li.shaoyi 3 年之前
父节点
当前提交
03b8d327fc

+ 2 - 1
src/packages/mobile/components/base/region/index.less

@@ -7,6 +7,7 @@
     }
 
     &__input {
-        flex: 1;
+        flex : 1;
+        width: 100%;
     }
 }

+ 4 - 4
src/packages/mobile/components/base/region/index.vue

@@ -1,8 +1,8 @@
 <template>
     <div class="app-region">
         <div class="app-region__wrapper" @click="show = true">
-            <slot>
-                <input class="app-region__input" v-model="fieldValue" :placeholder="placeholder" readonly />
+            <slot :value="inputValue">
+                <input class="app-region__input" v-model="inputValue" :placeholder="placeholder" readonly />
             </slot>
         </div>
         <Popup v-model:show="show" position="bottom" teleport="body" round>
@@ -38,7 +38,7 @@ const props = defineProps({
 
 const emit = defineEmits(['update:modelValue', 'finish'])
 const show = shallowRef(false) // 是否弹出选择器
-const fieldValue = shallowRef('')
+const inputValue = shallowRef('')
 const options = shallowRef<CascaderOption[]>([])
 
 // 选中的值
@@ -51,7 +51,7 @@ const selectedValue = computed({
 const onFinish = ({ selectedOptions }: { selectedOptions: CascaderOption[] }) => {
     const selection = selectedOptions.map((e) => e.value)
     show.value = false
-    fieldValue.value = selectedOptions.map((option) => option.text).join(' ')
+    inputValue.value = selectedOptions.map((option) => option.text).join(' ')
 
     emit('update:modelValue', selection.pop())
     emit('finish', selection)

+ 9 - 7
src/packages/mobile/components/base/select/index.less

@@ -1,11 +1,13 @@
 .app-select {
-    width: 100%;
+    flex: 1;
 
-    /deep/ .van-field {
-        &__label {
-            &:empty {
-                display: none;
-            }
-        }
+    &__wrapper {
+        display    : flex;
+        align-items: center;
+    }
+
+    &__input {
+        flex : 1;
+        width: 100%;
     }
 }

+ 12 - 26
src/packages/mobile/components/base/select/index.vue

@@ -1,24 +1,19 @@
 <template>
-    <Field class="app-select" ref="fieldRef" :name="name" :rules="rules" @click="show = true" :is-link="isLink">
-        <template #label>
-            <slot name="label">
-                {{ label }}
+    <div class="app-select">
+        <div class="app-select__wrapper" @click="show = true">
+            <slot :value="inputValue">
+                <input class="app-select__input" v-model="inputValue" :placeholder="placeholder" readonly />
             </slot>
-        </template>
-        <template #input>
-            <slot name="input" :item="props.options[selectedIndex]">
-                <input :value="columnLabel" :placeholder="placeholder" readonly />
-            </slot>
-        </template>
-    </Field>
-    <Popup v-model:show="show" position="bottom" teleport="body">
-        <Picker :columns="columns" @cancel="onCancel" @confirm="onConfirm" />
-    </Popup>
+        </div>
+        <Popup v-model:show="show" position="bottom" teleport="body">
+            <Picker :columns="columns" @cancel="onCancel" @confirm="onConfirm" />
+        </Popup>
+    </div>
 </template>
 
 <script lang="ts" setup>
 import { shallowRef, computed, PropType, watch } from 'vue'
-import { Field, FieldRule, Popup, Picker, PickerOption, FieldInstance } from 'vant'
+import { Popup, Picker, PickerOption, FieldInstance } from 'vant'
 
 const props = defineProps({
     modelValue: {
@@ -35,19 +30,10 @@ const props = defineProps({
             value: 'value'
         })
     },
-    rules: {
-        type: Array as PropType<FieldRule[]>
-    },
-    name: String,
-    label: String,
     placeholder: {
         type: String,
         default: '请选择'
     },
-    isLink: {
-        type: Boolean,
-        default: true
-    }
 })
 
 const emit = defineEmits(['update:show', 'update:modelValue', 'confirm', 'cancel'])
@@ -62,8 +48,8 @@ const columns = computed(() => {
     return []
 })
 
-// 当前显示的标签
-const columnLabel = computed(() => {
+// 当前输入框的值
+const inputValue = computed(() => {
     const item = props.options[selectedIndex.value]
     if (item) {
         return item[props.optionProps.label] ?? ''

+ 6 - 3
src/packages/mobile/views/account/certification/index.vue

@@ -7,8 +7,11 @@
             <CellGroup inset>
                 <Field v-model="formData.username" name="username" label="姓名" placeholder="请输入用户姓名"
                     :rules="formRules.username" />
-                <app-select v-model="formData.cardtype" name="cardtype" label="证件类型" placeholder="请选择证件类型"
-                    :rules="formRules.cardtype" :options="enums" />
+                <Field name="cardtype" label="证件类型" :rules="formRules.cardtype" is-link>
+                    <template #input>
+                        <app-select v-model="formData.cardtype" placeholder="请选择证件类型" :options="enums" />
+                    </template>
+                </Field>
                 <Field v-model="formData.cardnum" name="cardnum" label="证件号码" placeholder="请输入证件号码"
                     :rules="formRules.cardnum" />
                 <Field name="cardfrontphotourl" label="证件正面照片" :rules="formRules.cardfrontphotourl">
@@ -104,7 +107,7 @@ const formRules: { [key in keyof Model.AddAuthReq]?: FieldRule[] } = {
     cardnum: [{
         required: true,
         message: '请输入证件号码',
-        
+
     }],
     cardbackphotourl: [{
         required: true,

+ 8 - 5
src/packages/mobile/views/bank/sign/components/edit/index.vue

@@ -1,13 +1,16 @@
 <template>
     <app-view class="g-form">
         <template #header>
-            <app-navbar>{{bankInfo ? '修改签约用户' : '添加签约用户'}}</app-navbar>
+            <app-navbar>{{ bankInfo ? '修改签约用户' : '添加签约用户' }}</app-navbar>
         </template>
         <Form ref="formRef" class="g-form__container" @submit="formSubmit">
             <CellGroup inset>
-                <app-select v-model="formData.OpenBankAccId" name="BankName" label="开户银行" placeholder="请选择开户银行"
-                    :rules="formRules.OpenBankAccId" :options="banklist"
-                    :optionProps="{ label: 'bankname', value: 'bankid' }" />
+                <Field name="OpenBankAccId" label="开户银行" :rules="formRules.OpenBankAccId" is-link>
+                    <template #input>
+                        <app-select v-model="formData.OpenBankAccId" placeholder="请选择开户银行" :options="banklist"
+                            :optionProps="{ label: 'bankname', value: 'bankid' }" />
+                    </template>
+                </Field>
                 <Field name="BankNo" label="银行卡号" v-model="formData.BankAccountNo" placeholder="请输入银行卡账号"
                     :rules="formRules.BankAccountNo" />
                 <Field name="AccountName" label="姓名" readonly v-model="formData.BankAccountName" placeholder="请输入银行卡账户名"
@@ -18,7 +21,7 @@
         </Form>
         <template #footer>
             <div class="g-form__footer">
-                <Button type="primary" round block @click="formRef?.submit()">{{ bankInfo ? '修改' :  '提交' }}</Button>
+                <Button type="primary" round block @click="formRef?.submit()">{{ bankInfo ? '修改' : '提交' }}</Button>
             </div>
         </template>
     </app-view>

+ 0 - 20
src/packages/mobile/views/goods/details/index.less

@@ -1,26 +1,6 @@
 .goods-details {
     &__form {
         .form {
-            &-month {
-                display: flex;
-
-                .app-select {
-                    flex: 1;
-                }
-
-                .van-field {
-                    padding: 0;
-
-                    &::after {
-                        content: none;
-                    }
-
-                    input {
-                        width: 100%;
-                    }
-                }
-            }
-
             &-qty {
                 width: 100%;
 

+ 17 - 13
src/packages/mobile/views/goods/details/index.vue

@@ -5,29 +5,33 @@
         </template>
         <Form ref="formRef" class="goods-details__form" @submit="onSubmit">
             <CellGroup>
-                <app-select v-model="formData.THJDeliveryMode" name="THJDeliveryMode" label="交割方式"
-                    :rules="formRules.THJDeliveryMode" :options="details.deliverymodes"
-                    :optionProps="{ label: 'enumdicname', value: 'enumitemname' }" />
+                <Field name="THJDeliveryMode" label="交割方式" :rules="formRules.THJDeliveryMode" is-link>
+                    <template #input>
+                        <app-select v-model="formData.THJDeliveryMode" placeholder="请选择"
+                            :options="details.deliverymodes"
+                            :optionProps="{ label: 'enumdicname', value: 'enumitemname' }" />
+                    </template>
+                </Field>
                 <Field label="交割月份" name="PresaleApplyID" :rules="formRules.PresaleApplyID">
                     <template #input>
-                        <div class="form-month">
-                            <app-select placeholder="开始月份" :options="deliveryMonths" :is-link="false"
-                                @confirm="onMonthChange" />
-                            <app-select placeholder="结束日期" :options="deliveryDays"
-                                :optionProps="{ label: 'enddate', value: 'presaleapplyid' }" :is-link="false"
-                                @confirm="onDayChange" />
-                        </div>
+                        <app-select placeholder="开始月份" :options="deliveryMonths" @confirm="onMonthChange" />
+                        <app-select placeholder="结束日期" :options="deliveryDays"
+                            :optionProps="{ label: 'enddate', value: 'presaleapplyid' }" @confirm="onDayChange" />
+                    </template>
+                </Field>
+                <Field name="DepositID" label="支付方式" :rules="formRules.DepositID" is-link
+                    v-if="selectedDate?.presaleapplyid">
+                    <template #input>
+                        <app-select v-model="formData.DepositID" placeholder="请选择" :options="presaleApplyDeposits" />
                     </template>
                 </Field>
-                <app-select v-model="formData.DepositID" name="DepositID" label="支付方式" :rules="formRules.DepositID"
-                    :options="presaleApplyDeposits" v-if="selectedDate?.presaleapplyid" />
                 <Field v-model="formData.Qty" name="Qty" type="digit" label="采购数量" :rules="formRules.Qty">
                     <template #input>
                         <div class="form-qty">
                             <div class="form-qty__input">
                                 <input type="number" v-model="formData.Qty" placeholder="必填" />
                                 <span v-if="selectedDate">≤{{ selectedDate.remainqty }}{{
-                                        getGoodsUnitName(goodsinfo.unitid)
+                                getGoodsUnitName(goodsinfo.unitid)
                                 }}</span>
                             </div>
                             <div class="form-qty__label">

+ 1 - 1
src/packages/mobile/views/home/components/mine/index.vue

@@ -58,7 +58,7 @@
         </li>
         <li @click="routerTo('my-wareorder')">
           <app-iconfont icon="icon-wodecangdan" label-direction="bottom">我的仓单</app-iconfont>
-        </li> -->
+        </li>
         <li>
           <app-iconfont icon="icon-fapiaoxinxi" label-direction="bottom">发票信息</app-iconfont>
         </li>

+ 1 - 1
src/packages/mobile/views/mine/address/components/edit/index.vue

@@ -10,7 +10,7 @@
                         :rules="formRules.ReceiverName" />
                     <Field v-model="formData.PhoneNum" type="tel" name="PhoneNum" label="联系电话" placeholder="必填"
                         :rules="formRules.PhoneNum" />
-                    <Field label="收货地区" placeholder="请选择" is-link readonly>
+                    <Field label="收货地区" placeholder="请选择" is-link>
                         <template #input>
                             <app-region v-model="formData.DistrictID" />
                         </template>

+ 6 - 10
src/packages/mobile/views/mine/order/detail/wrorder/index.vue

@@ -7,7 +7,7 @@
             <CellGroup title="委托信息">
                 <Cell title="商品" :value="detail.wrstandardname" />
                 <Cell title="仓库" :value="detail.warehousename" />
-                <Cell title="类型" :value="detail.wrtradetype === 1 ? '挂牌' : '摘牌' " />
+                <Cell title="类型" :value="detail.wrtradetype === 1 ? '挂牌' : '摘牌'" />
                 <Cell title="方向" :value="detail.tradeqty" />
                 <Cell title="委托价格" :value="detail.fixedprice.toFixed(2)" />
                 <Cell title="挂牌数量" :value="detail.orderqty" />
@@ -22,7 +22,8 @@
         </div>
         <template #footer>
             <div class="g-form__footer" v-if="detail">
-                <Button block v-if="detail.wrtradeorderstatus === (3 | 7)" round type="primary" @click="spotConfirmSubmit">撤销</Button>
+                <Button block v-if="detail.wrtradeorderstatus === (3 | 7)" round type="primary"
+                    @click="spotConfirmSubmit">撤销</Button>
             </div>
         </template>
     </app-view>
@@ -35,8 +36,7 @@ import { useNavigation } from '@/hooks/navigation'
 import { fullloading, dialog } from '@/utils/vant'
 import { CellGroup, Cell, Empty, Button, Toast } from 'vant'
 import { formatDate } from "@/filters";
-import { useWrListingCancelOrder } from "@/business/trade";
-import { number } from '@intlify/core-base';
+import { useWrListingCancelOrder } from "@/business/trade"
 
 const { route, router } = useNavigation()
 const item = route.params.item
@@ -54,7 +54,7 @@ const spotConfirmSubmit = () => {
         showCancelButton: true
     }).then(() => {
         fullloading((hideLoading) => {
-            cancelSubmit(<number><unknown>(detail.value?.wrtradeorderid ?? '0'), detail.value?.buyorsell ?? 0).then(() => {
+            cancelSubmit((detail.value?.wrtradeorderid ?? '0'), detail.value?.buyorsell ?? 0).then(() => {
                 hideLoading()
                 dialog('撤销请求成功,请耐心等待审核。').then(() => {
                     router.back()
@@ -66,8 +66,4 @@ const spotConfirmSubmit = () => {
     })
 }
 
-</script>
-
-<style lang="less">
-@import './index.less';
-</style>
+</script>

+ 4 - 8
src/packages/mobile/views/mine/order/detail/wrtrade/index.vue

@@ -7,11 +7,11 @@
             <CellGroup title="成交信息">
                 <Cell title="商品" :value="detail.wrstandardname" />
                 <Cell title="仓库" :value="detail.warehousename" />
-                <Cell title="类型" :value="detail.wrtradetype === 1 ? '挂牌' : '摘牌' " />
-                <Cell title="方向" :value="detail.buyorsell === 0 ? '买入' : '卖出' " />
+                <Cell title="类型" :value="detail.wrtradetype === 1 ? '挂牌' : '摘牌'" />
+                <Cell title="方向" :value="detail.buyorsell === 0 ? '买入' : '卖出'" />
                 <Cell title="成交价格" :value="detail.tradeprice.toFixed(2)" />
                 <Cell title="成交数量" :value="detail.tradeqty" />
-                <Cell title="成交金额" :value="(detail.tradeprice*detail.tradeqty).toFixed(2)" />
+                <Cell title="成交金额" :value="(detail.tradeprice * detail.tradeqty).toFixed(2)" />
                 <Cell title="成交时间" :value="formatDate(detail.tradetime, 'YYYY/MM/DD HH:mm:ss')" />
                 <Cell title="对手方" :value="detail.matchusername" />
                 <Cell title="成交单号:" :value="detail.wrtradedetailid" />
@@ -39,8 +39,4 @@ if (item) {
     detail.value = JSON.parse(item.toString())
 }
 
-</script>
-
-<style lang="less">
-@import './index.less';
-</style>
+</script>