lisy пре 1 недеља
родитељ
комит
e8c1cb6788
100 измењених фајлова са 1162 додато и 268 уклоњено
  1. 13 1
      src/pages.json
  2. 16 6
      src/pages/plant/more/index.vue
  3. 91 35
      src/pages/plant/port/models/task.vue
  4. 13 17
      src/pages/plant/processing/index.vue
  5. 217 0
      src/plant/code/code-list/index.vue
  6. 200 0
      src/plant/code/code-list/models/code-item.vue
  7. 128 0
      src/plant/code/code-list/models/generate-dialog.vue
  8. 24 8
      src/plant/packaging/select-object/models/select-fresh-list.vue
  9. 25 7
      src/plant/packaging/select-object/models/select-medicine-list.vue
  10. 29 10
      src/plant/packaging/select-object/models/select-seed-source-list.vue
  11. 72 34
      src/plant/port/port-harvest-create/index.vue
  12. 36 16
      src/plant/port/port-harvest/models/task_card.vue
  13. 36 16
      src/plant/port/port-listinfo/models/task_card.vue
  14. 36 16
      src/plant/port/port-supervise/models/task_card.vue
  15. 21 15
      src/plant/print/models/connect-printer.vue
  16. 14 6
      src/plant/processing/processing-detail-list/models/processing-output-item.vue
  17. 55 23
      src/plant/processing/processing-index/index.vue
  18. 20 9
      src/plant/storage/agro-product/detail/index.vue
  19. 31 13
      src/plant/storage/agro-product/list/model/agro-bottom.vue
  20. 28 11
      src/plant/storage/fresh-goods/detail/index.vue
  21. 57 25
      src/plant/storage/seed-source/detail/index.vue
  22. BIN
      src/static/images/audit/plant/GAP_Certification_Audit.png
  23. BIN
      src/static/images/audit/plant/TCM_Traceability_System.png
  24. BIN
      src/static/images/audit/plant/base_index_bg.png
  25. BIN
      src/static/images/audit/plant/base_index_logo_right.png
  26. BIN
      src/static/images/audit/plant/gap_tag_item_logo.png
  27. BIN
      src/static/images/audit/plant/swyq_tag_item_logo.png
  28. BIN
      src/static/images/common/base_res_logo0.png
  29. BIN
      src/static/images/common/base_res_logo1.png
  30. BIN
      src/static/images/common/base_res_logo2.png
  31. BIN
      src/static/images/common/btn_add_logo.png
  32. BIN
      src/static/images/common/btn_checked_icon.png
  33. BIN
      src/static/images/common/craftArrow.png
  34. BIN
      src/static/images/common/edit_icon.png
  35. BIN
      src/static/images/common/scan_icon_o.png
  36. BIN
      src/static/images/common/select_push_icon.png
  37. BIN
      src/static/images/plant/BasePlotManagement.png
  38. BIN
      src/static/images/plant/Herbal_Cultivation.png
  39. BIN
      src/static/images/plant/PDF.png
  40. BIN
      src/static/images/plant/QuickLogin.png
  41. BIN
      src/static/images/plant/SZYYLogo.png
  42. BIN
      src/static/images/plant/TCM_Animal_Farming.png
  43. BIN
      src/static/images/plant/Tissue_Culture_Lab.png
  44. BIN
      src/static/images/plant/accountNumber.png
  45. BIN
      src/static/images/plant/addBase.png
  46. BIN
      src/static/images/plant/base/draw_area_icon.png
  47. BIN
      src/static/images/plant/base/gap_res0.png
  48. BIN
      src/static/images/plant/base/gap_res1.png
  49. BIN
      src/static/images/plant/base/gap_res2.png
  50. BIN
      src/static/images/plant/base/select_base_gap.png
  51. BIN
      src/static/images/plant/basePlotBG.png
  52. BIN
      src/static/images/plant/bottomBase.png
  53. BIN
      src/static/images/plant/bottomBaseActive.png
  54. BIN
      src/static/images/plant/bottomMore.png
  55. BIN
      src/static/images/plant/bottomMoreActive.png
  56. BIN
      src/static/images/plant/bottomPlantingBreeding.png
  57. BIN
      src/static/images/plant/bottomPlantingBreedingActive.png
  58. BIN
      src/static/images/plant/bottomProcessingPackaging.png
  59. BIN
      src/static/images/plant/bottomProcessingPackagingActive.png
  60. BIN
      src/static/images/plant/bottomWarehouse.png
  61. BIN
      src/static/images/plant/bottomWarehouseActive.png
  62. BIN
      src/static/images/plant/bottombg.png
  63. BIN
      src/static/images/plant/chooseGAP.png
  64. BIN
      src/static/images/plant/chooseSuccessfully.png
  65. BIN
      src/static/images/plant/cxlmLogo.png
  66. BIN
      src/static/images/plant/loginBottomBg.png
  67. BIN
      src/static/images/plant/loginMidBg.png
  68. BIN
      src/static/images/plant/loginTopBg.png
  69. BIN
      src/static/images/plant/more/mag_code_icon.png
  70. BIN
      src/static/images/plant/more/mag_relate_icon.png
  71. BIN
      src/static/images/plant/more/mag_trace_icon.png
  72. BIN
      src/static/images/plant/more/mag_unit_icon.png
  73. BIN
      src/static/images/plant/noEmpty.png
  74. BIN
      src/static/images/plant/noEmptyBase.png
  75. BIN
      src/static/images/plant/port/TaskType_BreedingLivestock.png
  76. BIN
      src/static/images/plant/port/TaskType_SeedlingBreeding.png
  77. BIN
      src/static/images/plant/port/TaskType_breeding.png
  78. BIN
      src/static/images/plant/port/TaskType_plant.png
  79. BIN
      src/static/images/plant/port/Task_Breeding.png
  80. BIN
      src/static/images/plant/port/Task_Breeding_Livestock.png
  81. BIN
      src/static/images/plant/port/Task_Breeding_management.png
  82. BIN
      src/static/images/plant/port/Task_Harvest_management.png
  83. BIN
      src/static/images/plant/port/Task_Planting.png
  84. BIN
      src/static/images/plant/port/Task_Seedling_breeding.png
  85. BIN
      src/static/images/plant/port/Task_Species_source_information.png
  86. BIN
      src/static/images/plant/port/over.png
  87. BIN
      src/static/images/plant/port/个体标识-从种源库快速添加.png
  88. BIN
      src/static/images/plant/port/个体标识-手动输入添加.png
  89. BIN
      src/static/images/plant/port/个体标识-扫一扫添加.png
  90. BIN
      src/static/images/plant/processing/initial_processing.png
  91. BIN
      src/static/images/plant/processing/packaging_coding.png
  92. BIN
      src/static/images/plant/processing/processType_fresh.png
  93. BIN
      src/static/images/plant/processing/processType_initial.png
  94. BIN
      src/static/images/plant/resEffective.png
  95. BIN
      src/static/images/plant/resFailed.png
  96. BIN
      src/static/images/plant/resPendingReview.png
  97. BIN
      src/static/images/plant/searchGrey.png
  98. BIN
      src/static/images/plant/search_icon.png
  99. BIN
      src/static/images/plant/storage/add_c_btn.png
  100. BIN
      src/static/images/plant/storage/agro_btm_bg.png

+ 13 - 1
src/pages.json

@@ -601,7 +601,7 @@
                         "navigationStyle": "custom"
                     }
                 },
-                // 传入html地址                
+                // 传入html地址
                 {
                     "path": "view-html/index",
                     "style": {
@@ -628,6 +628,18 @@
                     }
                 }
             ]
+        },
+        // 码管理分包
+        {
+            "root": "plant/code",
+            "pages": [
+                {
+                    "path": "code-list/index",
+                    "style": {
+                        "navigationBarTitleText": "码生成及管理"
+                    }
+                }
+            ]
         }
     ],
     "tabBar": {

+ 16 - 6
src/pages/plant/more/index.vue

@@ -7,16 +7,23 @@
             <view class="radius-16 bg-#fff pd-24 mb-16">
                 <view class="mb-30 f-s-30 c-#333 f-w-500">码管理</view>
                 <view class="d-flex flex-w gap-30 j-sb">
-                    <view class="d-flex flex-cln j-c a-c pd-10" hover-class="bg-#f7f7f7">
-                        <image class="w-54 h-54 mb-16" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/more/mag_code_icon.png" mode="widthFix" />
+                    <view class="d-flex flex-cln j-c a-c pd-10" hover-class="bg-#f7f7f7"
+                        @click="$u.route({ url: '/plant/code/code-list/index' })">
+                        <image class="w-54 h-54 mb-16"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/more/mag_code_icon.png"
+                            mode="widthFix" />
                         <view class="f-s-26 c-#666">码生成及下载</view>
                     </view>
                     <view class="d-flex flex-cln j-c a-c pd-10" hover-class="bg-#f7f7f7">
-                        <image class="w-54 h-54 mb-16" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/more/mag_trace_icon.png" mode="widthFix" />
+                        <image class="w-54 h-54 mb-16"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/more/mag_trace_icon.png"
+                            mode="widthFix" />
                         <view class="f-s-26 c-#666">追溯码查询</view>
                     </view>
                     <view class="d-flex flex-cln j-c a-c pd-10" hover-class="bg-#f7f7f7">
-                        <image class="w-54 h-54 mb-16" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/more/mag_relate_icon.png" mode="widthFix" />
+                        <image class="w-54 h-54 mb-16"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/more/mag_relate_icon.png"
+                            mode="widthFix" />
                         <view class="f-s-26 c-#666">关联关系管理</view>
                     </view>
                 </view>
@@ -24,8 +31,11 @@
             <view class="radius-16 bg-#fff pd-24 mb-16">
                 <view class="mb-30 f-s-30 c-#333 f-w-500">往来单位管理</view>
                 <view class="d-flex flex-w gap-30">
-                    <view class="d-flex flex-cln j-c a-c pd-10" hover-class="bg-#f7f7f7" @click="$u.route({ url: '/plant/contact-unit/unit-list/index' })">
-                        <image class="w-54 h-54 mb-16" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/more/mag_unit_icon.png" mode="widthFix" />
+                    <view class="d-flex flex-cln j-c a-c pd-10" hover-class="bg-#f7f7f7"
+                        @click="$u.route({ url: '/plant/contact-unit/unit-list/index' })">
+                        <image class="w-54 h-54 mb-16"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/more/mag_unit_icon.png"
+                            mode="widthFix" />
                         <view class="f-s-26 c-#666">往来单位管理</view>
                     </view>
                 </view>

+ 91 - 35
src/pages/plant/port/models/task.vue

@@ -2,8 +2,12 @@
     <!-- 养殖 -->
     <view class="" v-if="data.taskType === '2'">
         <view class="b-radius bg-#fff pd-10 p-rtv">
-            <image class="w-80 h-34" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding.png" mode="widthFix" style="position: absolute; top: 0; left: 0" />
-            <image v-if="+status == 9" class="w-98 h-98" src="/static/images/plant/port/over.png" mode="widthFix" style="position: absolute; top: 50rpx; right: 20rpx" />
+            <image class="w-80 h-34"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding.png"
+                mode="widthFix" style="position: absolute; top: 0; left: 0" />
+            <image v-if="+status == 9" class="w-98 h-98"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/over.png" mode="widthFix"
+                style="position: absolute; top: 50rpx; right: 20rpx" />
             <view class="d-flex j-ed f-s-22 c-#666">{{ data?.plannedStartDate }}至{{ data?.plannedEndDate }}</view>
             <view class="d-flex a-ed pd-16 pt-8 pb-8">
                 <view class="c-#333 f-s-34 f-w-5 mr-6">{{ data?.variety }}</view>
@@ -28,7 +32,8 @@
                     {{ data?.baseRef?.baseName }}
                     <text v-if="+data?.landFlag">全部地块</text>
                     <view v-else>
-                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text v-if="index != 0">、</text> {{ item?.landName }}</text>
+                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text
+                                v-if="index != 0">、</text> {{ item?.landName }}</text>
                     </view>
                 </view>
                 <view class="flex1 d-flex j-ed"><up-icon name="arrow-right" size="34rpx"></up-icon></view>
@@ -36,11 +41,13 @@
             <view class="d-flex f-s-28 pd-16 pt-8 pb-8">
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">养殖区域:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.breedScale }}{{ data?.breedScaleUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.breedScale }}{{ data?.breedScaleUnit }}
+                    </view>
                 </view>
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">养殖量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}
+                    </view>
                 </view>
             </view>
             <view class="pd-16 pt-8 pb-8">
@@ -49,19 +56,25 @@
             <view class="pd-16 pt-8 pb-8 d-flex j-sb gap-20">
                 <up-button :customStyle="customStyle1" @click="$emit('toInformation')">
                     <view class="d-flex a-c j-c">
-                        <image class="w-28 h-24" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Species_source_information.png" mode="widthFix" />
+                        <image class="w-28 h-24"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Species_source_information.png"
+                            mode="widthFix" />
                         <text class="f-s-26">种源信息</text>
                     </view>
                 </up-button>
                 <up-button :customStyle="customStyle2" @click="$emit('toSupervise')">
                     <view class="d-flex a-c j-c">
-                        <image class="w-28 h-24" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding_management.png" mode="widthFix" />
+                        <image class="w-28 h-24"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding_management.png"
+                            mode="widthFix" />
                         <text class="f-s-26">饲养管理</text>
                     </view>
                 </up-button>
                 <up-button :customStyle="customStyle3" @click="$emit('toHarvest')">
                     <view class="d-flex a-c j-c">
-                        <image class="w-28 h-24" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Harvest_management.png" mode="widthFix" />
+                        <image class="w-28 h-24"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Harvest_management.png"
+                            mode="widthFix" />
                         <text class="f-s-26">采收管理</text>
                     </view>
                 </up-button>
@@ -71,8 +84,12 @@
     <!-- 种苗繁育 -->
     <view class="" v-if="data.taskType === '11'" @click="$emit('click')">
         <view class="b-radius bg-#fff pd-10 p-rtv">
-            <image class="w-112 h-34" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Seedling_breeding.png" mode="widthFix" style="position: absolute; top: 0; left: 0" />
-            <image v-if="+status == 9" class="w-98 h-98" src="/static/images/plant/port/over.png" mode="widthFix" style="position: absolute; top: 50rpx; right: 20rpx" />
+            <image class="w-112 h-34"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Seedling_breeding.png"
+                mode="widthFix" style="position: absolute; top: 0; left: 0" />
+            <image v-if="+status == 9" class="w-98 h-98"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/over.png" mode="widthFix"
+                style="position: absolute; top: 50rpx; right: 20rpx" />
             <view class="d-flex j-ed f-s-22 c-#666">{{ data?.plannedStartDate }} 至 {{ data?.plannedEndDate }}</view>
             <view class="d-flex a-ed pd-16 pt-8 pb-8">
                 <view class="c-#333 f-s-34 f-w-5 mr-6">{{ data?.variety }}</view>
@@ -97,7 +114,8 @@
                     {{ data?.baseRef?.baseName }}
                     <text v-if="+data?.landFlag">全部地块</text>
                     <view v-else>
-                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text v-if="index != 0">、</text> {{ item?.landName }}</text>
+                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text
+                                v-if="index != 0">、</text> {{ item?.landName }}</text>
                     </view>
                 </view>
                 <view class="flex1 d-flex j-ed"><up-icon name="arrow-right" size="34rpx"></up-icon></view>
@@ -105,15 +123,18 @@
             <view class="d-flex f-s-28 pd-16 pt-8 pb-8">
                 <view v-if="data?.lands[0]?.landType == '3'" class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">接种数量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.inoculationAmount }}{{ data?.inoculationUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.inoculationAmount }}{{ data?.inoculationUnit
+                        }}</view>
                 </view>
                 <view v-else class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">种植面积:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingAmount }}{{ data?.plantingUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingAmount }}{{ data?.plantingUnit }}
+                    </view>
                 </view>
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">繁育量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}
+                    </view>
                 </view>
             </view>
             <view class="pd-16 pt-8 pb-8">
@@ -122,25 +143,34 @@
             <view class="pd-16 pt-8 pb-8 d-flex j-sb gap-20">
                 <up-button :customStyle="customStyle1" @click="$emit('toInformation')">
                     <view class="d-flex a-c j-c">
-                        <image class="w-28 h-24" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Species_source_information.png" mode="widthFix" />
+                        <image class="w-28 h-24"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Species_source_information.png"
+                            mode="widthFix" />
                         <text class="f-s-26">种源信息</text>
                     </view>
                 </up-button>
-                <up-button v-if="data?.lands[0]?.landType == '3'" :customStyle="customStyle2" @click="$emit('toSupervise')">
+                <up-button v-if="data?.lands[0]?.landType == '3'" :customStyle="customStyle2"
+                    @click="$emit('toSupervise')">
                     <view class="d-flex a-c j-c">
-                        <image class="w-28 h-24" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding_management.png" mode="widthFix" />
+                        <image class="w-28 h-24"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding_management.png"
+                            mode="widthFix" />
                         <text class="f-s-26"> 繁育管理 </text>
                     </view>
                 </up-button>
                 <up-button v-else :customStyle="customStyle2" @click="$emit('toSupervise')">
                     <view class="d-flex a-c j-c">
-                        <image class="w-28 h-24" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding_management.png" mode="widthFix" />
+                        <image class="w-28 h-24"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding_management.png"
+                            mode="widthFix" />
                         <text class="f-s-26"> 种植管理 </text>
                     </view>
                 </up-button>
                 <up-button :customStyle="customStyle3" @click="$emit('toHarvest')">
                     <view class="d-flex a-c j-c">
-                        <image class="w-28 h-24" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Harvest_management.png" mode="widthFix" />
+                        <image class="w-28 h-24"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Harvest_management.png"
+                            mode="widthFix" />
                         <text class="f-s-26">采收管理</text>
                     </view>
                 </up-button>
@@ -150,8 +180,12 @@
     <!-- 种植 -->
     <view class="" v-if="data.taskType === '1'" @click="$emit('click')">
         <view class="b-radius bg-#fff pd-10 p-rtv">
-            <image class="w-80 h-34" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Planting.png" mode="widthFix" style="position: absolute; top: 0; left: 0" />
-            <image v-if="+status == 9" class="w-98 h-98" src="/static/images/plant/port/over.png" mode="widthFix" style="position: absolute; top: 50rpx; right: 20rpx" />
+            <image class="w-80 h-34"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Planting.png"
+                mode="widthFix" style="position: absolute; top: 0; left: 0" />
+            <image v-if="+status == 9" class="w-98 h-98"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/over.png" mode="widthFix"
+                style="position: absolute; top: 50rpx; right: 20rpx" />
             <view class="d-flex j-ed f-s-22 c-#666">{{ data?.plannedStartDate }}至{{ data?.plannedEndDate }}</view>
             <view class="d-flex a-ed pd-16 pt-8 pb-8">
                 <view class="c-#333 f-s-34 f-w-5 mr-6">{{ data?.variety }}</view>
