li.shaoyi 10 mesiacov pred
rodič
commit
3f3c5782a8
50 zmenil súbory, kde vykonal 107 pridanie a 111 odobranie
  1. 2 2
      src/packages/gcszt/views/account/certification/Index.vue
  2. 1 1
      src/packages/gcszt/views/account/certification/components/captcha/Index.vue
  3. 1 1
      src/packages/gstj/views/holdbank/holdsign/components/SMSCode/Index.vue
  4. 1 1
      src/packages/gstj/views/holdbank/holdsign/components/apply/Index.vue
  5. 2 2
      src/packages/gzcj/views/account/certification/Index.vue
  6. 1 1
      src/packages/gzcj/views/account/certification/components/captcha/Index.vue
  7. 6 5
      src/packages/mobile/components/base/uploader/index.vue
  8. 1 1
      src/packages/mobile/views/bank/sign/components/edit/Index.vue
  9. 1 1
      src/packages/mobile/views/goods/trade/components/delisting/index.vue
  10. 1 1
      src/packages/mobile/views/mine/address/components/edit/Index.vue
  11. 1 1
      src/packages/mobile/views/mine/email/Index.vue
  12. 1 1
      src/packages/mobile/views/mine/invoice/components/edit/Index.vue
  13. 1 1
      src/packages/mobile/views/mine/wechat/Index.vue
  14. 1 1
      src/packages/mobile/views/order/performance/components/modify/Index.vue
  15. 1 1
      src/packages/mobile/views/order/position/components/spot/listing/Index.vue
  16. 1 1
      src/packages/mobile/views/order/position/components/spot/pickup/Index.vue
  17. 1 1
      src/packages/mobile/views/order/position/components/transfer/listing/Index.vue
  18. 1 1
      src/packages/mobile/views/presale/detail/components/delisting/index.vue
  19. 1 1
      src/packages/mobile/views/pricing/trade/Index.vue
  20. 1 1
      src/packages/mobile/views/pricing/trade/fullpayment/Index.vue
  21. 1 1
      src/packages/mobile/views/spot/add/components/buy/index.vue
  22. 1 1
      src/packages/mobile/views/spot/add/components/sell/index.vue
  23. 1 1
      src/packages/mobile/views/spot/detail/components/delisting/index.vue
  24. 1 1
      src/packages/mobile/views/spot/detail/components/listing/index.vue
  25. 1 1
      src/packages/mobile/views/swap/detail/components/delisting/Index.vue
  26. 1 1
      src/packages/mobile/views/swap/detail/components/listing/Index.vue
  27. 1 1
      src/packages/mobile/views/transfer/delisting/components/delisting/index.vue
  28. 1 1
      src/packages/mobile/views/transfer/listing/Index.vue
  29. 1 1
      src/packages/mobile/views/user/avatar/Index.vue
  30. 1 1
      src/packages/mobile/views/user/forget/Index.vue
  31. 1 1
      src/packages/mobile/views/user/password/Index.vue
  32. 1 1
      src/packages/nhgj/views/account/certification/Index.vue
  33. 1 1
      src/packages/qxst/views/account/certification/components/captcha/Index.vue
  34. 1 1
      src/packages/sbyj/App.vue
  35. 1 1
      src/packages/sbyj/views/account/certification/Index.vue
  36. 1 1
      src/packages/sbyj/views/bank/wallet/components/deposit/index.vue
  37. 28 44
      src/packages/sbyj/views/inventory/components/inOut/index.vue
  38. 1 1
      src/packages/sbyj/views/market/detail/index.vue
  39. 5 0
      src/packages/sbyj/views/market/list/index.less
  40. 19 13
      src/packages/sbyj/views/market/list/index.vue
  41. 1 1
      src/packages/sbyj/views/order/list/components/close-holder/index.vue
  42. 1 1
      src/packages/sbyj/views/order/list/components/market-order-delivery/index.vue
  43. 1 1
      src/packages/sjgj/router/index.ts
  44. 1 1
      src/packages/sjgj/views/home/main/index.vue
  45. 1 1
      src/packages/thj/views/account/certification/Index.vue
  46. 1 1
      src/packages/tjmd/views/account/certification/Index.vue
  47. 1 1
      src/packages/tss/views/bank/sign/components/edit/Index.vue
  48. 1 1
      src/packages/zrwyt/views/account/certification/components/captcha/Index.vue
  49. 2 2
      src/packages/zrwyt2/views/account/certification/Index.vue
  50. 1 1
      src/packages/zrwyt2/views/account/certification/components/captcha/Index.vue

