koujin 1 년 전
부모
커밋
0552cd4974

+ 1 - 1
.env.local

@@ -4,7 +4,7 @@ NODE_ENV=development
4 4
 VITE_DEV=true
5 5
 
6 6
 # 请求路径
7
-VITE_BASE_URL='http://127.0.0.1:8011'
7
+VITE_BASE_URL='http://121.36.17.6:8002'
8 8
 
9 9
 # 文件上传类型:server - 后端上传, client - 前端直连上传,仅支持 S3 服务
10 10
 VITE_UPLOAD_TYPE=server

+ 1 - 1
package.json

@@ -6,7 +6,7 @@
6 6
   "private": false,
7 7
   "scripts": {
8 8
     "i": "pnpm install",
9
-    "dev": "vite --mode env.dev",
9
+    "dev": "vite --mode .env.dev",
10 10
     "local": "vite --mode .env.local",
11 11
     "prod": "vite --mode .env.prod",
12 12
     "dev-server": "vite --mode dev",

+ 5 - 2
src/api/DeliveryWarehouse/LibraryManagement/index.ts

@@ -65,10 +65,10 @@ export const LibraryManagementApi = {
65 65
     return await request.delete({url: `/delivery/lqjcxx/delete`, data})
66 66
   },
67 67
   getLqjcxxByCfid: async (params: any) => {
68
-    return await request.delete({url: `/delivery/lqjcxx/delete`, params})
68
+    return await request.get({url: `/delivery/lqjcxx/delete`, params})
69 69
   },
70 70
   getLqjcxx: async (params: any) => {
71
-    return await request.delete({url: `/delivery/lqjcxx/get`, params})
71
+    return await request.get({url: `/delivery/lqjcxx/get`, params})
72 72
   },
73 73
   getLqjcxxPage: async (data: any) => {
74 74
     return await request.post({url: `/delivery/lqjcxx/page`, data})
@@ -87,6 +87,9 @@ export const LibraryManagementApi = {
87 87
   getZjxxDetail: async (params: any) => {
88 88
     return await request.get({url: `/delivery/zjxx/get`, params})
89 89
   },
90
+  getZjxxPage: async (data: any) => {
91
+    return await request.get({url: `/delivery/zjxx/page`, data})
92
+  },
90 93
 
91 94
   //损益信息
92 95
   createSyxxDetail: async (data: any) => {

+ 1 - 1
src/components/UploadFile/src/UploadImgs.vue

@@ -76,7 +76,7 @@ const props = defineProps({
76 76
   modelValue: propTypes.oneOfType<string | string[]>([String, Array<String>]).isRequired,
77 77
   drag: propTypes.bool.def(true), // 是否支持拖拽上传 ==> 非必传(默认为 true)
78 78
   disabled: propTypes.bool.def(false), // 是否禁用上传组件 ==> 非必传(默认为 false)
79
-  limit: propTypes.number.def(5), // 最大图片上传数 ==> 非必传(默认为 5张)
79
+  limit: propTypes.number.def(3), // 最大图片上传数 ==> 非必传(默认为 5张)
80 80
   fileSize: propTypes.number.def(5), // 图片大小限制 ==> 非必传(默认为 5M)
81 81
   fileType: propTypes.array.def(['image/jpeg', 'image/png', 'image/gif']), // 图片类型限制 ==> 非必传(默认为 ["image/jpeg", "image/png", "image/gif"])
82 82
   height: propTypes.string.def('150px'), // 组件高度 ==> 非必传(默认为 150px)

+ 11 - 15
src/views/DeliveryWarehouse/LibraryManagement/Cfxx.vue

@@ -117,14 +117,10 @@ const editFormRef = ref()
117 117
  */
118 118
 
119 119
 const FormRow = ref({})
120
-const FormTYpe = ref({})
121 120
 provide('row', FormRow)
122
-provide('type', FormTYpe)
123
-const openForm = (record: CaxxItem) => {
124
-  // record
121
+const openForm = async (record: CaxxItem) => {
125 122
   editFormRef.value.open('update', record);
126 123
   FormRow.value = record
127
-  FormTYpe.value = 'look'
128 124
 }
129 125
 const edit = (record: CaxxItem) => {
130 126
   Message.warning('')
@@ -243,16 +239,16 @@ onMounted(() => {
243 239
           <a-button size="mini" type="outline" @click="openForm(record)">粮情信息</a-button>
244 240
         </template>
245 241
         <!-- 操作2 -->
246
-        <template #edit="{ record  }">
247
-          <a-button style="font-size: 16px" @click="deleteItem(record)">
248
-            -
249
-          </a-button>
250
-        </template>
251
-        <template #editHeader>
252
-          <a-button class="" style="font-size: 16px" @click="addItem()">
253
-            +
254
-          </a-button>
255
-        </template>
242
+<!--        <template #edit="{ record  }">-->
243
+<!--          <a-button style="font-size: 16px" @click="deleteItem(record)">-->
244
+<!--            - -->
245
+<!--          </a-button>-->
246
+<!--        </template>-->
247
+<!--        <template #editHeader>-->
248
+<!--          <a-button class="" style="font-size: 16px" @click="addItem()">-->
249
+<!--            +-->
250
+<!--          </a-button>-->
251
+<!--        </template>-->
256 252
 
257 253
       </a-table>
258 254
     </el-form>

+ 30 - 12
src/views/DeliveryWarehouse/LibraryManagement/compontents/Crkxx.vue

@@ -1,4 +1,6 @@
1 1
 <script lang="ts" setup>
2
+import {LibraryManagementApi} from "@/api/DeliveryWarehouse/LibraryManagement";
3
+
2 4
 const queryParams = ref({
3 5
   pageNo: 1,
4 6
   pageSize: 10
@@ -7,27 +9,43 @@ const list = ref([])
7 9
 const loading = ref(true)
8 10
 const total = ref(0)
9 11
 const row = inject('row')
10
-console.log(row,'row1111')
11
-const handleQuery = async (row) => {
12
-  console.log(row,'wwwww')
13
-
14
-  // loading.value = true
12
+const type = ref('create')
13
+const handleQuery = async () => {
14
+  loading.value = true
15
+  await nextTick();
16
+  try {
17
+    const data = await LibraryManagementApi.getCrkxxPage({id: row.value.id, ...queryParams.value})
18
+    if (data.total > 1 || !data || !data.list) {
19
+      type.value = 'create'
20
+    } else {
21
+      list.value = data.value;
22
+      total.value = data.value;
23
+    }
24
+  } catch (err) {
25
+    console.error('err', err)
26
+  } finally {
27
+    loading.value = false
28
+  }
15 29
 }
16
-
17
-watch(() => row.value,(newValue, oldValue)=>{
18
-  handleQuery(newValue)
19
-})
20 30
 const handleSelectionChange = async (selection: any) => {
21 31
   console.log(selection)
22 32
 }
23 33
 const handleRow = async (row: any) => {
24
-  // loading.value = true
34
+  console.log(row)
25 35
 }
26
-const openFilesForm = (row: any, type: number) => {
36
+const openFilesForm = (row: any) => {
27 37
   console.log(row)
28
-  console.log(type)
29 38
 }
30 39
 
40
+const createCrkxx = async () =>{
41
+
42
+}
43
+const updateCrkxx = async (row:any) =>{
44
+  console.log(row,'row')
45
+}
46
+onMounted(async () => {
47
+  await handleQuery()
48
+})
31 49
 </script>
32 50
 <template>
33 51
   <div>

+ 3 - 57
src/views/DeliveryWarehouse/LibraryManagement/compontents/Form.vue

@@ -2,62 +2,18 @@
2 2
 import {ref} from "vue";
3 3
 import MyRadio from "@/components/MyRadio/index.vue";
4 4
 import MyRadioItem from "@/components/MyRadio/MyRadioItem.vue";
5
-import {AdministrativeDivisionApi} from "@/api/system/administrativeDivision";
6 5
 import Hwkxx from "@/views/DeliveryWarehouse/LibraryManagement/compontents/Hwkxx.vue";
7 6
 import Crkxx from "@/views/DeliveryWarehouse/LibraryManagement/compontents/Crkxx.vue";
8 7
 import Lqjcxx from "@/views/DeliveryWarehouse/LibraryManagement/compontents/Lqjcxx.vue";
9 8
 import Syxx from "@/views/DeliveryWarehouse/LibraryManagement/compontents/Syxx.vue";
10 9
 import Zjxx from "@/views/DeliveryWarehouse/LibraryManagement/compontents/Zjxx.vue";
11
-
12 10
 const dialogVisible = ref(false)
13
-const formLoading = ref(false)
14
-const formType = ref('');
15 11
 const active = ref('货位卡信息')
16
-const shengList = ref([])
17
-// eslint-disable-next-line vue/require-prop-types
18
-const props = defineProps({
19
-  row: {
20
-    type: Object,
21
-    default: () => {
22
-      return {}
23
-    }
24
-  },
25
-  type: {
26
-    type: String,
27
-    default: 'look'
28
-  }
29
-})
30
-const HwkSaveReq = ref({})
31
-const CrkxxSaveReq = ref({})
32
-const LqjcxxSaveReq = ref({})
33
-const ZjxxSaveReq = ref({})
34
-const SyxxSaveReq = ref({})
35
-
36
-
37
-const HwkSaveReqRules = ref({})
38
-const CrkxxSaveReqRules = ref({})
39
-const LqjcxxSaveReqRules = ref({})
40
-const ZjxxSaveReqRules = ref({})
41
-const SyxxSaveReqRules = ref({})
42
-const submitForm = async () => {
43
-  Message.warning('')
44
-}
45
-
46 12
 
47
-const open = (type: string, row?: any) => {
13
+const open = () => {
48 14
   dialogVisible.value = true;
49
-
50
-}
51
-const getDivision = async (areaCode?: string) => {
52
-  try {
53
-    return await AdministrativeDivisionApi.getList({areaCode})
54
-  } catch (err) {
55
-    throw err
56
-  }
57 15
 }
58
-onMounted(async () => {
59
-  shengList.value = await getDivision()
60
-})
16
+
61 17
 defineExpose({open})
62 18
 </script>
63 19
 
@@ -94,22 +50,12 @@ defineExpose({open})
94 50
         </my-radio-item>
95 51
       </MyRadio>
96 52
     </template>
53
+
97 54
     <Hwkxx v-show="active == '货位卡信息' "/>
98 55
     <Crkxx v-show="active == '出入库信息' "/>
99 56
     <Lqjcxx v-show="active == '粮情检测信息' "/>
100 57
     <Zjxx v-show="active == '质检信息' "/>
101 58
     <Syxx v-show="active == '损益信息' "/>
102
-    <!--    <template #footer>-->
103
-    <!--      <el-button-->
104
-    <!--        :disabled="formLoading"-->
105
-    <!--        type="primary" @click="submitForm"> 确 定-->
106
-    <!--      </el-button>-->
107
-    <!--      <el-button-->
108
-    <!--        :disabled="formLoading"-->
109
-    <!--        plain type="primary" @click="resetForm"> 清 空-->
110
-    <!--      </el-button>-->
111
-    <!--      <el-button @click="dialogVisible = false">取 消</el-button>-->
112
-    <!--    </template>-->
113 59
   </Dialog>
114 60
 </template>
115 61
 

+ 151 - 87
src/views/DeliveryWarehouse/LibraryManagement/compontents/Hwkxx.vue

@@ -1,104 +1,168 @@
1 1
 <script lang="ts" setup>
2 2
 import {getStrDictOptions} from "@/utils/dict";
3
+import {LibraryManagementApi} from "@/api/DeliveryWarehouse/LibraryManagement";
4
+import {AdministrativeDivisionApi} from "@/api/system/administrativeDivision";
3 5
 
4 6
 const HwkSaveReq = ref({});
5 7
 const HwkSaveReqRules = ref([]);
6 8
 const shengList = ref([]);
7 9
 const formRef1 = ref();
10
+const formLoading = ref(false);
8 11
 
9
-const getHwkSaveReq = () => {
10
-  return HwkSaveReq.value;
12
+const getHwk = async (id: string) => {
13
+  const data = await LibraryManagementApi.getHwk({id: id});
14
+  if (data) {
15
+    HwkSaveReq.value = data;
16
+    type.value = 'update'
17
+  } else {
18
+    type.value = 'create'
19
+  }
11 20
 }
21
+const row = inject('row')
22
+const type = ref('create')
12 23
 
13
-defineExpose({
14
-  getHwkSaveReq
24
+const createHwk = async () => {
25
+  try {
26
+    formLoading.value = true
27
+    await nextTick();
28
+    await LibraryManagementApi.createHwkDetail({cfId: row?.value?.id, ...HwkSaveReq.value})
29
+  } catch (err) {
30
+    console.error('err', err)
31
+  } finally {
32
+    formLoading.value = false
33
+  }
34
+
35
+}
36
+const updateHwk = async () => {
37
+  try {
38
+    formLoading.value = true
39
+    await nextTick();
40
+    await LibraryManagementApi.updateHwkDetail({cfId: row?.value?.id, ...HwkSaveReq.value})
41
+  } catch (err) {
42
+    console.error('err', err)
43
+  } finally {
44
+    formLoading.value = false
45
+  }
46
+}
47
+
48
+interface DivisionItem {
49
+  id: number | string
50
+  areaCode: string // 区域代码
51
+  areaName: string // 区域名称
52
+}
53
+
54
+const getDivision = async (areaCode?: string): Promise<DivisionItem[]> => {
55
+  try {
56
+    return await AdministrativeDivisionApi.getList({areaCode})
57
+  } catch (err) {
58
+    throw err
59
+  }
60
+}
61
+onMounted(async () => {
62
+  await getHwk(row.value.id)
63
+  shengList.value = await getDivision()
15 64
 })
16 65
 </script>
17 66
 
18 67
 <template>
19
-  <el-form
20
-    ref="formRef1" :model="HwkSaveReq"
21
-    :rules="HwkSaveReqRules" label-width="130">
22
-    <el-row>
23
-      <el-col :span="12">
24
-        <el-form-item label="货位名称">
25
-          <el-input v-model="HwkSaveReq.hwmc"/>
26
-        </el-form-item>
27
-      </el-col>
28
-      <el-col :span="12">
29
-        <el-form-item label="保管员">
30
-          <el-input v-model="HwkSaveReq.bgyxm"/>
31
-        </el-form-item>
32
-      </el-col>
33
-    </el-row>
34
-    <el-row>
35
-      <el-col :span="12">
36
-        <el-form-item label="粮食品种">
37
-          <el-input v-model="HwkSaveReq.lspzmc"/>
38
-        </el-form-item>
39
-      </el-col>
40
-      <el-col :span="12">
41
-        <el-form-item label="粮食等级">
42
-          <el-select v-model="HwkSaveReq.lsdjbm">
43
-            <el-option
44
-              v-for="item in getStrDictOptions('system_lsdj')" :key="item.value"
45
-              :label="item.label" :value="item.value"/>
46
-          </el-select>
47
-        </el-form-item>
48
-      </el-col>
49
-    </el-row>
50
-    <el-row>
51
-      <el-col :span="12">
52
-        <el-form-item label="收获年度">
53
-          <el-select v-model="HwkSaveReq.shnd">
54
-            <el-option label="2020" value="2020"/>
55
-            <el-option label="2021" value="2021"/>
56
-            <el-option label="2022" value="2022"/>
57
-            <el-option label="2023" value="2023"/>
58
-            <el-option label="2024" value="2024"/>
59
-            <el-option label="2025" value="2025"/>
60
-          </el-select>
61
-        </el-form-item>
62
-      </el-col>
63
-      <el-col :span="12">
64
-        <el-form-item label="产地">
65
-          <el-select v-model="HwkSaveReq.cdbm">
66
-            <el-option
67
-              v-for="item in shengList" :key="item.id" :label="item.areaName"
68
-              :value="item.areaCode"/>
69
-          </el-select>
70
-        </el-form-item>
71
-      </el-col>
72
-    </el-row>
73
-    <el-row>
74
-      <el-col :span="12">
75
-        <el-form-item label="实际数量(吨)">
76
-          <el-input v-model="HwkSaveReq.sjsl"/>
77
-        </el-form-item>
78
-      </el-col>
79
-      <el-col :span="12">
80
-        <el-form-item label="计价数量(吨)">
81
-          <el-input v-model="HwkSaveReq.jjsl"/>
82
-        </el-form-item>
83
-      </el-col>
84
-    </el-row>
85
-    <el-row>
86
-      <el-col :span="12">
87
-        <el-form-item label="入库时间">
88
-          <el-date-picker v-model="HwkSaveReq.rksj"/>
89
-        </el-form-item>
90
-      </el-col>
91
-      <el-col :span="12">
92
-        <el-form-item label="保管方式">
93
-          <el-select v-model="HwkSaveReq.bgfs">
94
-            <el-option
95
-              v-for="item in getStrDictOptions('system_bgfs')" :key="item.value"
96
-              :label="item.label" :value="item.value"/>
97
-          </el-select>
98
-        </el-form-item>
99
-      </el-col>
100
-    </el-row>
101
-  </el-form>
68
+  <div class="p-10px">
69
+    <el-form
70
+      ref="formRef1" :model="HwkSaveReq"
71
+      :rules="HwkSaveReqRules" label-width="130">
72
+      <el-row>
73
+        <el-col :span="12">
74
+          <el-form-item label="货位名称">
75
+            <el-input v-model="HwkSaveReq.hwmc"/>
76
+          </el-form-item>
77
+        </el-col>
78
+        <el-col :span="12">
79
+          <el-form-item label="保管员">
80
+            <el-input v-model="HwkSaveReq.bgyxm"/>
81
+          </el-form-item>
82
+        </el-col>
83
+      </el-row>
84
+      <el-row>
85
+        <el-col :span="12">
86
+          <el-form-item label="粮食品种">
87
+            <el-input v-model="HwkSaveReq.lspzmc"/>
88
+          </el-form-item>
89
+        </el-col>
90
+        <el-col :span="12">
91
+          <el-form-item label="粮食等级">
92
+            <el-select v-model="HwkSaveReq.lsdjbm">
93
+              <el-option
94
+                v-for="item in getStrDictOptions('system_lsdj')" :key="item.value"
95
+                :label="item.label" :value="item.value"/>
96
+            </el-select>
97
+          </el-form-item>
98
+        </el-col>
99
+      </el-row>
100
+      <el-row>
101
+        <el-col :span="12">
102
+          <el-form-item label="收获年度">
103
+            <el-select v-model="HwkSaveReq.shnd">
104
+              <el-option label="2020" value="2020"/>
105
+              <el-option label="2021" value="2021"/>
106
+              <el-option label="2022" value="2022"/>
107
+              <el-option label="2023" value="2023"/>
108
+              <el-option label="2024" value="2024"/>
109
+              <el-option label="2025" value="2025"/>
110
+            </el-select>
111
+          </el-form-item>
112
+        </el-col>
113
+        <el-col :span="12">
114
+          <el-form-item label="产地">
115
+            <el-select v-model="HwkSaveReq.cdbm">
116
+              <el-option
117
+                v-for="item in shengList" :key="item.id" :label="item.areaName"
118
+                :value="item.areaCode"/>
119
+            </el-select>
120
+          </el-form-item>
121
+        </el-col>
122
+      </el-row>
123
+      <el-row>
124
+        <el-col :span="12">
125
+          <el-form-item label="实际数量(吨)">
126
+            <el-input v-model="HwkSaveReq.sjsl"/>
127
+          </el-form-item>
128
+        </el-col>
129
+        <el-col :span="12">
130
+          <el-form-item label="计价数量(吨)">
131
+            <el-input v-model="HwkSaveReq.jjsl"/>
132
+          </el-form-item>
133
+        </el-col>
134
+      </el-row>
135
+      <el-row>
136
+        <el-col :span="12">
137
+          <el-form-item label="入库时间">
138
+            <el-date-picker style="width: 100%" v-model="HwkSaveReq.rksj"/>
139
+          </el-form-item>
140
+        </el-col>
141
+        <el-col :span="12">
142
+          <el-form-item label="保管方式">
143
+            <el-select v-model="HwkSaveReq.bgfs">
144
+              <el-option
145
+                v-for="item in getStrDictOptions('system_bgfs')" :key="item.value"
146
+                :label="item.label" :value="item.value"/>
147
+            </el-select>
148
+          </el-form-item>
149
+        </el-col>
150
+      </el-row>
151
+    </el-form>
152
+    <el-divider/>
153
+    <div class="flex justify-end">
154
+      <el-button
155
+        v-show="type == 'create'" type="primary" :disabled="formLoading"
156
+        @click="createHwk">新增
157
+      </el-button>
158
+      <el-button
159
+        v-show="type == 'update'" type="primary" :disabled="formLoading"
160
+        @click="updateHwk">更新
161
+      </el-button>
162
+    </div>
163
+
164
+  </div>
165
+
102 166
 
103 167
 </template>
104 168
 

+ 121 - 3
src/views/DeliveryWarehouse/LibraryManagement/compontents/Lqjcxx.vue

@@ -1,11 +1,129 @@
1
-<script setup lang="ts">
1
+<script lang="ts" setup>
2
+import {LibraryManagementApi} from "@/api/DeliveryWarehouse/LibraryManagement";
2 3
 
4
+const LqxxSaveReq = ref({});
5
+const LqxxSaveReqRules = ref([]);
6
+const formRef1 = ref();
7
+const formLoading = ref(false);
8
+
9
+const getLqxx = async (id: string) => {
10
+  const data = await LibraryManagementApi.getLqjcxxByCfid({id: id});
11
+  if (data) {
12
+    LqxxSaveReq.value = data;
13
+    type.value = 'update'
14
+  } else {
15
+    type.value = 'create'
16
+  }
17
+}
18
+const row = inject('row')
19
+const type = ref('create')
20
+
21
+const createLqxx = async () => {
22
+  try {
23
+    formLoading.value = true
24
+    await nextTick();
25
+    await LibraryManagementApi.createLqjcxxDetail({cfId: row?.value?.id, ...LqxxSaveReq.value})
26
+  } catch (err) {
27
+    console.error('err', err)
28
+  } finally {
29
+    formLoading.value = false
30
+  }
31
+
32
+}
33
+const updateLqxx = async () => {
34
+  try {
35
+    formLoading.value = true
36
+    await nextTick();
37
+    await LibraryManagementApi.updateLqjcxxDetail({cfId: row?.value?.id, ...LqxxSaveReq.value})
38
+  } catch (err) {
39
+    console.error('err', err)
40
+  } finally {
41
+    formLoading.value = false
42
+  }
43
+}
44
+
45
+
46
+onMounted(async () => {
47
+  await getLqxx(row.value.id)
48
+
49
+})
3 50
 </script>
4 51
 
5 52
 <template>
6
-<div>12</div>
53
+  <div class="p-10px">
54
+    <el-form
55
+      ref="formRef1" :model="LqxxSaveReq"
56
+      :rules="LqxxSaveReqRules" label-width="130">
57
+      <el-row>
58
+        <el-col :span="12">
59
+          <el-form-item label="仓房外温(℃)">
60
+            <el-input v-model="LqxxSaveReq.cfww"/>
61
+          </el-form-item>
62
+        </el-col>
63
+        <el-col :span="12">
64
+          <el-form-item label="仓房外湿度(%)">
65
+            <el-input v-model="LqxxSaveReq.cfww"/>
66
+          </el-form-item>
67
+        </el-col>
68
+      </el-row>
69
+      <el-row>
70
+        <el-col :span="12">
71
+          <el-form-item label="仓房内温(℃)">
72
+            <el-input v-model="LqxxSaveReq.cfww"/>
73
+          </el-form-item>
74
+        </el-col>
75
+        <el-col :span="12">
76
+          <el-form-item label="仓房内湿(%)">
77
+            <el-input v-model="LqxxSaveReq.cfww"/>
78
+          </el-form-item>
79
+        </el-col>
80
+      </el-row>
81
+      <el-row>
82
+        <el-col :span="12">
83
+          <el-form-item label="粮食最高温(℃)">
84
+            <el-input v-model="LqxxSaveReq.cfww"/>
85
+          </el-form-item>
86
+        </el-col>
87
+        <el-col :span="12">
88
+          <el-form-item label="粮食最低温(℃)">
89
+            <el-input v-model="LqxxSaveReq.cfww"/>
90
+          </el-form-item>
91
+        </el-col>
92
+      </el-row>
93
+      <el-row>
94
+        <el-col :span="12">
95
+          <el-form-item label="粮食平均温(℃)">
96
+            <el-input v-model="LqxxSaveReq.cfww"/>
97
+          </el-form-item>
98
+        </el-col>
99
+
100
+      </el-row>
101
+      <el-row>
102
+
103
+        <el-col :span="12">
104
+          <el-form-item label="附件">
105
+            <UploadImgs v-model="LqxxSaveReq.fileIds"/>
106
+          </el-form-item>
107
+        </el-col>
108
+      </el-row>
109
+    </el-form>
110
+    <el-divider/>
111
+    <div class="flex justify-end">
112
+      <el-button
113
+        v-show="type == 'create'" type="primary" :disabled="formLoading"
114
+        @click="createLqxx">新增
115
+      </el-button>
116
+      <el-button
117
+        v-show="type == 'update'" type="primary" :disabled="formLoading"
118
+        @click="updateLqxx">更新
119
+      </el-button>
120
+    </div>
121
+
122
+  </div>
123
+
124
+
7 125
 </template>
8 126
 
9
-<style scoped lang="scss">
127
+<style lang="scss" scoped>
10 128
 
11 129
 </style>

+ 93 - 4
src/views/DeliveryWarehouse/LibraryManagement/compontents/Zjxx.vue

@@ -1,11 +1,100 @@
1
-<script setup lang="ts">
1
+<script lang="ts" setup>
2
+import {LibraryManagementApi} from "@/api/DeliveryWarehouse/LibraryManagement";
2 3
 
3
-</script>
4
+const queryParams = ref({
5
+  pageNo: 1,
6
+  pageSize: 10
7
+})
8
+const list = ref([])
9
+const loading = ref(true)
10
+const total = ref(0)
11
+const row = inject('row')
12
+const type = ref('create')
13
+const handleQuery = async () => {
14
+  loading.value = true
15
+  await nextTick();
16
+  try {
17
+    const data = await LibraryManagementApi.getZjxxPage({id: row.value.id, ...queryParams.value})
18
+    if (data.total > 1 || !data || !data.list) {
19
+      type.value = 'create'
20
+    } else {
21
+      list.value = data.value;
22
+      total.value = data.value;
23
+    }
24
+  } catch (err) {
25
+    console.error('err', err)
26
+  } finally {
27
+    loading.value = false
28
+  }
29
+}
30
+const handleSelectionChange = async (selection: any) => {
31
+  console.log(selection)
32
+}
33
+const handleRow = async (row: any) => {
34
+  console.log(row)
35
+}
36
+const openFilesForm = (row: any) => {
37
+  console.log(row)
38
+}
39
+
40
+const createZjxx = async () => {
4 41
 
42
+}
43
+const updateZjxx = async (row: any) => {
44
+  console.log(row, 'row')
45
+}
46
+onMounted(async () => {
47
+  await handleQuery()
48
+})
49
+</script>
5 50
 <template>
6
-  <div>1112</div>
51
+  <div>
52
+    <el-table
53
+      v-loading="loading"
54
+      :border="true"
55
+      :data="list"
56
+      :header-cell-style="{
57
+            background: 'var(--table-header-bg-color) ', color: 'var(--table-header-text-color)', height: 'var(--table-header-height)'
58
+           }"
59
+      show-overflow-tooltip
60
+      tooltip-effect="dark"
61
+      @selection-change="handleSelectionChange"
62
+    >
63
+      <el-table-column align="center" fixed="left" label="序号" min-width="60" type="index"/>
64
+      <el-table-column align="center" label="检测类型" min-width="100" prop="rmsj"/>
65
+      <el-table-column align="center" label="检测时间" min-width="100" prop="lspzmc"/>
66
+      <el-table-column align="center" label="粮食品种" min-width="100" prop="lsdjbm"/>
67
+      <el-table-column align="center" label="粮食等级" min-width="180" prop="jz"/>
68
+      <el-table-column align="center" label="检测人员姓名" min-width="180" prop="cch"/>
69
+      <el-table-column align="center" label="粮食安全指标是否合格" min-width="180" prop="cch"/>
70
+      <el-table-column align="center" label="粮食安全指标是否合格" min-width="180" prop="cch"/>
71
+      <el-table-column align="center" label="附件(个)" min-width="120" prop="fileIds">
72
+        <template #default="scope">
73
+          <div
74
+            class="w-full color-[var(--el-color-primary)] cursor-pointer"
75
+            @click="openFilesForm(scope.row)"> {{ scope.row?.fileIds?.length }}
76
+          </div>
77
+        </template>
78
+      </el-table-column>
79
+<!--      <el-table-column align="center" label="操作" min-width="120" prop="lxdh">-->
80
+<!--        <template #default="scope">-->
81
+<!--          <div-->
82
+<!--            class="w-full color-[var(&#45;&#45;el-color-primary)] cursor-pointer"-->
83
+<!--            @click="handleRow(scope.row)">详情-->
84
+<!--          </div>-->
85
+<!--        </template>-->
86
+<!--      </el-table-column>-->
87
+    </el-table>
88
+    <Pagination
89
+      v-model:limit="queryParams.pageSize"
90
+      v-model:page="queryParams.pageNo"
91
+      :total="total"
92
+      @pagination="handleQuery"
93
+    />
94
+  </div>
95
+
7 96
 </template>
8 97
 
9
-<style scoped lang="scss">
98
+<style lang="scss" scoped>
10 99
 
11 100
 </style>