@@ -176,7 +210,8 @@
                     {{ data?.baseRef?.baseName }}
                     <text v-if="+data?.landFlag">全部地块</text>
                     <view v-else>
-                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text v-if="index != 0">、</text> {{ item?.landName }}</text>
+                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text
+                                v-if="index != 0">、</text> {{ item?.landName }}</text>
                     </view>
                 </view>
                 <view class="flex1 d-flex j-ed"><up-icon name="arrow-right" size="34rpx"></up-icon></view>
@@ -184,11 +219,13 @@
             <view class="d-flex f-s-28 pd-16 pt-8 pb-8">
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">种植面积:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingAmount }}{{ data?.plantingUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingAmount }}{{ data?.plantingUnit }}
+                    </view>
                 </view>
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">种植量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}
+                    </view>
                 </view>
             </view>
             <view class="pd-16 pt-8 pb-8">
@@ -197,19 +234,25 @@
             <view class="pd-16 pt-8 pb-8 d-flex j-sb gap-20">
                 <up-button :customStyle="customStyle1" @click="$emit('toInformation')">
                     <view class="d-flex a-c j-c">
-                        <image class="w-28 h-24" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Species_source_information.png" mode="widthFix" />
+                        <image class="w-28 h-24"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Species_source_information.png"
+                            mode="widthFix" />
                         <text class="f-s-26">种源信息</text>
                     </view>
                 </up-button>
                 <up-button :customStyle="customStyle2" @click="$emit('toSupervise')">
                     <view class="d-flex a-c j-c">
-                        <image class="w-28 h-24" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding_management.png" mode="widthFix" />
+                        <image class="w-28 h-24"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding_management.png"
+                            mode="widthFix" />
                         <text class="f-s-26"> 种植管理 </text>
                     </view>
                 </up-button>
                 <up-button :customStyle="customStyle3" @click="$emit('toHarvest')">
                     <view class="d-flex a-c j-c">
-                        <image class="w-28 h-24" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Harvest_management.png" mode="widthFix" />
+                        <image class="w-28 h-24"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Harvest_management.png"
+                            mode="widthFix" />
                         <text class="f-s-26">采收管理</text>
                     </view>
                 </up-button>
@@ -219,8 +262,12 @@
     <!-- 种畜繁育 -->
     <view class="" v-if="data.taskType === '21'" @click="$emit('click')">
         <view class="b-radius bg-#fff pd-10 p-rtv">
-            <image class="w-112 h-34" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding_Livestock.png" mode="widthFix" style="position: absolute; top: 0; left: 0" />
-            <image v-if="+status == 9" class="w-98 h-98" src="/static/images/plant/port/over.png" mode="widthFix" style="position: absolute; top: 50rpx; right: 20rpx" />
+            <image class="w-112 h-34"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding_Livestock.png"
+                mode="widthFix" style="position: absolute; top: 0; left: 0" />
+            <image v-if="+status == 9" class="w-98 h-98"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/over.png" mode="widthFix"
+                style="position: absolute; top: 50rpx; right: 20rpx" />
             <view class="d-flex j-ed f-s-22 c-#666">{{ data?.plannedStartDate }}至{{ data?.plannedEndDate }}</view>
             <view class="d-flex a-ed pd-16 pt-8 pb-8">
                 <view class="c-#333 f-s-34 f-w-5 mr-6">{{ data?.variety }}</view>
@@ -245,7 +292,8 @@
                     {{ data?.baseRef?.baseName }}
                     <text v-if="+data?.landFlag">全部地块</text>
                     <view v-else>
-                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"> <text v-if="index != 0">、</text> {{ item?.landName }}</text>
+                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"> <text
+                                v-if="index != 0">、</text> {{ item?.landName }}</text>
                     </view>
                 </view>
                 <view class="flex1 d-flex j-ed"><up-icon name="arrow-right" size="34rpx"></up-icon></view>
@@ -253,11 +301,13 @@
             <view class="d-flex f-s-28 pd-16 pt-8 pb-8">
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">养殖区域:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.breedScale }}{{ data?.breedScaleUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.breedScale }}{{ data?.breedScaleUnit }}
+                    </view>
                 </view>
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">养殖量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}
+                    </view>
                 </view>
             </view>
             <view class="pd-16 pt-8 pb-8">
@@ -266,19 +316,25 @@
             <view class="pd-16 pt-8 pb-8 d-flex j-sb gap-20">
                 <up-button :customStyle="customStyle1" @click="$emit('toInformation')">
                     <view class="d-flex a-c j-c">
-                        <image class="w-28 h-24" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Species_source_information.png" mode="widthFix" />
+                        <image class="w-28 h-24"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Species_source_information.png"
+                            mode="widthFix" />
                         <text class="f-s-26">种源信息</text>
                     </view>
                 </up-button>
                 <up-button :customStyle="customStyle2" @click="$emit('toSupervise')">
                     <view class="d-flex a-c j-c">
-                        <image class="w-28 h-24" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding_management.png" mode="widthFix" />
+                        <image class="w-28 h-24"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding_management.png"
+                            mode="widthFix" />
                         <text class="f-s-26">饲养管理</text>
                     </view>
                 </up-button>
                 <up-button :customStyle="customStyle3" @click="$emit('toHarvest')">
                     <view class="d-flex a-c j-c">
-                        <image class="w-28 h-24" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Harvest_management.png" mode="widthFix" />
+                        <image class="w-28 h-24"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Harvest_management.png"
+                            mode="widthFix" />
                         <text class="f-s-26">采收管理</text>
                     </view>
                 </up-button>

+ 13 - 17
src/pages/plant/processing/index.vue

@@ -6,7 +6,7 @@
                     <view class=""></view>
                 </template>
             </ut-navbar>
-            <view class="h-36"></view>
+
         </template>
         <template v-if="showHeader">
             <template #top>
@@ -76,11 +76,13 @@
             </view>
         </template>
 
-        <view class="base-content pd-24 b-radius p-rtv">
+        <view class="pd-24 b-radius p-rtv"
+            :style="showHeader ? 'background: linear-gradient(to bottom, #dcf8d9, #f7f7f7 70rpx); border: 1rpx solid #fff;' : ''">
             <!-- 产地加工卡片 -->
-            <view class="process-card" @click="$u.route({ url: '/plant/processing/processing-index/index' })">
+            <view class=" process-card" @click="$u.route({ url: '/plant/processing/processing-index/index' })">
                 <view class="w-200 h-200 d-flex a-c j-c" style="flex-shrink: 0">
-                    <image class="w-100% h-100%" src="/static/images/plant/processing/initial_processing.png"
+                    <image class="w-100% h-100%"
+                        src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/processing/initial_processing.png"
                         mode="aspectFit" />
                 </view>
                 <view class="card-content">
@@ -91,7 +93,8 @@
             <!-- 包装赋码卡片 -->
             <view class="process-card" @click="$u.route({ url: '/plant/packaging/list/index' })">
                 <view class="w-200 h-200 d-flex a-c j-c" style="flex-shrink: 0">
-                    <image class="w-100% h-100%" src="/static/images/plant/processing/packaging_coding.png"
+                    <image class="w-100% h-100%"
+                        src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/processing/packaging_coding.png"
                         mode="aspectFit" />
                 </view>
                 <view class="card-content">
