li.shaoyi 3 anni fa
parent
commit
7218bfb46a

+ 1 - 1
src/views/business/purchase/components/funds/index.vue

@@ -120,7 +120,7 @@
         <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="登记金额" name="Amount">
-              <a-input-number class="dialogInput" style="width: 200px" :min="1" suffix="元" type="number" placeholder="请输入登记金额" v-model:value="formState.Amount" />
+              <a-input-number class="dialogInput" style="width: 200px" :min="0" suffix="元" type="number" placeholder="请输入登记金额" v-model:value="formState.Amount" />
             </a-form-item>
           </a-col>
           <a-col :span="24">

+ 9 - 1
src/views/business/purchase/components/funds/setup.ts

@@ -1,4 +1,5 @@
 import { reactive, ref, UnwrapRef } from "vue";
+import { RuleObject } from 'ant-design-vue/lib/form/interface';
 /**
  * 表单
  * @returns 
@@ -15,8 +16,15 @@ export function handleForm() {
         Amount: null,
         Remark: ''
     })
+
+    const validate = async (value: number, message: string) => {
+        if (value <= 0) {
+            return Promise.reject(message)
+        }
+    }
+
     const rules = {
-        Amount: [{ required: true, message: '请输入登记价格', trigger: 'blur', type: 'number' }],
+        Amount: [{ required: true, validator: (rule: RuleObject, value: number) => validate(value, '金额不能小于0') }],
     }
     return { rules, formState, formRef }
 }

+ 1 - 1
src/views/business/purchase/components/invoice/index.vue

@@ -84,7 +84,7 @@
         <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="收票金额" class="relative mb40" name="InvoiceAmount">
-              <a-input-number v-model:value="formState.InvoiceAmount" class="dialogInput" style="width: 200px" :min="1" suffix="元" placeholder="请输入收票金额" />
+              <a-input-number v-model:value="formState.InvoiceAmount" class="dialogInput" style="width: 200px" :min="0" suffix="元" placeholder="请输入收票金额" />
               <div class="tip">
                 <div>应收票额:{{ handleNoneValue(selectedRow.daikaiamount, ' 元') }} </div>
                 <div><a class="blue fr">全部登记</a></div>

+ 9 - 1
src/views/business/purchase/components/invoice/setup.ts

@@ -1,4 +1,5 @@
 import { reactive, ref, UnwrapRef } from "vue";
+import { RuleObject } from 'ant-design-vue/lib/form/interface';
 /**
  * 表单
  * @returns 
@@ -11,8 +12,15 @@ export function handleForm() {
     const formState: UnwrapRef<FormState> = reactive({
         InvoiceAmount: null,
     })
+
+    const validate = async (value: number, message = '') => {
+        if (value <= 0) {
+            return Promise.reject(message)
+        }
+    }
+
     const rules = {
-        InvoiceAmount: [{ required: true, message: '', trigger: 'blur', type: 'number' }],
+        InvoiceAmount: [{ required: true, validator: (rule: RuleObject, value: number) => validate(value) }],
     }
     return { rules, formState, formRef }
 }

+ 2 - 2
src/views/business/purchase/components/someprice/index.vue

@@ -78,7 +78,7 @@
         <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="点价价格" name="PricedPrice">
-              <a-input-number class="dialogInput" style="width: 200px" v-model:value="formState.PricedPrice" :min="1" placeholder="请输入点价价格" />
+              <a-input-number class="dialogInput" style="width: 200px" v-model:value="formState.PricedPrice" :min="0" placeholder="请输入点价价格" />
             </a-form-item>
           </a-col>
           <a-col :span="12">
@@ -98,7 +98,7 @@
           </a-col>
           <a-col :span="12">
             <a-form-item label="点价数量" class="relative" name="PricedQty">
-              <a-input-number class="dialogInput" style="width: 200px" v-model:value="formState.PricedQty" :min="1" :max="selectedRow.unpricedqty" placeholder="请输入点价数量" />
+              <a-input-number class="dialogInput" style="width: 200px" v-model:value="formState.PricedQty" :min="0" :max="selectedRow.unpricedqty" placeholder="请输入点价数量" />
               <div class="tip mt10">
                 <span>未定价量<span class="white">{{ selectedRow.unpricedqty }}{{ selectedRow.enumdicname }}</span>
                 </span>

+ 10 - 2
src/views/business/purchase/components/someprice/setup.ts

@@ -1,4 +1,5 @@
 import { reactive, ref, UnwrapRef } from "vue";
+import { RuleObject } from 'ant-design-vue/lib/form/interface';
 /**
  * 表单
  * @returns 
@@ -13,9 +14,16 @@ export function handleForm() {
         PricedPrice: null,
         PricedQty: null,
     })
+
+    const validate = async (value: number, message: string) => {
+        if (value <= 0) {
+            return Promise.reject(message)
+        }
+    }
+
     const rules = {
-        PricedPrice: [{ required: true, message: '请输入点价价格', trigger: 'blur', type: 'number' }],
-        PricedQty: [{ required: true, message: '请输入点价数量', trigger: 'blur', type: 'number' }],
+        PricedPrice: [{ required: true, validator: (rule: RuleObject, value: number) => validate(value, '价格不能小于0') }],
+        PricedQty: [{ required: true, validator: (rule: RuleObject, value: number) => validate(value, '数量不能小于0') }],
     }
     return { rules, formState, formRef }
 }

+ 1 - 1
src/views/business/purchase/components/storage/index.vue

@@ -82,7 +82,7 @@
           </a-col>
           <a-col :span="12">
             <a-form-item label="入库数量" name="Qty">
-              <a-input-number class="dialogInput" style="width: 200px" suffix="单位" :min="1" placeholder="请输入入库数量" v-model:value="formState.Qty"> </a-input-number>
+              <a-input-number class="dialogInput" style="width: 200px" suffix="单位" :min="0" placeholder="请输入入库数量" v-model:value="formState.Qty"> </a-input-number>
             </a-form-item>
           </a-col>
         </a-row>

+ 10 - 2
src/views/business/purchase/components/storage/setup.ts

@@ -1,4 +1,5 @@
 import { reactive, ref, UnwrapRef } from "vue";
+import { RuleObject } from 'ant-design-vue/lib/form/interface';
 /**
  * 表单
  * @returns 
@@ -12,13 +13,20 @@ export function handleForm() {
     const formRef = ref();
     const formState: UnwrapRef<FormState> = reactive({
         SpotGoodsBrandID: null, // 品牌
-        WarehouseInfo:  null, // 入库仓库
+        WarehouseInfo: null, // 入库仓库
         Qty: null, // 入库数量
     })
+
+    const validate = async (value: number, message: string) => {
+        if (value <= 0) {
+            return Promise.reject(message)
+        }
+    }
+
     const rules = {
         SpotGoodsBrandID: [{ required: true, message: '请选择品牌', trigger: 'blur', type: 'number' }],
         WarehouseInfo: [{ required: true, message: '请选择入库仓库', trigger: 'blur', type: 'number' }],
-        Qty: [{ required: true, message: '请输入入库数量', trigger: 'blur', type: 'number' }],
+        Qty: [{ required: true, validator: (rule: RuleObject, value: number) => validate(value, '数量不能小于0') }],
     }
     return { rules, formState, formRef }
 }

+ 1 - 1
src/views/business/sell/components/funds/index.vue

@@ -120,7 +120,7 @@
         <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="登记金额" name="Amount">
-              <a-input-number class="dialogInput" style="width: 200px" suffix="元" :min="1" type="number" placeholder="请输入登记金额" v-model:value="formState.Amount" />
+              <a-input-number class="dialogInput" style="width: 200px" suffix="元" :min="0" type="number" placeholder="请输入登记金额" v-model:value="formState.Amount" />
               {{ handleCurrencyname(selectedRow.currencyname) }}
             </a-form-item>
           </a-col>

+ 9 - 1
src/views/business/sell/components/funds/setup.ts

@@ -1,4 +1,5 @@
 import { reactive, ref, UnwrapRef } from "vue";
+import { RuleObject } from 'ant-design-vue/lib/form/interface';
 /**
  * 表单
  * @returns 
@@ -15,8 +16,15 @@ export function handleForm() {
         Amount: null,
         Remark: ''
     })
+
+    const validate = async (value: number, message: string) => {
+        if (value <= 0) {
+            return Promise.reject(message)
+        }
+    }
+
     const rules = {
-        Amount: [{ required: true, message: '请输入登记价格', trigger: 'blur', type: 'number' }],
+        Amount: [{ required: true, validator: (rule: RuleObject, value: number) => validate(value, '金额不能小于0') }],
     }
     return { rules, formState, formRef }
 }

+ 1 - 1
src/views/business/sell/components/invoice/index.vue

@@ -84,7 +84,7 @@
         <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="开票金额" class="relative mb40" name="InvoiceAmount">
-              <a-input-number v-model:value="formState.InvoiceAmount" class="dialogInput" style="width: 200px" suffix="元" :min="1" placeholder="请输入开票金额" />
+              <a-input-number v-model:value="formState.InvoiceAmount" class="dialogInput" style="width: 200px" suffix="元" :min="0" placeholder="请输入开票金额" />
               <div class="tip">
                 <div>应开票额:{{ handleNoneValue(selectedRow.daikaiamount, ' 元') }}</div>
                 <div><a class="blue fr">全部登记</a></div>

+ 2 - 2
src/views/business/sell/components/someprice/index.vue

@@ -78,7 +78,7 @@
         <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="点价价格" name="PricedPrice">
-              <a-input-number class="dialogInput" style="width: 200px" v-model:value="formState.PricedPrice" :min="1" placeholder="请输入点价价格" />
+              <a-input-number class="dialogInput" style="width: 200px" v-model:value="formState.PricedPrice" :min="0" placeholder="请输入点价价格" />
             </a-form-item>
           </a-col>
           <a-col :span="12">
@@ -98,7 +98,7 @@
           </a-col>
           <a-col :span="12">
             <a-form-item label="点价数量" class="relative" name="PricedQty">
-              <a-input-number class="dialogInput" style="width: 200px" v-model:value="formState.PricedQty" :min="1" :max="selectedRow.unpricedqty" placeholder="请输入点价数量" />
+              <a-input-number class="dialogInput" style="width: 200px" v-model:value="formState.PricedQty" :min="0" :max="selectedRow.unpricedqty" placeholder="请输入点价数量" />
               <div class="tip mt10">
                 <span>未定价量<span class="white">{{ selectedRow.unpricedqty }}{{ selectedRow.enumdicname }}</span>
                 </span>

+ 1 - 1
src/views/business/sell/components/storage/index.vue

@@ -87,7 +87,7 @@
           </a-col>
           <a-col :span="12">
             <a-form-item label="出库数量" name="Qty">
-              <a-input-number class="dialogInput" style="width: 200px" suffix="单位" :min="1" placeholder="请输入出库数量" v-model:value="formState.Qty">
+              <a-input-number class="dialogInput" style="width: 200px" suffix="单位" :min="0" placeholder="请输入出库数量" v-model:value="formState.Qty">
               </a-input-number>
             </a-form-item>
           </a-col>

+ 10 - 2
src/views/business/sell/components/storage/setup.ts

@@ -1,4 +1,5 @@
 import { reactive, ref, UnwrapRef } from "vue";
+import { RuleObject } from 'ant-design-vue/lib/form/interface';
 /**
  * 表单
  * @returns 
@@ -12,13 +13,20 @@ export function handleForm() {
     const formRef = ref();
     const formState: UnwrapRef<FormState> = reactive({
         SpotGoodsBrandID: null, // 品牌
-        WarehouseInfo:  null, // 入库仓库
+        WarehouseInfo: null, // 入库仓库
         Qty: null, // 入库数量
     })
+
+    const validate = async (value: number, message: string) => {
+        if (value <= 0) {
+            return Promise.reject(message)
+        }
+    }
+
     const rules = {
         SpotGoodsBrandID: [{ required: true, message: '请选择品牌', trigger: 'blur', type: 'number' }],
         WarehouseInfo: [{ required: true, message: '请选择入库仓库', trigger: 'blur', type: 'number' }],
-        Qty: [{ required: true, message: '请输入入库数量', trigger: 'blur', type: 'number' }],
+        Qty: [{ required: true, validator: (rule: RuleObject, value: number) => validate(value, '数量不能小于0') }],
     }
     return { rules, formState, formRef }
 }

+ 2 - 2
src/views/information/custom/index.vue

@@ -105,9 +105,9 @@ export default defineComponent({
     const handleBtnList = (btnList: BtnListType[], item: QhjCustomer) => {
       switch (item.status) {
         case 2: // 待审核
-          return btnList.filter((e) => e.code !== 'modify');
+          return btnList.filter((e) => ['check', 'cancel', 'detail'].includes(e.code));
         case 5: // 拒绝审核
-          return btnList.filter((e) => e.code !== 'check');
+          return btnList.filter((e) => ['modify', 'delete', 'detail'].includes(e.code));
         default:
           return btnList;
       }

+ 3 - 7
src/views/manage/finance-review/components/invoiceAudit/index.vue

@@ -50,7 +50,7 @@
           </a-col>
           <a-col :span="12">
             <a-form-item label="发票金额">
-              <span class="white">{{ formatValue(selectedRow.InvoiceAmount) }}</span>
+              <span class="white">{{ formatValue(selectedRow.invoiceamount) }}</span>
             </a-form-item>
           </a-col>
         </a-row>
@@ -83,19 +83,15 @@
 </template>
 
 <script lang="ts">
-import { defineComponent, PropType, reactive, ref, watchEffect } from 'vue';
-import { closeModal } from '@/common/setup/modal/index';
-import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
-import { mergeObj } from '@/utils/objHandle';
+import { defineComponent, PropType, ref } from 'vue';
 import { getStatusName } from '@/common/constants/enumsName';
-import { formatValue, formatTime } from '@/common/methods';
+import { formatValue } from '@/common/methods';
 import { QryBussinessFpRsp } from '@/services/go/ermcp/finance-review/interface';
 import { invoiceStatusName } from '@/views/manage/finance-review/setup';
 import { getPriceTypeName } from '@/common/constants/enumsName';
 import { Modal } from 'ant-design-vue';
 import { ContractOperateApplyReq } from '@/services/proto/contract/interface';
 import Long from 'long';
-import { somePriceControl } from '@/views/manage/business-review/components/setup';
 import { financeControl } from '@/views/manage/finance-review/components/setup';
 import { isShowContractCheck } from '@/views/manage/inventory-review/setup';
 import { handlePreviewImg } from '@/common/setup/upload';

+ 15 - 8
src/views/manage/finance-review/components/invoiceCancel/index.vue

@@ -49,14 +49,15 @@
           </a-col>
           <a-col :span="12">
             <a-form-item label="发票金额">
-              <span class="white">{{ formatValue(selectedRow.InvoiceAmount) }}</span>
+              <span class="white">{{ formatValue(selectedRow.invoiceamount) }}</span>
             </a-form-item>
           </a-col>
         </a-row>
         <a-row :gutter="24">
           <a-col :span="12">
             <a-form-item label="发票附件">
-              <span class="white">{{ formatValue(selectedRow.invoiceamount) }}</span>
+              <span class="blue" v-if="selectedRow.attachurl" @click="previewImg(selectedRow.attachurl)">查看</span>
+              <span class="white" v-else>--</span>
             </a-form-item>
           </a-col>
           <a-col :span="12">
@@ -75,24 +76,24 @@
       </fieldset>
     </a-form>
   </a-modal>
+  <a-modal :visible="previewVisible" :footer="null" @cancel="cancelImg">
+    <img alt="预览附件" style="width: 100%" :src="previewImage" />
+  </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, PropType, reactive, ref, watchEffect } from 'vue';
-import { closeModal } from '@/common/setup/modal/index';
-import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
-import { mergeObj } from '@/utils/objHandle';
+import { defineComponent, PropType, ref } from 'vue';
 import { getStatusName } from '@/common/constants/enumsName';
-import { formatValue, formatTime } from '@/common/methods';
+import { formatValue } from '@/common/methods';
 import { QryBussinessFpRsp } from '@/services/go/ermcp/finance-review/interface';
 import { invoiceStatusName } from '@/views/manage/finance-review/setup';
 import { getPriceTypeName } from '@/common/constants/enumsName';
 import { Modal } from 'ant-design-vue';
 import { ContractOperateApplyReq } from '@/services/proto/contract/interface';
 import Long from 'long';
-import { somePriceControl } from '@/views/manage/business-review/components/setup';
 import { financeControl } from '@/views/manage/finance-review/components/setup';
 import { _closeModal } from '@/common/setup/modal/modal';
+import { handlePreviewImg } from '@/common/setup/upload';
 
 export default defineComponent({
   name: 'finance_review_invoice_cancel',
@@ -108,6 +109,8 @@ export default defineComponent({
     const { visible, cancel } = _closeModal(context);
     const loading = ref<boolean>(false);
     const maskClosableFlag = ref<boolean>(false);
+    // 预览附件
+    const { previewVisible, previewImage, cancelImg, previewImg } = handlePreviewImg();
 
     function submit() { }
 
@@ -142,6 +145,10 @@ export default defineComponent({
       invoiceStatusName,
       getPriceTypeName,
       back,
+      previewVisible,
+      previewImage,
+      cancelImg,
+      previewImg,
     };
   },
 });

+ 1 - 1
src/views/search/inventory/components/add/index.vue

@@ -54,7 +54,7 @@
         </a-col>
         <a-col :span="12">
           <a-form-item :label="`${inOrOut()}数量`" name="Qty">
-            <a-input-number class="dialogInput" style="width: 200px" v-model:value="formState.Qty" :min="1" :max="10" :placeholder="`请输入${inOrOut()}数量`" />
+            <a-input-number class="dialogInput" style="width: 200px" v-model:value="formState.Qty" :min="0" :max="9999999999" :placeholder="`请输入${inOrOut()}数量`" />
           </a-form-item>
         </a-col>
       </a-row>

+ 10 - 2
src/views/search/inventory/components/add/setup.ts

@@ -7,6 +7,7 @@ import { ErmcpWareHouseInfo } from "@/views/information/warehouse-info/list";
 import { message } from "ant-design-vue";
 import { reactive, ref, UnwrapRef } from "vue";
 import { FormState } from "./interface";
+import { RuleObject } from 'ant-design-vue/lib/form/interface';
 
 // 表单
 export function handleFormState() {
@@ -22,12 +23,19 @@ export function handleFormState() {
         }
     }
     const formState: UnwrapRef<FormState> = reactive(initFormData())
+
+    const validate = async (value: number, message: string) => {
+        if (value <= 0) {
+            return Promise.reject(message)
+        }
+    }
+
     const rules = {
         WRStandardID: [{ required: true, message: '请选择现货商品' }],
         SpotGoodsBrandID: [{ required: true, message: '请选择现货品牌' }],
         DeliveryGoodsID: [{ required: true, message: '请选择现货品种' }],
         WarehouseInfo: [{ required: true, message: '请选择现货仓库' }],
-        Qty: [{ required: true, message: '请输入数量' }],
+        Qty: [{ required: true, validator: (rule: RuleObject, value: number) => validate(value, '数量不能小于0') }],
     }
     return { rules, formState, formRef, initFormData }
 }
@@ -78,7 +86,7 @@ export function handleDeliveryGoods(formState: UnwrapRef<FormState>) {
     function getDeliveryGoods() {
         QueryDeliveryGoods({}).then(res => {
             console.log('查询现货商品', res);
-            deliveryGoodsList.value = res.filter(x=>x.isvalid === 1);
+            deliveryGoodsList.value = res.filter(x => x.isvalid === 1);
         }).catch(err => {
             message.error(err)
         })