li.shaoyi há 1 ano atrás
pai
commit
23bf998996
22 ficheiros alterados com 117 adições e 36 exclusões
  1. 2 2
      oem/sbyj/config/appconfig.json
  2. 4 0
      src/packages/gcszt/assets/themes/global/global.less
  3. 4 0
      src/packages/gstj/assets/themes/global/global.less
  4. 4 0
      src/packages/mobile/assets/themes/global/global.less
  5. 1 1
      src/packages/mobile/components/modules/delivery/index.vue
  6. 4 4
      src/packages/mobile/components/modules/hqchart/candlestick/index.vue
  7. 0 1
      src/packages/mobile/views/bank/sign/components/edit/Index.vue
  8. 0 1
      src/packages/mobile/views/order/inout/components/add/index.vue
  9. 0 1
      src/packages/mobile/views/order/performance/components/modify/Index.vue
  10. 25 7
      src/packages/mobile/views/order/position/components/goods/delivery50/index.vue
  11. 0 1
      src/packages/mobile/views/order/position/components/spot/pickup/Index.vue
  12. 8 8
      src/packages/pc/components/modules/hqchart/candlestick/index.vue
  13. 2 2
      src/packages/pc/views/account/address/components/edit/index.vue
  14. 1 0
      src/packages/pc/views/auth/login/index.vue
  15. 37 7
      src/packages/pc/views/footer/goods/position/components/delivery50/index.vue
  16. 4 0
      src/packages/qdhs/assets/themes/global/global.less
  17. 4 0
      src/packages/qxst/assets/themes/global/global.less
  18. 4 0
      src/packages/sbyj/assets/themes/global/global.less
  19. 4 0
      src/packages/tc/assets/themes/global/global.less
  20. 4 0
      src/packages/tjmd/assets/themes/global/global.less
  21. 4 0
      src/packages/zrwyt/assets/themes/global/global.less
  22. 1 1
      src/types/model/order.d.ts

+ 2 - 2
oem/sbyj/config/appconfig.json