+ 2 - 2
src/packages/gcszt/views/account/certification/Index.vue

@@ -140,7 +140,7 @@ const f_afterRead = (filePath: string) => {
 }
 
 // 个人信息表单验证规则
-const PFormRules: { [key in keyof Model.PersonBankCard4]?: FieldRule[] } = {
+const PFormRules: { [key: string]: FieldRule[] } = {
     realName: [{
         required: true,
         message: '请输入用户姓名',
@@ -198,7 +198,7 @@ const PFormRules: { [key in keyof Model.PersonBankCard4]?: FieldRule[] } = {
 }
 
 // 企业信息表单验证规则
-const CFormRules: { [key in keyof Model.CompanyBankCard4]?: FieldRule[] } = {
+const CFormRules: { [key: string]: FieldRule[] } = {
     realName: [{
         required: true,
         message: '请输入法人姓名',

+ 1 - 1
src/packages/gcszt/views/account/certification/components/captcha/Index.vue

@@ -78,7 +78,7 @@ const sendVerifyCode = () => {
 }
 
 // // 表单验证规则
-const formRules: { [key in keyof Model.CaptchaVerifyReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     captcha: [{
         message: '请输入短信验证码',
         validator: () => {

+ 1 - 1
src/packages/gstj/views/holdbank/holdsign/components/SMSCode/Index.vue

@@ -33,7 +33,7 @@ const refresh = shallowRef(false) // 是否刷新父组件数据
 const { formData: formData, onSubmit } = useDoYJF_WithholdSignInSMS()
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.YJF_WithholdSignInSMSReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     VCode: [{
         message: '请输入验证码',
         validator: () => {

+ 1 - 1
src/packages/gstj/views/holdbank/holdsign/components/apply/Index.vue

@@ -70,7 +70,7 @@ const componentMap = new Map<string, unknown>([
 ])
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.YJF_GetWithholdSignInSMSVCodeReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     Xysxrq: [{
         message: '请选择协议生效期',
         validator: () => {

+ 2 - 2
src/packages/gzcj/views/account/certification/Index.vue

@@ -140,7 +140,7 @@ const f_afterRead = (filePath: string) => {
 }
 
 // 个人信息表单验证规则
-const PFormRules: { [key in keyof Model.PersonBankCard4]?: FieldRule[] } = {
+const PFormRules: { [key: string]: FieldRule[] } = {
     realName: [{
         required: true,
         message: '请输入用户姓名',
@@ -198,7 +198,7 @@ const PFormRules: { [key in keyof Model.PersonBankCard4]?: FieldRule[] } = {
 }
 
 // 企业信息表单验证规则
-const CFormRules: { [key in keyof Model.CompanyBankCard4]?: FieldRule[] } = {
+const CFormRules: { [key: string]: FieldRule[] } = {
     realName: [{
         required: true,
         message: '请输入法人姓名',

+ 1 - 1
src/packages/gzcj/views/account/certification/components/captcha/Index.vue

@@ -78,7 +78,7 @@ const sendVerifyCode = () => {
 }
 
 // // 表单验证规则
-const formRules: { [key in keyof Model.CaptchaVerifyReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     captcha: [{
         message: '请输入短信验证码',
         validator: () => {

+ 6 - 5
src/packages/mobile/components/base/uploader/index.vue

@@ -3,8 +3,7 @@
         <span class="app-uploader__button" @click="onClickUpload" v-if="!hasPermission"></span>
         <Uploader ref="uploaderRef" v-model="fileList" :max-count="maxCount" :max-size="5 * 1024 * 1024"
             @oversize="onOversize" :after-read="onAfterRead" @delete="onDelete" reupload />
-        <Notify v-model:show="showNotify" :duration="0" :title="$t('common.tips30')"
-            :content="$t('common.tips31')" />
+        <Notify v-model:show="showNotify" :duration="0" :title="$t('common.tips30')" :content="$t('common.tips31')" />
     </div>
 </template>
 
@@ -74,13 +73,15 @@ const onAfterRead = (file: any) => {
 
     file.status = 'uploading'
     file.message = t('common.tips28')
+
     axios.post(service.getConfig('uploadUrl'), data).then(res => {
         if (res.status == 200) {
             file.status = 'success'
             file.message = t('common.tips26')
-            if (res.data.length) {
-                emit('success', res.data[0].filePath)
-            }
+            file.url = res.data[0]?.filePath
+
+            const files = fileList.value.map((e) => e.url)
+            emit('success', files.join(';'))
         } else {
             file.status = 'failed'
             file.message = t('common.tips27')

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

@@ -227,7 +227,7 @@ const onSearchBankChange = (item: Model.BankBranChnumInfoRsp) => {
 }
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.t2bBankSignReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     CusBankID: [{
         message: t('banksign.tips16'),
         required: true,

+ 1 - 1
src/packages/mobile/views/goods/trade/components/delisting/index.vue

@@ -114,7 +114,7 @@ const buyQty = computed(() => positionStore.getOrderQty(BuyOrSell.Buy, props.sel
 const sellQty = computed(() => positionStore.getOrderQty(BuyOrSell.Sell, props.selectedRow.goodsid))
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.OrderReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     OrderQty: [{
         message: t('quote.goods.tips4'),
         validator: () => {

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

@@ -62,7 +62,7 @@ const showModal = shallowRef(true)
 const refresh = shallowRef(false) // 是否刷新父组件数据
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.UserReceiveInfoReq | 'Region']?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     ReceiverName: [{
         required: true,
         message: t('mine.address.tips1'),

+ 1 - 1
src/packages/mobile/views/mine/email/Index.vue

@@ -43,7 +43,7 @@ const formData = reactive<Model.UserInfoWechatAndEmailReq>({
 })
 
 // 表单验证规则
-const formRules: { [key in keyof Model.UserInfoWechatAndEmailReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     email: [{
         validator: (val) => {
             if (validateRules.email.validate(val)) {

+ 1 - 1
src/packages/mobile/views/mine/invoice/components/edit/Index.vue

@@ -68,7 +68,7 @@ const showModal = shallowRef(true)
 const refresh = shallowRef(false) // 是否刷新父组件数据
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.UserReceiptInfoReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     UserName: [{
         required: true,
         message: t('mine.invoice.tips1'),

+ 1 - 1
src/packages/mobile/views/mine/wechat/Index.vue

@@ -43,7 +43,7 @@ const formData = reactive<Model.UserInfoWechatAndEmailReq>({
 })
 
 // 表单验证规则
-const formRules: { [key in keyof Model.UserInfoWechatAndEmailReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     wechat: [{
         message: t('mine.profile.tips1'),
         validator: () => {

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

@@ -62,7 +62,7 @@ const Receive = shallowRef('') // 收货地址信息
 const Receipt = shallowRef('') // 发票信息
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.PerformanceModifyContactReq | 'Contract' | 'Receive' | 'Receipt']?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     Receive: [{
         required: true,
         message: t('performance.tips3'),

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

@@ -65,7 +65,7 @@ const showModal = shallowRef(true)
 const refresh = shallowRef(false) // 是否刷新父组件数据
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.HdWROrderReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     PerformanceTemplateID: [{
         message: t('position.spot.tips1'),
         validator: () => {

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

@@ -94,7 +94,7 @@ const { getSystemParamValue } = useUserStore()
 const system_1010 = shallowRef(getSystemParamValue('1010') ?? '1')
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.WROutApplyReq | 'orderQty' | 'Region']?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     orderQty: [{
         message: t('position.spot.tips12'),
         validator: () => {

+ 1 - 1
src/packages/mobile/views/order/position/components/transfer/listing/Index.vue

@@ -83,7 +83,7 @@ const showModal = shallowRef(true)
 const quote = getGoodsQuote(props.selectedRow.goodscode)
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.OrderReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     OrderPrice: [{
         message: t('position.transfer.tips3'),
         validator: () => {

+ 1 - 1
src/packages/mobile/views/presale/detail/components/delisting/index.vue

@@ -64,7 +64,7 @@ const showModal = shallowRef(true)
 const quote = futuresStore.getGoodsQuote(props.detail.goodsid)
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.OrderReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     OrderPrice: [{
         message: t('quote.presale.tips2'),
         validator: () => {

+ 1 - 1
src/packages/mobile/views/pricing/trade/Index.vue

@@ -297,7 +297,7 @@ const marketPrice = computed(() => {
 // const sellQty = computed(() => positionStore.getOrderQty(BuyOrSell.Sell, goodsCode))
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.OrderReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     OrderQty: [{
         message: t('quote.pricing.tips1'),
         validator: () => {

+ 1 - 1
src/packages/mobile/views/pricing/trade/fullpayment/Index.vue

@@ -209,7 +209,7 @@ const contactChange = (item: Model.UserReceiveInfoRsp) => {
 }
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.OrderReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     AddrInfo: [{
         required: true,
         message: t('performance.tips3'),

+ 1 - 1
src/packages/mobile/views/spot/add/components/buy/index.vue

@@ -62,7 +62,7 @@ const showWarehouseReceipt = shallowRef(false)
 const selectedRow = shallowRef<Partial<Model.HoldLBRsp>>({}) //选中的现货仓单
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.HdWROrderReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     WRFactorTypeId: [{
         message: t('quote.spot.tips3'),
         validator: () => {

+ 1 - 1
src/packages/mobile/views/spot/add/components/sell/index.vue

@@ -93,7 +93,7 @@ const warehouseList = computed(() => {
 })
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.HdWROrderReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     PerformanceTemplateID: [{
         message: t('quote.spot.tips1'),
         validator: () => {

+ 1 - 1
src/packages/mobile/views/spot/detail/components/delisting/index.vue

@@ -116,7 +116,7 @@ const amount = computed(() => {
 })
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.HdWRDealOrderReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     WRFactorTypeId: [{
         message: t('quote.spot.tips3'),
         validator: () => {

+ 1 - 1
src/packages/mobile/views/spot/detail/components/listing/index.vue

@@ -81,7 +81,7 @@ const selectedRow = shallowRef<Model.HoldLBRsp>() //选中的现货仓单
 
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.HdWROrderReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     PerformanceTemplateID: [{
         message: t('quote.spot.tips1'),
         validator: () => {

+ 1 - 1
src/packages/mobile/views/swap/detail/components/delisting/Index.vue

@@ -148,7 +148,7 @@ formData.OrderPrice = props.selectedRow.orderprice ?? 0.0
 const quote = futuresStore.getGoodsQuote(props.item?.refgoodsid ?? 0)
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.OrderReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     OrderPrice: [{
         message: t('quote.swap.tips11'),
         validator: () => {

+ 1 - 1
src/packages/mobile/views/swap/detail/components/listing/Index.vue

@@ -225,7 +225,7 @@ const onSubmit = () => {
 }
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.OrderReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     OrderPrice: [{
         message: t('quote.swap.tips6'),
         validator: (val) => {

+ 1 - 1
src/packages/mobile/views/transfer/delisting/components/delisting/index.vue

@@ -82,7 +82,7 @@ const refresh = shallowRef(false) // 是否刷新父组件数据
 const showModal = shallowRef(true)
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.OrderReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     OrderQty: [{
         message: t('quote.transfer.tips2'),
         validator: () => {

+ 1 - 1
src/packages/mobile/views/transfer/listing/Index.vue

@@ -104,7 +104,7 @@ const { dataList, run: getMineTradePositionExs } = useRequest(queryMineTradePosi
 })
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.OrderReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     OrderPrice: [{
         message: t('quote.transfer.tips1'),
         validator: () => {

+ 1 - 1
src/packages/mobile/views/user/avatar/Index.vue

@@ -42,7 +42,7 @@ const formData = reactive<Model.UserHeadUrlReq>({
 })
 
 // 表单验证规则
-const formRules: { [key in keyof Model.UserHeadUrlReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     headurl: [{
         message: t('user.avater.tips1'),
         validator: () => {

+ 1 - 1
src/packages/mobile/views/user/forget/Index.vue

@@ -125,7 +125,7 @@ const formData = reactive<Model.ResetPasswordReq & { confirmpassword: string }>(
 })
 
 // 表单验证规则
-const formRules: { [key in keyof Model.ResetPasswordReq | 'confirmpassword']?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     mobile: [{
         required: true,
         message: t('user.forget.tips1'),

+ 1 - 1
src/packages/mobile/views/user/password/Index.vue

@@ -42,7 +42,7 @@ const confirmpassword = shallowRef('')
 const { global: { t } } = i18n
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.ModifyPwdReq | 'confirmpassword']?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     OldPwd: [{
         required: true,
         message: t('user.password.tips1'),

+ 1 - 1
src/packages/nhgj/views/account/certification/Index.vue

@@ -84,7 +84,7 @@ const f_afterRead = (filePath: string) => {
 }
 
 // 表单验证规则
-const formRules: { [key in keyof Model.AddAuthReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     username: [{
         required: true,
         message: '请输入用户姓名',

+ 1 - 1
src/packages/qxst/views/account/certification/components/captcha/Index.vue

@@ -78,7 +78,7 @@ const sendVerifyCode = () => {
 }
 
 // // 表单验证规则
-const formRules: { [key in keyof Model.CaptchaVerifyReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     captcha: [{
         message: '请输入短信验证码',
         validator: () => {

+ 1 - 1
src/packages/sbyj/App.vue

@@ -4,7 +4,7 @@
   <Dialog class="g-dialog-tips" v-model:show="tips.show" :title="currentTipts?.title" theme="round-button"
     confirm-button-text="关闭">
     <div class="g-dialog-tips__content" v-html="currentTipts?.content"></div>
-    <div class="g-dialog-tips__footer">
+    <div class="g-dialog-tips__footer" v-if="noticeStore.tipsList.length > 1">
       <span :class="{ disabled: tips.index === 0 }" @click="changeTips(-1)">上一条</span>
       <span :class="{ disabled: tips.index === (noticeStore.tipsList.length - 1) }" @click="changeTips(1)">下一条</span>
     </div>

+ 1 - 1
src/packages/sbyj/views/account/certification/Index.vue

@@ -134,7 +134,7 @@ const onDelete = (index: number) => {
 }
 
 // 表单验证规则
-const formRules: { [key in keyof Model.AddAuthReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     username: [{
         required: true,
         message: '请输入用户姓名',

+ 1 - 1
src/packages/sbyj/views/bank/wallet/components/deposit/index.vue

@@ -6,7 +6,7 @@
                     :rules="formRules.Amount" />
                 <Field label="凭证" :rules="formRules.filePath">
                     <template #input>
-                        <app-uploader @success="onUploadSuccess" />
+                        <app-uploader @success="onUploadSuccess" :max-count="5" />
                     </template>
                 </Field>
                 <template v-for="(item, index) in configs" :key="index">

+ 28 - 44
src/packages/sbyj/views/inventory/components/inOut/index.vue

@@ -6,25 +6,27 @@
             </template>
             <Form ref="formRef" class="g-form__container" @submit="onSubmit">
                 <CellGroup inset>
-                    <Field label="商品" readonly :model-value="`${selectedRow.goodscode}/${selectedRow.goodsname}`"></Field>
-                    <Field label="数量" type="number" name="Qty" v-model.trim="formData.Qty" placeholder="请输入数量" :rules="formRules.Qty">
+                    <Field label="商品" readonly :model-value="`${selectedRow.goodscode}/${selectedRow.goodsname}`">
+                    </Field>
+                    <Field label="数量" type="number" name="Qty" v-model.trim="formData.Qty" placeholder="请输入"
+                        :rules="formRules.Qty">
                         <template #button>
                             <span>{{ selectedRow.goodunit }}</span>
                         </template>
                     </Field>
-                    <Field label="库存量" v-if="inOutType != 1" readonly :model-value="`${selectedRow.curqty}${selectedRow.goodunit}`"></Field>
-                    <Field label="方式" v-if="inOutType != 1" v-model="InOutModel" name="InOutModel" :rules="formRules.InOutModel" is-link @click-input="show = true" />
-                    <Field type="textarea" maxlength="250" autosize show-word-limit name="Remark" label="备注" v-model.trim="formData.Remark" placeholder="请输入备注" />
-                </CellGroup>
-                <Popup v-model:show="show" position="bottom" teleport="body" round>
-                    <Picker :columns="datalist" @cancel="onCancel" @confirm="onConfirm" >
-                        <template #option="{ text, index }">
-                            <slot name="option" :row="datalist[index]" :index="index">
-                                <span>{{ text }}</span>
-                            </slot>
+                    <Field label="库存量" v-if="inOutType != 1" readonly
+                        :model-value="`${selectedRow.curqty}${selectedRow.goodunit}`">
+                    </Field>
+                    <Field name="InOutModel" label="方式" :rules="formRules.InOutModel" is-link>
+                        <template #input>
+                            <app-select v-model="formData.InOutModel" :options="getAppointmentModelOutList()"
+                                :optionProps="{ label: 'label', value: 'value' }"
+                                @confirm="formRef?.validate('InOutModel')" />
                         </template>
-                    </Picker>
-                </Popup>
+                    </Field>
+                    <Field type="textarea" maxlength="250" autosize show-word-limit name="Remark" label="备注"
+                        v-model.trim="formData.Remark" placeholder="请输入" />
+                </CellGroup>
             </Form>
             <template #footer>
                 <div class="g-form__footer inset">
@@ -37,16 +39,15 @@
 </template>
 
 <script lang="ts" setup>
-import { shallowRef, PropType, computed, onMounted } from 'vue'
-import { Popup, Picker, PickerConfirmEventParams, Form, Field, CellGroup, FormInstance, Button, FieldRule } from 'vant'
+import { shallowRef, PropType } from 'vue'
+import { Form, Field, CellGroup, FormInstance, Button, FieldRule } from 'vant'
 import { fullloading } from '@/utils/vant'
 import { useGoodsInventoryApply } from '@/business/trade';
 import { getAppointmentModelOutList } from '@/constants/order';
 import AppModal from '@/components/base/modal/index.vue'
+import AppSelect from '@mobile/components/base/select/index.vue'
 import { useFuturesStore } from '@/stores';
 
-// 是否弹出选择器
-const show = shallowRef(false) 
 const showModal = shallowRef(true)
 const refresh = shallowRef(false) // 是否刷新父组件数据
 const formRef = shallowRef<FormInstance>()
@@ -54,20 +55,6 @@ const formRef = shallowRef<FormInstance>()
 const { formData, formSubmit } = useGoodsInventoryApply()
 const futuresStore = useFuturesStore()
 
-const datalist = computed(() => {
-    return getAppointmentModelOutList().map(e => {
-        return { text: e.label, value: e.value }
-    })
-})
-
-const InOutModel = shallowRef(datalist.value[0].text)
-
-const onConfirm = ({ selectedOptions: [option] }: PickerConfirmEventParams) => {
-    show.value = false
-    formData.InOutModel = Number(option?.value)
-    InOutModel.value = option?.text?.toString() ?? ''
-}
-
 const props = defineProps({
     selectedRow: {
         type: Object as PropType<Model.UserGoodsInventoryRsp>,
@@ -80,10 +67,10 @@ const props = defineProps({
 })
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.GoodsInventoryApplyReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     Qty: [{
-        message: '请输入数量',
         required: true,
+        message: '请输入数量',
         validator: (val) => {
             if (props.inOutType === 2 && val > props.selectedRow.curqty) {
                 return '超过库存量'
@@ -91,15 +78,16 @@ const formRules: { [key in keyof Proto.GoodsInventoryApplyReq]?: FieldRule[] } =
             return !!formData.Qty
         }
     }],
-}
-
-const onCancel = () => {
-  show.value = false
+    InOutModel: [{
+        message: '请选择方式',
+        validator: () => {
+            return !!formData.InOutModel
+        }
+    }]
 }
 
 const onSubmit = () => {
-    
-    const  { goodsid } = props.selectedRow
+    const { goodsid } = props.selectedRow
     const { marketid } = futuresStore.getGoods(goodsid) ?? {}
     formData.Header = { GoodsID: goodsid, MarketID: marketid }
     formData.InoutType = props.inOutType
@@ -125,8 +113,4 @@ const closed = (isRefresh = false) => {
 defineExpose({
     closed,
 })
-
-onMounted(() => {
-    formData.InOutModel = getAppointmentModelOutList()[0]?.value
-})
 </script>

+ 1 - 1
src/packages/sbyj/views/market/detail/index.vue

@@ -331,7 +331,7 @@ const onSubmit = () => {
 }
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.OrderReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     OrderQty: [{
         validator: () => {
             const qty = orderQty.value

+ 5 - 0
src/packages/sbyj/views/market/list/index.less

@@ -44,6 +44,11 @@
                 color: #999;
                 background-color: #f6f6f6;
                 padding: 12px;
+
+                div{
+                    display: flex;
+                    justify-content: space-between;
+                }
             }
         }
 

+ 19 - 13
src/packages/sbyj/views/market/list/index.vue

@@ -6,9 +6,6 @@
                 <span>
                     {{ serverTime?.format('YYYY/MM/DD HH:mm:ss') }}
                 </span>
-                <span v-if="marketInfo">
-                    {{ [2, 6].includes(marketInfo.runstatus) ? getRunStatusName(marketInfo.runstatus) : '未开盘' }}
-                </span>
             </div>
         </template>
         <table class="market-table" cellspacing="0" cellpadding="0">
@@ -21,17 +18,24 @@
                 </tr>
             </thead>
             <template v-for="group in touristTradeGoodsList" :key="group.groupId">
-                <thead v-if="touristTradeGoodsList.length > 1">
+                <thead>
                     <tr>
-                        <th class="title" colspan="4">{{ group.groupName }}</th>
+                        <th class="title" colspan="4">
+                            <div>
+                                <span>{{ group.groupName }}</span>
+                                <span>{{ getMarketStatus(group.marketId) }}</span>
+                            </div>
+                        </th>
                     </tr>
                 </thead>
                 <tbody>
                     <tr v-for="(item, index) in group.goodsList" :key="index" @click="rowClick(item)">
                         <td>{{ item.goodsname }}</td>
-                        <td :class="item.bidColor">{{ handleNumberValue(formatDecimal(item.bid, item.decimalplace)) }}
+                        <td :class="item.bidColor">
+                            {{ handleNumberValue(formatDecimal(item.bid, item.decimalplace)) }}
                         </td>
-                        <td :class="item.askColor">{{ handleNumberValue(formatDecimal(item.ask, item.decimalplace)) }}
+                        <td :class="item.askColor">
+                            {{ handleNumberValue(formatDecimal(item.ask, item.decimalplace)) }}
                         </td>
                         <td>
                             <span :class="item.highestColor">
@@ -118,7 +122,8 @@ const touristTradeGoodsList = computed(() => {
     return result.reduce<{
         groupId: number;
         groupName: string;
-        goodsList: Model.GoodsQuote[]
+        marketId: number;
+        goodsList: Model.GoodsQuote[];
     }[]>((pre, cur) => {
         const existingGroup = pre.find((e) => e.groupId === cur.goodsgroupid)
 
@@ -128,6 +133,7 @@ const touristTradeGoodsList = computed(() => {
             pre.push({
                 groupId: cur.goodsgroupid,
                 groupName: cur.goodsgroupname,
+                marketId: cur.marketid,
                 goodsList: [cur]
             })
         }
@@ -205,11 +211,11 @@ const { dataList: marketList, run: marketRun } = useRequest(queryMarketRun, {
     }
 })
 
-// 市场信息
-const marketInfo = computed(() => {
-    const [firstMarket] = touristTradeGoodsList.value
-    return marketList.value.find((e) => e.marketid === firstMarket?.goodsList[0].marketid)
-})
+// 获取市场状态
+const getMarketStatus = (marketId: number) => {
+    const marketInfo = marketList.value.find((e) => e.marketid === marketId)
+    return marketInfo && [2, 6].includes(marketInfo.runstatus) ? getRunStatusName(marketInfo.runstatus) : '未开盘'
+}
 
 // 校验服务器时间
 const checkServerTime = () => {

+ 1 - 1
src/packages/sbyj/views/order/list/components/close-holder/index.vue

@@ -94,7 +94,7 @@ const enableqty = computed(() => {
 })
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.OrderReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     OrderQty: [{
         validator: (val) => {
             if (val) {

+ 1 - 1
src/packages/sbyj/views/order/list/components/market-order-delivery/index.vue

@@ -91,7 +91,7 @@ const enableqty = computed(() => {
 })
 
 // 表单验证规则
-const formRules: { OrderQty?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     OrderQty: [{
         validator: (val) => {
             if (val) {

+ 1 - 1
src/packages/sjgj/router/index.ts

@@ -149,7 +149,7 @@ const routes: Array<RouteRecordRaw> = [
           ignoreAuth: true,
         },
         props: {
-          title: '业务公告',
+          title: '业务规则',
           columnid: 1
         }
       },

+ 1 - 1
src/packages/sjgj/views/home/main/index.vue

@@ -43,7 +43,7 @@
             is-link />
           <template v-for="(item, index) in newsList" :key="index">
             <Cell class="article-item" :title="item.title" :value="formatDate(item.publishdate, 'MM/DD')"
-              @click="routerTo('news-list')" />
+              :to="{ name: 'news-detail', query: { id: item.id } }" />
           </template>
         </CellGroup>
       </app-block>

+ 1 - 1
src/packages/thj/views/account/certification/Index.vue

@@ -84,7 +84,7 @@ const f_afterRead = (filePath: string) => {
 }
 
 // 表单验证规则
-const formRules: { [key in keyof Model.AddAuthReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     username: [{
         required: true,
         message: '请输入用户姓名',

+ 1 - 1
src/packages/tjmd/views/account/certification/Index.vue

@@ -84,7 +84,7 @@ const f_afterRead = (filePath: string) => {
 }
 
 // 表单验证规则
-const formRules: { [key in keyof Model.AddAuthReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     username: [{
         required: true,
         message: '请输入用户姓名',

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

@@ -165,7 +165,7 @@ const onSearchBankChange = (item: Model.BankBranChnumInfoRsp) => {
 }
 
 // 表单验证规则
-const formRules: { [key in keyof Proto.t2bBankSignReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     OpenBankAccId: [{
         message: t('banksign.tips11'),
         validator: () => {

+ 1 - 1
src/packages/zrwyt/views/account/certification/components/captcha/Index.vue

@@ -78,7 +78,7 @@ const sendVerifyCode = () => {
 }
 
 // // 表单验证规则
-const formRules: { [key in keyof Model.CaptchaVerifyReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     captcha: [{
         message: '请输入短信验证码',
         validator: () => {

+ 2 - 2
src/packages/zrwyt2/views/account/certification/Index.vue

@@ -140,7 +140,7 @@ const f_afterRead = (filePath: string) => {
 }
 
 // 个人信息表单验证规则
-const PFormRules: { [key in keyof Model.PersonBankCard4]?: FieldRule[] } = {
+const PFormRules: { [key: string]: FieldRule[] } = {
     realName: [{
         required: true,
         message: '请输入用户姓名',
@@ -198,7 +198,7 @@ const PFormRules: { [key in keyof Model.PersonBankCard4]?: FieldRule[] } = {
 }
 
 // 企业信息表单验证规则
-const CFormRules: { [key in keyof Model.CompanyBankCard4]?: FieldRule[] } = {
+const CFormRules: { [key: string]: FieldRule[] } = {
     realName: [{
         required: true,
         message: '请输入法人姓名',

+ 1 - 1
src/packages/zrwyt2/views/account/certification/components/captcha/Index.vue

@@ -78,7 +78,7 @@ const sendVerifyCode = () => {
 }
 
 // // 表单验证规则
-const formRules: { [key in keyof Model.CaptchaVerifyReq]?: FieldRule[] } = {
+const formRules: { [key: string]: FieldRule[] } = {
     captcha: [{
         message: '请输入短信验证码',
         validator: () => {