@@ -152,12 +155,6 @@ onShow(() => {
 </script>
 
 <style lang="scss" scoped>
-.base-content {
-    padding-top: 20px;
-    background: linear-gradient(to bottom, #dcf8d9, #f7f7f7 70rpx);
-    border: 1rpx solid #fff;
-}
-
 .process-card {
     display: flex;
     align-items: center;
@@ -165,12 +162,11 @@ onShow(() => {
     border-radius: 16rpx;
     margin-bottom: 24rpx;
     padding: 30rpx 24rpx;
-    border: 2rpx solid #b8e6d5;
-    // box-shadow: inset 0 2rpx 8rpx rgba(184, 230, 213, 0.3);
-    box-shadow:
-        inset 0 5px 10px 9px #edf8f2,
-        inset 0 -5px 10px -5px #edf8f2;
-    filter: drop-shadow(-1px 2px 3px #9ad4b6);
+    // border: 2rpx solid #b8e6d5;
+    // box-shadow:
+    //     inset 0 5px 10px 9px #edf8f2,
+    //     inset 0 -5px 10px -5px #edf8f2;
+    // filter: drop-shadow(-1px 2px 3px #9ad4b6);
 
     overflow: hidden;
 }

+ 217 - 0
src/plant/code/code-list/index.vue

@@ -0,0 +1,217 @@
+<template>
+    <z-paging ref="paging" v-model="list" bgColor="#f7f7f7" @query="query" hide-no-more-inside>
+        <template #top>
+            <ut-navbar title="码生成及管理" :fixed="false"></ut-navbar>
+        </template>
+        <template>
+            <!-- 搜索栏 -->
+            <view class="d-flex a-c pd-24 pb-0 bg-#f7f7f7">
+                <view class="min-w-220 flex1">
+                    <ut-action-sheet v-model="form.type" :tabs="[{ label: '全部', value: '' }, ...typeOptions]"
+                        @change="onRefresh" title="选择类型">
+                        <view class="d-flex search-select-item a-c">
+                            <view class="flex1 ov-hd f-s-28 c-333 text-center f-w-5 w-s-no d-flex a-c j-c">
+                                <view class="w-s-no">{{ selectDictLabel(typeOptions, form.type) || '全部' }}</view>
+                            </view>
+                            <up-icon size="24rpx" color="#333" name="arrow-down-fill" class="mr-5"></up-icon>
+                        </view>
+                    </ut-action-sheet>
+                </view>
+                <view class="h-86 pl-20 w-100%">
+                    <ut-search ref="searchRef" v-model="form.keyword" @search="changeSeach" @change="changeSeach"
+                        margin="0" :border="false" placeholder="搜生成批号、操作人" bgColor="#fff" height="86rpx"
+                        borderRadius="10rpx"></ut-search>
+                </view>
+            </view>
+
+            <!-- 列表 -->
+            <view class="pd-24">
+                <view v-for="(item, index) in list" :key="item.id || index">
+                    <CodeItem :item="item" :showButtons="true" @refresh="handleRefresh" @download="handleDownload"
+                        @findAgent="handleFindAgent" @viewOrder="handleViewOrder" @reDownload="handleReDownload"
+                        @itemClick="handleItemClick" />
+                </view>
+            </view>
+        </template>
+        <template #empty>
+            <view class="d-flex flex-cln a-c">
+                <ut-empty class="mg-at" color="#ccc" size="28rpx"
+                    image="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/noEmpty.png">暂无追溯码数据</ut-empty>
+            </view>
+        </template>
+        <template #bottom>
+            <ut-tabar activeTab="more"></ut-tabar>
+        </template>
+    </z-paging>
+
+    <!-- 悬浮按钮 -->
+    <ut-suspension v-if="sus?.left" :imageWidth="60" :imageHeight="60" :x="sus?.left" :y="sus?.bottom" :inertia="false"
+        :snap-threshold="40">
+        <image src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/common/btn_add_logo.png" mode="widthFix"
+            class="w-120 h-120" @click="showGenerateDialog = true"></image>
+    </ut-suspension>
+
+    <!-- 生成追溯码弹框 -->
+    <GenerateDialog v-model:show="showGenerateDialog" @success="handleGenerateSuccess" />
+</template>
+
+<script setup lang="ts">
+import { useClientRequest } from '@/utils/request';
+import CodeItem from './models/code-item.vue';
+import GenerateDialog from './models/generate-dialog.vue';
+
+const paging = ref();
+const list = ref<any[]>([]);
+
+// 类型选项(可根据实际字典数据配置)
+const typeOptions = ref([
+    { label: '原料码', value: '1' },
+    { label: '半成品码', value: '2' },
+    { label: '成品码', value: '3' },
+]);
+
+// 搜索表单
+const form = ref({
+    type: '',
+    keyword: '',
+});
+
+// 悬浮按钮位置
+const sus = ref({
+    left: 0,
+    bottom: 0,
+});
+
+// 弹框显示状态
+const showGenerateDialog = ref(false);
+
+// 初始化悬浮按钮位置
+const initSuspension = () => {
+    const systemInfo = uni.getSystemInfoSync();
+    const windowInfo = uni.getWindowInfo();
+    sus.value.left = systemInfo.windowWidth - 10;
+    sus.value.bottom = systemInfo.windowHeight - 200;
+};
+
+// 字典标签选择函数
+const selectDictLabel = (dict: any[], value: string | number) => {
+    const item = dict.find((item) => item.value == value);
+    return item ? item.label : '';
+};
+
+// 分页查询
+const query = async (pageNum: number, pageSize: number) => {
+    const params = {
+        pageNum,
+        pageSize,
+        ...form.value,
+    };
+    try {
+        const res = await useClientRequest.get('/plt-api/app/traceCodeLog/list', params);
+        if (res) {
+            const { rows } = res;
+            paging.value.complete(rows);
+        }
+    } catch (error) {
+        console.error('查询列表失败:', error);
+        paging.value.complete([]);
+    }
+};
+
+// 搜索
+const changeSeach = () => {
+    paging.value.reload();
+};
+
+// 刷新
+const onRefresh = () => {
+    paging.value.reload();
+};
+
+// 处理刷新按钮点击(单条数据刷新)
+const handleRefresh = async (id: number) => {
+    try {
+        const res = await useClientRequest.get(`/plt-api/app/traceCodeLog/${id}`);
+        if (res && res.code === 200) {
+            const newData = res.data;
+            // 找到对应项并更新
+            const index = list.value.findIndex((item) => item.id === id);
+            if (index !== -1) {
+                list.value[index] = newData;
+            }
+            uni.showToast({
+                title: '刷新成功',
+                icon: 'success',
+            });
+        }
+    } catch (error) {
+        console.error('刷新失败:', error);
+        uni.showToast({
+            title: '刷新失败',
+            icon: 'none',
+        });
+    }
+};
+
+// 处理下载按钮点击
+const handleDownload = (item: any) => {
+    console.log('下载:', item);
+    uni.showToast({
+        title: '下载功能开发中',
+        icon: 'none',
+    });
+};
+
+// 处理找人代制作按钮点击
+const handleFindAgent = (item: any) => {
+    console.log('找人代制作:', item);
+    uni.showToast({
+        title: '代制作功能开发中',
+        icon: 'none',
+    });
+};
+
+// 处理查看代做订单按钮点击
+const handleViewOrder = (item: any) => {
+    console.log('查看代做订单:', item);
+    uni.showToast({
+        title: '订单功能开发中',
+        icon: 'none',
+    });
+};
+
+// 处理重新下载按钮点击
+const handleReDownload = (item: any) => {
+    console.log('重新下载:', item);
+    uni.showToast({
+        title: '重新下载功能开发中',
+        icon: 'none',
+    });
+};
+
+// 处理 item 点击
+const handleItemClick = (item: any) => {
+    console.log('item 点击:', item);
+    // 可以跳转到详情页
+};
+
+// 处理生成成功
+const handleGenerateSuccess = () => {
+    // 重新加载列表
+    paging.value.reload();
+};
+
+onMounted(() => {
+    initSuspension();
+});
+</script>
+
+<style scoped lang="scss">
+.search-select-item {
+    height: 86rpx;
+    background-color: #fff;
+    border-radius: 10rpx;
+    box-sizing: border-box;
+    padding: 12rpx;
+}
+</style>

+ 200 - 0
src/plant/code/code-list/models/code-item.vue

@@ -0,0 +1,200 @@
+<template>
+    <view class="bg-#fff b-radius-16 pd-24 mb-16 p-rtv">
+        <!-- 状态标签 -->
+        <view class="d-flex a-c j-ed " style="position: absolute;right: 0;top: 0;">
+            <view class="bg-#EBF6EE c-primary f-w-5 pd-10 pt-4 pb-4 f-s-20" style="border-radius: 0 16rpx 0 16rpx ;"
+                v-if="item.status === '0'">追溯码生成中...</view>
+            <view class="bg-#EBF6EE c-primary f-w-5 pd-10 pt-4 pb-4 f-s-20" style="border-radius: 0 16rpx 0 16rpx ;"
+                v-else-if="item.downloadFlag === '0' && item.status !== '0'">未下载</view>
+            <view class="bg-#EBF6EE c-primary f-w-5 pd-10 pt-4 pb-4 f-s-20" style="border-radius: 0 16rpx 0 16rpx ;"
+                v-else-if="item.downloadFlag === '1' && item.status !== '0'">已下载</view>
+        </view>
+        <!-- 主要内容 -->
+        <view class="" @click="handleItemClick">
+            <view class=" d-flex a-c pb-10">
+                <span class="f-s-28 c-#666 ">生成批号:</span>
+                <span class="f-s-28 c-#333 f-w-500">{{ item.batchSn || '-' }}</span>
+            </view>
+            <view class=" d-flex a-c pb-10">
+                <span class="f-s-28 c-#666 ">码段:</span>
+                <span class="f-s-28 c-#333 f-w-500 flex1">{{ formatCodeRange }}</span>
+                <up-icon name="arrow-right" size="26rpx" color="#999"></up-icon>
+            </view>
+            <view class=" d-flex a-c pb-10">
+                <view class="w-50%">
+                    <span class="f-s-28 c-#666 ">生成数量:</span>
+                    <span class="f-s-28 c-#333 f-w-500">{{ item.sumCount }}个</span>
+                </view>
+                <view class="w-50%">
+                    <span class="f-s-28 c-#666 ">剩余数量:</span>
+                    <span class="f-s-28 c-#333 f-w-500">{{ getRemainingCount }}个</span>
+                </view>
+
+            </view>
+            <view class=" d-flex a-c pb-10">
+                <span class="f-s-28 c-#666 ">备注:</span>
+                <span class="f-s-28 c-#333 f-w-500">{{ item.remark || '-' }}</span>
+            </view>
+            <view class="d-flex a-c pb-20" style="flex-wrap: nowrap;border-bottom: 1rpx solid #f7f7f7;">
+                <view class="flex1 ov-hd d-flex a-c" style="min-width: 0;">
+                    <span class="f-s-24 c-#666 w-s-no">操作人:</span>
+                    <span class="f-s-24 c-#333 f-w-500 ov-hd w-s-no tx-ov" style=" display: inline-block">{{
+                        operatorName }}</span>
+                </view>
+                <view class="ml-20" style="flex-shrink: 0;">
+                    <span class="f-s-24 c-#666 w-s-no">生成时间:</span>
+                    <span class="f-s-24 c-#333 f-w-500" style="white-space: nowrap;">{{ formatTime }}</span>
+                </view>
+            </view>
+        </view>
+
+        <!-- 底部按钮 -->
+        <view class="d-flex a-c j-ed mt-24" v-if="showButtons">
+            <!-- 追溯码生成中状态 -->
+            <template v-if="item.status === '0'">
+                <up-button type="primary"
+                    customStyle="height: 64rpx; font-size: 28rpx; border-radius: 8rpx; background-color: #37A954; color: #fff;width: 160rpx;"
+                    @click="handleRefresh">
+                    刷新
+                </up-button>
+            </template>
+            <!-- 未下载状态 -->
+            <view class="d-flex j-ed a-c" v-else-if="item.downloadFlag === '0' && item.status !== '0'">
+                <up-button class="mr-16"
+                    customStyle="height: 64rpx; font-size: 28rpx; border-radius: 8rpx; background-color: #18BECA; color: #fff; width: 200rpx;"
+                    @click="handleFindAgent">
+                    找人代制作
+                </up-button>
+                <up-button type="primary"
+                    customStyle="height: 64rpx; font-size: 28rpx; border-radius: 8rpx; background-color: #37A954; color: #fff; width: 160rpx;"
+                    @click="handleDownload">
+                    下载
+                </up-button>
+            </view>
+            <!-- 已下载状态 -->
+            <view v-else-if="item.downloadFlag === '1' && item.status !== '0'" class="d-flex j-ed a-c">
+                <up-button class="mr-16"
+                    customStyle="height: 64rpx; font-size: 28rpx; border-radius: 8rpx; background-color: #18BECA; color: #fff;"
+                    @click="handleViewOrder">
+                    查看代做订单
+                </up-button>
+                <up-button type="primary"
+                    customStyle="height: 64rpx; font-size: 28rpx; border-radius: 8rpx; background-color: #37A954; color: #fff;"
+                    @click="handleReDownload">
+                    重新下载
+                </up-button>
+            </view>
+
+
+        </view>
+    </view>
+</template>
+
+<script setup lang="ts">
+const props = withDefaults(
+    defineProps<{
+        item: any;
+        showButtons?: boolean;
+    }>(),
+    {
+        item: () => ({}),
+        showButtons: true,
+    }
+);
+
+const emit = defineEmits<{
+    refresh: [id: number];
+    download: [item: any];
+    findAgent: [item: any];
+    viewOrder: [item: any];
+    reDownload: [item: any];
+    itemClick: [item: any];
+}>();
+
+// 格式化码段范围
+const formatCodeRange = computed(() => {
+    const start = props.item.startSn || 0;
+    const end = props.item.endSn || 0;
+    const prefix = props.item.prefix || '';
+    if (start && end) {
+        return `${prefix}${start} 至 ${prefix}${end}`;
+    }
+    return '-';
+});
+
+// 计算剩余数量
+const getRemainingCount = computed(() => {
+    const sum = props.item.sumCount || 0;
+    const use = props.item.useCount || 0;
+    const voidCount = props.item.voidCount || 0;
+    return sum - use - voidCount;
+});
+
+// 格式化操作人名称
+const operatorName = computed(() => {
+    // 根据实际情况,可能需要从其他地方获取操作人名称
+    // 这里暂时使用 remark 或其他字段代替,或者显示为"手机用户"
+    return '手机用户' + String(props.item?.appid || '').slice(-4) || '-';
+});
+
+// 格式化时间
+const formatTime = computed(() => {
+    if (!props.item.dateStr) return '-';
+    // dateStr 可能是时间戳或日期字符串,需要根据实际情况格式化
+    const date = new Date(props.item.dateStr);
+    if (isNaN(date.getTime())) {
+        return String(props.item.dateStr);
+    }
+    const year = date.getFullYear();
+    const month = String(date.getMonth() + 1).padStart(2, '0');
+    const day = String(date.getDate()).padStart(2, '0');
+    const hours = String(date.getHours()).padStart(2, '0');
+    const minutes = String(date.getMinutes()).padStart(2, '0');
+    const seconds = String(date.getSeconds()).padStart(2, '0');
+    return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
+});
+
+// 处理刷新按钮点击
+const handleRefresh = () => {
+    if (props.item.id) {
+        emit('refresh', props.item.id);
+    }
+};
+
+// 处理下载按钮点击
+const handleDownload = () => {
+    emit('download', props.item);
+};
+
+// 处理找人代制作按钮点击
+const handleFindAgent = () => {
+    emit('findAgent', props.item);
+};
+
+// 处理查看代做订单按钮点击
+const handleViewOrder = () => {
+    emit('viewOrder', props.item);
+};
+
+// 处理重新下载按钮点击
+const handleReDownload = () => {
+    emit('reDownload', props.item);
+};
+
+// 处理 item 点击
+const handleItemClick = () => {
+    emit('itemClick', props.item);
+};
+
+// 监听 item 变化,内部可以修改数据
+watch(
+    () => props.item,
+    (newVal) => {
+        // 可以在这里处理 item 变化后的逻辑
+        console.log('item 变化:', newVal);
+    },
+    { deep: true }
+);
+</script>
+
+<style scoped lang="scss"></style>

+ 128 - 0
src/plant/code/code-list/models/generate-dialog.vue

@@ -0,0 +1,128 @@
+<template>
+    <ut-confirm-dialog v-model:show="visible" title="预制追溯码生成" width="680rpx" @close="onClose" @confirm="onConfirm">
+        <template #content>
+            <scroll-view scroll-y class="scroll-view-content" style="max-height: 60vh">
+                <view class="p-rtv pd4-0-24-24-24">
+                    <up-form ref="formRef" :model="form" :rules="rules" labelWidth="auto" class="p-rtv"
+                        labelPosition="top">
+                        <up-form-item borderBottom label="生成数量" required prop="count">
+                            <view class="d-flex a-c j-sb flex1">
+                                <up-input v-model="form.count" type="number" placeholder="请输入生成数量" border="none"
+                                    clearable></up-input>
+                                <text class="f-s-28 c-#666 ml-10 f-w-5">个</text>
+                            </view>
+                        </up-form-item>
+                        <up-form-item borderBottom label="操作人" prop="operator" required>
+                            <text class="f-s-28 c-#666 f-w-5">{{ form?.operator }}</text>
+                        </up-form-item>
+                        <up-form-item label="备注" prop="remark">
+                            <up-textarea v-model="form.remark" placeholder="请输入备注" autoHeight></up-textarea>
+                        </up-form-item>
+                    </up-form>
+                </view>
+            </scroll-view>
+        </template>
+        <template #footer>
+            <view class="pd-24 d-flex a-c">
+                <up-button class="mr-16"
+                    customStyle="height: 80rpx; font-size: 32rpx; border-radius: 8rpx; background-color: #F2F2F2; color: #333;"
+                    @click="onClose">取消</up-button>
+                <up-button type="primary" customStyle="height: 80rpx; font-size: 32rpx; border-radius: 8rpx;"
+                    @click="onConfirm">确认生成</up-button>
+            </view>
+        </template>
+    </ut-confirm-dialog>
+</template>
+
+<script setup lang="ts">
+import { useClientRequest } from '@/utils/request';
+import { useInfoStore } from '@/store';
+const infoStore = useInfoStore();
+
+const props = withDefaults(
+    defineProps<{
+        show: boolean;
+    }>(),
+    {
+        show: false,
+    }
+);
+
+const emit = defineEmits<{
+    'update:show': [value: boolean];
+    close: [];
+    success: [];
+}>();
+
+const visible = ref(props.show);
+const formRef = ref();
+// 表单数据
+const form = ref({
+    count: null,
+    operator: infoStore.userInfo?.name || null,
+    remark: '',
+});
+
+// 表单验证规则
+const rules = reactive({
+    count: [{ required: true, message: '请输入生成数量', trigger: ['blur', 'change'] }],
+});
+
+// 监听 show 变化
+watch(
+    () => props.show,
+    (newVal) => {
+        visible.value = newVal;
+        if (newVal) {
+            // 打开弹框时初始化数据
+            initForm();
+        }
+    }
+);
+
+// 初始化表单数据
+const initForm = () => {
+    form.value = {
+        count: null,
+        operator: infoStore.userInfo?.name || null,
+        remark: '',
+    };
+};
+
+// 关闭弹框
+const onClose = () => {
+    emit('update:show', false);
+    emit('close');
+};
+
+// 确认生成
+const onConfirm = async () => {
+    try {
+        // 表单验证
+        await formRef.value?.validate();
+        // 调用生成接口
+        const res = await useClientRequest.post('/plt-api/app/traceCodeLog/generate', {
+            type: '0',
+            level: 1,
+            source: null,
+            packId: null,
+            count: form.value.count,
+            remark: form.value.remark
+        });
+
+        if (res && res.code === 200) {
+            uni.showToast({
+                title: '生成成功',
+                icon: 'success',
+            });
+            emit('success');
+            emit('update:show', false);
+        }
+    } catch (e) {
+        // 校验不通过或请求失败
+        console.error('生成失败:', e);
+    }
+};
+</script>
+
+<style scoped lang="scss"></style>

+ 24 - 8
src/plant/packaging/select-object/models/select-fresh-list.vue

@@ -1,32 +1,40 @@
 <template>
-    <z-paging ref="paging" v-model="list" bgColor="#f7f7f7" @query="query" safe-area-inset-bottom bottom-bg-color="#fff" paging-class="paging-btm-shadow" hide-no-more-inside>
+    <z-paging ref="paging" v-model="list" bgColor="#f7f7f7" @query="query" safe-area-inset-bottom bottom-bg-color="#fff"
+        paging-class="paging-btm-shadow" hide-no-more-inside>
         <view class="pd3-24-24-0">
             <view class="d-flex a-c">
                 <view class="min-w-230 flex1">
-                    <ut-action-sheet v-model="form.instoreType" :tabs="tabs_pt_fresh_instore_type" mode="custom" @change="onRefresh" title="选择入库类型">
+                    <ut-action-sheet v-model="form.instoreType" :tabs="tabs_pt_fresh_instore_type" mode="custom"
+                        @change="onRefresh" title="选择入库类型">
                         <view class="d-flex search-select-item a-c">
-                            <view class="flex1 ov-hd f-s-28 c-333 text-center f-w-5 w-s-no">{{ selectDictLabel(pt_fresh_instore_type, form.instoreType) || '全部' }} </view>
+                            <view class="flex1 ov-hd f-s-28 c-333 text-center f-w-5 w-s-no">{{
+                                selectDictLabel(pt_fresh_instore_type, form.instoreType) || '全部' }} </view>
                             <up-icon size="24rpx" color="#333" name="arrow-down-fill" class="mr-5"></up-icon>
                         </view>
                     </ut-action-sheet>
                 </view>
                 <view class="h-86 pl-20 w-100%">
-                    <ut-search ref="searchRef" v-model="form.keyword" @search="changeSeach" margin="0" :border="false" placeholder="搜名称、批号、库房、供应商" bgColor="#fff" height="86rpx" borderRadius="10rpx"></ut-search>
+                    <ut-search ref="searchRef" v-model="form.keyword" @search="changeSeach" margin="0" :border="false"
+                        placeholder="搜名称、批号、库房、供应商" bgColor="#fff" height="86rpx" borderRadius="10rpx"></ut-search>
                 </view>
             </view>
             <view></view>
         </view>
         <view class="pd-24 bg-#f7f7f7">
             <template v-for="(item, index) in list" :key="index">
-                <view class="b-radius bg-#fff pd-20 p-rtv mb-20 select-item-list" :class="{ 'active': item.id + '-' + item.storageType === checkedId }" @click="emit('clickItem', item)">
+                <view class="b-radius bg-#fff pd-20 p-rtv mb-20 select-item-list"
+                    :class="{ 'active': item.id + '-' + item.storageType === checkedId }"
+                    @click="emit('clickItem', item)">
                     <view class="d-flex j-sb a-c li-item-head mb-16">
-                        <view class="li-left-tag" :class="{ [`bg-instore-${item?.instoreType}`]: true }">{{ selectDictLabel(pt_fresh_instore_type, item?.instoreType) }}</view>
+                        <view class="li-left-tag" :class="{ [`bg-instore-${item?.instoreType}`]: true }">{{
+                            selectDictLabel(pt_fresh_instore_type, item?.instoreType) }}</view>
                         <view class="f-s-22 c-#666">{{ item?.instoreBizInfo?.instoreDate }}</view>
                     </view>
                     <view class="d-flex flex1 mb-10">
                         <view class="flex1">
                             <span class="f-s-34 c-#333 f-w-500 mr-10">{{ item?.variety }}</span>
-                            <span v-if="item?.partName" class="f-s-24 c-#666">{{ item?.level || '' }}{{ item?.partName }}</span>
+                            <span v-if="item?.partName" class="f-s-24 c-#666">{{ item?.level || '' }}{{ item?.partName
+                                }}</span>
                         </view>
                         <view>
                             <view v-if="item?.examinReport?.length" class="tag-span c-primary bg-#EBF6EE">已检验</view>
@@ -74,7 +82,9 @@
                             <span class="c-danger f-w-500">{{ item?.restAmount || '0' }}{{ item?.unit }}</span>
                         </view>
                     </view>
-                     <image v-if="item.id + '-' + item.storageType === checkedId" class="w-40 h-40 checked-icon" src="/static/images/common/btn_checked_icon.png" mode="widthFix" />
+                    <image v-if="item.id + '-' + item.storageType === checkedId" class="w-40 h-40 checked-icon"
+                        src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/common/btn_checked_icon.png"
+                        mode="widthFix" />
                 </view>
             </template>
         </view>
@@ -145,15 +155,18 @@ onMounted(() => {
     box-sizing: border-box;
     padding: 12rpx;
 }
+
 .tag-span {
     padding: 4rpx 12rpx;
     font-size: 20rpx;
     border-radius: 18rpx;
 }
+
 .li-item-head {
     margin-left: -24rpx;
     margin-top: -24rpx;
 }
+
 .li-left-tag {
     padding: 6rpx 16rpx;
     color: #fff;
@@ -161,12 +174,15 @@ onMounted(() => {
     font-size: 20rpx;
     font-weight: 500;
 }
+
 .select-item-list {
     border: 1rpx solid #fff;
+
     &.active {
         background-color: #ebf6ee;
         border: 1rpx solid $u-primary;
     }
+
     .checked-icon {
         position: absolute;
         right: 0rpx;

+ 25 - 7
src/plant/packaging/select-object/models/select-medicine-list.vue

@@ -1,25 +1,35 @@
 <template>
-    <z-paging ref="paging" v-model="list" bgColor="#f7f7f7" safe-area-inset-bottom bottom-bg-color="#fff" paging-class="paging-btm-shadow" @query="query">
+    <z-paging ref="paging" v-model="list" bgColor="#f7f7f7" safe-area-inset-bottom bottom-bg-color="#fff"
+        paging-class="paging-btm-shadow" @query="query">
         <view class="pd3-24-24-0">
             <view class="d-flex a-c">
                 <view class="min-w-230 flex1">
-                    <ut-action-sheet v-model="form.processType" :tabs="[{ label: '全部', value: '' }, ...st_medicine_process_type]" mode="custom" @change="onRefresh" title="选择入库类型">
+                    <ut-action-sheet v-model="form.processType"
+                        :tabs="[{ label: '全部', value: '' }, ...st_medicine_process_type]" mode="custom"
+                        @change="onRefresh" title="选择入库类型">
                         <view class="d-flex search-select-item a-c">
-                            <view class="flex1 ov-hd f-s-28 c-333 text-center f-w-5 w-s-no">{{ selectDictLabel(st_medicine_process_type, form.processType) || '全部' }} </view>
+                            <view class="flex1 ov-hd f-s-28 c-333 text-center f-w-5 w-s-no">{{
+                                selectDictLabel(st_medicine_process_type, form.processType) || '全部' }} </view>
                             <up-icon size="24rpx" color="#333" name="arrow-down-fill" class="mr-5"></up-icon>
                         </view>
                     </ut-action-sheet>
                 </view>
                 <view class="h-86 pl-20 w-100%">
-                    <ut-search ref="searchRef" v-model="form.keyword" @search="changeSeach" margin="0" :border="false" placeholder="搜动植物名称、品种、批号" bgColor="#fff" height="86rpx" borderRadius="10rpx"></ut-search>
+                    <ut-search ref="searchRef" v-model="form.keyword" @search="changeSeach" margin="0" :border="false"
+                        placeholder="搜动植物名称、品种、批号" bgColor="#fff" height="86rpx" borderRadius="10rpx"></ut-search>
                 </view>
             </view>
         </view>
         <view class="pd-24 bg-#f7f7f7">
             <template v-for="(item, index) in list" :key="index">
-                <view class="b-radius bg-#fff pd-20 p-rtv mb-20 select-item-list" :class="{ active: item.id + '-' + item.storageType === checkedId }" @click="emit('clickItem', item)">
+                <view class="b-radius bg-#fff pd-20 p-rtv mb-20 select-item-list"
+                    :class="{ active: item.id + '-' + item.storageType === checkedId }"
+                    @click="emit('clickItem', item)">
                     <view class="d-flex j-sb a-c li-item-head mb-16">
-                        <view class="li-left-tag" :class="{ [`bg-instore-${item?.instoreBizInfo?.processType}`]: true }">{{ item?.seedLevel || '' }}{{ selectDictLabel(st_medicine_process_type, item?.instoreBizInfo?.processType) }}</view>
+                        <view class="li-left-tag"
+                            :class="{ [`bg-instore-${item?.instoreBizInfo?.processType}`]: true }">{{ item?.seedLevel ||
+                            '' }}{{ selectDictLabel(st_medicine_process_type, item?.instoreBizInfo?.processType) }}
+                        </view>
                         <view class="f-s-22 c-#666">{{ item?.instoreBizInfo?.instoreDate }}</view>
                     </view>
                     <view class="d-flex flex1 mb-10">
@@ -58,7 +68,9 @@
                             <span class="c-danger f-w-500">{{ item?.restAmount || '0' }}{{ item?.unit }}</span>
                         </view>
                     </view>
-                    <image v-if="item.id + '-' + item.storageType === checkedId" class="w-40 h-40 checked-icon" src="/static/images/common/btn_checked_icon.png" mode="widthFix" />
+                    <image v-if="item.id + '-' + item.storageType === checkedId" class="w-40 h-40 checked-icon"
+                        src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/common/btn_checked_icon.png"
+                        mode="widthFix" />
                 </view>
             </template>
         </view>
@@ -123,15 +135,18 @@ onMounted(() => {
     box-sizing: border-box;
     padding: 12rpx;
 }
+
 .tag-span {
     padding: 4rpx 12rpx;
     font-size: 20rpx;
     border-radius: 18rpx;
 }
+
 .li-item-head {
     margin-left: -24rpx;
     margin-top: -24rpx;
 }
+
 .li-left-tag {
     padding: 6rpx 16rpx;
     color: #fff;
@@ -139,12 +154,15 @@ onMounted(() => {
     font-size: 20rpx;
     font-weight: 500;
 }
+
 .select-item-list {
     border: 1rpx solid #fff;
+
     &.active {
         background-color: #ebf6ee;
         border: 1rpx solid $u-primary;
     }
+
     .checked-icon {
         position: absolute;
         right: 0rpx;

+ 29 - 10
src/plant/packaging/select-object/models/select-seed-source-list.vue

@@ -1,32 +1,41 @@
 <template>
-    <z-paging ref="paging" v-model="list" bgColor="#f7f7f7" bottom-bg-color="#fff" safe-area-inset-bottom paging-class="paging-btm-shadow" @query="query">
+    <z-paging ref="paging" v-model="list" bgColor="#f7f7f7" bottom-bg-color="#fff" safe-area-inset-bottom
+        paging-class="paging-btm-shadow" @query="query">
         <view class="pd3-24-24-0">
             <view class="d-flex a-c">
                 <view class="min-w-230 flex1">
-                    <ut-action-sheet v-model="form.instoreType" :tabs="[{ label: '全部', value: '' }, ...pt_seed_instore_type]" mode="custom" @change="onRefresh" title="选择入库类型">
+                    <ut-action-sheet v-model="form.instoreType"
+                        :tabs="[{ label: '全部', value: '' }, ...pt_seed_instore_type]" mode="custom" @change="onRefresh"
+                        title="选择入库类型">
                         <view class="d-flex search-select-item a-c">
-                            <view class="flex1 ov-hd f-s-28 c-333 text-center f-w-5 w-s-no">{{ selectDictLabel(pt_seed_instore_type, form.instoreType) || '全部' }} </view>
+                            <view class="flex1 ov-hd f-s-28 c-333 text-center f-w-5 w-s-no">{{
+                                selectDictLabel(pt_seed_instore_type, form.instoreType) || '全部' }} </view>
                             <up-icon size="24rpx" color="#333" name="arrow-down-fill" class="mr-5"></up-icon>
                         </view>
                     </ut-action-sheet>
                 </view>
                 <view class="h-86 pl-20 w-100%">
-                    <ut-search ref="searchRef" v-model="form.keyword" @search="changeSeach" margin="0" :border="false" placeholder="搜名称、批号、库房、供应商" bgColor="#fff" height="86rpx" borderRadius="10rpx"></ut-search>
+                    <ut-search ref="searchRef" v-model="form.keyword" @search="changeSeach" margin="0" :border="false"
+                        placeholder="搜名称、批号、库房、供应商" bgColor="#fff" height="86rpx" borderRadius="10rpx"></ut-search>
                 </view>
             </view>
             <view></view>
         </view>
         <view class="pd-24 bg-#f7f7f7">
             <template v-for="(item, index) in list" :key="index">
-                <view class="b-radius bg-#fff pd-20 p-rtv mb-20 select-item-list" :class="{ 'active': item.id + '-' + item.storageType === checkedId }" @click="emit('clickItem', item)">
+                <view class="b-radius bg-#fff pd-20 p-rtv mb-20 select-item-list"
+                    :class="{ 'active': item.id + '-' + item.storageType === checkedId }"
+                    @click="emit('clickItem', item)">
                     <view class="d-flex j-sb a-c li-item-head mb-16">
-                        <view class="li-left-tag" :class="{ [`bg-instore-${item?.instoreType}`]: true }">{{ selectDictLabel(pt_seed_instore_type, item?.instoreType) }}</view>
+                        <view class="li-left-tag" :class="{ [`bg-instore-${item?.instoreType}`]: true }">{{
+                            selectDictLabel(pt_seed_instore_type, item?.instoreType) }}</view>
                         <view class="f-s-22 c-#666">{{ item?.instoreBizInfo?.instoreDate }}</view>
                     </view>
                     <view class="d-flex flex1 mb-10">
                         <view class="flex1">
                             <span class="f-s-34 c-#333 f-w-500 mr-10">{{ item?.variety }}</span>
-                            <span class="f-s-24 c-#666">{{ item?.seedLevel }}{{ selectDictLabel(pt_seed_type, item?.seedType) }}</span>
+                            <span class="f-s-24 c-#666">{{ item?.seedLevel }}{{ selectDictLabel(pt_seed_type,
+                                item?.seedType) }}</span>
                         </view>
                         <view>
                             <view v-if="item?.examinReport?.length" class="tag-span c-primary bg-#EBF6EE">已检验</view>
@@ -44,7 +53,8 @@
                         </view> -->
                         <view v-if="['A3', 'A4'].includes(item?.seedType)" class="pd2-4-0 f-s-28">
                             <span class="c-#666">菌种/菌株编号:</span>
-                            <span class="c-#333 f-w-500">{{ selectDictLabel(pt_fungus_code_type, item?.fungusCodeType) }}/{{ item?.fungusCode }}</span>
+                            <span class="c-#333 f-w-500">{{ selectDictLabel(pt_fungus_code_type, item?.fungusCodeType)
+                                }}/{{ item?.fungusCode }}</span>
                         </view>
                         <view v-if="item?.supplierId" class="pd2-4-0 f-s-28">
                             <span class="c-#666">供应商:</span>
@@ -68,7 +78,8 @@
                         </view>
                         <view v-if="['A3', 'A4'].includes(item?.seedType)" class="pd2-4-0 f-s-28">
                             <span class="c-#666">菌种/菌株编号:</span>
-                            <span class="c-#333 f-w-500">{{ selectDictLabel(pt_fungus_code_type, item?.fungusCodeType) }}/{{ item?.fungusCode }}</span>
+                            <span class="c-#333 f-w-500">{{ selectDictLabel(pt_fungus_code_type, item?.fungusCodeType)
+                                }}/{{ item?.fungusCode }}</span>
                         </view>
                         <view v-if="item?.warehouses?.length" class="pd2-4-0 f-s-28">
                             <span class="c-#666">存放库房:</span>
@@ -89,7 +100,9 @@
                             <span class="c-danger f-w-500">{{ item?.restAmount || '0' }}{{ item?.unit }}</span>
                         </view>
                     </view>
-                     <image v-if="item.id + '-' + item.storageType === checkedId" class="w-40 h-40 checked-icon" src="/static/images/common/btn_checked_icon.png" mode="widthFix" />
+                    <image v-if="item.id + '-' + item.storageType === checkedId" class="w-40 h-40 checked-icon"
+                        src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/common/btn_checked_icon.png"
+                        mode="widthFix" />
                 </view>
             </template>
         </view>
@@ -155,15 +168,18 @@ onMounted(() => {
     box-sizing: border-box;
     padding: 12rpx;
 }
+
 .tag-span {
     padding: 4rpx 12rpx;
     font-size: 20rpx;
     border-radius: 18rpx;
 }
+
 .li-item-head {
     margin-left: -24rpx;
     margin-top: -24rpx;
 }
+
 .li-left-tag {
     padding: 6rpx 16rpx;
     color: #fff;
@@ -171,12 +187,15 @@ onMounted(() => {
     font-size: 20rpx;
     font-weight: 500;
 }
+
 .select-item-list {
     border: 1rpx solid #fff;
+
     &.active {
         background-color: #ebf6ee;
         border: 1rpx solid $u-primary;
     }
+
     .checked-icon {
         position: absolute;
         right: 0rpx;

+ 72 - 34
src/plant/port/port-harvest-create/index.vue

@@ -25,13 +25,15 @@
                     <view class="h-1" id="outputTypepppp"></view>
                     <template v-if="+taskType == 11 || +taskType == 21 || changeRevisions">
                         <up-form-item borderBottom label="采收类型" required prop="outputType">
-                            <view v-if="form?.outputType" class="f-s-30 c-#999 f-w-5 flex1">{{ selectDictLabel(pt_output_type, form?.outputType) }}</view>
+                            <view v-if="form?.outputType" class="f-s-30 c-#999 f-w-5 flex1">{{
+                                selectDictLabel(pt_output_type, form?.outputType) }}</view>
                         </up-form-item>
                     </template>
                     <template v-else>
                         <ut-action-sheet v-model="form.outputType" :tabs="pt_output_type" title="选择采收类型">
                             <up-form-item borderBottom label="采收类型" required prop="outputType">
-                                <view v-if="form?.outputType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_output_type, form?.outputType) }}</view>
+                                <view v-if="form?.outputType" class="f-s-30 c-333 f-w-5 flex1">{{
+                                    selectDictLabel(pt_output_type, form?.outputType) }}</view>
                                 <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择采收类型</view>
                                 <template #right>
                                     <up-icon size="22rpx" color="#37A954" name="arrow-down-fill"></up-icon>
@@ -43,7 +45,8 @@
                     <template v-if="+form?.outputType == 1">
                         <ut-action-sheet v-model="form.seedType" :tabs="pt_seed_type" title="选择种源类型" mode="custom">
                             <up-form-item borderBottom label="种源类型" required prop="seedType" id="seedTypepppp">
-                                <view v-if="form.seedType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_seed_type, form?.seedType) }}</view>
+                                <view v-if="form.seedType" class="f-s-30 c-333 f-w-5 flex1">{{
+                                    selectDictLabel(pt_seed_type, form?.seedType) }}</view>
                                 <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择种源类型</view>
                                 <template #right>
                                     <up-icon size="22rpx" color="#37A954" name="arrow-down-fill"></up-icon>
@@ -54,17 +57,23 @@
                         <!-- <up-form-item v-if="form?.seedType == 'A4' || form?.seedType == 'A8'" borderBottom label="菌种/菌株编号" required prop="fungusCode" id="fungusCodeppppp">
                             <up-input v-model="form.fungusCode" placeholder="请输入菌种/菌株编号" border="none"></up-input>
                         </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">
+                        <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="d-flex flex1">
                                 <view class="flex1">
-                                    <ut-action-sheet v-model="form.fungusCodeType" :tabs="pt_fungus_code_type" mode="custom" title="选择单位">
-                                        <up-form-item prop="fungusCodeType" border-bottom class="form-item-top-padding-0">
+                                    <ut-action-sheet v-model="form.fungusCodeType" :tabs="pt_fungus_code_type"
+                                        mode="custom" title="选择单位">
+                                        <up-form-item prop="fungusCodeType" border-bottom
+                                            class="form-item-top-padding-0">
                                             <view class="flex1" style="line-height: 24px">
-                                                <view v-if="form.fungusCodeType" class="f-s-30 c-333 f-w-5">{{ selectDictLabel(pt_fungus_code_type, form.fungusCodeType) }}</view>
+                                                <view v-if="form.fungusCodeType" class="f-s-30 c-333 f-w-5">{{
+                                                    selectDictLabel(pt_fungus_code_type, form.fungusCodeType) }}</view>
                                                 <view v-else class="f-s-30 c-ccc f-w-4">选择编号类型</view>
                                             </view>
                                             <template #right>
-                                                <up-icon class="pr-20" size="22rpx" color="#37A954" name="arrow-down-fill"></up-icon>
+                                                <up-icon class="pr-20" size="22rpx" color="#37A954"
+                                                    name="arrow-down-fill"></up-icon>
                                             </template>
                                         </up-form-item>
                                     </ut-action-sheet>
@@ -72,7 +81,8 @@
                                 <view class="pd-5"></view>
                                 <view class="flex1">
                                     <up-form-item prop="fungusCode" border-bottom class="form-item-top-padding-0">
-                                        <up-input v-model="form.fungusCode" placeholder="输入数字小数点" border="none" clearable></up-input>
+                                        <up-input v-model="form.fungusCode" placeholder="输入数字小数点" border="none"
+                                            clearable></up-input>
                                     </up-form-item>
                                 </view>
                             </view>
@@ -81,34 +91,44 @@
                     <!-- 采收日期 -->
                     <up-form-item :borderBottom="false" label="采收日期" required>
                         <up-form-item :borderBottom="false" prop="harvestDate" id="harvestDatepppp">
-                            <ut-datetime-picker v-model="form.harvestDate" mode="date" dateFields="day" @change="changeStartTime">
+                            <ut-datetime-picker v-model="form.harvestDate" mode="date" dateFields="day"
+                                @change="changeStartTime">
                                 <view class="d-flex mr-20">
-                                    <up-input v-model="form.harvestDate" readonly placeholder="请选择采收开始时间" border="bottom" :customStyle="{ paddingLeft: '0rpx' }"></up-input>
-                                    <up-icon size="22rpx" color="#37A954" name="arrow-down-fill" style="margin-left: -20rpx"></up-icon>
+                                    <up-input v-model="form.harvestDate" readonly placeholder="请选择采收开始时间"
+                                        border="bottom" :customStyle="{ paddingLeft: '0rpx' }"></up-input>
+                                    <up-icon size="22rpx" color="#37A954" name="arrow-down-fill"
+                                        style="margin-left: -20rpx"></up-icon>
                                 </view>
                             </ut-datetime-picker>
                         </up-form-item>
                         <up-form-item :borderBottom="false" prop="harvestDateEnd" id="harvestDateEndpppp">
                             <ut-datetime-picker v-model="form.harvestDateEnd" mode="date" dateFields="day">
                                 <view class="d-flex">
-                                    <up-input v-model="form.harvestDateEnd" readonly placeholder="请选择采收结束时间" border="bottom" :customStyle="{ paddingLeft: '0rpx' }"></up-input>
-                                    <up-icon size="22rpx" color="#37A954" name="arrow-down-fill" style="margin-left: -20rpx"></up-icon>
+                                    <up-input v-model="form.harvestDateEnd" readonly placeholder="请选择采收结束时间"
+                                        border="bottom" :customStyle="{ paddingLeft: '0rpx' }"></up-input>
+                                    <up-icon size="22rpx" color="#37A954" name="arrow-down-fill"
+                                        style="margin-left: -20rpx"></up-icon>
                                 </view>
                             </ut-datetime-picker>
                         </up-form-item>
                     </up-form-item>
                     <!-- 采收部位 -->
-                    <up-form-item v-if="+form?.outputType == 2" borderBottom label="药用部位/对象" prop="harvestPart" required>
-                        <SelectMedicinalPart v-model="form.harvestPart" v-model:value-name="form.harvestPartName" title="选择采收部位">
-                            <up-input v-model="form.harvestPartName" placeholder="请选择药用部位/对象" border="none" readonly clearable></up-input>
+                    <up-form-item v-if="+form?.outputType == 2" borderBottom label="药用部位/对象" prop="harvestPart"
+                        required>
+                        <SelectMedicinalPart v-model="form.harvestPart" v-model:value-name="form.harvestPartName"
+                            title="选择采收部位">
+                            <up-input v-model="form.harvestPartName" placeholder="请选择药用部位/对象" border="none" readonly
+                                clearable></up-input>
                         </SelectMedicinalPart>
                     </up-form-item>
                     <!-- 采收批号 -->
                     <up-form-item borderBottom label="采收批号" required prop="harvestCode" id="harvestCodepppp">
                         <view class="d-flex a-c j-sb w-100%">
                             <view class="flex1 d-flex">
-                                <up-input v-model="form.harvestCode" placeholder="请输入采收批号" border="none" clearable></up-input>
-                                <up-button @click="randomCode" class="c-#fff" type="primary" style="height: 50rpx; width: 130rpx">随机生成</up-button>
+                                <up-input v-model="form.harvestCode" placeholder="请输入采收批号" border="none"
+                                    clearable></up-input>
+                                <up-button @click="randomCode" class="c-#fff" type="primary"
+                                    style="height: 50rpx; width: 130rpx">随机生成</up-button>
                             </view>
                         </view>
                     </up-form-item>
@@ -117,7 +137,8 @@
                         <div class="flex1 d-flex">
                             <div class="flex1 ov-hd" id="quantitypppp">
                                 <up-form-item prop="quantity" border-bottom class="form-item-top-padding-0">
-                                    <up-input v-model="form.quantity" placeholder="请输入采收量" border="none" clearable></up-input>
+                                    <up-input v-model="form.quantity" placeholder="请输入采收量" border="none"
+                                        clearable></up-input>
                                 </up-form-item>
                             </div>
                             <div class="pd-5" id="unitpppp"></div>
@@ -125,7 +146,8 @@
                                 <ut-action-sheet v-model="form.unit" :tabs="pt_seed_unit" title="选择单位">
                                     <up-form-item prop="unit" border-bottom class="form-item-top-padding-0">
                                         <view class="flex1" style="line-height: 24px">
-                                            <view v-if="form.unit" class="f-s-30 c-333 f-w-5 text-center">{{ selectDictLabel(pt_seed_unit, form.unit) }}</view>
+                                            <view v-if="form.unit" class="f-s-30 c-333 f-w-5 text-center">{{
+                                                selectDictLabel(pt_seed_unit, form.unit) }}</view>
                                             <view v-else class="f-s-30 c-ccc f-w-4 text-center">单位</view>
                                         </view>
                                         <template #right>
@@ -139,13 +161,16 @@
                     <!-- 采收负责人 -->
                     <up-form-item borderBottom label="采收负责人" required prop="mgrName" id="mgr_namepppp">
                         <view class="d-flex a-c j-sb w-100%">
-                            <up-input style="padding-left: 0" v-model="form.mgrName" placeholder="请输入采收负责人" border="none"></up-input>
+                            <up-input style="padding-left: 0" v-model="form.mgrName" placeholder="请输入采收负责人"
+                                border="none"></up-input>
                         </view>
                     </up-form-item>
                     <!-- 采收方式 -->
                     <ut-action-sheet v-model="form.harvestType" :tabs="pt_harvest_type" title="选择采收方式">
                         <up-form-item borderBottom label="采收方式" prop="harvestType" id="harvestTypepppp">
-                            <view v-if="form.harvestType" class="f-s-30 c-333 f-w-5 flex1">{{ selectDictLabel(pt_harvest_type, form.harvestType) }}</view>
+                            <view v-if="form.harvestType" class="f-s-30 c-333 f-w-5 flex1">{{
+                                selectDictLabel(pt_harvest_type,
+                                form.harvestType) }}</view>
                             <view v-else class="f-s-30 c-ccc f-w-4 flex1">请选择采收方式</view>
                             <template #right>
                                 <up-icon size="22rpx" color="#37A954" name="arrow-down-fill"></up-icon>
@@ -153,15 +178,19 @@
                         </up-form-item>
                     </ut-action-sheet>
                     <!-- 采收地块 -->
-                    <up-form-item v-if="+mgMethod !== 2" :borderBottom="false" :label="'采收' + landIdsTitle" prop="landIds" id="landIdspppp">
-                        <Go_button v-if="!deawerData?.data.length" @click="openDrawer" :title="'请选择采收的' + landIdsTitle" style="flex: 1" />
+                    <up-form-item v-if="+mgMethod !== 2" :borderBottom="false" :label="'采收' + landIdsTitle"
+                        prop="landIds" id="landIdspppp">
+                        <Go_button v-if="!deawerData?.data.length" @click="openDrawer" :title="'请选择采收的' + landIdsTitle"
+                            style="flex: 1" />
                         <view class="w-100%" v-else>
                             <Baseinfo :modeValue="deawerData" @close="handleBaseinfoClose" :baseType="baseType" />
                         </view>
                     </up-form-item>
-                    <up-form-item v-else :borderBottom="false" :label="'采收' + landIdsTitle" prop="animalIds" id="animalIdspppp">
+                    <up-form-item v-else :borderBottom="false" :label="'采收' + landIdsTitle" prop="animalIds"
+                        id="animalIdspppp">
                         <view class="flex1">
-                            <Individualinfo v-if="individualLandIds?.checkBox?.length > 0" v-model="individualLandIds" v-model:landIds="form.animalIds" />
+                            <Individualinfo v-if="individualLandIds?.checkBox?.length > 0" v-model="individualLandIds"
+                                v-model:landIds="form.animalIds" />
                             <Go_button @click="goIndividual()" :title="'请选择采收的' + landIdsTitle" style="flex: 1" />
                         </view>
                     </up-form-item>
@@ -171,9 +200,11 @@
                     <up-form-item label="过程视频" prop="videos" borderBottom id="videospppp">
                         <ut-upload v-model="form.videos" :max-count="9" accept="video"></ut-upload>
                     </up-form-item>
-                    <up-form-item v-if="+form.outputType == 1" label="种源加工处理工艺" prop="ptech" borderBottom id="ptechpppp">
+                    <up-form-item v-if="+form.outputType == 1" label="种源加工处理工艺" prop="ptech" borderBottom
+                        id="ptechpppp">
                         <view class="w-100%">
-                            <view v-if="form?.ptech?.length !== 0" class="pd-24 d-flex flex-cln bg-#FBFDFB border-#37A954 b-radius p-rtv mb-20">
+                            <view v-if="form?.ptech?.length !== 0"
+                                class="pd-24 d-flex flex-cln bg-#FBFDFB border-#37A954 b-radius p-rtv mb-20">
                                 <view class="">
                                     <template v-for="(item, index) in form?.ptech?.split(',')" :key="index">
                                         <span v-if="index !== 0" class="c-#999 f-s-32 ml-10 mr-10">→ </span>
@@ -182,7 +213,8 @@
                                 </view>
                                 <view class="d-flex">
                                     <view class="flex1"></view>
-                                    <up-button type="primary" @click="goPtech" style="width: 130rpx; height: 60rpx; border-radius: 10rpx">选择工艺</up-button>
+                                    <up-button type="primary" @click="goPtech"
+                                        style="width: 130rpx; height: 60rpx; border-radius: 10rpx">选择工艺</up-button>
                                 </view>
                             </view>
                             <Go_button v-else @click="goPtech" title="请选择种源加工处理工艺" style="flex: 1" />
@@ -190,7 +222,9 @@
                     </up-form-item>
                     <up-form-item label="存放库房类型" borderBottom>
                         <view class="d-flex a-c j-sb w-100%">
-                            <view v-if="form.outputType" class="f-s-30 c-#999 f-w-5 flex1">{{ selectDictLabel(pt_output_type, form.outputType) }}</view>
+                            <view v-if="form.outputType" class="f-s-30 c-#999 f-w-5 flex1">{{
+                                selectDictLabel(pt_output_type,
+                                form.outputType) }}</view>
                         </view>
                     </up-form-item>
                 </view>
@@ -213,9 +247,12 @@
                 <view class="c-#999 f-s-26 f-w-5 pb-10">已选择工艺步骤</view>
                 <view class="d-flex flex-wrap pd-24 a-c gap-10 border-#37A954 b-radius">
                     <template v-for="(item, index) in form?.ptech?.split(',')" :key="index">
-                        <image v-if="index !== 0" src="@/static/images/common/craftArrow.png" class="mr-10 ml-10" style="width: 44rpx; height: 44rpx"> </image>
+                        <image v-if="index !== 0"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/common/craftArrow.png"
+                            class="mr-10 ml-10" style="width: 44rpx; height: 44rpx"> </image>
                         <view class="p-rtv">
-                            <up-icon color="red" name="close-circle-fill" @click="removePtech(index)" style="position: absolute; right: -10rpx; top: -10rpx"></up-icon>
+                            <up-icon color="red" name="close-circle-fill" @click="removePtech(index)"
+                                style="position: absolute; right: -10rpx; top: -10rpx"></up-icon>
                             <view class="pd-16 bg-#37A9541A c-primary b-radius mb-10"> {{ item }}</view>
                         </view>
                     </template>
@@ -230,7 +267,8 @@
             <template v-else>
                 <scroll-view class="h-400" scroll-y>
                     <view class="d-flex j-sb flex-wrap pd-24 pb-0">
-                        <view v-for="(item, idnex) in ptechData" :key="idnex" class="bg-#f7f7f7 c-#333 radius-10 pd4-16-24-16-24 mb-16" @click="addPtech(item)">
+                        <view v-for="(item, idnex) in ptechData" :key="idnex"
+                            class="bg-#f7f7f7 c-#333 radius-10 pd4-16-24-16-24 mb-16" @click="addPtech(item)">
                             {{ item }}
                         </view>
                     </view>

+ 36 - 16
src/plant/port/port-harvest/models/task_card.vue

@@ -2,7 +2,9 @@
     <!-- 种植 -->
     <view class="" v-if="data?.taskType === '1'" @click="$emit('click')">
         <view class="b-radius bg-#fff pd-10 p-rtv">
-            <image class="w-80 h-34" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Planting.png" mode="widthFix" style="position: absolute; top: 0; left: 0" />
+            <image class="w-80 h-34"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Planting.png"
+                mode="widthFix" style="position: absolute; top: 0; left: 0" />
             <view class="d-flex j-ed f-s-22 c-#666">{{ data?.plannedStartDate }}至{{ data?.plannedEndDate }}</view>
             <view class="d-flex a-ed pd-16 pt-8 pb-8">
                 <view class="c-#333 f-s-34 f-w-5 mr-6">{{ data?.variety }}</view>
@@ -18,18 +20,21 @@
                     {{ data?.baseRef?.baseInfo?.address }}基地
                     <text v-if="data?.landIds.length == 0">全部地块</text>
                     <view v-else>
-                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text v-if="index != 0">、</text> {{ item?.landName }}</text>
+                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text
+                                v-if="index != 0">、</text> {{ item?.landName }}</text>
                     </view>
                 </view>
             </view>
             <view class="d-flex f-s-28 pd-16 pt-8 pb-8">
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">种植面积:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingAmount }}{{ data?.plantingUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingAmount }}{{ data?.plantingUnit }}
+                    </view>
                 </view>
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">种植量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}
+                    </view>
                 </view>
             </view>
         </view>
@@ -37,7 +42,9 @@
     <!-- 养殖 -->
     <view class="" v-if="data?.taskType === '2'" @click="$emit('click')">
         <view class="b-radius bg-#fff pd-10 p-rtv">
-            <image class="w-80 h-34" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding.png" mode="widthFix" style="position: absolute; top: 0; left: 0" />
+            <image class="w-80 h-34"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding.png"
+                mode="widthFix" style="position: absolute; top: 0; left: 0" />
             <view class="d-flex j-ed f-s-22 c-#666">{{ data?.plannedStartDate }}至{{ data?.plannedEndDate }}</view>
             <view class="d-flex a-ed pd-16 pt-8 pb-8">
                 <view class="c-#333 f-s-34 f-w-5 mr-6">{{ data?.variety }}</view>
@@ -53,18 +60,21 @@
                     {{ data?.baseRef?.baseInfo?.address }}基地
                     <text v-if="data?.landIds.length == 0">全部地块</text>
                     <view v-else>
-                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text v-if="index != 0">、</text> {{ item?.landName }}</text>
+                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text
+                                v-if="index != 0">、</text> {{ item?.landName }}</text>
                     </view>
                 </view>
             </view>
             <view class="d-flex f-s-28 pd-16 pt-8 pb-8">
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">养殖区域:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.breedScale }}{{ data?.breedScaleUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.breedScale }}{{ data?.breedScaleUnit }}
+                    </view>
                 </view>
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">养殖量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}
+                    </view>
                 </view>
             </view>
         </view>
@@ -72,7 +82,9 @@
     <!-- 种苗繁育 -->
     <view class="" v-if="data?.taskType === '11'" @click="$emit('click')">
         <view class="b-radius bg-#fff pd-10 p-rtv">
-            <image class="w-112 h-34" src="/static/images/plant/port/Task_Seedling_breeding.png" mode="widthFix" style="position: absolute; top: 0; left: 0" />
+            <image class="w-112 h-34"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Seedling_breeding.png"
+                mode="widthFix" style="position: absolute; top: 0; left: 0" />
             <view class="d-flex j-ed f-s-22 c-#666">{{ data?.plannedStartDate }}至{{ data?.plannedEndDate }}</view>
             <view class="d-flex a-ed pd-16 pt-8 pb-8">
                 <view class="c-#333 f-s-34 f-w-5 mr-6">{{ data?.variety }}</view>
@@ -88,22 +100,26 @@
                     {{ data?.baseRef?.baseInfo?.address }}基地
                     <text v-if="data?.landIds.length == 0">全部地块</text>
                     <view v-else>
-                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text v-if="index != 0">、</text> {{ item?.landName }}</text>
+                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text
+                                v-if="index != 0">、</text> {{ item?.landName }}</text>
                     </view>
                 </view>
             </view>
             <view class="d-flex f-s-28 pd-16 pt-8 pb-8">
                 <view v-if="data?.baseType == '3'" class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">接种数量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.inoculationAmount }}{{ data?.inoculationUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.inoculationAmount }}{{ data?.inoculationUnit
+                        }}</view>
                 </view>
                 <view v-else class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">种植面积:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingAmount }}{{ data?.plantingUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingAmount }}{{ data?.plantingUnit }}
+                    </view>
                 </view>
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">繁育量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}
+                    </view>
                 </view>
             </view>
         </view>
@@ -111,7 +127,9 @@
     <!-- 种畜繁育 -->
     <view class="" v-if="data?.taskType === '21'" @click="$emit('click')">
         <view class="b-radius bg-#fff pd-10 p-rtv">
-            <image class="w-112 h-34" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding_Livestock.png" mode="widthFix" style="position: absolute; top: 0; left: 0" />
+            <image class="w-112 h-34"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding_Livestock.png"
+                mode="widthFix" style="position: absolute; top: 0; left: 0" />
             <view class="d-flex j-ed f-s-22 c-#666">{{ data?.plannedStartDate }}至{{ data?.plannedEndDate }}</view>
             <view class="d-flex a-ed pd-16 pt-8 pb-8">
                 <view class="c-#333 f-s-34 f-w-5 mr-6">{{ data?.variety }}</view>
@@ -124,11 +142,13 @@
             <view class="d-flex f-s-28 pd-16 pt-8 pb-8">
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">养殖区域:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.breedScale }}{{ data?.breedScaleUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.breedScale }}{{ data?.breedScaleUnit }}
+                    </view>
                 </view>
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">养殖量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}
+                    </view>
                 </view>
             </view>
         </view>

+ 36 - 16
src/plant/port/port-listinfo/models/task_card.vue

@@ -2,7 +2,9 @@
     <!-- 种植 -->
     <view class="" v-if="data?.taskType === '1'" @click="$emit('click')">
         <view class="b-radius bg-#fff pd-10 p-rtv">
-            <image class="w-80 h-34" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Planting.png" mode="widthFix" style="position: absolute; top: 0; left: 0" />
+            <image class="w-80 h-34"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Planting.png"
+                mode="widthFix" style="position: absolute; top: 0; left: 0" />
             <view class="d-flex j-ed f-s-22 c-#666">{{ data?.plannedStartDate }}至{{ data?.plannedEndDate }}</view>
             <view class="d-flex a-ed pd-16 pt-8 pb-8">
                 <view class="c-#333 f-s-34 f-w-5 mr-6">{{ data?.variety }}</view>
@@ -18,18 +20,21 @@
                     {{ data?.baseRef?.baseInfo?.address }}基地
                     <text v-if="data?.landIds.length == 0">全部地块</text>
                     <view v-else>
-                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text v-if="index != 0">、</text> {{ item?.landName }}</text>
+                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text
+                                v-if="index != 0">、</text> {{ item?.landName }}</text>
                     </view>
                 </view>
             </view>
             <view class="d-flex f-s-28 pd-16 pt-8 pb-8">
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">种植面积:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingAmount }}{{ data?.plantingUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingAmount }}{{ data?.plantingUnit }}
+                    </view>
                 </view>
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">种植量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}
+                    </view>
                 </view>
             </view>
         </view>
@@ -37,7 +42,9 @@
     <!-- 养殖 -->
     <view class="" v-if="data?.taskType === '2'" @click="$emit('click')">
         <view class="b-radius bg-#fff pd-10 p-rtv">
-            <image class="w-80 h-34" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding.png" mode="widthFix" style="position: absolute; top: 0; left: 0" />
+            <image class="w-80 h-34"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding.png"
+                mode="widthFix" style="position: absolute; top: 0; left: 0" />
             <view class="d-flex j-ed f-s-22 c-#666">{{ data?.plannedStartDate }}至{{ data?.plannedEndDate }}</view>
             <view class="d-flex a-ed pd-16 pt-8 pb-8">
                 <view class="c-#333 f-s-34 f-w-5 mr-6">{{ data?.variety }}</view>
@@ -53,18 +60,21 @@
                     {{ data?.baseRef?.baseInfo?.address }}基地
                     <text v-if="data?.landIds.length == 0">全部地块</text>
                     <view v-else>
-                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text v-if="index != 0">、</text> {{ item?.landName }}</text>
+                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text
+                                v-if="index != 0">、</text> {{ item?.landName }}</text>
                     </view>
                 </view>
             </view>
             <view class="d-flex f-s-28 pd-16 pt-8 pb-8">
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">养殖区域:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.breedScale }}{{ data?.breedScaleUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.breedScale }}{{ data?.breedScaleUnit }}
+                    </view>
                 </view>
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">养殖量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}
+                    </view>
                 </view>
             </view>
         </view>
@@ -72,7 +82,9 @@
     <!-- 种苗繁育 -->
     <view class="" v-if="data?.taskType === '11'" @click="$emit('click')">
         <view class="b-radius bg-#fff pd-10 p-rtv">
-            <image class="w-112 h-34" src="/static/images/plant/port/Task_Seedling_breeding.png" mode="widthFix" style="position: absolute; top: 0; left: 0" />
+            <image class="w-112 h-34"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Seedling_breeding.png"
+                mode="widthFix" style="position: absolute; top: 0; left: 0" />
             <view class="d-flex j-ed f-s-22 c-#666">{{ data?.plannedStartDate }}至{{ data?.plannedEndDate }}</view>
             <view class="d-flex a-ed pd-16 pt-8 pb-8">
                 <view class="c-#333 f-s-34 f-w-5 mr-6">{{ data?.variety }}</view>
@@ -88,22 +100,26 @@
                     {{ data?.baseRef?.baseInfo?.address }}基地
                     <text v-if="data?.landIds.length == 0">全部地块</text>
                     <view v-else>
-                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text v-if="index != 0">、</text> {{ item?.landName }}</text>
+                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text
+                                v-if="index != 0">、</text> {{ item?.landName }}</text>
                     </view>
                 </view>
             </view>
             <view class="d-flex f-s-28 pd-16 pt-8 pb-8">
                 <view v-if="data?.baseType == '3'" class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">接种数量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.inoculationAmount }}{{ data?.inoculationUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.inoculationAmount }}{{ data?.inoculationUnit
+                        }}</view>
                 </view>
                 <view v-else class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">种植面积:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingAmount }}{{ data?.plantingUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingAmount }}{{ data?.plantingUnit }}
+                    </view>
                 </view>
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">繁育量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}
+                    </view>
                 </view>
             </view>
         </view>
@@ -111,7 +127,9 @@
     <!-- 种畜繁育 -->
     <view class="" v-if="data?.taskType === '21'" @click="$emit('click')">
         <view class="b-radius bg-#fff pd-10 p-rtv">
-            <image class="w-112 h-34" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding_Livestock.png" mode="widthFix" style="position: absolute; top: 0; left: 0" />
+            <image class="w-112 h-34"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding_Livestock.png"
+                mode="widthFix" style="position: absolute; top: 0; left: 0" />
             <view class="d-flex j-ed f-s-22 c-#666">{{ data?.plannedStartDate }}至{{ data?.plannedEndDate }}</view>
             <view class="d-flex a-ed pd-16 pt-8 pb-8">
                 <view class="c-#333 f-s-34 f-w-5 mr-6">{{ data?.variety }}</view>
@@ -124,11 +142,13 @@
             <view class="d-flex f-s-28 pd-16 pt-8 pb-8">
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">养殖区域:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.breedScale }}{{ data?.breedScaleUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.breedScale }}{{ data?.breedScaleUnit }}
+                    </view>
                 </view>
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">养殖量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}
+                    </view>
                 </view>
             </view>
         </view>

+ 36 - 16
src/plant/port/port-supervise/models/task_card.vue

@@ -2,7 +2,9 @@
     <!-- 种植 -->
     <view class="" v-if="data?.taskType === '1'" @click="$emit('click')">
         <view class="b-radius bg-#fff pd-10 p-rtv">
-            <image class="w-80 h-34" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Planting.png" mode="widthFix" style="position: absolute; top: 0; left: 0" />
+            <image class="w-80 h-34"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Planting.png"
+                mode="widthFix" style="position: absolute; top: 0; left: 0" />
             <view class="d-flex j-ed f-s-22 c-#666">{{ data?.plannedStartDate }}至{{ data?.plannedEndDate }}</view>
             <view class="d-flex a-ed pd-16 pt-8 pb-8">
                 <view class="c-#333 f-s-34 f-w-5 mr-6">{{ data?.variety }}</view>
@@ -18,18 +20,21 @@
                     {{ data?.baseRef?.baseInfo?.address }}基地
                     <text v-if="data?.landIds.length == 0">全部地块</text>
                     <view v-else>
-                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text v-if="index != 0">、</text> {{ item?.landName }}</text>
+                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text
+                                v-if="index != 0">、</text> {{ item?.landName }}</text>
                     </view>
                 </view>
             </view>
             <view class="d-flex f-s-28 pd-16 pt-8 pb-8">
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">种植面积:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingAmount }}{{ data?.plantingUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingAmount }}{{ data?.plantingUnit }}
+                    </view>
                 </view>
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">种植量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}
+                    </view>
                 </view>
             </view>
         </view>
@@ -37,7 +42,9 @@
     <!-- 养殖 -->
     <view class="" v-if="data?.taskType === '2'" @click="$emit('click')">
         <view class="b-radius bg-#fff pd-10 p-rtv">
-            <image class="w-80 h-34" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding.png" mode="widthFix" style="position: absolute; top: 0; left: 0" />
+            <image class="w-80 h-34"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding.png"
+                mode="widthFix" style="position: absolute; top: 0; left: 0" />
             <view class="d-flex j-ed f-s-22 c-#666">{{ data?.plannedStartDate }}至{{ data?.plannedEndDate }}</view>
             <view class="d-flex a-ed pd-16 pt-8 pb-8">
                 <view class="c-#333 f-s-34 f-w-5 mr-6">{{ data?.variety }}</view>
@@ -53,18 +60,21 @@
                     {{ data?.baseRef?.baseInfo?.address }}基地
                     <text v-if="data?.landIds.length == 0">全部地块</text>
                     <view v-else>
-                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text v-if="index != 0">、</text> {{ item?.landName }}</text>
+                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text
+                                v-if="index != 0">、</text> {{ item?.landName }}</text>
                     </view>
                 </view>
             </view>
             <view class="d-flex f-s-28 pd-16 pt-8 pb-8">
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">养殖区域:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.breedScale }}{{ data?.breedScaleUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.breedScale }}{{ data?.breedScaleUnit }}
+                    </view>
                 </view>
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">养殖量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}
+                    </view>
                 </view>
             </view>
         </view>
@@ -72,7 +82,9 @@
     <!-- 种苗繁育 -->
     <view class="" v-if="data?.taskType === '11'" @click="$emit('click')">
         <view class="b-radius bg-#fff pd-10 p-rtv">
-            <image class="w-112 h-34" src="/static/images/plant/port/Task_Seedling_breeding.png" mode="widthFix" style="position: absolute; top: 0; left: 0" />
+            <image class="w-112 h-34"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Seedling_breeding.png"
+                mode="widthFix" style="position: absolute; top: 0; left: 0" />
             <view class="d-flex j-ed f-s-22 c-#666">{{ data?.plannedStartDate }}至{{ data?.plannedEndDate }}</view>
             <view class="d-flex a-ed pd-16 pt-8 pb-8">
                 <view class="c-#333 f-s-34 f-w-5 mr-6">{{ data?.variety }}</view>
@@ -88,22 +100,26 @@
                     {{ data?.baseRef?.baseInfo?.address }}基地
                     <text v-if="data?.landIds.length == 0">全部地块</text>
                     <view v-else>
-                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text v-if="index != 0">、</text> {{ item?.landName }}</text>
+                        <text v-for="(item, index) in data?.baseRef?.baseInfo?.landList" :key="index"><text
+                                v-if="index != 0">、</text> {{ item?.landName }}</text>
                     </view>
                 </view>
             </view>
             <view class="d-flex f-s-28 pd-16 pt-8 pb-8">
                 <view v-if="data?.baseType == '3'" class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">接种数量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.inoculationAmount }}{{ data?.inoculationUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.inoculationAmount }}{{ data?.inoculationUnit
+                        }}</view>
                 </view>
                 <view v-else class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">种植面积:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingAmount }}{{ data?.plantingUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingAmount }}{{ data?.plantingUnit }}
+                    </view>
                 </view>
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">繁育量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}
+                    </view>
                 </view>
             </view>
         </view>
@@ -111,7 +127,9 @@
     <!-- 种畜繁育 -->
     <view class="" v-if="data?.taskType === '21'" @click="$emit('click')">
         <view class="b-radius bg-#fff pd-10 p-rtv">
-            <image class="w-112 h-34" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding_Livestock.png" mode="widthFix" style="position: absolute; top: 0; left: 0" />
+            <image class="w-112 h-34"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/port/Task_Breeding_Livestock.png"
+                mode="widthFix" style="position: absolute; top: 0; left: 0" />
             <view class="d-flex j-ed f-s-22 c-#666">{{ data?.plannedStartDate }}至{{ data?.plannedEndDate }}</view>
             <view class="d-flex a-ed pd-16 pt-8 pb-8">
                 <view class="c-#333 f-s-34 f-w-5 mr-6">{{ data?.variety }}</view>
@@ -124,11 +142,13 @@
             <view class="d-flex f-s-28 pd-16 pt-8 pb-8">
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">养殖区域:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.breedScale }}{{ data?.breedScaleUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.breedScale }}{{ data?.breedScaleUnit }}
+                    </view>
                 </view>
                 <view class="d-flex a-c w-50%">
                     <view class="c-#666 w-s-no">养殖量:</view>
-                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}</view>
+                    <view class="c-#333 f-w-5 tx-ov w-s-no ov-hd">{{ data?.plantingMgAmount }}{{ data?.plantingMgUnit }}
+                    </view>
                 </view>
             </view>
         </view>

+ 21 - 15
src/plant/print/models/connect-printer.vue

@@ -2,8 +2,12 @@
     <view class="connect-printer-page">
         <!-- 提示信息图片 - 搜索中显示 gif,搜索完成显示 jpg -->
         <view class="info-images">
-            <image v-if="isSearching" class="w-750 h-311" src="@/static/images/print/print_dt_ssly.gif" mode="widthFix" />
-            <image v-else class="w-750 h-311" src="@/static/images/print/print_jt_ssly.jpg" mode="widthFix" />
+            <image v-if="isSearching" class="w-750 h-311"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/print/print_dt_ssly.gif"
+                mode="widthFix" />
+            <image v-else class="w-750 h-311"
+                src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/print/print_jt_ssly.jpg"
+                mode="widthFix" />
         </view>
 
         <!-- 操作按钮区域 -->
@@ -29,7 +33,9 @@
 
             <!-- 设备列表 -->
             <view v-if="devices.length" class="device-list">
-                <view v-for="device in devices" :key="device.deviceId" class="device-item" :class="{ active: connectedDevice?.deviceId === device.deviceId }" @click="handleConnectDevice(device)">
+                <view v-for="device in devices" :key="device.deviceId" class="device-item"
+                    :class="{ active: connectedDevice?.deviceId === device.deviceId }"
+                    @click="handleConnectDevice(device)">
                     <view class="device-info">
                         <view class="device-name">{{ device.name }}</view>
                         <view class="device-address">{{ device.deviceId }}</view>
@@ -251,20 +257,20 @@ const nextSteps = () => {
     //     toast('请先连接设备');
     //     return;
     // }
-   emit('next', {
-      info: {
-        ...props.info,
-        status: 'completed',
-        device: connectedDevice.value
-      },
-      nextStepValue: props.nextStepValue || 'print',
-     
-   });
+    emit('next', {
+        info: {
+            ...props.info,
+            status: 'completed',
+            device: connectedDevice.value
+        },
+        nextStepValue: props.nextStepValue || 'print',
+
+    });
 };
 const prevSteps = () => {
-   emit('prev', {
-      prevStepValue: props.prevStepValue || 'confirm',
-   });
+    emit('prev', {
+        prevStepValue: props.prevStepValue || 'confirm',
+    });
 };
 onMounted(() => {
     initBluetooth();

+ 14 - 6
src/plant/processing/processing-detail-list/models/processing-output-item.vue

@@ -1,8 +1,11 @@
 <template>
-    <view class="relative b-radius pd-24 d-flex a-c bg-#fff select-item" :class="{ actives: selected && selectable }" @click="handleClick">
+    <view class="relative b-radius pd-24 d-flex a-c bg-#fff select-item" :class="{ actives: selected && selectable }"
+        @click="handleClick">
         <!-- 序号标签 -->
-        <view v-if="showIndex" class="absolute top-0 left-0 w-60 h-60 c-#fff f-s-20 f-w-5 pd-4 pt-4 pb-4 z-index-10" style="border-radius: 16rpx 0 0rpx 0; background: linear-gradient(135deg, #22c55e 50%, transparent 50%)">
-            <span class="w-30 h-30 f-s-24 f-w-5" style="transform: rotate(-45deg); display: block">{{ String(index + 1).padStart(2, '0') }}</span>
+        <view v-if="showIndex" class="absolute top-0 left-0 w-60 h-60 c-#fff f-s-20 f-w-5 pd-4 pt-4 pb-4 z-index-10"
+            style="border-radius: 16rpx 0 0rpx 0; background: linear-gradient(135deg, #22c55e 50%, transparent 50%)">
+            <span class="w-30 h-30 f-s-24 f-w-5" style="transform: rotate(-45deg); display: block">{{ String(index +
+                1).padStart(2, '0') }}</span>
         </view>
         <!-- 图片 -->
         <view class="w-100 h-100 radius-8 ov-hd mr-24" style="flex-shrink: 0">
@@ -13,7 +16,8 @@
             <!-- 左侧:品名和规格 -->
             <view class="flex flex-cln">
                 <view class="f-s-34 f-w-5 c-#333 mb-4">{{ item?.specnLevel }}</view>
-                <view class="f-s-24 c-#999">{{ item?.finalSpecn }}{{ item?.finalUnit }}{{ selectDictLabel(pt_final_form_type, item?.finalFormType) }}</view>
+                <view class="f-s-24 c-#999">{{ item?.finalSpecn }}{{ item?.finalUnit }}{{
+                    selectDictLabel(pt_final_form_type, item?.finalFormType) }}</view>
             </view>
             <!-- 中间:重量和检验状态 -->
             <view class="flex flex-cln a-c">
@@ -23,12 +27,15 @@
             </view>
             <!-- 右侧:入库状态 -->
             <view class="flex a-c">
-                <view v-if="+item?.status !== 0" class="f-s-24 c-#37a954" style="text-decoration: underline">已入种源库</view>
+                <view v-if="+item?.status !== 0" class="f-s-24 c-#37a954" style="text-decoration: underline">已入种源库
+                </view>
                 <view v-else class="f-s-24 c-#999">未入库</view>
             </view>
         </view>
         <!-- 选中对勾图标 -->
-        <image v-if="selected && selectable" class="w-40 h-40 checked-icon" src="/static/images/common/btn_checked_icon.png" mode="widthFix" />
+        <image v-if="selected && selectable" class="w-40 h-40 checked-icon"
+            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/common/btn_checked_icon.png"
+            mode="widthFix" />
     </view>
     <view class="h-16"></view>
 </template>
@@ -88,6 +95,7 @@ const handleClick = () => {
         bottom: 0rpx;
     }
 }
+
 .actives {
     background-color: #ebf6ee;
     border: 1rpx solid #37a954;

+ 55 - 23
src/plant/processing/processing-index/index.vue

@@ -6,10 +6,12 @@
         <template>
             <view class="d-flex a-c pd-24 pb-0 bg-#f7f7f7">
                 <view class="min-w-220 flex1">
-                    <ut-action-sheet v-model="form.processType" :tabs="[{ label: '全部', value: '' }, ...pt_process_type]" @change="onRefresh" title="选择原料类型">
+                    <ut-action-sheet v-model="form.processType" :tabs="[{ label: '全部', value: '' }, ...pt_process_type]"
+                        @change="onRefresh" title="选择原料类型">
                         <view class="d-flex search-select-item a-c">
                             <view class="flex1 ov-hd f-s-28 c-333 text-center f-w-5 w-s-no d-flex a-c j-c">
-                                <view class="w-s-no">{{ selectDictLabel(pt_process_type, form.processType) || '全部' }}</view>
+                                <view class="w-s-no">{{ selectDictLabel(pt_process_type, form.processType) || '全部' }}
+                                </view>
                                 <template v-for="(item, index) in processCountList" :key="index">
                                     <view class="" v-if="form.processType == item?.type">({{ item?.num }})</view>
                                 </template>
@@ -19,26 +21,42 @@
                     </ut-action-sheet>
                 </view>
                 <view class="h-86 pl-20 w-100%">
-                    <ut-search ref="searchRef" v-model="form.keyword" @search="changeSeach" @change="changeSeach" margin="0" :border="false" placeholder="搜药材名、批号" bgColor="#fff" height="86rpx" borderRadius="10rpx"></ut-search>
+                    <ut-search ref="searchRef" v-model="form.keyword" @search="changeSeach" @change="changeSeach"
+                        margin="0" :border="false" placeholder="搜药材名、批号" bgColor="#fff" height="86rpx"
+                        borderRadius="10rpx"></ut-search>
                 </view>
             </view>
             <view class="pd-24">
                 <up-swipe-action>
-                    <up-swipe-action-item v-for="(item, index) in list" :key="index" :name="item?.id" :options="swipeOptions" class="mb-16" @click="handleSwipeClick">
+                    <up-swipe-action-item v-for="(item, index) in list" :key="index" :name="item?.id"
+                        :options="swipeOptions" class="mb-16" @click="handleSwipeClick">
                         <template #default>
                             <view class="bg-#fff b-radius pd-24 p-rtv">
-                                <view v-if="+item?.processType == 1 && +item?.processMedType == 1" class="bg-#91C747 c-#fff f-w-5 pd-10 pt-4 pb-4 f-s-20" style="border-radius: 16rpx 0 16rpx 0; width: max-content; position: absolute; top: 0rpx; left: 0rpx">种子初加工</view>
-                                <view v-if="+item?.processType == 1 && +item?.processMedType == 2" class="bg-#C7A262 c-#fff f-w-5 pd-10 pt-4 pb-4 f-s-20" style="border-radius: 16rpx 0 16rpx 0; width: max-content; position: absolute; top: 0rpx; left: 0rpx">药材初加工</view>
-                                <view v-if="+item?.processType == 2" class="bg-#37A954 c-#fff f-w-5 pd-10 pt-4 pb-4 f-s-20" style="border-radius: 16rpx 0 16rpx 0; width: max-content; position: absolute; top: 0rpx; left: 0rpx">趁鲜切制</view>
+                                <view v-if="+item?.processType == 1 && +item?.processMedType == 1"
+                                    class="bg-#91C747 c-#fff f-w-5 pd-10 pt-4 pb-4 f-s-20"
+                                    style="border-radius: 16rpx 0 16rpx 0; width: max-content; position: absolute; top: 0rpx; left: 0rpx">
+                                    种子初加工</view>
+                                <view v-if="+item?.processType == 1 && +item?.processMedType == 2"
+                                    class="bg-#C7A262 c-#fff f-w-5 pd-10 pt-4 pb-4 f-s-20"
+                                    style="border-radius: 16rpx 0 16rpx 0; width: max-content; position: absolute; top: 0rpx; left: 0rpx">
+                                    药材初加工</view>
+                                <view v-if="+item?.processType == 2"
+                                    class="bg-#37A954 c-#fff f-w-5 pd-10 pt-4 pb-4 f-s-20"
+                                    style="border-radius: 16rpx 0 16rpx 0; width: max-content; position: absolute; top: 0rpx; left: 0rpx">
+                                    趁鲜切制</view>
                                 <view v-if="item?.processingDate || item?.processingDateEnd" class="d-flex a-c j-ed">
-                                    <view class="c-#999 f-s-24">{{ item?.processingDate }} 至 {{ item?.processingDateEnd }}</view>
+                                    <view class="c-#999 f-s-24">{{ item?.processingDate }} 至 {{ item?.processingDateEnd
+                                        }}</view>
                                 </view>
                                 <view class="" @click="gotodetaillist(item)">
                                     <view class="mb-10 d-flex a-c">
                                         <view class="">
-                                            <span v-if="item?.variety" class="f-s-34 c-#333 f-w-500 mr-10">{{ item?.variety }}</span>
-                                            <span v-else class="f-s-34 c-#333 f-w-500 mr-10">{{ item?.medicineName }}(鲜制)</span>
-                                            <span class="f-s-24 c-#666" v-if="+item?.processMedType == 1">{{ selectDictLabel(pt_stock_type, item?.processMedType) }}</span>
+                                            <span v-if="item?.variety" class="f-s-34 c-#333 f-w-500 mr-10">{{
+                                                item?.variety }}</span>
+                                            <span v-else class="f-s-34 c-#333 f-w-500 mr-10">{{ item?.medicineName
+                                                }}(鲜制)</span>
+                                            <span class="f-s-24 c-#666" v-if="+item?.processMedType == 1">{{
+                                                selectDictLabel(pt_stock_type, item?.processMedType) }}</span>
                                         </view>
                                         <view class="flex1"></view>
                                         <up-icon name="arrow-right" size="26rpx"></up-icon>
@@ -49,16 +67,20 @@
                                     </view>
                                     <view v-if="+item?.processType == 1" class="pd2-4-0 f-s-28">
                                         <span class="c-#666">执行标准:</span>
-                                        <span class="c-#333 f-w-500">{{ selectDictLabel(pt_standard_type, item?.standardType) }}</span>
-                                        <span class="c-#666" v-if="item?.standardDetailName">({{ item?.standardDetailName }})</span>
+                                        <span class="c-#333 f-w-500">{{ selectDictLabel(pt_standard_type,
+                                            item?.standardType) }}</span>
+                                        <span class="c-#666" v-if="item?.standardDetailName">({{
+                                            item?.standardDetailName }})</span>
                                     </view>
                                     <view v-else class="pd2-4-0 f-s-28">
                                         <span class="c-#666">执行标准:</span>
-                                        <span class="c-#666" v-if="item?.standardDetailName">{{ item?.standardDetailName }}</span>
+                                        <span class="c-#666" v-if="item?.standardDetailName">{{ item?.standardDetailName
+                                            }}</span>
                                     </view>
                                     <view class="pd2-4-0 f-s-28">
                                         <span class="c-#666">加工工艺:</span>
-                                        <template v-for="(items, indexs) in item?.ptech?.split(',')" v-if="item?.ptech" :key="indexs">
+                                        <template v-for="(items, indexs) in item?.ptech?.split(',')" v-if="item?.ptech"
+                                            :key="indexs">
                                             <span v-if="indexs !== 0" class="c-#999 f-s-32 ml-10 mr-10">→ </span>
                                             <span class="f-s-32">{{ items }}</span>
                                         </template>
@@ -80,7 +102,8 @@
         </template>
         <template #empty>
             <view class="d-flex flex-cln a-c">
-                <ut-empty class="mg-at" color="#ccc" size="28rpx" image="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/noEmptyBase.png">暂无加工任务</ut-empty>
+                <ut-empty class="mg-at" color="#ccc" size="28rpx"
+                    image="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/noEmptyBase.png">暂无加工任务</ut-empty>
                 <text class="c-#ccc f-s-28">点击下方按钮去添加吧~</text>
             </view>
         </template>
@@ -88,24 +111,33 @@
             <ut-tabar activeTab="processing"></ut-tabar>
         </template>
     </z-paging>
-    <ut-suspension v-if="sus?.left" :imageWidth="60" :imageHeight="60" :x="sus?.left" :y="sus?.bottom" :inertia="false" :snap-threshold="40">
-        <image src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/common/btn_add_logo.png" mode="widthFix" class="w-120 h-120" @click="showDeleteDialog = true"></image>
+    <ut-suspension v-if="sus?.left" :imageWidth="60" :imageHeight="60" :x="sus?.left" :y="sus?.bottom" :inertia="false"
+        :snap-threshold="40">
+        <image src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/common/btn_add_logo.png" mode="widthFix"
+            class="w-120 h-120" @click="showDeleteDialog = true"></image>
     </ut-suspension>
-    <ut-confirm-dialog v-model:show="showDeleteDialog" width="80vw" title="请选择要创建的任务类型" :confirmText="'确认选择'" :cancelText="'取消'" @confirm="handlechoseConfirm" @cancel="handleDeleteCancel">
+    <ut-confirm-dialog v-model:show="showDeleteDialog" width="80vw" title="请选择要创建的任务类型" :confirmText="'确认选择'"
+        :cancelText="'取消'" @confirm="handlechoseConfirm" @cancel="handleDeleteCancel">
         <view class="" v-for="item in pt_process_type" :key="item?.value">
-            <view style="border: 1rpx solid" :style="{ backgroundColor: item?.value == basetype ? '#EBF6EE' : '#f7f7f7', borderColor: item?.value == basetype ? '#37A954' : 'transparent' }" class="pr-30 d-flex a-c mb-20 radius-100" @click="handlechose(item.value)">
+            <view style="border: 1rpx solid"
+                :style="{ backgroundColor: item?.value == basetype ? '#EBF6EE' : '#f7f7f7', borderColor: item?.value == basetype ? '#37A954' : 'transparent' }"
+                class="pr-30 d-flex a-c mb-20 radius-100" @click="handlechose(item.value)">
                 <view class="radius-50% mg-8 bg-#F0F0F0" v-if="item?.value == '1'">
-                    <up-avatar size="90rpx" src="/static/images/plant/processing/processType_initial.png"></up-avatar>
+                    <up-avatar size="90rpx"
+                        src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/processing/processType_initial.png"></up-avatar>
                 </view>
                 <view class="radius-50% mg-8 bg-#F0F0F0" v-if="item?.value == '2'">
-                    <up-avatar size="90rpx" src="/static/images/plant/processing/processType_fresh.png"></up-avatar>
+                    <up-avatar size="90rpx"
+                        src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/processing/processType_fresh.png"></up-avatar>
                 </view>
                 <view class="c-#333 f-s-34">
                     {{ item?.label }}
                 </view>
                 <view class="flex1"></view>
                 <view class="d-flex">
-                    <img v-if="basetype === item.value" class="w-30 h-30" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/chooseSuccessfully.png" mode="widthFix" alt="" />
+                    <img v-if="basetype === item.value" class="w-30 h-30"
+                        src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/chooseSuccessfully.png"
+                        mode="widthFix" alt="" />
                 </view>
             </view>
         </view>

+ 20 - 9
src/plant/storage/agro-product/detail/index.vue

@@ -1,5 +1,6 @@
 <template>
-    <z-paging ref="paging" bgColor="#F7F7F7" safe-area-inset-bottom paging-class="paging-btm-shadow" scroll-with-animation>
+    <z-paging ref="paging" bgColor="#F7F7F7" safe-area-inset-bottom paging-class="paging-btm-shadow"
+        scroll-with-animation>
         <template #top>
             <ut-navbar title="农资详情" :fixed="false" border></ut-navbar>
         </template>
@@ -11,7 +12,9 @@
                 </view>
                 <view>
                     <up-button @click="navigateToInOutRecords" type="primary" :customStyle="formItemBtnStyle">
-                        <image class="w-30 h-30 mr-10" src="@/static/images/plant/storage/ckcrkjl_icon.png" mode="widthFix" />
+                        <image class="w-30 h-30 mr-10"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/storage/ckcrkjl_icon.png"
+                            mode="widthFix" />
                         <span>查看出入库记录</span>
                     </up-button>
                 </view>
@@ -57,7 +60,9 @@
                     </view>
                 </view>
                 <view v-if="+form?.restAmount" class="pd3-20-40-0">
-                    <up-button @click="navigateToInventoryLoss" type="warning" plain :customStyle="{ background: '#FFF9EF', borderColor: '#F9D9A3' }">库存有消耗?库存损耗登记{{ '>' }}</up-button>
+                    <up-button @click="navigateToInventoryLoss" type="warning" plain
+                        :customStyle="{ background: '#FFF9EF', borderColor: '#F9D9A3' }">库存有消耗?库存损耗登记{{ '>'
+                        }}</up-button>
                 </view>
             </view>
             <view class="pd-24">
@@ -71,7 +76,8 @@
                 </view>
                 <view class="f-s-30 pd2-16-0 info-border-bottom">
                     <span class="c-#666">农资类别:</span>
-                    <span class="c-#333 f-w-600">{{ selectDictLabel(pt_material_type, form?.materialType) || '-' }}</span>
+                    <span class="c-#333 f-w-600">{{ selectDictLabel(pt_material_type, form?.materialType) || '-'
+                        }}</span>
                 </view>
                 <view class="f-s-30 pd2-16-0 info-border-bottom">
                     <span class="c-#666">入库量:</span>
@@ -113,7 +119,8 @@
                     <span class="c-#666">品牌:</span>
                     <span class="c-#333 f-w-600">{{ form?.brand }}</span>
                 </view>
-                <view v-if="['1', '2'].includes(form?.materialType as string)" class="f-s-30 pd2-16-0 info-border-bottom">
+                <view v-if="['1', '2'].includes(form?.materialType as string)"
+                    class="f-s-30 pd2-16-0 info-border-bottom">
                     <span class="c-#666">登记证号:</span>
                     <span class="c-#333 f-w-600">{{ form?.materialCode || '-' }}</span>
                 </view>
@@ -136,7 +143,8 @@
             <view class="bg-#fff pd-24">
                 <view class="f-s-30 pd2-16-0 info-border-bottom">
                     <span class="c-#666">入库类型:</span>
-                    <span class="c-#333 f-w-600">{{ selectDictLabel(pt_seed_instore_type, form?.instoreType) || '非溯源入库' }}</span>
+                    <span class="c-#333 f-w-600">{{ selectDictLabel(pt_seed_instore_type, form?.instoreType) || '非溯源入库'
+                        }}</span>
                 </view>
                 <view class="f-s-30 pd2-16-0 info-border-bottom">
                     <span class="c-#666">入库日期:</span>
@@ -164,11 +172,13 @@
                 </view>
                 <view class="f-s-30 pd2-16-0 info-border-bottom">
                     <span class="c-#666">最后修改人:</span>
-                    <span class="c-#333 f-w-600">{{ form?.operatorName || form?.updateByName || form?.createByName || '-' }}</span>
+                    <span class="c-#333 f-w-600">{{ form?.operatorName || form?.updateByName || form?.createByName ||
+                        '-' }}</span>
                 </view>
                 <view class="f-s-30 pd2-16-0 info-border-bottom">
                     <span class="c-#666">最后修改时间:</span>
-                    <span class="c-#333 f-w-600">{{ form?.operateTime || form?.updateTime || form?.createTime || '-' }}</span>
+                    <span class="c-#333 f-w-600">{{ form?.operateTime || form?.updateTime || form?.createTime || '-'
+                        }}</span>
                 </view>
             </view>
         </template>
@@ -235,7 +245,7 @@ const navigateToInventoryLoss = () => {
     });
     uni.navigateTo({
         url: '/plant/storage/loss-register/index',
-        success: (res)=> {
+        success: (res) => {
             res.eventChannel.emit('storage-data', {
                 stockType: '1',
                 ...form.value
@@ -255,6 +265,7 @@ onLoad((options: any) => {
     border: 1rpx solid #afddbb;
     border-radius: 10rpx;
 }
+
 .tag-span {
     padding: 4rpx 12rpx;
     font-size: 20rpx;

+ 31 - 13
src/plant/storage/agro-product/list/model/agro-bottom.vue

@@ -1,36 +1,46 @@
 <template>
     <view class="source-bottom-fixed">
         <view class="source-top-view h-49"></view>
-        <view class="source-bottom-view pt-49 text-center bg-#fff pt-60" :style="{ opacity: btnStyle == 'close' ? 0 : 1 }">
-             <view style="opacity: 0;">{{ mapTextBtn[btnStyle] }}</view>
-       
+        <view class="source-bottom-view pt-49 text-center bg-#fff pt-60"
+            :style="{ opacity: btnStyle == 'close' ? 0 : 1 }">
+            <view style="opacity: 0;">{{ mapTextBtn[btnStyle] }}</view>
+
         </view>
         <view @click="clickBtnBall" class="source-center-view d-flex flex-cln a-c j-c">
-            <view class="source-btn-ball d-flex a-c j-c" :class="{ [`btn-deg-${btnStyle}`]: true }" :style="{ backgroundImage: 'url(https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/storage/add_c_btn.png)' }"></view>
+            <view class="source-btn-ball d-flex a-c j-c" :class="{ [`btn-deg-${btnStyle}`]: true }"
+                :style="{ backgroundImage: 'url(https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/storage/add_c_btn.png)' }">
+            </view>
             <view class="c-primary f-s-28 pt-6">{{ mapTextBtn[btnStyle] }}</view>
-            
+
         </view>
         <view class="bg-#fff" :style="{ height: safeAreaBottom + 'px' }"></view>
-        <view class="bottom-circle-line" :class="{ 'bottom-circle-line-active': btnStyle == 'close' }" :style="{ bottom: safeAreaBottom + 'px' }">
-            <view class="bottom-circle d-flex" :style="{ backgroundImage: 'url(/static/images/plant/storage/agro_btm_bg.png)' }">
+        <view class="bottom-circle-line" :class="{ 'bottom-circle-line-active': btnStyle == 'close' }"
+            :style="{ bottom: safeAreaBottom + 'px' }">
+            <view class="bottom-circle d-flex"
+                :style="{ backgroundImage: 'url(https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/storage/agro_btm_bg.png)' }">
                 <view class="flex1 d-flex flex-cln a-c pt-100 pl-30">
                     <view>
-                        <image class="w-68 h-68" src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/storage/xzhwk_icon_sd.png" mode="widthFix" />
+                        <image class="w-68 h-68"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/storage/xzhwk_icon_sd.png"
+                            mode="widthFix" />
                     </view>
                     <view class="f-s-28 c-#333">下载货位卡</view>
                     <view class="f-s-22 c-#999">库存结余清晰</view>
                 </view>
                 <view class="d-flex flex-cln a-c pt-24">
-                   
+
                 </view>
-                <view class="flex1 d-flex flex-cln a-c pt-100 pr-30" @click="clickBtnBall();$u.route({ url: '/plant/storage/agro-product/add/index' })">
-                     <view>
-                        <image class="w-68 h-68" src="@/static/images/plant/storage/xznzrkxx_icon_sd.png" mode="widthFix" />
+                <view class="flex1 d-flex flex-cln a-c pt-100 pr-30"
+                    @click="clickBtnBall(); $u.route({ url: '/plant/storage/agro-product/add/index' })">
+                    <view>
+                        <image class="w-68 h-68"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/storage/xznzrkxx_icon_sd.png"
+                            mode="widthFix" />
                     </view>
                     <view class="f-s-28 c-#333">新增农资入库</view>
                     <view class="f-s-22 c-#999">适合无法溯源的农资</view>
                 </view>
-                </view>
+            </view>
         </view>
     </view>
     <view class="pt-60">
@@ -59,6 +69,7 @@ const clickBtnBall = () => {
     bottom: 0;
     z-index: 10;
 }
+
 .source-center-view {
     position: absolute;
     top: 0;
@@ -67,6 +78,7 @@ const clickBtnBall = () => {
     margin: auto;
     width: 200rpx;
     z-index: 99;
+
     .source-btn-ball {
         width: 98rpx;
         height: 98rpx;
@@ -76,6 +88,7 @@ const clickBtnBall = () => {
         background-repeat: no-repeat;
     }
 }
+
 .bottom-circle-line {
     position: absolute;
     left: 0;
@@ -87,15 +100,18 @@ const clickBtnBall = () => {
     pointer-events: none;
     transition: opacity 0.3s ease, transform 0.3s ease;
 }
+
 .bottom-circle-line-active {
     opacity: 1;
     transform: translateY(0);
     pointer-events: auto;
 }
+
 .source-bottom-view {
     box-shadow: 0px 0px 6rpx 0px #F1F6F4;
     transition: all 0.3s ease;
 }
+
 .bottom-circle {
     position: absolute;
     width: 750rpx;
@@ -106,10 +122,12 @@ const clickBtnBall = () => {
     background-size: contain;
     background-position: top;
 }
+
 .btn-deg-add {
     transform: rotate(0);
     transition: transform 0.3s ease;
 }
+
 .btn-deg-close {
     transform: rotate(135deg);
     transition: transform 0.3s ease;

+ 28 - 11
src/plant/storage/fresh-goods/detail/index.vue

@@ -1,5 +1,6 @@
 <template>
-    <z-paging ref="paging" bgColor="#F7F7F7" safe-area-inset-bottom paging-class="paging-btm-shadow" scroll-with-animation>
+    <z-paging ref="paging" bgColor="#F7F7F7" safe-area-inset-bottom paging-class="paging-btm-shadow"
+        scroll-with-animation>
         <template #top>
             <ut-navbar title="鲜货详情" :fixed="false" border></ut-navbar>
         </template>
@@ -11,14 +12,17 @@
                 </view>
                 <view>
                     <up-button @click="navigateToInOutRecords" type="primary" :customStyle="formItemBtnStyle">
-                        <image class="w-30 h-30 mr-10" src="@/static/images/plant/storage/ckcrkjl_icon.png" mode="widthFix" />
+                        <image class="w-30 h-30 mr-10"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/storage/ckcrkjl_icon.png"
+                            mode="widthFix" />
                         <span>查看出入库记录</span>
                     </up-button>
                 </view>
             </view>
             <view class="bg-#fff pd-24">
                 <view class="d-flex j-sb a-c li-item-head mb-16">
-                    <view class="li-left-tag" :class="{ [`bg-instore-${form?.instoreType}`]: true }">{{ selectDictLabel(pt_seed_instore_type, form?.instoreType) }}</view>
+                    <view class="li-left-tag" :class="{ [`bg-instore-${form?.instoreType}`]: true }">{{
+                        selectDictLabel(pt_seed_instore_type, form?.instoreType) }}</view>
                     <view class="f-s-22 c-#666">{{ form?.instoreBizInfo?.instoreDate }}</view>
                 </view>
                 <view class="mb-10">
@@ -66,7 +70,9 @@
                     </view>
                 </view>
                 <view v-if="+form?.restAmount" class="pd3-20-40-0">
-                    <up-button @click="navigateToInventoryLoss" type="warning" plain :customStyle="{ background: '#FFF9EF', borderColor: '#F9D9A3' }">库存有消耗?库存损耗登记{{ '>' }}</up-button>
+                    <up-button @click="navigateToInventoryLoss" type="warning" plain
+                        :customStyle="{ background: '#FFF9EF', borderColor: '#F9D9A3' }">库存有消耗?库存损耗登记{{ '>'
+                        }}</up-button>
                 </view>
             </view>
             <view class="pd-24">
@@ -85,7 +91,9 @@
                             <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 class="f-s-24 c-#666" v-if="form?.varietyInfo?.medicineName">产出:{{ form?.varietyInfo?.medicineName }}</view>
+                        <view class="f-s-24 c-#666" v-if="form?.varietyInfo?.medicineName">产出:{{
+                            form?.varietyInfo?.medicineName }}
+                        </view>
                     </view>
                     <view v-else class="c-#333 f-w-600">{{ form?.variety || '-' }}</view>
                 </view>
@@ -97,12 +105,15 @@
 
                 <view class="f-s-30 pd2-16-0 info-border-bottom">
                     <span class="c-#666">鲜货来源:</span>
-                    <span class="c-#333 f-w-600">{{ selectDictLabel(pt_medicine_source_tag, form?.sourceType) || '-' }}</span>
+                    <span class="c-#333 f-w-600">{{ selectDictLabel(pt_medicine_source_tag, form?.sourceType) || '-'
+                        }}</span>
                 </view>
 
                 <view class="f-s-30 pd2-16-0 info-border-bottom">
                     <span class="c-#666">入库量:</span>
-                    <span class="c-#333 f-w-600">{{ form?.capacity || '-' }}{{ selectDictLabel(pt_medicine_unit, form?.unit) || form?.unit || '' }}</span>
+                    <span class="c-#333 f-w-600">{{ form?.capacity || '-' }}{{ selectDictLabel(pt_medicine_unit,
+                        form?.unit) ||
+                        form?.unit || '' }}</span>
                 </view>
 
                 <view class="f-s-30 pd2-16-0 info-border-bottom">
@@ -122,7 +133,8 @@
                     </view>
                     <view class="f-s-30 pd2-16-0 info-border-bottom">
                         <span class="c-#666">供应商是否是生产商:</span>
-                        <span class="c-#333 f-w-600">{{ selectDictLabel(yes_no, form?.supplierProducerFlag) || '-' }}</span>
+                        <span class="c-#333 f-w-600">{{ selectDictLabel(yes_no, form?.supplierProducerFlag) || '-'
+                            }}</span>
                     </view>
                     <view class="f-s-30 pd2-16-0 info-border-bottom">
                         <span class="c-#666">生产商:</span>
@@ -153,7 +165,8 @@
                 </view>
                 <view class="f-s-30 pd2-16-0 info-border-bottom">
                     <span class="c-#666">入库类型:</span>
-                    <span class="c-#333 f-w-600">{{ selectDictLabel(pt_seed_instore_type, form?.instoreType) || '-' }}</span>
+                    <span class="c-#333 f-w-600">{{ selectDictLabel(pt_seed_instore_type, form?.instoreType) || '-'
+                        }}</span>
                 </view>
                 <template v-if="form.instoreType == '2'">
                     <view class="f-s-30 pd2-16-0 info-border-bottom">
@@ -183,11 +196,13 @@
                 </view>
                 <view class="f-s-30 pd2-16-0 info-border-bottom">
                     <span class="c-#666">最后修改人:</span>
-                    <span class="c-#333 f-w-600">{{ form?.operatorName || form?.updateByName || form?.createByName || '-' }}</span>
+                    <span class="c-#333 f-w-600">{{ form?.operatorName || form?.updateByName || form?.createByName ||
+                        '-' }}</span>
                 </view>
                 <view class="f-s-30 pd2-16-0 info-border-bottom">
                     <span class="c-#666">最后修改时间:</span>
-                    <span class="c-#333 f-w-600">{{ form?.operateTime || form?.updateTime || form?.createTime || '-' }}</span>
+                    <span class="c-#333 f-w-600">{{ form?.operateTime || form?.updateTime || form?.createTime || '-'
+                        }}</span>
                 </view>
             </view>
         </template>
@@ -280,10 +295,12 @@ onLoad((options: any) => {
     border: 1rpx solid #afddbb;
     border-radius: 10rpx;
 }
+
 .li-item-head {
     margin-left: -24rpx;
     margin-top: -24rpx;
 }
+
 .li-left-tag {
     padding: 6rpx 16rpx;
     color: #fff;

+ 57 - 25
src/plant/storage/seed-source/detail/index.vue

@@ -1,5 +1,6 @@
 <template>
-    <z-paging ref="paging" bgColor="#F7F7F7" safe-area-inset-bottom paging-class="paging-btm-shadow" scroll-with-animation>
+    <z-paging ref="paging" bgColor="#F7F7F7" safe-area-inset-bottom paging-class="paging-btm-shadow"
+        scroll-with-animation>
         <template #top>
             <ut-navbar title="种源详情" :fixed="false" border></ut-navbar>
         </template>
@@ -11,14 +12,17 @@
                 </view>
                 <view>
                     <up-button @click="navigateToInOutRecords" type="primary" :customStyle="formItemBtnStyle">
-                        <image class="w-30 h-30 mr-10" src="@/static/images/plant/storage/ckcrkjl_icon.png" mode="widthFix" />
+                        <image class="w-30 h-30 mr-10"
+                            src="https://ta.zycpzs.cn/oss-file/smart-trace/szyy/images-plt/plant/storage/ckcrkjl_icon.png"
+                            mode="widthFix" />
                         <span>查看出入库记录</span>
                     </up-button>
                 </view>
             </view>
             <view class="bg-#fff pd-24">
                 <view class="d-flex j-sb a-c li-item-head mb-16">
-                    <view class="li-left-tag" :class="{ [`bg-instore-${form?.instoreType}`]: true }">{{ form?.seedLevel }}{{ selectDictLabel(pt_seed_instore_type, form?.instoreType) }}</view>
+                    <view class="li-left-tag" :class="{ [`bg-instore-${form?.instoreType}`]: true }">{{ form?.seedLevel
+                        }}{{ selectDictLabel(pt_seed_instore_type, form?.instoreType) }}</view>
                     <view class="f-s-22 c-#666">{{ form?.instoreBizInfo?.instoreDate }}</view>
                 </view>
                 <view class="mb-10">
@@ -36,7 +40,8 @@
                         </view> -->
                     <view v-if="['A3', 'A4'].includes(form?.seedType)" class="pd2-4-0 f-s-28">
                         <span class="c-#666">菌种/菌株编号:</span>
-                        <span class="c-#333 f-w-500">{{ selectDictLabel(pt_fungus_code_type, form?.fungusCodeType) }}/{{ form?.fungusCode }}</span>
+                        <span class="c-#333 f-w-500">{{ selectDictLabel(pt_fungus_code_type, form?.fungusCodeType) }}/{{
+                            form?.fungusCode }}</span>
                     </view>
                     <view v-if="form?.supplierId" class="pd2-4-0 f-s-28">
                         <span class="c-#666">供应商:</span>
@@ -60,7 +65,8 @@
                     </view>
                     <view v-if="['A3', 'A4'].includes(form?.seedType)" class="pd2-4-0 f-s-28">
                         <span class="c-#666">菌种/菌株编号:</span>
-                        <span class="c-#333 f-w-500">{{ selectDictLabel(pt_fungus_code_type, form?.fungusCodeType) }}/{{ form?.fungusCode }}</span>
+                        <span class="c-#333 f-w-500">{{ selectDictLabel(pt_fungus_code_type, form?.fungusCodeType) }}/{{
+                            form?.fungusCode }}</span>
                     </view>
                     <view v-if="form?.warehouses?.length" class="pd2-4-0 f-s-28">
                         <span class="c-#666">存放库房:</span>
@@ -82,7 +88,9 @@
                     </view>
                 </view>
                 <view v-if="+form?.restAmount" class="pd3-20-40-0">
-                    <up-button @click="navigateToInventoryLoss" type="warning" plain :customStyle="{ background: '#FFF9EF', borderColor: '#F9D9A3' }">库存有消耗?库存损耗登记{{ '>' }}</up-button>
+                    <up-button @click="navigateToInventoryLoss" type="warning" plain
+                        :customStyle="{ background: '#FFF9EF', borderColor: '#F9D9A3' }">库存有消耗?库存损耗登记{{ '>'
+                        }}</up-button>
                 </view>
             </view>
             <template v-if="form?.instoreType == '3'">
@@ -92,7 +100,8 @@
                 <view class="bg-#fff pd-24" v-if="form?.harvestInfo">
                     <view class="f-s-30 pd2-16-0 info-border-bottom">
                         <span class="c-#666">采收日期:</span>
-                        <span class="c-#333 f-w-600">{{ form?.harvestInfo?.harvestDate || '-' }}至{{ form?.harvestInfo?.harvestDateEnd || '-' }}</span>
+                        <span class="c-#333 f-w-600">{{ form?.harvestInfo?.harvestDate || '-' }}至{{
+                            form?.harvestInfo?.harvestDateEnd || '-' }}</span>
                     </view>
                     <view class="f-s-30 pd2-16-0 info-border-bottom">
                         <span class="c-#666">采收批号:</span>
@@ -141,18 +150,25 @@
                 </view>
                 <view class="f-s-30 pd2-16-0 info-border-bottom" v-if="form?.instoreBizInfo?.motherFatherFlag">
                     <span class="c-#666">父母本情况:</span>
-                    <span class="c-#333 f-w-600">{{ selectDictLabel(pt_mother_father_flag, form?.instoreBizInfo?.motherFatherFlag) || '-' }}</span>
+                    <span class="c-#333 f-w-600">{{ selectDictLabel(pt_mother_father_flag,
+                        form?.instoreBizInfo?.motherFatherFlag)
+                        || '-' }}</span>
                 </view>
-                <view v-if="form?.instoreBizInfo?.motherFatherFlag == '2' && form?.instoreBizInfo?.fatherVarietyInfo" class="f-s-30 pd2-16-0 info-border-bottom">
+                <view v-if="form?.instoreBizInfo?.motherFatherFlag == '2' && form?.instoreBizInfo?.fatherVarietyInfo"
+                    class="f-s-30 pd2-16-0 info-border-bottom">
                     <view class="c-#666 mb-10">父本品种:</view>
                     <view class="bg-#FBFDFB card-info-block pd-24 p-rtv">
                         <view class="mb-10">
-                            <span class="f-s-34 c-#333 f-w-5 mr-16">{{ form?.instoreBizInfo?.fatherVarietyInfo?.varietyName }}</span>
+                            <span class="f-s-34 c-#333 f-w-5 mr-16">{{
+                                form?.instoreBizInfo?.fatherVarietyInfo?.varietyName
+                                }}</span>
                             <span class="f-s-24 c-#666">{{ form?.instoreBizInfo?.fatherVarietyInfo?.latinName }}</span>
                         </view>
                         <view>
-                            <span class="f-s-28 c-#333 f-w-5 mr-16">{{ form?.instoreBizInfo?.fatherVarietyInfo?.genusName }}</span>
-                            <span class="f-s-24 c-#666">{{ form?.instoreBizInfo?.fatherVarietyInfo?.genusLatinName }}</span>
+                            <span class="f-s-28 c-#333 f-w-5 mr-16">{{
+                                form?.instoreBizInfo?.fatherVarietyInfo?.genusName }}</span>
+                            <span class="f-s-24 c-#666">{{ form?.instoreBizInfo?.fatherVarietyInfo?.genusLatinName
+                                }}</span>
                         </view>
                     </view>
                 </view>
@@ -160,12 +176,16 @@
                     <view class="c-#666 mb-10">母本品种:</view>
                     <view class="bg-#FBFDFB card-info-block pd-24 p-rtv">
                         <view class="mb-10">
-                            <span class="f-s-34 c-#333 f-w-5 mr-16">{{ form?.instoreBizInfo?.motherVarietyInfo?.varietyName }}</span>
+                            <span class="f-s-34 c-#333 f-w-5 mr-16">{{
+                                form?.instoreBizInfo?.motherVarietyInfo?.varietyName
+                                }}</span>
                             <span class="f-s-24 c-#666">{{ form?.instoreBizInfo?.motherVarietyInfo?.latinName }}</span>
                         </view>
                         <view>
-                            <span class="f-s-28 c-#333 f-w-5 mr-16">{{ form?.instoreBizInfo?.motherVarietyInfo?.genusName }}</span>
-                            <span class="f-s-24 c-#666">{{ form?.instoreBizInfo?.motherVarietyInfo?.genusLatinName }}</span>
+                            <span class="f-s-28 c-#333 f-w-5 mr-16">{{
+                                form?.instoreBizInfo?.motherVarietyInfo?.genusName }}</span>
+                            <span class="f-s-24 c-#666">{{ form?.instoreBizInfo?.motherVarietyInfo?.genusLatinName
+                                }}</span>
                         </view>
                     </view>
                 </view>
@@ -174,7 +194,8 @@
                         <span class="c-#666">{{ genCountMap[form?.seedType as 'A3' | 'A4'] }}:</span>
                         <span class="c-#333 f-w-600">
                             {{ form?.instoreBizInfo?.genCount || '-' }}
-                            <text v-if="form?.instoreBizInfo?.genUnit">{{ selectDictLabel(pt_gen_unit, form?.instoreBizInfo?.genUnit) }}</text>
+                            <text v-if="form?.instoreBizInfo?.genUnit">{{ selectDictLabel(pt_gen_unit,
+                                form?.instoreBizInfo?.genUnit) }}</text>
                         </span>
                     </view>
                 </template>
@@ -183,7 +204,8 @@
                         <span class="c-#666">繁衍世代:</span>
                         <span class="c-#333 f-w-600">
                             {{ form?.instoreBizInfo?.genCount || '-' }}
-                            <text v-if="form?.instoreBizInfo?.genUnit">{{ selectDictLabel(pt_gen_unit, form?.instoreBizInfo?.genUnit) }}</text>
+                            <text v-if="form?.instoreBizInfo?.genUnit">{{ selectDictLabel(pt_gen_unit,
+                                form?.instoreBizInfo?.genUnit) }}</text>
                         </span>
                     </view>
                 </template>
@@ -215,13 +237,16 @@
                 </view>
                 <view v-if="['A4', 'A8'].includes(form?.seedType as string)" class="f-s-30 pd2-16-0 info-border-bottom">
                     <span class="c-#666">{{ selectDictLabel(pt_seed_type, form?.seedType as string) }}编号:</span>
-                    <span class="c-#333 f-w-600">{{ selectDictLabel(pt_fungus_code_type, form?.fungusCodeType) }}/{{ form?.fungusCode }}</span>
+                    <span class="c-#333 f-w-600">{{ selectDictLabel(pt_fungus_code_type, form?.fungusCodeType) }}/{{
+                        form?.fungusCode }}</span>
                 </view>
                 <view class="f-s-30 pd2-16-0 info-border-bottom" v-if="form?.instoreBizInfo?.idFlag">
                     <span class="c-#666">是否有个体标识:</span>
-                    <span class="c-#333 f-w-600">{{ selectDictLabel(yes_no, form?.instoreBizInfo?.idFlag) || '-' }}</span>
+                    <span class="c-#333 f-w-600">{{ selectDictLabel(yes_no, form?.instoreBizInfo?.idFlag) || '-'
+                        }}</span>
                 </view>
-                <view v-if="form?.instoreBizInfo?.animals && form?.instoreBizInfo?.animals.length" class="f-s-30 pd2-16-0 info-border-bottom">
+                <view v-if="form?.instoreBizInfo?.animals && form?.instoreBizInfo?.animals.length"
+                    class="f-s-30 pd2-16-0 info-border-bottom">
                     <view class="c-#666 mb-10">个体标识号:</view>
                     <template v-for="(animal, index) in form?.instoreBizInfo?.animals" :key="index">
                         <view class="bg-#FBFDFB card-info-block pd-24 p-rtv mb-10 f-s-28 c-#333 f-w-500">
@@ -247,7 +272,8 @@
                 </view>
                 <view class="f-s-30 pd2-16-0 info-border-bottom">
                     <span class="c-#666">繁殖材料:</span>
-                    <span class="c-#333 f-w-600">{{ form?.generationMaterial ? selectDictLabels(pt_breeding_materials, form?.generationMaterial, ',') : '-' }}</span>
+                    <span class="c-#333 f-w-600">{{ form?.generationMaterial ? selectDictLabels(pt_breeding_materials,
+                        form?.generationMaterial, ',') : '-' }}</span>
                 </view>
                 <view class="f-s-30 pd2-16-0 info-border-bottom">
                     <span class="c-#666">繁殖地点/采集地点:</span>
@@ -261,7 +287,8 @@
                     <span class="c-#666">种源检疫证号:</span>
                     <span class="c-#333 f-w-600">{{ form?.seedCheckSn || '-' }}</span>
                 </view>
-                <view v-if="form?.seedCheckCert && form?.seedCheckCert.length" class="f-s-30 pd2-16-0 info-border-bottom">
+                <view v-if="form?.seedCheckCert && form?.seedCheckCert.length"
+                    class="f-s-30 pd2-16-0 info-border-bottom">
                     <view class="c-#666 mb-10">种源检疫证书:</view>
                     <ut-album :urls="form?.seedCheckCert"></ut-album>
                 </view>
@@ -276,7 +303,8 @@
                 </view>
                 <view class="f-s-30 pd2-16-0 info-border-bottom">
                     <span class="c-#666">入库类型:</span>
-                    <span class="c-#333 f-w-600">{{ selectDictLabel(pt_seed_instore_type, form?.instoreType) || '-' }}</span>
+                    <span class="c-#333 f-w-600">{{ selectDictLabel(pt_seed_instore_type, form?.instoreType) || '-'
+                        }}</span>
                 </view>
                 <template v-if="form.instoreType == '2'">
                     <view class="f-s-30 pd2-16-0 info-border-bottom">
@@ -306,11 +334,13 @@
                 </view>
                 <view class="f-s-30 pd2-16-0 info-border-bottom">
                     <span class="c-#666">最后修改人:</span>
-                    <span class="c-#333 f-w-600">{{ form?.operatorName || form?.updateByName || form?.createByName || '-' }}</span>
+                    <span class="c-#333 f-w-600">{{ form?.operatorName || form?.updateByName || form?.createByName ||
+                        '-' }}</span>
                 </view>
                 <view class="f-s-30 pd2-16-0 info-border-bottom">
                     <span class="c-#666">最后修改时间:</span>
-                    <span class="c-#333 f-w-600">{{ form?.operateTime || form?.updateTime || form?.createTime || '-' }}</span>
+                    <span class="c-#333 f-w-600">{{ form?.operateTime || form?.updateTime || form?.createTime || '-'
+                        }}</span>
                 </view>
             </view>
         </template>
@@ -403,10 +433,12 @@ onLoad((options: any) => {
     border: 1rpx solid #afddbb;
     border-radius: 10rpx;
 }
+
 .li-item-head {
     margin-left: -24rpx;
     margin-top: -24rpx;
 }
+
 .li-left-tag {
     padding: 6rpx 16rpx;
     color: #fff;

BIN
src/static/images/audit/plant/GAP_Certification_Audit.png


BIN
src/static/images/audit/plant/TCM_Traceability_System.png


BIN
src/static/images/audit/plant/base_index_bg.png


BIN
src/static/images/audit/plant/base_index_logo_right.png


BIN
src/static/images/audit/plant/gap_tag_item_logo.png


BIN
src/static/images/audit/plant/swyq_tag_item_logo.png


BIN
src/static/images/common/base_res_logo0.png


BIN
src/static/images/common/base_res_logo1.png


BIN
src/static/images/common/base_res_logo2.png


BIN
src/static/images/common/btn_add_logo.png


BIN
src/static/images/common/btn_checked_icon.png


BIN
src/static/images/common/craftArrow.png


BIN
src/static/images/common/edit_icon.png


BIN
src/static/images/common/scan_icon_o.png


BIN
src/static/images/common/select_push_icon.png


BIN
src/static/images/plant/BasePlotManagement.png


BIN
src/static/images/plant/Herbal_Cultivation.png


BIN
src/static/images/plant/PDF.png


BIN
src/static/images/plant/QuickLogin.png


BIN
src/static/images/plant/SZYYLogo.png


BIN
src/static/images/plant/TCM_Animal_Farming.png


BIN
src/static/images/plant/Tissue_Culture_Lab.png


BIN
src/static/images/plant/accountNumber.png


BIN
src/static/images/plant/addBase.png


BIN
src/static/images/plant/base/draw_area_icon.png


BIN
src/static/images/plant/base/gap_res0.png


BIN
src/static/images/plant/base/gap_res1.png


BIN
src/static/images/plant/base/gap_res2.png


BIN
src/static/images/plant/base/select_base_gap.png


BIN
src/static/images/plant/basePlotBG.png


BIN
src/static/images/plant/bottomBase.png


BIN
src/static/images/plant/bottomBaseActive.png


BIN
src/static/images/plant/bottomMore.png


BIN
src/static/images/plant/bottomMoreActive.png


BIN
src/static/images/plant/bottomPlantingBreeding.png


BIN
src/static/images/plant/bottomPlantingBreedingActive.png


BIN
src/static/images/plant/bottomProcessingPackaging.png


BIN
src/static/images/plant/bottomProcessingPackagingActive.png


BIN
src/static/images/plant/bottomWarehouse.png


BIN
src/static/images/plant/bottomWarehouseActive.png


BIN
src/static/images/plant/bottombg.png


BIN
src/static/images/plant/chooseGAP.png


BIN
src/static/images/plant/chooseSuccessfully.png


BIN
src/static/images/plant/cxlmLogo.png


BIN
src/static/images/plant/loginBottomBg.png


BIN
src/static/images/plant/loginMidBg.png


BIN
src/static/images/plant/loginTopBg.png


BIN
src/static/images/plant/more/mag_code_icon.png


BIN
src/static/images/plant/more/mag_relate_icon.png


BIN
src/static/images/plant/more/mag_trace_icon.png


BIN
src/static/images/plant/more/mag_unit_icon.png


BIN
src/static/images/plant/noEmpty.png


BIN
src/static/images/plant/noEmptyBase.png


BIN
src/static/images/plant/port/TaskType_BreedingLivestock.png


BIN
src/static/images/plant/port/TaskType_SeedlingBreeding.png


BIN
src/static/images/plant/port/TaskType_breeding.png


BIN
src/static/images/plant/port/TaskType_plant.png


BIN
src/static/images/plant/port/Task_Breeding.png


BIN
src/static/images/plant/port/Task_Breeding_Livestock.png


BIN
src/static/images/plant/port/Task_Breeding_management.png


BIN
src/static/images/plant/port/Task_Harvest_management.png


BIN
src/static/images/plant/port/Task_Planting.png


BIN
src/static/images/plant/port/Task_Seedling_breeding.png


BIN
src/static/images/plant/port/Task_Species_source_information.png


BIN
src/static/images/plant/port/over.png


BIN
src/static/images/plant/port/个体标识-从种源库快速添加.png


BIN
src/static/images/plant/port/个体标识-手动输入添加.png


BIN
src/static/images/plant/port/个体标识-扫一扫添加.png


BIN
src/static/images/plant/processing/initial_processing.png


BIN
src/static/images/plant/processing/packaging_coding.png


BIN
src/static/images/plant/processing/processType_fresh.png


BIN
src/static/images/plant/processing/processType_initial.png


BIN
src/static/images/plant/resEffective.png


BIN
src/static/images/plant/resFailed.png


BIN
src/static/images/plant/resPendingReview.png


BIN
src/static/images/plant/searchGrey.png


BIN
src/static/images/plant/search_icon.png


BIN
src/static/images/plant/storage/add_c_btn.png


BIN
src/static/images/plant/storage/agro_btm_bg.png


Неке датотеке нису приказане због велике количине промена