@@ -1,8 +1,8 @@
 {
   "appId": "com.muchinfo.sbyj",
   "appName": "水贝亿爵",
-  "version": "1.0.8",
-  "versionCode": "100008",
+  "version": "1.0.9",
+  "versionCode": "100009",
   "apiUrl": "http://192.168.31.171:8080/cfg?key=test_171",
   "tradeChannel": "ws",
   "modules": [

+ 4 - 0
src/packages/gcszt/assets/themes/global/global.less

@@ -64,6 +64,10 @@
         }
 
         .van-field {
+            &__right-icon {
+                align-self: normal;
+            }
+
             .van-stepper {
                 display: flex;
                 align-items: center;

+ 4 - 0
src/packages/gstj/assets/themes/global/global.less

@@ -64,6 +64,10 @@
         }
 
         .van-field {
+            &__right-icon {
+                align-self: normal;
+            }
+
             .van-stepper {
                 display: flex;
                 align-items: center;

+ 4 - 0
src/packages/mobile/assets/themes/global/global.less

@@ -64,6 +64,10 @@
         }
 
         .van-field {
+            &__right-icon {
+                align-self: normal;
+            }
+
             .van-stepper {
                 display: flex;
                 align-items: center;

+ 1 - 1
src/packages/mobile/components/modules/delivery/index.vue

@@ -144,10 +144,10 @@ const onSubmit = () => {
 
 // 关闭弹窗
 const closed = (isRefresh = false) => {
+    refresh.value = isRefresh
     if (showWarehouseReceipt.value) {
         showWarehouseReceipt.value = false
     } else {
-        refresh.value = isRefresh
         showModal.value = false
     }
 }

+ 4 - 4
src/packages/mobile/components/modules/hqchart/candlestick/index.vue

@@ -141,10 +141,10 @@ const chartOption = {
                 const { Open, High, Low, Close, YClose, YFClose } = data.Data
                 const yclose = YFClose ?? YClose
                 const AryText = [
-                    { Text: '开:' + handleNumberValue(Open.toFixed(decimalplace)), Color: paint.GetColor(Open, yclose || Open) },
-                    { Text: '高:' + handleNumberValue(High.toFixed(decimalplace)), Color: paint.GetColor(High, yclose || High) },
-                    { Text: '低:' + handleNumberValue(Low.toFixed(decimalplace)), Color: paint.GetColor(Low, yclose || Low) },
-                    { Text: '收:' + handleNumberValue(Close.toFixed(decimalplace)), Color: paint.GetColor(Close, yclose || Close) }
+                    { Text: '开:' + handleNumberValue(Open?.toFixed(decimalplace)), Color: paint.GetColor(Open, yclose || Open) },
+                    { Text: '高:' + handleNumberValue(High?.toFixed(decimalplace)), Color: paint.GetColor(High, yclose || High) },
+                    { Text: '低:' + handleNumberValue(Low?.toFixed(decimalplace)), Color: paint.GetColor(Low, yclose || Low) },
+                    { Text: '收:' + handleNumberValue(Close?.toFixed(decimalplace)), Color: paint.GetColor(Close, yclose || Close) }
                 ]
                 return {
                     AryText

+ 0 - 1
src/packages/mobile/views/bank/sign/components/edit/Index.vue

@@ -225,7 +225,6 @@ const closed = (isRefresh = false) => {
     if (showSearch.value) {
         showSearch.value = false
     } else {
-        refresh.value = isRefresh
         showModal.value = false
     }
 }

+ 0 - 1
src/packages/mobile/views/order/inout/components/add/index.vue

@@ -159,7 +159,6 @@ const closed = (isRefresh = false) => {
     if (showSearch.value) {
         showSearch.value = false
     } else {
-        refresh.value = isRefresh
         showModal.value = false
     }
 }

+ 0 - 1
src/packages/mobile/views/order/performance/components/modify/Index.vue

@@ -163,7 +163,6 @@ const closed = (isRefresh = false) => {
     } else if (showReceipt.value) {
         showReceipt.value = false
     } else {
-        refresh.value = isRefresh
         showModal.value = false
     }
 }

+ 25 - 7
src/packages/mobile/views/order/position/components/goods/delivery50/index.vue

@@ -25,17 +25,20 @@
                 </CellGroup>
                 <CellGroup title="交收信息" inset>
                     <Cell title="交收对手方" :value="selectedRow.matchname" />
-                    <Field name="DeliveryLot" type="digit" :rules="formRules.DeliveryLot" label="交收数">
+                    <Field name="DeliveryLot" type="digit" :rules="formRules.DeliveryLot" label="交收数">
                         <template #input>
                             <Stepper v-model="formData.DeliveryLot" theme="round" button-size="22" :min="0"
                                 :max="selectedRow.enableqty" :auto-fixed="false" integer />
                         </template>
                     </Field>
+                    <Cell title="交收数量" :value="(formData.DeliveryLot ?? 0) * selectedRow.agreeunit" />
                     <Field name="DeliveryInfo" v-model="formData.DeliveryInfo" type="textarea" autosize clearable
-                        :rules="formRules.DeliveryInfo" maxlength="50" label="交收信息" placeholder="请输入交收信息">
+                        :rules="formRules.DeliveryInfo" maxlength="50" label="收货地址" placeholder="必填" right-icon="add-o"
+                        @click-right-icon="showContact = true">
                     </Field>
                 </CellGroup>
             </Form>
+            <app-contact v-model:show="showContact" @change="contactChange" />
             <template #footer>
                 <Button block square type="danger" @click="formRef?.submit">提交</Button>
             </template>
@@ -52,6 +55,8 @@ import { formatDecimal } from '@/filters'
 import { useOfflineDelivery } from '@/business/trade'
 import { dialog, fullloading } from '@/utils/vant'
 
+import AppContact from '@mobile/components/modules/contact/index.vue'
+
 const props = defineProps({
     selectedRow: {
         type: Object as PropType<Model.TradePositionRsp & {
@@ -66,28 +71,37 @@ const showModal = shallowRef(true)
 // 是否刷新父组件数据
 const refresh = shallowRef(false)
 const formRef = shallowRef<FormInstance>()
+const showContact = shallowRef(false) // 显示联系人选择列表
 const { formSubmit, formData } = useOfflineDelivery()
 
 // 表单验证规则
 const formRules: { [key: string]: FieldRule[] } = {
     DeliveryLot: [{
-        message: '请输入交收数',
+        message: '请输入交收数',
         validator: (val) => {
-            if (val <= props.selectedRow.mindeliverylot) {
+            if (val >= props.selectedRow.mindeliverylot) {
                 return true
             }
-            return '不能小于最小交收数' + `${props.selectedRow.mindeliverylot}`
+            return '不能小于最小交收数' + `${props.selectedRow.mindeliverylot}`
         }
     }],
     DeliveryInfo: [{
         required: true,
-        message: '请输入交收信息',
+        message: '请输入收货地址',
         validator: () => {
             return !!formData.DeliveryInfo
         }
     }],
 }
 
+// 选择联系信息
+const contactChange = (item: Model.UserReceiveInfoRsp) => {
+    const contact = `${item.receivername} ${item.phonenum}`
+    const address = `${item.provincename} ${item.cityname} ${item.districtname} ${item.address}`
+    formData.DeliveryInfo = [contact, address].join('\n')
+    formRef.value?.validate('Region')
+}
+
 const onDeliverySumit = () => {
     dialog({
         message: '确认要交收吗?',
@@ -114,7 +128,11 @@ const onDeliverySumit = () => {
 // 关闭弹窗
 const closed = (isRefresh = false) => {
     refresh.value = isRefresh
-    showModal.value = false
+    if (showContact.value) {
+        showContact.value = false
+    } else {
+        showModal.value = false
+    }
 }
 
 // 暴露组件属性给父组件调用

+ 0 - 1
src/packages/mobile/views/order/position/components/spot/pickup/Index.vue

@@ -208,7 +208,6 @@ const closed = (isRefresh = false) => {
     } else if (showReceipt.value) {
         showReceipt.value = false
     } else {
-        refresh.value = isRefresh
         showModal.value = false
     }
 }

+ 8 - 8
src/packages/pc/components/modules/hqchart/candlestick/index.vue

@@ -148,10 +148,10 @@ const chartOption = {
                     AryText.push({ Text: FormatTimeString(Time), Color: paint.DateTimeColor })
                 }
                 AryText.push(
-                    { Text: '开:' + handleNumberValue(Open.toFixed(decimalplace)), Color: paint.GetColor(Open, yclose || Open) },
-                    { Text: '高:' + handleNumberValue(High.toFixed(decimalplace)), Color: paint.GetColor(High, yclose || High) },
-                    { Text: '低:' + handleNumberValue(Low.toFixed(decimalplace)), Color: paint.GetColor(Low, yclose || Low) },
-                    { Text: '收:' + handleNumberValue(Close.toFixed(decimalplace)), Color: paint.GetColor(Close, yclose || Close) }
+                    { Text: '开:' + handleNumberValue(Open?.toFixed(decimalplace)), Color: paint.GetColor(Open, yclose || Open) },
+                    { Text: '高:' + handleNumberValue(High?.toFixed(decimalplace)), Color: paint.GetColor(High, yclose || High) },
+                    { Text: '低:' + handleNumberValue(Low?.toFixed(decimalplace)), Color: paint.GetColor(Low, yclose || Low) },
+                    { Text: '收:' + handleNumberValue(Close?.toFixed(decimalplace)), Color: paint.GetColor(Close, yclose || Close) }
                 )
                 if (goods.value?.trademode !== 99) {
                     AryText.push(
@@ -199,10 +199,10 @@ const customHistoryDataStringFormat = () => {
             this.Height = 165
             this.Text = `<dl class="app-hqchart-tooltip">`
             this.Text += `<dt><span>${FormatDateString(Date)}</span>${Time ? '<span>' + FormatTimeString(Time) + '</span>' : ''}</dt>`
-            this.Text += `<dd><span>开盘:</span><span class="${handlePriceColor(Open, yclose || Open)}">${handleNumberValue(Open.toFixed(decimalplace))}</span></dd>`
-            this.Text += `<dd><span>最高:</span><span class="${handlePriceColor(High, yclose || High)}">${handleNumberValue(High.toFixed(decimalplace))}</span></dd>`
-            this.Text += `<dd><span>最低:</span><span class="${handlePriceColor(Low, yclose || Low)}">${handleNumberValue(Low.toFixed(decimalplace))}</span></dd>`
-            this.Text += `<dd><span>收盘:</span><span class="${handlePriceColor(Close, yclose || Close)}">${handleNumberValue(Close.toFixed(decimalplace))}</span></dd>`
+            this.Text += `<dd><span>开盘:</span><span class="${handlePriceColor(Open, yclose || Open)}">${handleNumberValue(Open?.toFixed(decimalplace))}</span></dd>`
+            this.Text += `<dd><span>最高:</span><span class="${handlePriceColor(High, yclose || High)}">${handleNumberValue(High?.toFixed(decimalplace))}</span></dd>`
+            this.Text += `<dd><span>最低:</span><span class="${handlePriceColor(Low, yclose || Low)}">${handleNumberValue(Low?.toFixed(decimalplace))}</span></dd>`
+            this.Text += `<dd><span>收盘:</span><span class="${handlePriceColor(Close, yclose || Close)}">${handleNumberValue(Close?.toFixed(decimalplace))}</span></dd>`
             this.Text += `<dd><span>涨跌:</span><span class="${handlePriceColor(rise)}">${rise.toFixed(decimalplace)}</span></dd>`
             this.Text += `<dd><span>幅度:</span><span class="${handlePriceColor(increase)}">${parsePercent(increase)}</span></dd>`
             if (goods.value?.trademode !== 99) {

+ 2 - 2
src/packages/pc/views/account/address/components/edit/index.vue

@@ -1,6 +1,6 @@
 <!-- 账户管理-收货地址管理-编辑 -->
 <template>
-    <app-drawer :title="selectedRow?.autoid ? '修改地址' : '新增地址'" :width="880" v-model:show="show" :loading="loading"
+    <app-drawer :title="selectedRow?.autoid ? '修改地址' : '新增地址'" :width="800" v-model:show="show" :loading="loading"
         :refresh="refresh">
         <el-form ref="formRef" class="el-form--horizontal" label-width="100px" :model="formData" :rules="formRules">
             <el-form-item label="收货人" prop="ReceiverName">
@@ -22,7 +22,7 @@
                 <app-region class="el-form-item--col" v-model:province="formData.ProvinceID"
                     v-model:city="formData.CityID" v-model:district="formData.DistrictID" />
             </el-form-item>
-            <el-form-item class="el-form-item--row" prop="Address">
+            <el-form-item class="el-form-item--row" label="详细地址" prop="Address">
                 <el-input placeholder="请输入详细地址" v-model="formData.Address" />
             </el-form-item>
         </el-form>

+ 1 - 0
src/packages/pc/views/auth/login/index.vue

@@ -120,6 +120,7 @@ const formSubmit = () => {
   formRef.value?.validate(async (valid) => {
     if (valid && sliderVerifyStatus.value) {
       try {
+        loading.value = true
         const forcedPasswordChange = await userLogin()
         if (forcedPasswordChange) {
           reset()

+ 37 - 7
src/packages/pc/views/footer/goods/position/components/delivery50/index.vue

@@ -34,12 +34,30 @@
                     {{ formatDecimal(selectedRow.closepl, selectedRow.decimalplace) }}
                 </span>
             </el-form-item>
-            <el-form-item prop="DeliveryLot" label="交收数">
-                <el-input-number placeholder="请输入数量" v-model="formData.DeliveryLot" :precision="0"
+            <el-form-item prop="DeliveryLot" label="交收数">
+                <el-input-number placeholder="请输入" v-model="formData.DeliveryLot" :precision="0"
                     :max="selectedRow.enableqty" :min="0" />
             </el-form-item>
-            <el-form-item prop="DeliveryInfo" label="交收信息">
-                <el-input type="textarea" placeholder="请输入交收信息" v-model="formData.DeliveryInfo" />
+            <el-form-item label="交收数量">
+                <span>{{ (formData.DeliveryLot ?? 0) * selectedRow.agreeunit }}</span>
+            </el-form-item>
+            <el-form-item class="el-form-item--row" prop="DeliveryInfo" label="收货地址">
+                <div class="el-form-item--col">
+                    <el-input type="textarea" placeholder="请输入收货地址" :rows="3" v-model="formData.DeliveryInfo" />
+                    <el-dropdown trigger="click" v-if="addressList.length">
+                        <el-icon :size="20" style="cursor: pointer;">
+                            <CirclePlusFilled />
+                        </el-icon>
+                        <template #dropdown>
+                            <el-dropdown-menu>
+                                <el-dropdown-item v-for="(item, index) in addressList" :key="index"
+                                    @click="onAddressChange(item)">
+                                    {{ [item.provincename, item.cityname, item.districtname, item.address].join(' ') }}
+                                </el-dropdown-item>
+                            </el-dropdown-menu>
+                        </template>
+                    </el-dropdown>
+                </div>
             </el-form-item>
         </el-form>
         <template #footer>
@@ -52,7 +70,9 @@
 <script lang="ts" setup>
 import { ref, PropType } from 'vue'
 import { ElMessage, FormInstance, FormRules } from 'element-plus'
+import { useRequest } from '@/hooks/request'
 import { useOfflineDelivery } from '@/business/trade'
+import { queryUserReceiveInfo } from '@/services/api/user'
 import { getBuyOrSellName } from '@/constants/order'
 import { formatDecimal } from '@/filters'
 import AppDrawer from '@pc/components/base/drawer/index.vue'
@@ -72,27 +92,37 @@ const show = ref(true)
 const refresh = ref(false)
 const formRef = ref<FormInstance>()
 
+const { dataList: addressList } = useRequest(queryUserReceiveInfo)
+
 // 表单验证规则
 const formRules: FormRules = {
     DeliveryLot: [{
-        message: '请输入交收数量',
+        required: true,
+        message: '请输入交收手数',
         validator: (rule, value, callback) => {
             if (value >= props.selectedRow.mindeliverylot) {
                 callback()
             } else {
-                callback(new Error('不能小于最小交收数' + `${props.selectedRow.mindeliverylot}`))
+                callback(new Error('不能小于最小交收数' + `${props.selectedRow.mindeliverylot}`))
             }
         }
     }],
     DeliveryInfo: [{
         required: true,
-        message: '请输入交收信息',
+        message: '请输入收货地址',
         validator: () => {
             return !!formData.DeliveryInfo
         }
     }],
 }
 
+// 选择地址
+const onAddressChange = (item: Model.UserReceiveInfoRsp) => {
+    const contact = `${item.receivername} ${item.phonenum}`
+    const address = `${item.provincename} ${item.cityname} ${item.districtname} ${item.address}`
+    formData.DeliveryInfo = [contact, address].join('\n')
+}
+
 const onCancel = (isRefresh = false) => {
     show.value = false
     refresh.value = isRefresh

+ 4 - 0
src/packages/qdhs/assets/themes/global/global.less

@@ -64,6 +64,10 @@
         }
 
         .van-field {
+            &__right-icon {
+                align-self: normal;
+            }
+
             .van-stepper {
                 display: flex;
                 align-items: center;

+ 4 - 0
src/packages/qxst/assets/themes/global/global.less

@@ -64,6 +64,10 @@
         }
 
         .van-field {
+            &__right-icon {
+                align-self: normal;
+            }
+
             .van-stepper {
                 display: flex;
                 align-items: center;

+ 4 - 0
src/packages/sbyj/assets/themes/global/global.less

@@ -64,6 +64,10 @@
         }
 
         .van-field {
+            &__right-icon {
+                align-self: normal;
+            }
+
             .van-stepper {
                 display: flex;
                 align-items: center;

+ 4 - 0
src/packages/tc/assets/themes/global/global.less

@@ -64,6 +64,10 @@
         }
 
         .van-field {
+            &__right-icon {
+                align-self: normal;
+            }
+
             .van-stepper {
                 display: flex;
                 align-items: center;

+ 4 - 0
src/packages/tjmd/assets/themes/global/global.less

@@ -64,6 +64,10 @@
         }
 
         .van-field {
+            &__right-icon {
+                align-self: normal;
+            }
+
             .van-stepper {
                 display: flex;
                 align-items: center;

+ 4 - 0
src/packages/zrwyt/assets/themes/global/global.less

@@ -64,6 +64,10 @@
         }
 
         .van-field {
+            &__right-icon {
+                align-self: normal;
+            }
+
             .van-stepper {
                 display: flex;
                 align-items: center;

+ 1 - 1
src/types/model/order.d.ts

@@ -960,7 +960,7 @@ declare namespace Model {
         /// 商品名称
         goodsname: string
         /// 报价单位
-        goodunit: string
+        goodunit: number
         /// 报价单位ID
         goodunitid: number
         /// 期初持仓总金额[商品币种]