li.shaoyi il y a 2 ans
Parent
commit
390078ba98

+ 6 - 6
src/business/order/index.ts

@@ -19,16 +19,16 @@ export function useQueryHoldLB() {
     const { dataList, total, pageIndex, pageSize, pageCount } = useDataTable<Model.HoldLBRsp>()
     const loading = shallowRef(false)
 
-    const getHoldLB = async (warehouseid?: number, deliverygoodsid?: number, wrstandardid?: number, wrfactortypeid?: number, dgitemname?: string) => {
+    const getHoldLB = async (warehouseid?: number, deliverygoodsid?: number, wrstandardid?: number, wrfactortypeid?: string, dgitemname?: string) => {
         loading.value = true
         await queryHoldLB({
             data: {
                 accountid: firstAccountId.value,
-                warehouseid: warehouseid,
-                deliverygoodsid: deliverygoodsid,
-                wrstandardid: wrstandardid,
-                wrfactortypeid: wrfactortypeid,
-                dgitemname: dgitemname,
+                warehouseid,
+                deliverygoodsid,
+                wrstandardid,
+                wrfactortypeid,
+                dgitemname,
                 page: pageIndex.value,
                 pagesize: pageSize.value,
             },

+ 6 - 8
src/packages/mobile/views/mine/order/detail/purchasetrade/index.vue

@@ -39,13 +39,10 @@
                 <Button block round type="primary"
                     v-if="detail.thjdeliverymode === 1 && detail.presalestatus === 2 && detail.orderstatus === 1"
                     @click="showDialog">合同转让</Button>
-                <Button block round type="primary" v-if="detail.orderstatus === 9"
-                    @click="spotCancelSubmit">撤销转让</Button>
-                <Button block round type="primary" v-if="detail.orderstatus === 5"
-                    @click="spotConfirmSubmit">确认交收</Button>
+                <Button block round type="primary" v-if="detail.orderstatus === 9" @click="spotCancelSubmit">撤销转让</Button>
+                <Button block round type="primary" v-if="detail.orderstatus === 5" @click="spotConfirmSubmit">确认交收</Button>
                 <Button block round type="primary" v-if="detail.orderstatus === 3" @click="spotApplySubmit">违约</Button>
-                <Button block round type="primary" v-if="detail.orderstatus === 3"
-                    @click="spotPlaymentSubmit">支付</Button>
+                <Button block round type="primary" v-if="detail.orderstatus === 3" @click="spotPlaymentSubmit">支付</Button>
             </div>
         </template>
         <!-- 转让价格 -->
@@ -62,7 +59,8 @@ import { useNavigation } from '@/hooks/navigation'
 import { fullloading, dialog } from '@/utils/vant'
 import { CellGroup, Cell, Empty, Button, showFailToast, Dialog } from 'vant'
 import { formatDate, getUrl, handleNumberValue, parsePercent } from '@/filters'
-import { useSpotPresaleDeliveryConfirm, useSpotPresaleBreachOfContractApply, useSpotPresaleTransferCancel, useSpotPresaleTransferListing, useSpotPresalePlayment } from "@/business/trade";
+import { useSpotPresaleDeliveryConfirm, useSpotPresaleBreachOfContractApply, useSpotPresaleTransferCancel, useSpotPresaleTransferListing, useSpotPresalePlayment } from "@/business/trade"
+import plus from '@/utils/h5plus'
 
 const { route, router } = useNavigation()
 /// 是否显示dialog
@@ -83,7 +81,7 @@ const { listingSubmit, formData } = useSpotPresaleTransferListing()
 // 打开pdf文件
 const openPDF = (file?: string) => {
     if (file) {
-        window.open(getUrl(file).href)
+        plus.openURL(getUrl(file).href)
     }
 }
 

+ 3 - 3
src/packages/mobile/views/mine/order/detail/transfer/index.vue

@@ -35,8 +35,7 @@
         </div>
         <template #footer>
             <div class="g-form__footer" v-if="details">
-                <Button block round type="primary" v-if="details.transferstatus === 1"
-                    @click="spotCancelSubmit">撤销</Button>
+                <Button block round type="primary" v-if="details.transferstatus === 1" @click="spotCancelSubmit">撤销</Button>
             </div>
         </template>
     </app-view>
@@ -51,6 +50,7 @@ import { useSpotPresaleTransferCancel } from "@/business/trade"
 import { useQueryTTHJPurchaseTransferOrderDetail } from "@/business/order"
 import { handleNumberValue, parsePercent, formatDate } from '@/filters'
 import { getTHJTransferStatusName, getTHJDeliveryModeName } from "@/constants/order"
+import plus from '@/utils/h5plus'
 
 const { router, getQueryString } = useNavigation()
 const transferid = getQueryString('id')
@@ -61,7 +61,7 @@ const { transferCancelSubmit } = useSpotPresaleTransferCancel()
 // 打开pdf文件
 const openPDF = (file?: string) => {
     if (file) {
-        window.open(getUrl(file).href)
+        plus.openURL(getUrl(file).href)
     }
 }
 

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

@@ -14,7 +14,7 @@
                 <Cell title="撤销数量" :value="detail.cancelqty" />
                 <Cell title="委托时间" :value="formatDate(detail.ordertime)" />
                 <Cell title="状态" :value="getWRTradeOrderStatusName(detail.wrtradeorderstatus)" />
-                <Cell title="委托单号" :value="detail.wrtradeorderid" />
+                <Cell title="委托单号" :value="detail.wrtradeorderid" />
             </CellGroup>
         </div>
         <div v-else>

+ 3 - 2
src/packages/mobile/views/mine/order/detail/wrtrade/index.vue

@@ -14,7 +14,7 @@
                 <Cell title="成交金额" :value="(detail.tradeprice * detail.tradeqty).toFixed(2)" />
                 <Cell title="成交时间" :value="formatDate(detail.tradetime)" />
                 <Cell title="对手方" :value="detail.matchusername" />
-                <Cell title="成交单号" :value="detail.wrtradedetailid" :is-link="!!detail.contractaddr"
+                <Cell title="成交单号" :value="detail.wrtradedetailid" :is-link="!!detail.contractaddr"
                     @click="openPDF(detail?.contractaddr)" />
             </CellGroup>
         </div>
@@ -30,6 +30,7 @@ import { useNavigation } from '@/hooks/navigation'
 import { CellGroup, Cell, Empty } from 'vant'
 import { formatDate, getUrl } from '@/filters'
 import { getBuyOrSellName } from '@/constants/order'
+import plus from '@/utils/h5plus'
 
 const { route } = useNavigation()
 const item = route.params.item
@@ -42,7 +43,7 @@ if (item) {
 // 打开pdf文件
 const openPDF = (file?: string) => {
     if (file) {
-        window.open(getUrl(file).href)
+        plus.openURL(getUrl(file).href)
     }
 }
 </script>

+ 4 - 0
src/packages/mobile/views/mine/order/list/components/wrorder/index.vue

@@ -27,6 +27,10 @@
                                 <th>仓库</th>
                                 <td colspan="5">{{ handleNoneValue(item.warehousename) }}</td>
                             </tr>
+                            <tr>
+                                <th>委托时间</th>
+                                <td colspan="5">{{ item.ordertime }}</td>
+                            </tr>
                         </table>
                     </div>
                     <div class="section-item__btnbar">

+ 6 - 1
src/packages/mobile/views/mine/wareorder/components/listing/index.vue

@@ -23,8 +23,14 @@
                     </Field>
                     <Field name="Price" label="挂牌价格" v-model="formData.FixedPrice" placeholder="请输入挂牌价格"
                         :rules="formRules.FixedPrice" />
+                    <Field label="可用数量">
+                        <template #input>
+                            {{ selectedRow.enableqty }}
+                        </template>
+                    </Field>
                     <Field name="Qty" label="挂牌数量" v-model="formData.OrderQty" placeholder="请输入挂牌数量"
                         :rules="formRules.OrderQty" />
+
                     <Field label="货款金额">
                         <template #input>
                             {{ amount }}
@@ -32,7 +38,6 @@
                     </Field>
                 </CellGroup>
             </Form>
-
             <template #footer>
                 <div class="g-form__footer">
                     <Button type="primary" round block @click="formRef?.submit()">卖出</Button>

+ 13 - 1
src/packages/mobile/views/supply-demand/detail/components/delisting/index.vue

@@ -26,7 +26,7 @@
             </Field>
             <Field name="OrderQty" :rules="formRules.OrderQty" label="摘牌数量">
                 <template #input>
-                    <Stepper v-model="formData.OrderQty" theme="round" button-size="22" integer />
+                    <Stepper v-model="formData.OrderQty" theme="round" button-size="22" :auto-fixed="false" integer />
                 </template>
             </Field>
             <Field label="货款金额">
@@ -103,6 +103,18 @@ const formRules: { [key in keyof Proto.HdWRDealOrderReq]?: FieldRule[] } = {
             return !!selectedRow.value
         }
     }],
+    OrderQty: [{
+        message: '请输入数量',
+        validator: (val) => {
+            if (val) {
+                if (val <= props.quoteDetail.orderqty) {
+                    return true
+                }
+                return '可用数量不足'
+            }
+            return false
+        }
+    }],
 }
 
 // 选择仓单

+ 26 - 22
src/packages/mobile/views/supply-demand/detail/components/listing/index.vue

@@ -5,19 +5,24 @@
             <Field name="FixedPrice" :rules="formRules.FixedPrice" label="价格">
                 <template #input>
                     <Stepper v-model="formData.FixedPrice" :default-value="quoteItem.spotgoodsprice" theme="round"
-                        button-size="22" />
+                        :auto-fixed="false" button-size="22" />
                 </template>
             </Field>
-            <Field name="WRFactorTypeId" :rules="formRules.WRFactorTypeId" label="现货仓单" is-link
+            <!-- <Field name="WRFactorTypeId" :rules="formRules.WRFactorTypeId" label="现货仓单" is-link
                 v-if="buyorsell === BuyOrSell.Sell">
                 <template #input>
                     <app-select :options="dataList" :optionProps="{ label: 'wrholdeno', value: 'wrid' }"
                         @confirm="onConfirm" />
                 </template>
+            </Field> -->
+            <Field label="剩余数量" v-if="buyorsell === BuyOrSell.Sell">
+                <template #input>
+                    <span>{{ selectedRow?.enableqty ?? 0 }}</span>
+                </template>
             </Field>
             <Field name="OrderQty" :rules="formRules.OrderQty" label="数量">
                 <template #input>
-                    <Stepper v-model="formData.OrderQty" theme="round" button-size="22" integer />
+                    <Stepper v-model="formData.OrderQty" theme="round" button-size="22" :auto-fixed="false" integer />
                 </template>
             </Field>
             <Field label="货款金额">
@@ -47,7 +52,7 @@ import { queryHoldLB } from '@/services/api/order'
 import { useHdWROrder } from '@/business/trade'
 import Long from 'long'
 import AppPopup from '@mobile/components/base/popup/index.vue'
-import AppSelect from '@mobile/components/base/select/index.vue'
+//import AppSelect from '@mobile/components/base/select/index.vue'
 
 const props = defineProps({
     quoteItem: {
@@ -66,14 +71,8 @@ const { formData, listingSubmit, amount } = useHdWROrder()
 const formRef = shallowRef<FormInstance>()
 const refresh = shallowRef(false) // 是否刷新父组件数据
 const showModal = shallowRef(true)
-const dataList = shallowRef<Model.HoldLBRsp[]>([]) //现货仓单列表
-const selectedRow = shallowRef<Model.HoldLBRsp>() //选择的仓单
-
-// 关闭弹窗
-const closed = (isRefresh = false) => {
-    refresh.value = isRefresh
-    showModal.value = false
-}
+//const dataList = shallowRef<Model.HoldLBRsp[]>([]) //现货仓单列表
+const selectedRow = shallowRef<Model.HoldLBRsp>() //选中的现货仓单
 
 // 表单验证规则
 const formRules: { [key in keyof Proto.HdWROrderReq]?: FieldRule[] } = {
@@ -93,12 +92,11 @@ const formRules: { [key in keyof Proto.HdWROrderReq]?: FieldRule[] } = {
         message: '请输入数量',
         validator: (val) => {
             if (val) {
-                const { qty = 0, freezerqty = 0 } = selectedRow.value ?? {}
-                const available = qty - freezerqty // 可用数量
-                if (props.buyorsell === BuyOrSell.Buy || val <= available) {
+                const { enableqty = 0 } = selectedRow.value ?? {}
+                if (props.buyorsell === BuyOrSell.Buy || val <= enableqty) {
                     return true
                 }
-                return available ? '数量不能大于 ' + available : '可用数量不足'
+                return enableqty ? '数量不能大于 ' + enableqty : '可用数量不足'
             }
             return false
         }
@@ -106,10 +104,16 @@ const formRules: { [key in keyof Proto.HdWROrderReq]?: FieldRule[] } = {
 }
 
 // 选择仓单
-const onConfirm = (value: string) => {
-    selectedRow.value = dataList.value.find((e) => e.wrid === value)
-    formRef.value?.validate('WRFactorTypeId')
-    formRef.value?.validate('OrderQty')
+// const onConfirm = (value: string) => {
+//     selectedRow.value = dataList.value.find((e) => e.wrid === value)
+//     formRef.value?.validate('WRFactorTypeId')
+//     formRef.value?.validate('OrderQty')
+// }
+
+// 关闭弹窗
+const closed = (isRefresh = false) => {
+    refresh.value = isRefresh
+    showModal.value = false
 }
 
 // 提交挂牌
@@ -143,10 +147,10 @@ const onSubmit = () => {
 queryHoldLB({
     data: {
         accountid: firstAccountId.value,
-        wrstandardid: props.quoteItem.wrstandardid
+        wrfactortypeid: props.quoteItem.wrfactortypeid
     },
     success: (res) => {
-        dataList.value = res.data
+        selectedRow.value = res.data[0]
     }
 })
 

+ 17 - 6
src/packages/mobile/views/supply-demand/list/index.less

@@ -22,21 +22,32 @@
                 }
 
                 .block {
-                    &:first-child {
-                        flex: 1;
-                        display: flex;
-                        align-items: center;
+                    display: flex;
+                    flex-direction: column;
 
+                    &:nth-child(1) {
                         img {
                             width: 1.8rem;
                             height: 1.8rem;
                             object-fit: cover;
                             border-radius: .16rem;
-                            margin-right: .4rem;
                         }
                     }
 
-                    &:last-child {
+                    &:nth-child(2) {
+                        flex: 1;
+                        margin: 0 .4rem;
+
+                        span {
+                            &:last-child {
+                                font-size: .24rem;
+                                color: #777;
+                                margin-top: .1rem;
+                            }
+                        }
+                    }
+
+                    &:nth-child(3) {
                         .van-button {
                             width: 1.3rem;
                             height: .5rem;

+ 16 - 15
src/packages/mobile/views/supply-demand/list/index.vue

@@ -9,20 +9,21 @@
     </template>
     <app-pull-refresh ref="pullRefreshRef" class="supply-demand__container" v-model:error="error"
       v-model:pageIndex="pageIndex" :page-count="pageCount" @refresh="onRefresh">
-      <template v-for="(item, index) in dataList" :key="index">
-        <ul class="list">
-          <li class="list-item g-block--bg" v-for="(item, index) in dataList" :key="index">
-            <div class="block">
-              <img :src="getFirstImage(item.thumurls)" />
-              <span>{{ item.wrstandardname }}</span>
-            </div>
-            <div class="block">
-              <Button type="primary" size="small" round
-                @click="$router.push({ name: 'SupplyDemandDetail', query: { wrfactortypeid: item.wrfactortypeid } })">去供求</Button>
-            </div>
-          </li>
-        </ul>
-      </template>
+      <ul class="list">
+        <li class="list-item g-block--bg" v-for="(item, index) in dataList" :key="index">
+          <div class="block">
+            <img :src="getFirstImage(item.thumurls)" />
+          </div>
+          <div class="block">
+            <span>{{ item.wrstandardname }}</span>
+            <span>{{ item.wrfactortypename }}</span>
+          </div>
+          <div class="block">
+            <Button type="primary" size="small" round
+              @click="$router.push({ name: 'SupplyDemandDetail', query: { wrfactortypeid: item.wrfactortypeid } })">去下单</Button>
+          </div>
+        </li>
+      </ul>
     </app-pull-refresh>
   </app-view>
 </template>
@@ -47,7 +48,7 @@ const getFirstImage = (url: string) => {
 }
 
 const onRefresh = (finish: () => void) => {
-  getOrderQuoteList().then((res) => {
+  getOrderQuoteList({ dgitemname: keyword.value }).then((res) => {
     if (pageIndex.value === 1) {
       dataList.value = []
     }

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

@@ -358,7 +358,7 @@ declare namespace Model {
         /// 品类id
         wrstandardid?: number
         /// 仓单要素id
-        wrfactortypeid?: number
+        wrfactortypeid?: string
         /// 商品要素项名称模糊匹配, 逗号隔开, 如 产地1,品牌1,规格12mm
         dgitemname?: string
     }