|
@@ -87,8 +87,8 @@
|
|
|
<ut-upload v-model="form.examinReport" :max-count="50" valueType="array" accept="image,file"></ut-upload>
|
|
<ut-upload v-model="form.examinReport" :max-count="50" valueType="array" accept="image,file"></ut-upload>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
<!-- 鲜货产地 -->
|
|
<!-- 鲜货产地 -->
|
|
|
|
|
+ <view class="h-1" id="producePlacepppp"></view>
|
|
|
<PickerAreaInput v-model="form.producePlace" v-model:full-name="form.producePlaceName" title="选择鲜货产地">
|
|
<PickerAreaInput v-model="form.producePlace" v-model:full-name="form.producePlaceName" title="选择鲜货产地">
|
|
|
- <view class="h-1" id="producePlacepppp"></view>
|
|
|
|
|
<up-form-item borderBottom label="鲜货产地" prop="producePlace" required>
|
|
<up-form-item borderBottom label="鲜货产地" prop="producePlace" required>
|
|
|
<view v-if="form.producePlace" class="f-s-30 c-333 f-w-5 flex1">{{ form.producePlaceName }}</view>
|
|
<view v-if="form.producePlace" class="f-s-30 c-333 f-w-5 flex1">{{ form.producePlaceName }}</view>
|
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择鲜货产地</view>
|
|
<view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择鲜货产地</view>
|
|
@@ -98,14 +98,32 @@
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
</PickerAreaInput>
|
|
</PickerAreaInput>
|
|
|
<view class="h-1" id="productDatepppp"></view>
|
|
<view class="h-1" id="productDatepppp"></view>
|
|
|
- <ut-datetime-picker v-model="form.productDate" :maxDate="new Date()" mode="date">
|
|
|
|
|
- <up-form-item borderBottom label="采收日期" prop="productDate" required>
|
|
|
|
|
- <up-input v-model="form.productDate" readonly placeholder="请选择采收日期" border="none" clearable></up-input>
|
|
|
|
|
- <template #right>
|
|
|
|
|
- <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
|
|
- </template>
|
|
|
|
|
- </up-form-item>
|
|
|
|
|
- </ut-datetime-picker>
|
|
|
|
|
|
|
+ <view class="h-1" id="productDateEndpppp"></view>
|
|
|
|
|
+ <up-form-item prop="productDate" required label="采收日期" class="form-item-bottom-padding-0">
|
|
|
|
|
+ <view class="flex1 d-flex">
|
|
|
|
|
+ <view class="flex1">
|
|
|
|
|
+ <ut-datetime-picker v-model="form.productDate" :maxDate="form.productDateEnd || new Date()" mode="date">
|
|
|
|
|
+ <up-form-item borderBottom prop="productDate" class="form-item-top-padding-0">
|
|
|
|
|
+ <up-input v-model="form.productDate" readonly placeholder="请选择开始日期" border="none" clearable></up-input>
|
|
|
|
|
+ <template #right>
|
|
|
|
|
+ <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </up-form-item>
|
|
|
|
|
+ </ut-datetime-picker>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="pd2-0-20"></view>
|
|
|
|
|
+ <view class="flex1">
|
|
|
|
|
+ <ut-datetime-picker v-model="form.productDateEnd" :minDate="form.productDate" :maxDate="new Date()" mode="date">
|
|
|
|
|
+ <up-form-item borderBottom prop="productDateEnd" class="form-item-top-padding-0">
|
|
|
|
|
+ <up-input v-model="form.productDateEnd" readonly placeholder="请选择结束日期" border="none" clearable></up-input>
|
|
|
|
|
+ <template #right>
|
|
|
|
|
+ <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </up-form-item>
|
|
|
|
|
+ </ut-datetime-picker>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </up-form-item>
|
|
|
<!-- 媒体与附件 -->
|
|
<!-- 媒体与附件 -->
|
|
|
<up-form-item borderBottom label="鲜货图片" prop="imgs">
|
|
<up-form-item borderBottom label="鲜货图片" prop="imgs">
|
|
|
<ut-upload v-model="form.imgs" :max-count="9" valueType="string"></ut-upload>
|
|
<ut-upload v-model="form.imgs" :max-count="9" valueType="string"></ut-upload>
|
|
@@ -211,13 +229,41 @@
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
<!-- 鲜货产地 -->
|
|
<!-- 鲜货产地 -->
|
|
|
<view class="h-1" id="producePlacepppp"></view>
|
|
<view class="h-1" id="producePlacepppp"></view>
|
|
|
- <up-form-item borderBottom label="鲜货产地" required>
|
|
|
|
|
- <view v-if="form.producePlace" class="f-s-30 c-333 f-w-5 flex1">{{ form.producePlaceName }}</view>
|
|
|
|
|
- <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择鲜货产地</view>
|
|
|
|
|
- </up-form-item>
|
|
|
|
|
|
|
+ <PickerAreaInput v-model="form.producePlace" v-model:full-name="form.producePlaceName" title="选择鲜货产地">
|
|
|
|
|
+ <up-form-item borderBottom label="鲜货产地" prop="producePlace" required>
|
|
|
|
|
+ <view v-if="form.producePlace" class="f-s-30 c-333 f-w-5 flex1">{{ form.producePlaceName }}</view>
|
|
|
|
|
+ <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择鲜货产地</view>
|
|
|
|
|
+ <template #right>
|
|
|
|
|
+ <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </up-form-item>
|
|
|
|
|
+ </PickerAreaInput>
|
|
|
<view class="h-1" id="productDatepppp"></view>
|
|
<view class="h-1" id="productDatepppp"></view>
|
|
|
- <up-form-item borderBottom label="采收日期" required>
|
|
|
|
|
- <up-input v-model="form.productDate" readonly placeholder="请选择采收日期" border="none" clearable></up-input>
|
|
|
|
|
|
|
+ <view class="h-1" id="productDateEndpppp"></view>
|
|
|
|
|
+ <up-form-item prop="productDate" required label="采收日期" class="form-item-bottom-padding-0">
|
|
|
|
|
+ <view class="flex1 d-flex">
|
|
|
|
|
+ <view class="flex1">
|
|
|
|
|
+ <ut-datetime-picker v-model="form.productDate" :maxDate="form.productDateEnd || new Date()" mode="date">
|
|
|
|
|
+ <up-form-item borderBottom prop="productDate" class="form-item-top-padding-0">
|
|
|
|
|
+ <up-input v-model="form.productDate" readonly placeholder="请选择开始日期" border="none" clearable></up-input>
|
|
|
|
|
+ <template #right>
|
|
|
|
|
+ <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </up-form-item>
|
|
|
|
|
+ </ut-datetime-picker>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="pd2-0-20"></view>
|
|
|
|
|
+ <view class="flex1">
|
|
|
|
|
+ <ut-datetime-picker v-model="form.productDateEnd" :minDate="form.productDate" :maxDate="new Date()" mode="date">
|
|
|
|
|
+ <up-form-item borderBottom prop="productDateEnd" class="form-item-top-padding-0">
|
|
|
|
|
+ <up-input v-model="form.productDateEnd" readonly placeholder="请选择结束日期" border="none" clearable></up-input>
|
|
|
|
|
+ <template #right>
|
|
|
|
|
+ <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </up-form-item>
|
|
|
|
|
+ </ut-datetime-picker>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
</up-form-item>
|
|
</up-form-item>
|
|
|
<!-- 媒体与附件 -->
|
|
<!-- 媒体与附件 -->
|
|
|
<up-form-item borderBottom label="鲜货图片" prop="imgs">
|
|
<up-form-item borderBottom label="鲜货图片" prop="imgs">
|
|
@@ -288,7 +334,39 @@ const form = ref<FreshGoodsInfoType | any>({
|
|
|
remark: '',
|
|
remark: '',
|
|
|
},
|
|
},
|
|
|
});
|
|
});
|
|
|
-const rules = reactive({});
|
|
|
|
|
|
|
+const rules = reactive({
|
|
|
|
|
+ varietyId: [{ required: true, message: '请选择动植物名称' }],
|
|
|
|
|
+ part: [{ required: true, message: '请选择药用部位/对象' }],
|
|
|
|
|
+ sourceType: [{ required: true, message: '请选择鲜货来源' }],
|
|
|
|
|
+ capacity: [
|
|
|
|
|
+ { required: true, message: '请输入入库量' },
|
|
|
|
|
+ {
|
|
|
|
|
+ asyncValidator: (rule: any, value: any) => {
|
|
|
|
|
+ if (value === 0 || value === '0') return Promise.reject('入库量需大于0');
|
|
|
|
|
+ if (value === undefined || value === null || value === '') return Promise.resolve();
|
|
|
|
|
+ const num = Number(value);
|
|
|
|
|
+ if (Number.isNaN(num)) return Promise.reject('入库量请输入数字');
|
|
|
|
|
+ if (num <= 0) return Promise.reject('入库量需大于0');
|
|
|
|
|
+ return Promise.resolve();
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ unit: [{ required: true, message: '请选择单位' }],
|
|
|
|
|
+ supplierId: [
|
|
|
|
|
+ {
|
|
|
|
|
+ asyncValidator: (rule: any, value: any) => {
|
|
|
|
|
+ if (['2'].includes(form.value.sourceType as string)) {
|
|
|
|
|
+ if (!value) return Promise.reject('请选择供应商');
|
|
|
|
|
+ }
|
|
|
|
|
+ return Promise.resolve();
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ producePlace: [{ required: true, message: '请选择鲜货产地' }],
|
|
|
|
|
+ productDate: [{ required: true, message: '请选择开始日期' }],
|
|
|
|
|
+ productDateEnd: [{ required: true, message: '请选择结束日期' }],
|
|
|
|
|
+ 'instoreBizInfo.instoreMg': [{ required: true, message: '请输入入库人' }],
|
|
|
|
|
+});
|
|
|
|
|
|
|
|
// 提交:当前页面改为单条鲜货信息,直接提交合并后的对象
|
|
// 提交:当前页面改为单条鲜货信息,直接提交合并后的对象
|
|
|
const submitForm = async () => {
|
|
const submitForm = async () => {
|
|
@@ -313,7 +391,7 @@ const submitForm = async () => {
|
|
|
title: '提交成功',
|
|
title: '提交成功',
|
|
|
icon: 'success',
|
|
icon: 'success',
|
|
|
});
|
|
});
|
|
|
- uni.$emit('seed-source-detail-refresh');
|
|
|
|
|
|
|
+ uni.$emit('fresh-goods-detail-refresh');
|
|
|
uni.$emit('refreshStorageRoomList');
|
|
uni.$emit('refreshStorageRoomList');
|
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
|
uni.navigateBack({
|
|
uni.navigateBack({
|
|
@@ -361,7 +439,7 @@ const getDetailById = async (id: string) => {
|
|
|
};
|
|
};
|
|
|
const changeSupplierProducerFlag = (value: string) => {
|
|
const changeSupplierProducerFlag = (value: string) => {
|
|
|
if (value === '1') {
|
|
if (value === '1') {
|
|
|
- form.value.producer = form.value.supplierInfo?.name || '';
|
|
|
|
|
|
|
+ form.value.producer = form.value.supplierInfo?.cusName || '';
|
|
|
} else {
|
|
} else {
|
|
|
form.value.producer = '';
|
|
form.value.producer = '';
|
|
|
}
|
|
}
|