lisy hai 3 semanas
pai
achega
5fecbb1715

+ 1 - 1
src/pages/login/login.vue

@@ -215,7 +215,7 @@ const weixinLogin = async () => {
         // 获取redirect参数
         const redirectUrl = redirect.value || '/pages/plant/base/index';
         // switchTab 页面
-        const switchTabs = ['/pages/plant/base/index', '/pages/plant/port/index'];
+        const switchTabs = ['/pages/plant/base/index', '/pages/plant/port/index', '/pages/plant/processing/index', '/pages/plant/more/index'];
         if (switchTabs.includes(redirectUrl)) {
             uni.$u.route({
                 type: 'switchTab',

+ 3 - 1
src/plant/storage/agro-product/add/index.vue

@@ -128,6 +128,8 @@ import { formItemBtnStyle } from '@/assets/styles/uview-plus';
 import { generateUniqueId } from '@/utils/public';
 import { parseTime } from '@/utils/ruoyi';
 import SelectWarehouseInput from '@/models/select-warehouse-input/select-warehouse-input.vue';
+import { useInfoStore } from '@/store';
+const infoStore = useInfoStore();
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 // 仅使用到的字典:入库类型、库房类型、显示农资卡片中的种类和来源
 const { pt_seed_instore_type, pt_warehouse_type, pt_material_type, pt_source_type } = toRefs<any>(
@@ -144,7 +146,7 @@ const form = ref<AgroProductInstoreAddTypeEnum>({
     warehouses: [],
     instoreBizInfo: {
         instoreDate: parseTime(new Date(), '{y}-{m}-{d}'),
-        instoreMg: '',
+        instoreMg: infoStore.userInfo?.name || '',
         remark: '',
     },
 });

+ 8 - 1
src/plant/storage/agro-product/info-edit/index.vue

@@ -104,7 +104,7 @@
                         </view>
                     </up-form-item>
                     <up-form-item borderBottom label="供应商是否是生产商" prop="supplierProducerFlag">
-                        <up-radio-group v-model="form.supplierProducerFlag">
+                        <up-radio-group v-model="form.supplierProducerFlag" @change="changeSupplierProducerFlag">
                             <up-radio :customStyle="{ marginRight: '60rpx' }" v-for="(item, index) in yes_no" :key="index" :label="item.label" :name="item.value"></up-radio>
                         </up-radio-group>
                     </up-form-item>
@@ -250,6 +250,13 @@ const submitForm = async () => {
         true,
     );
 };
+const changeSupplierProducerFlag = () => {
+    if (form.value.supplierProducerFlag === '1') {
+        form.value.producer = form.value.supplierInfo?.name || '';
+    } else {
+        form.value.producer = '';
+    }
+};
 const optionsParam = ref({} as any);
 onLoad((options: any) => {
     const instance: any = getCurrentInstance()?.proxy;

+ 8 - 2
src/plant/storage/agro-product/info-update/index.vue

@@ -112,7 +112,7 @@
                         </view>
                     </up-form-item>
                     <up-form-item borderBottom label="供应商是否是生产商" prop="supplierProducerFlag">
-                        <up-radio-group v-model="form.supplierProducerFlag">
+                        <up-radio-group v-model="form.supplierProducerFlag" @change="changeSupplierProducerFlag">
                             <up-radio :customStyle="{ marginRight: '60rpx' }" v-for="(item, index) in yes_no" :key="index" :label="item.label" :name="item.value"></up-radio>
                         </up-radio-group>
                     </up-form-item>
@@ -381,7 +381,13 @@ const getDetailById = async (id: string) => {
         }
     }
 };
-
+const changeSupplierProducerFlag = () => {
+    if (form.value.supplierProducerFlag === '1') {
+        form.value.producer = form.value.supplierInfo?.name || '';
+    } else {
+        form.value.producer = '';
+    }
+};
 // 页面入参解析并加载
 onLoad((options: any) => {
     did.value = options?.id || '';

+ 3 - 2
src/plant/storage/fresh-goods/add/index.vue

@@ -110,7 +110,8 @@ import { formItemBtnStyle } from '@/assets/styles/uview-plus';
 import { generateUniqueId } from '@/utils/public';
 import { parseTime } from '@/utils/ruoyi';
 import SelectWarehouseInput from '@/models/select-warehouse-input/select-warehouse-input.vue';
-
+import { useInfoStore } from '@/store';
+const infoStore = useInfoStore();
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 const { pt_fresh_instore_type, pt_warehouse_type, pt_seed_type, pt_seed_source } = toRefs<any>(proxy?.useDict('pt_fresh_instore_type', 'pt_warehouse_type', 'pt_seed_type', 'pt_seed_source'));
 // 表单与分页等基础状态(参考 base-edit 风格)
@@ -124,7 +125,7 @@ const form = ref<FreshGoodsInstoreEnum>({
     warehouses: [],
     instoreBizInfo: {
         instoreDate: parseTime(new Date(), '{y}-{m}-{d}'),
-        instoreMg: '',
+        instoreMg: infoStore.userInfo?.name || '',
         remark: '',
     },
 });

+ 11 - 1
src/plant/storage/fresh-goods/info-edit/index.vue

@@ -38,6 +38,9 @@
                 <SelectMedicinalPart v-model="form.part" v-model:value-name="form.partName">
                     <up-form-item borderBottom label="药用部位/对象" prop="part" required>
                         <up-input v-model="form.partName" placeholder="请选择药用部位/对象" border="none" readonly clearable></up-input>
+                        <template #right>
+                            <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
+                        </template>
                     </up-form-item>
                 </SelectMedicinalPart>
 
@@ -85,7 +88,7 @@
                         </view>
                     </up-form-item>
                     <up-form-item borderBottom label="供应商是否是生产商" prop="supplierProducerFlag">
-                        <up-radio-group v-model="form.supplierProducerFlag">
+                        <up-radio-group v-model="form.supplierProducerFlag" @change="changeSupplierProducerFlag">
                             <up-radio :customStyle="{ marginRight: '60rpx' }" v-for="(item, index) in yes_no" :key="index" :label="item.label" :name="item.value"></up-radio>
                         </up-radio-group>
                     </up-form-item>
@@ -241,6 +244,13 @@ const selectVarietyId = () => {
         },
     });
 };
+const changeSupplierProducerFlag = (value: string) => {
+    if (value === '1') {
+        form.value.producer = form.value.supplierInfo?.name || '';
+    } else {
+        form.value.producer = '';
+    }
+};
 const optionsParam = ref({} as any);
 onLoad((options: any) => {
     const instance: any = getCurrentInstance()?.proxy;

+ 241 - 131
src/plant/storage/fresh-goods/info-update/index.vue

@@ -5,156 +5,260 @@
         </template>
         <up-form class="p-rtv" labelPosition="top" :model="form" :rules="rules" labelWidth="auto" ref="upFormRef">
             <!-- 鲜货信息(复制自 info-edit 字段与顺序) -->
-            <view class="pd-24">
-                <view class="startline-title">鲜货信息</view>
-            </view>
-            <view class="pd-24 bg-#fff">
-                <!-- 基本信息 -->
-                <view class="h-1" id="varietyIdpppp"></view>
-                <up-form-item borderBottom label="动植物名称" required prop="varietyId">
-                    <view class="flex1">
-                        <up-button v-if="!form.varietyId" @click="selectVarietyId" type="primary" plain>
-                            <image class="w-36 h-36 mr-10" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/common/select_push_icon.png" mode="widthFix" />
-                            <span>请选择动植物名称</span>
-                        </up-button>
-                        <view v-else class="bg-#FBFDFB card-info-block pd-24 p-rtv">
-                            <view class="mb-16">
-                                <span class="f-s-34 c-#333 f-w-5 mr-16">{{ form?.varietyInfo?.varietyName }}</span>
-                                <span class="f-s-24 c-#666">{{ form?.varietyInfo?.latinName }}</span>
+            <template v-if="form.instoreType == '2'">
+                <view class="pd-24">
+                    <view class="startline-title">鲜货信息</view>
+                </view>
+                <view class="pd-24 bg-#fff">
+                    <!-- 基本信息 -->
+                    <view class="h-1" id="varietyIdpppp"></view>
+                    <up-form-item borderBottom label="动植物名称" required prop="varietyId">
+                        <view class="flex1">
+                            <up-button v-if="!form.varietyId" @click="selectVarietyId" type="primary" plain>
+                                <image class="w-36 h-36 mr-10" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/common/select_push_icon.png" mode="widthFix" />
+                                <span>请选择动植物名称</span>
+                            </up-button>
+                            <view v-else class="bg-#FBFDFB card-info-block pd-24 p-rtv">
+                                <view class="mb-16">
+                                    <span class="f-s-34 c-#333 f-w-5 mr-16">{{ form?.varietyInfo?.varietyName }}</span>
+                                    <span class="f-s-24 c-#666">{{ form?.varietyInfo?.latinName }}</span>
+                                </view>
+                                <view class="mb-16">
+                                    <span class="f-s-28 c-#333 f-w-5 mr-16">{{ form?.varietyInfo?.genusName }}</span>
+                                    <span class="f-s-24 c-#666">{{ form?.varietyInfo?.genusLatinName }}</span>
+                                </view>
+                                <view v-if="form?.varietyInfo?.medicineName" class="f-s-24 c-#666">产出:{{ form?.varietyInfo?.medicineName }}</view>
+                                <view
+                                    class="close-icon pd-16"
+                                    @click="
+                                        form.varietyId = '';
+                                        form.varietyInfo = null;
+                                    "
+                                >
+                                    <up-icon color="#F81242" name="close" size="32rpx"></up-icon>
+                                </view>
                             </view>
-                            <view class="mb-16">
-                                <span class="f-s-28 c-#333 f-w-5 mr-16">{{ form?.varietyInfo?.genusName }}</span>
-                                <span class="f-s-24 c-#666">{{ form?.varietyInfo?.genusLatinName }}</span>
+                        </view>
+                    </up-form-item>
+                    <view class="h-1" id="partpppp"></view>
+                    <SelectMedicinalPart v-model="form.part" v-model:value-name="form.partName">
+                        <up-form-item borderBottom label="药用部位/对象" prop="part" required>
+                            <up-input v-model="form.partName" placeholder="请选择药用部位/对象" border="none" readonly clearable></up-input>
+                            <template #right>
+                                <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
+                            </template>
+                        </up-form-item>
+                    </SelectMedicinalPart>
+
+                    <view class="h-1" id="sourceTypepppp"></view>
+                    <ut-action-sheet :tabs="pt_medicine_source" mode="custom" title="鲜货来源" v-model="form.sourceType">
+                        <up-form-item borderBottom label="鲜货来源" required prop="sourceType">
+                            <view v-if="form.sourceType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_medicine_source_tag, form.sourceType) }}</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>
+                    </ut-action-sheet>
+                    <!-- 入库数量与单位 -->
+                    <view class="h-1" id="capacitypppp"></view>
+                    <view class="h-1" id="unitpppp"></view>
+                    <up-form-item label="入库量" prop="capacity" required class="form-item-bottom-padding-0">
+                        <view class="f-s-30 c-333 f-w-5 flex1">{{ form?.capacity }}{{ form?.unit }}</view>
+                    </up-form-item>
+
+                    <template v-if="['2'].includes(form.sourceType as string)">
+                        <up-form-item borderBottom label="供应商" prop="supplierId" required>
+                            <view class="flex1">
+                                <ContactUnitInput v-model="form.supplierId" v-model:info="form.supplierInfo" :params="{ cpyType: '4' }" title="选择供应商" placeholder="请选择供应商信息"></ContactUnitInput>
                             </view>
-                            <view v-if="form?.varietyInfo?.medicineName" class="f-s-24 c-#666">产出:{{ form?.varietyInfo?.medicineName }}</view>
-                            <view
-                                class="close-icon pd-16"
-                                @click="
-                                    form.varietyId = '';
-                                    form.varietyInfo = null;
-                                "
-                            >
-                                <up-icon color="#F81242" name="close" size="32rpx"></up-icon>
+                        </up-form-item>
+                        <up-form-item borderBottom label="供应商是否是生产商" prop="supplierProducerFlag">
+                            <up-radio-group v-model="form.supplierProducerFlag" @change="changeSupplierProducerFlag">
+                                <up-radio :customStyle="{ marginRight: '60rpx' }" v-for="(item, index) in yes_no" :key="index" :label="item.label" :name="item.value"></up-radio>
+                            </up-radio-group>
+                        </up-form-item>
+                        <up-form-item borderBottom label="生产商" prop="producer">
+                            <up-input v-model="form.producer" placeholder="请输入生产商名称" border="none" clearable></up-input>
+                        </up-form-item>
+                    </template>
+                    <!-- 检验报告与供应商信息 -->
+                    <up-form-item borderBottom label="检验报告" prop="examinReport">
+                        <ut-upload v-model="form.examinReport" :max-count="50" valueType="array" accept="image,file"></ut-upload>
+                    </up-form-item>
+                    <!-- 鲜货产地 -->
+                    <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>
+                            <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>
+                    <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>
+                    <!-- 媒体与附件 -->
+                    <up-form-item borderBottom label="鲜货图片" prop="imgs">
+                        <ut-upload v-model="form.imgs" :max-count="9" valueType="string"></ut-upload>
+                    </up-form-item>
+                    <up-form-item borderBottom label="鲜货视频" prop="vedios">
+                        <ut-upload v-model="form.vedios" :max-count="3" accept="video" valueType="string"></ut-upload>
+                    </up-form-item>
+                </view>
+
+                <view class="pd-24">
+                    <view class="startline-title">入库信息</view>
+                </view>
+                <view class="pd-24 bg-#fff">
+                    <up-form-item borderBottom label="鲜货级别" prop="level">
+                        <up-input v-model="form.level" placeholder="请输入鲜货级别" border="none" clearable></up-input>
+                    </up-form-item>
+                    <!-- 入库类型 -->
+                    <up-form-item borderBottom label="入库类型" required prop="instoreType">
+                        <view v-if="form.instoreType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_fresh_instore_type, form.instoreType) }}</view>
+                        <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择入库类型</view>
+                    </up-form-item>
+                    <!-- 入库日期 -->
+                    <view class="h-1" id="instoreDatepppp"></view>
+                    <ut-datetime-picker v-model="form.instoreBizInfo.instoreDate" :maxDate="new Date()" mode="date">
+                        <up-form-item borderBottom label="入库日期" required prop="instoreBizInfo.instoreDate">
+                            <up-input v-model="form.instoreBizInfo.instoreDate" 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>
+                    <!-- 入库批号 -->
+                    <up-form-item borderBottom label="入库批号" required prop="batchCode">
+                        <view class="f-s-30 c-333 f-w-5 flex1">{{ form.batchCode }}</view>
+                    </up-form-item>
+                    <!-- 库房类型 -->
+                    <up-form-item borderBottom label="库房类型" prop="storageType" required>
+                        <view v-if="form.storageType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_warehouse_type, form.storageType) }}</view>
+                        <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择库房类型</view>
+                    </up-form-item>
+                    <!-- 存放库房(具体库房/货架信息稍后补充为选择器) -->
+                    <up-form-item borderBottom label="存放库房" prop="warehouses">
+                        <select-warehouse-input v-model="form.warehouses" title="添加鲜货存放库房" :params="{ type: '4' }"></select-warehouse-input>
+                    </up-form-item>
+                    <!-- 入库人 -->
+                    <up-form-item borderBottom label="入库人" required prop="instoreBizInfo.instoreMg">
+                        <up-input v-model="form.instoreBizInfo.instoreMg" placeholder="请输入入库人" border="none" clearable></up-input>
+                    </up-form-item>
+                    <!-- 入库备注 -->
+                    <up-form-item borderBottom label="入库备注" prop="instoreBizInfo.remark">
+                        <up-textarea v-model="form.instoreBizInfo.remark" placeholder="请输入入库备注" autoHeight></up-textarea>
+                    </up-form-item>
+                </view>
+            </template>
+            <template v-if="form.instoreType == '3'">
+                <view class="pd-24">
+                    <view class="startline-title">鲜货信息</view>
+                </view>
+                <view class="pd-24 bg-#fff">
+                    <!-- 基本信息 -->
+                    <view class="h-1" id="varietyIdpppp"></view>
+                    <up-form-item borderBottom label="动植物名称" required prop="varietyId">
+                        <view class="flex1">
+                            <up-button v-if="!form.varietyId" @click="selectVarietyId" type="primary" plain>
+                                <image class="w-36 h-36 mr-10" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/common/select_push_icon.png" mode="widthFix" />
+                                <span>请选择动植物名称</span>
+                            </up-button>
+                            <view v-else class="bg-#FBFDFB card-info-block pd-24 p-rtv">
+                                <view class="mb-16">
+                                    <span class="f-s-34 c-#333 f-w-5 mr-16">{{ form?.varietyInfo?.varietyName }}</span>
+                                    <span class="f-s-24 c-#666">{{ form?.varietyInfo?.latinName }}</span>
+                                </view>
+                                <view class="mb-16">
+                                    <span class="f-s-28 c-#333 f-w-5 mr-16">{{ form?.varietyInfo?.genusName }}</span>
+                                    <span class="f-s-24 c-#666">{{ form?.varietyInfo?.genusLatinName }}</span>
+                                </view>
+                                <view v-if="form?.varietyInfo?.medicineName" class="f-s-24 c-#666">产出:{{ form?.varietyInfo?.medicineName }}</view>
                             </view>
                         </view>
-                    </view>
-                </up-form-item>
-                <view class="h-1" id="partpppp"></view>
-                <SelectMedicinalPart v-model="form.part" v-model:value-name="form.partName">
-                    <up-form-item borderBottom label="药用部位/对象" prop="part" required>
-                        <up-input v-model="form.partName" placeholder="请选择药用部位/对象" border="none" readonly clearable></up-input>
                     </up-form-item>
-                </SelectMedicinalPart>
+                    <view class="h-1" id="partpppp"></view>
+                    <SelectMedicinalPart v-model="form.part" v-model:value-name="form.partName">
+                        <up-form-item borderBottom label="药用部位/对象" prop="part" required>
+                            <up-input v-model="form.partName" placeholder="请选择药用部位/对象" border="none" readonly clearable></up-input>
+                        </up-form-item>
+                    </SelectMedicinalPart>
 
-                <view class="h-1" id="sourceTypepppp"></view>
-                <ut-action-sheet :tabs="pt_medicine_source" mode="custom" title="鲜货来源" v-model="form.sourceType">
+                    <view class="h-1" id="sourceTypepppp"></view>
                     <up-form-item borderBottom label="鲜货来源" required prop="sourceType">
                         <view v-if="form.sourceType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_medicine_source_tag, form.sourceType) }}</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>
-                </ut-action-sheet>
-                <!-- 入库数量与单位 -->
-                <view class="h-1" id="capacitypppp"></view>
-                <view class="h-1" id="unitpppp"></view>
-                <up-form-item label="入库量" prop="capacity" required class="form-item-bottom-padding-0">
-                    <view class="f-s-30 c-333 f-w-5 flex1">{{ form?.capacity }}{{ form?.unit }}</view>
-                </up-form-item>
-
-                <template v-if="['2'].includes(form.sourceType as string)">
-                    <up-form-item borderBottom label="供应商" prop="supplierId" required>
-                        <view class="flex1">
-                            <ContactUnitInput v-model="form.supplierId" v-model:info="form.supplierInfo" :params="{ cpyType: '4' }" title="选择供应商" placeholder="请选择供应商信息"></ContactUnitInput>
-                        </view>
+                    <!-- 入库数量与单位 -->
+                    <view class="h-1" id="capacitypppp"></view>
+                    <view class="h-1" id="unitpppp"></view>
+                    <up-form-item label="采收量" prop="capacity" required class="form-item-bottom-padding-0">
+                        <view class="f-s-30 c-333 f-w-5 flex1">{{ form?.capacity }}{{ form?.unit }}</view>
                     </up-form-item>
-                    <up-form-item borderBottom label="供应商是否是生产商" prop="supplierProducerFlag">
-                        <up-radio-group v-model="form.supplierProducerFlag">
-                            <up-radio :customStyle="{ marginRight: '60rpx' }" v-for="(item, index) in yes_no" :key="index" :label="item.label" :name="item.value"></up-radio>
-                        </up-radio-group>
-                    </up-form-item>
-                    <up-form-item borderBottom label="生产商" prop="producer">
-                        <up-input v-model="form.producer" placeholder="请输入生产商名称" border="none" clearable></up-input>
+
+                    <!-- 检验报告与供应商信息 -->
+                    <up-form-item borderBottom label="检验报告" prop="examinReport">
+                        <ut-upload v-model="form.examinReport" :max-count="50" valueType="array" accept="image,file"></ut-upload>
                     </up-form-item>
-                </template>
-                <!-- 检验报告与供应商信息 -->
-                <up-form-item borderBottom label="检验报告" prop="examinReport">
-                    <ut-upload v-model="form.examinReport" :max-count="50" valueType="array" accept="image,file"></ut-upload>
-                </up-form-item>
-                <!-- 鲜货产地 -->
-                <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="鲜货产地" 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>
-                <ut-datetime-picker v-model="form.productDate" :maxDate="new Date()" mode="date">
-                    <up-form-item borderBottom label="采收日期" prop="productDate" required>
+                    <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>
-                        <template #right>
-                            <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
-                        </template>
                     </up-form-item>
-                </ut-datetime-picker>
-                <!-- 媒体与附件 -->
-                <up-form-item borderBottom label="鲜货图片" prop="imgs">
-                    <ut-upload v-model="form.imgs" :max-count="9" valueType="string"></ut-upload>
-                </up-form-item>
-                <up-form-item borderBottom label="鲜货视频" prop="vedios">
-                    <ut-upload v-model="form.vedios" :max-count="3" accept="video" valueType="string"></ut-upload>
-                </up-form-item>
-            </view>
+                    <!-- 媒体与附件 -->
+                    <up-form-item borderBottom label="鲜货图片" prop="imgs">
+                        <ut-upload v-model="form.imgs" :max-count="9" valueType="string"></ut-upload>
+                    </up-form-item>
+                    <up-form-item borderBottom label="鲜货视频" prop="vedios">
+                        <ut-upload v-model="form.vedios" :max-count="3" accept="video" valueType="string"></ut-upload>
+                    </up-form-item>
+                </view>
 
-            <view class="pd-24">
-                <view class="startline-title">入库信息</view>
-            </view>
-            <view class="pd-24 bg-#fff">
-                <up-form-item borderBottom label="鲜货级别" prop="level">
-                    <up-input v-model="form.level" placeholder="请输入鲜货级别" border="none" clearable></up-input>
-                </up-form-item>
-                <!-- 入库类型 -->
-                <up-form-item borderBottom label="入库类型" required prop="instoreType">
-                    <view v-if="form.instoreType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_fresh_instore_type, form.instoreType) }}</view>
-                    <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择入库类型</view>
-                </up-form-item>
-                <!-- 入库日期 -->
-                <view class="h-1" id="instoreDatepppp"></view>
-                <ut-datetime-picker v-model="form.instoreBizInfo.instoreDate" :maxDate="new Date()" mode="date">
-                    <up-form-item borderBottom label="入库日期" required prop="instoreBizInfo.instoreDate">
-                        <up-input v-model="form.instoreBizInfo.instoreDate" placeholder="请选择入库日期" border="none" clearable></up-input>
-                        <template #right>
-                            <up-icon size="22rpx" color="#2A6D52" name="arrow-down-fill"></up-icon>
-                        </template>
+                <view class="pd-24">
+                    <view class="startline-title">入库信息</view>
+                </view>
+                <view class="pd-24 bg-#fff">
+                    <up-form-item borderBottom label="鲜货级别" prop="level">
+                        <up-input v-model="form.level" placeholder="请输入鲜货级别" border="none" clearable></up-input>
                     </up-form-item>
-                </ut-datetime-picker>
-                <!-- 入库批号 -->
-                <up-form-item borderBottom label="入库批号" required prop="batchCode">
-                    <view class="f-s-30 c-333 f-w-5 flex1">{{ form.batchCode }}</view>
-                </up-form-item>
-                <!-- 库房类型 -->
-                <up-form-item borderBottom label="库房类型" prop="storageType" required>
-                    <view v-if="form.storageType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_warehouse_type, form.storageType) }}</view>
-                    <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择库房类型</view>
-                </up-form-item>
-                <!-- 存放库房(具体库房/货架信息稍后补充为选择器) -->
-                <up-form-item borderBottom label="存放库房" prop="warehouses">
-                    <select-warehouse-input v-model="form.warehouses" title="添加鲜货存放库房" :params="{ type: '4' }"></select-warehouse-input>
-                </up-form-item>
-                <!-- 入库人 -->
-                <up-form-item borderBottom label="入库人" required prop="instoreBizInfo.instoreMg">
-                    <up-input v-model="form.instoreBizInfo.instoreMg" placeholder="请输入入库人" border="none" clearable></up-input>
-                </up-form-item>
-                <!-- 入库备注 -->
-                <up-form-item borderBottom label="入库备注" prop="instoreBizInfo.remark">
-                    <up-textarea v-model="form.instoreBizInfo.remark" placeholder="请输入入库备注" autoHeight></up-textarea>
-                </up-form-item>
-            </view>
+                    <!-- 入库类型 -->
+                    <up-form-item borderBottom label="入库类型" required prop="instoreType">
+                        <view v-if="form.instoreType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_fresh_instore_type, form.instoreType) }}</view>
+                        <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择入库类型</view>
+                    </up-form-item>
+                    <!-- 库房类型 -->
+                    <up-form-item borderBottom label="库房类型" prop="storageType" required>
+                        <view v-if="form.storageType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_warehouse_type, form.storageType) }}</view>
+                        <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择库房类型</view>
+                    </up-form-item>
+                    <!-- 存放库房(具体库房/货架信息稍后补充为选择器) -->
+                    <up-form-item borderBottom label="存放库房" prop="warehouses">
+                        <select-warehouse-input v-model="form.warehouses" title="添加鲜货存放库房" :params="{ type: '4' }"></select-warehouse-input>
+                    </up-form-item>
+                    <!-- 入库人 -->
+                    <up-form-item borderBottom label="入库人" required prop="instoreBizInfo.instoreMg">
+                        <up-input v-model="form.instoreBizInfo.instoreMg" placeholder="请输入入库人" border="none" clearable></up-input>
+                    </up-form-item>
+                    <!-- 入库备注 -->
+                    <up-form-item borderBottom label="入库备注" prop="instoreBizInfo.remark">
+                        <up-textarea v-model="form.instoreBizInfo.remark" placeholder="请输入入库备注" autoHeight></up-textarea>
+                    </up-form-item>
+                </view>
+            </template>
         </up-form>
         <template #bottom>
             <view class="pd-20 d-flex">
@@ -255,7 +359,13 @@ const getDetailById = async (id: string) => {
         };
     }
 };
-
+const changeSupplierProducerFlag = (value: string) => {
+    if (value === '1') {
+        form.value.producer = form.value.supplierInfo?.name || '';
+    } else {
+        form.value.producer = '';
+    }
+};
 // 页面入参解析并加载
 onLoad((options: any) => {
     did.value = options?.id || '';

+ 5 - 1
src/plant/storage/fresh-goods/list/index.vue

@@ -174,7 +174,11 @@ const clickTempSwipe = async (event: object, item: any) => {
 };
 
 const onRefresh = () => {
-    paging.value.reload();
+    try {
+        paging.value?.reload();
+    } catch (error) {
+        console.error('刷新列表失败:', error);
+    }
 };
 onMounted(() => {
     uni.$on('refreshStorageRoomList', () => {

+ 3 - 2
src/plant/storage/seed-source/add/index.vue

@@ -124,7 +124,8 @@ import { formItemBtnStyle } from '@/assets/styles/uview-plus';
 import { generateUniqueId } from '@/utils/public';
 import { parseTime } from '@/utils/ruoyi';
 import SelectWarehouseInput from '@/models/select-warehouse-input/select-warehouse-input.vue';
-
+import { useInfoStore } from '@/store';
+const infoStore = useInfoStore();
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 const { pt_seed_instore_type, pt_warehouse_type, pt_seed_type, pt_seed_source } = toRefs<any>(proxy?.useDict('pt_seed_instore_type', 'pt_warehouse_type', 'pt_seed_type', 'pt_seed_source'));
 // 表单与分页等基础状态(参考 base-edit 风格)
@@ -138,7 +139,7 @@ const form = ref<SeedSourceAddTypeEnum>({
     warehouses: [],
     instoreBizInfo: {
         instoreDate: parseTime(new Date(), '{y}-{m}-{d}'),
-        instoreMg: '',
+        instoreMg: infoStore.userInfo?.name || '',
         remark: '',
     },
 });

+ 8 - 1
src/plant/storage/seed-source/info-edit/index.vue

@@ -236,7 +236,7 @@
                         </view>
                     </up-form-item>
                     <up-form-item borderBottom label="供应商是否是生产商" prop="supplierProducerFlag">
-                        <up-radio-group v-model="form.supplierProducerFlag">
+                        <up-radio-group v-model="form.supplierProducerFlag" @change="changeSupplierProducerFlag">
                             <up-radio :customStyle="{ marginRight: '60rpx' }" v-for="(item, index) in yes_no" :key="index" :label="item.label" :name="item.value"></up-radio>
                         </up-radio-group>
                     </up-form-item>
@@ -482,6 +482,13 @@ const selectMotherVarietyId = () => {
         },
     });
 };
+const changeSupplierProducerFlag = () => {
+    if (form.value.supplierProducerFlag === '1') {
+        form.value.producer = form.value.supplierInfo?.name || '';
+    } else {
+        form.value.producer = '';
+    }
+};
 const optionsParam = ref({} as any);
 onLoad((options: any) => {
     const instance: any = getCurrentInstance()?.proxy;

+ 14 - 15
src/plant/storage/seed-source/info-update/index.vue

@@ -220,7 +220,7 @@
                             </view>
                         </up-form-item>
                         <up-form-item borderBottom label="供应商是否是生产商" prop="supplierProducerFlag">
-                            <up-radio-group v-model="form.supplierProducerFlag">
+                            <up-radio-group v-model="form.supplierProducerFlag" >
                                 <up-radio :customStyle="{ marginRight: '60rpx' }" v-for="(item, index) in yes_no" :key="index" :label="item.label" :name="item.value"></up-radio>
                             </up-radio-group>
                         </up-form-item>
@@ -415,12 +415,10 @@
                     <up-form-item borderBottom label="检验报告" prop="examinReport">
                         <ut-upload v-model="form.examinReport" :max-count="50" valueType="array" accept="image,file"></ut-upload>
                     </up-form-item>
-               
+
                     <!-- 菌种编码信息 -->
                     <up-form-item required v-if="['A4', 'A8'].includes(form.seedType as string)" :label="`${selectDictLabel(pt_seed_type, form.seedType as string)}编号`" class="form-item-bottom-padding-0">
-                        <view class="f-s-30 c-333 f-w-5 flex1">
-                           {{ selectDictLabel(pt_fungus_code_type, form?.fungusCodeType) }}/{{ form?.fungusCode }}
-                        </view>
+                        <view class="f-s-30 c-333 f-w-5 flex1"> {{ selectDictLabel(pt_fungus_code_type, form?.fungusCodeType) }}/{{ form?.fungusCode }} </view>
                     </up-form-item>
                     <!-- 个体标识:此处仅占位,后续可改为多选列表 -->
                     <view class="h-1" id="instoreBizInfo.idFlagpppp"></view>
@@ -449,15 +447,10 @@
                     </up-form-item>
 
                     <!-- 种源产地 -->
-                    <PickerAreaInput v-model="form.adcode" v-model:full-name="form.adcodeName" title="选择种源产地">
-                        <up-form-item borderBottom label="种源产地" prop="adcode">
-                            <view v-if="form.adcode" class="f-s-30 c-333 f-w-5 flex1">{{ form.adcodeName }}</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>
+                    <up-form-item borderBottom label="种源产地">
+                        <view v-if="form.adcode" class="f-s-30 c-333 f-w-5 flex1">{{ form.adcodeName }}</view>
+                        <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择种源产地</view>
+                    </up-form-item>
                     <ut-action-sheet :tabs="pt_breeding_materials" mode="custom" title="繁殖材料" multiple v-model="form.generationMaterial">
                         <up-form-item borderBottom label="繁殖材料" prop="generationMaterial">
                             <view v-if="form.generationMaterial" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabels(pt_breeding_materials, form.generationMaterial, ',') }}</view>
@@ -723,7 +716,13 @@ const getDetailById = async (id: string) => {
         };
     }
 };
-
+const changeSupplierProducerFlag = () => {
+    if (form.value.supplierProducerFlag === '1') {
+        form.value.producer = form.value.supplierInfo?.name || '';
+    } else {
+        form.value.producer = '';
+    }
+};
 // 页面入参解析并加载
 onLoad((options: any) => {
     did.value = options?.id || '';