hookehuyr

物资信息页面完善和相关页面链接

1 +<!--
2 + * @Date: 2024-07-23 18:31:35
3 + * @LastEditors: hookehuyr hookehuyr@gmail.com
4 + * @LastEditTime: 2024-07-24 11:00:42
5 + * @FilePath: /temple_material_request/src/components/materialDetail/index.vue
6 + * @Description: 物资详情页面
7 +-->
8 +<template>
9 + <div class="material-detail-page">
10 + <van-popup
11 + v-model:show="showRight"
12 + position="right"
13 + closeable
14 + @close="onClose"
15 + :style="{ height: '100%', width: '100%' }"
16 + >
17 + <div style="margin-top: 3rem; background-color: white;">
18 + <div style="display: flex; justify-content: center; align-items: center;">
19 + <div style="padding: 2rem 5rem; padding-bottom: 2rem; border: 1px solid #F2EDE6; background-color: #FFFDF6; text-align: center;">
20 + <van-image
21 + width="6rem"
22 + height="6rem"
23 + fit="contain"
24 + src="https://cdn.ipadbiz.cn/oa/pic/%E7%89%A9%E8%B5%84%E5%9B%BE@2x.png"
25 + />
26 + <div style="color: #e0d0ba; margin-top: 1rem;">物资图正在整理中</div>
27 + </div>
28 + </div>
29 + <div style="text-align: center; font-weight: bold; color: #A67939; font-size: 1.15rem; margin: 1.5rem auto;">口袋义工服T恤(绿)</div>
30 + <div style="color: #1C1C1C; background-color: #F2F2F2; font-size: 1rem; font-weight: bold; padding: 0.5rem 1.5rem;">基本信息</div>
31 + <div style="padding: 1rem;">
32 + <van-row style="margin-bottom: 0.5rem;">
33 + <van-col span="8" style="color: #AFAFAF;">编码</van-col>
34 + <van-col span="16">XFZ0021004</van-col>
35 + </van-row>
36 + <van-row style="margin-bottom: 0.5rem;">
37 + <van-col span="8" style="color: #AFAFAF;">规格</van-col>
38 + <van-col span="16">XXL</van-col>
39 + </van-row>
40 + <van-row style="margin-bottom: 0.5rem;">
41 + <van-col span="8" style="color: #AFAFAF;">单位</van-col>
42 + <van-col span="16">件</van-col>
43 + </van-row>
44 + <van-row style="margin-bottom: 0.5rem;">
45 + <van-col span="8" style="color: #AFAFAF;">分类</van-col>
46 + <van-col span="16">新服装</van-col>
47 + </van-row>
48 + <van-row style="margin-bottom: 0.5rem;">
49 + <van-col span="8" style="color: #AFAFAF;">描述</van-col>
50 + <van-col span="16">/</van-col>
51 + </van-row>
52 + <van-row style="margin-bottom: 0.5rem;">
53 + <van-col span="8" style="color: #AFAFAF;">条码</van-col>
54 + <van-col span="16">/</van-col>
55 + </van-row>
56 + <van-row style="margin-bottom: 0.5rem;">
57 + <van-col span="8" style="color: #AFAFAF;">价格</van-col>
58 + <van-col span="16">/</van-col>
59 + </van-row>
60 + <van-row style="margin-bottom: 0.5rem;">
61 + <van-col span="8" style="color: #AFAFAF;">是否可定</van-col>
62 + <van-col span="16">可定</van-col>
63 + </van-row>
64 + <van-row style="margin-bottom: 0.5rem;">
65 + <van-col span="8" style="color: #AFAFAF;">状态</van-col>
66 + <van-col span="16">上架</van-col>
67 + </van-row>
68 + </div>
69 + </div>
70 + </van-popup>
71 + </div>
72 +</template>
73 +
74 +<script setup>
75 +import { ref } from 'vue'
76 +import { useRoute, useRouter } from 'vue-router'
77 +
78 +import { Cookies, $, _, axios, storeToRefs, mainStore, Toast, useTitle } from '@/utils/generatePackage.js'
79 +//import { } from '@/utils/generateModules.js'
80 +//import { } from '@/utils/generateIcons.js'
81 +//import { } from '@/composables'
82 +const $route = useRoute();
83 +const $router = useRouter();
84 +useTitle($route.meta.title);
85 +
86 +const props = defineProps({
87 + show: Boolean,
88 +});
89 +const emit = defineEmits(['close']);
90 +const showRight = ref(false);
91 +const onClose = () => {
92 + emit('close');
93 +}
94 +
95 +// 监听字段变化
96 +watch(
97 + () => props.show,
98 + (v) => {
99 + showRight.value = v;
100 + }
101 +);
102 +</script>
103 +
104 +<style lang="less" scoped>
105 +.material-detail-page {}
106 +</style>
1 <!-- 1 <!--
2 * @Date: 2024-07-23 10:50:38 2 * @Date: 2024-07-23 10:50:38
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2024-07-23 16:36:26 4 + * @LastEditTime: 2024-07-24 11:04:16
5 * @FilePath: /temple_material_request/src/views/material_list.vue 5 * @FilePath: /temple_material_request/src/views/material_list.vue
6 * @Description: 物资情况页面 6 * @Description: 物资情况页面
7 --> 7 -->
...@@ -39,6 +39,8 @@ ...@@ -39,6 +39,8 @@
39 <van-button @click="onClickRequest" type="primary" block :color="styleColor.baseColor">我要申领</van-button> 39 <van-button @click="onClickRequest" type="primary" block :color="styleColor.baseColor">我要申领</van-button>
40 </div> 40 </div>
41 </div> 41 </div>
42 +
43 + <material-detail :show="show_material_detail" @close="onCloseDetail"></material-detail>
42 </template> 44 </template>
43 45
44 <script setup> 46 <script setup>
...@@ -50,6 +52,7 @@ import { Cookies, $, _, axios, storeToRefs, mainStore, Toast, useTitle } from '@ ...@@ -50,6 +52,7 @@ import { Cookies, $, _, axios, storeToRefs, mainStore, Toast, useTitle } from '@
50 //import { } from '@/utils/generateIcons.js' 52 //import { } from '@/utils/generateIcons.js'
51 //import { } from '@/composables' 53 //import { } from '@/composables'
52 import { styleColor } from "@/constant.js"; 54 import { styleColor } from "@/constant.js";
55 +import materialDetail from '@/components/materialDetail/index.vue';
53 56
54 const $route = useRoute(); 57 const $route = useRoute();
55 const $router = useRouter(); 58 const $router = useRouter();
...@@ -84,6 +87,7 @@ const onLoad = () => { ...@@ -84,6 +87,7 @@ const onLoad = () => {
84 87
85 const onClickTitle = (item) => { // 点击物资标题回调 88 const onClickTitle = (item) => { // 点击物资标题回调
86 console.warn(item); 89 console.warn(item);
90 + show_material_detail.value = true;
87 } 91 }
88 92
89 const onClickRequest = () => { // 我要申领物资 93 const onClickRequest = () => { // 我要申领物资
...@@ -91,6 +95,11 @@ const onClickRequest = () => { // 我要申领物资 ...@@ -91,6 +95,11 @@ const onClickRequest = () => { // 我要申领物资
91 path: '/material_request' 95 path: '/material_request'
92 }) 96 })
93 } 97 }
98 +
99 +const show_material_detail = ref(false);
100 +const onCloseDetail = () => {
101 + show_material_detail.value = false;
102 +}
94 </script> 103 </script>
95 104
96 <style lang="less" scoped> 105 <style lang="less" scoped>
......
1 <!-- 1 <!--
2 * @Date: 2024-07-23 12:53:15 2 * @Date: 2024-07-23 12:53:15
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2024-07-23 18:17:22 4 + * @LastEditTime: 2024-07-23 18:27:27
5 * @FilePath: /temple_material_request/src/views/material_pre_request.vue 5 * @FilePath: /temple_material_request/src/views/material_pre_request.vue
6 * @Description: 待申领物资页面 6 * @Description: 待申领物资页面
7 --> 7 -->
8 <template> 8 <template>
9 <div class="material-pre-request-page"> 9 <div class="material-pre-request-page">
10 <div class="list-wrapper"> 10 <div class="list-wrapper">
11 + <van-sticky>
11 <van-row justify="space-between" class="select-all-item"> 12 <van-row justify="space-between" class="select-all-item">
12 <van-col span="8"> 13 <van-col span="8">
13 <!-- TODO:编辑模式下,不能确认申请 --> 14 <!-- TODO:编辑模式下,不能确认申请 -->
...@@ -20,6 +21,7 @@ ...@@ -20,6 +21,7 @@
20 <van-icon name="delete-o" />&nbsp;删除 21 <van-icon name="delete-o" />&nbsp;删除
21 </van-col> 22 </van-col>
22 </van-row> 23 </van-row>
24 + </van-sticky>
23 <van-list 25 <van-list
24 v-model:loading="loading" 26 v-model:loading="loading"
25 :finished="finished" 27 :finished="finished"
...@@ -85,6 +87,7 @@ ...@@ -85,6 +87,7 @@
85 </van-dialog> 87 </van-dialog>
86 88
87 <choose-material :show="show_choose_material" @close="onCloseChoose"></choose-material> 89 <choose-material :show="show_choose_material" @close="onCloseChoose"></choose-material>
90 + <material-detail :show="show_material_detail" @close="onCloseDetail"></material-detail>
88 91
89 </template> 92 </template>
90 93
...@@ -99,7 +102,7 @@ import { Cookies, $, _, axios, storeToRefs, mainStore, Toast, useTitle } from '@ ...@@ -99,7 +102,7 @@ import { Cookies, $, _, axios, storeToRefs, mainStore, Toast, useTitle } from '@
99 import { styleColor } from "@/constant.js"; 102 import { styleColor } from "@/constant.js";
100 import dayjs from "dayjs"; 103 import dayjs from "dayjs";
101 import chooseMaterial from '@/components/chooseMaterial/index.vue'; 104 import chooseMaterial from '@/components/chooseMaterial/index.vue';
102 - 105 +import materialDetail from '@/components/materialDetail/index.vue';
103 106
104 const $route = useRoute(); 107 const $route = useRoute();
105 const $router = useRouter(); 108 const $router = useRouter();
...@@ -131,6 +134,7 @@ const onLoad = () => { ...@@ -131,6 +134,7 @@ const onLoad = () => {
131 134
132 const onClickTitle = (item) => { // 点击物资标题回调 135 const onClickTitle = (item) => { // 点击物资标题回调
133 console.warn(item); 136 console.warn(item);
137 + show_material_detail.value = true;
134 } 138 }
135 139
136 const showPicker = ref(false); 140 const showPicker = ref(false);
...@@ -170,6 +174,11 @@ const show_choose_material = ref(false); ...@@ -170,6 +174,11 @@ const show_choose_material = ref(false);
170 const onCloseChoose = () => { 174 const onCloseChoose = () => {
171 show_choose_material.value = false; 175 show_choose_material.value = false;
172 } 176 }
177 +
178 +const show_material_detail = ref(false);
179 +const onCloseDetail = () => {
180 + show_material_detail.value = false;
181 +}
173 </script> 182 </script>
174 183
175 <style lang="less" scoped> 184 <style lang="less" scoped>
...@@ -179,6 +188,7 @@ const onCloseChoose = () => { ...@@ -179,6 +188,7 @@ const onCloseChoose = () => {
179 width: 100%; 188 width: 100%;
180 .select-all-item { 189 .select-all-item {
181 padding: 0.5rem 1rem; 190 padding: 0.5rem 1rem;
191 + background-color: white;
182 } 192 }
183 .list-boxer { 193 .list-boxer {
184 margin: 0; padding: 1rem; border-top: 1px solid #f0f0f0; 194 margin: 0; padding: 1rem; border-top: 1px solid #f0f0f0;
......
1 <!-- 1 <!--
2 * @Date: 2024-07-23 12:53:15 2 * @Date: 2024-07-23 12:53:15
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2024-07-23 16:38:59 4 + * @LastEditTime: 2024-07-24 11:05:03
5 * @FilePath: /temple_material_request/src/views/material_request.vue 5 * @FilePath: /temple_material_request/src/views/material_request.vue
6 * @Description: 申领物资页面 6 * @Description: 申领物资页面
7 --> 7 -->
...@@ -54,6 +54,8 @@ ...@@ -54,6 +54,8 @@
54 </div> 54 </div>
55 55
56 <choose-material :show="show_choose_material" @close="onCloseChoose"></choose-material> 56 <choose-material :show="show_choose_material" @close="onCloseChoose"></choose-material>
57 + <material-detail :show="show_material_detail" @close="onCloseDetail"></material-detail>
58 +
57 </template> 59 </template>
58 60
59 <script setup> 61 <script setup>
...@@ -66,6 +68,7 @@ import { Cookies, $, _, axios, storeToRefs, mainStore, Toast, useTitle } from '@ ...@@ -66,6 +68,7 @@ import { Cookies, $, _, axios, storeToRefs, mainStore, Toast, useTitle } from '@
66 //import { } from '@/composables' 68 //import { } from '@/composables'
67 import { styleColor } from "@/constant.js"; 69 import { styleColor } from "@/constant.js";
68 import chooseMaterial from '@/components/chooseMaterial/index.vue'; 70 import chooseMaterial from '@/components/chooseMaterial/index.vue';
71 +import materialDetail from '@/components/materialDetail/index.vue';
69 72
70 const $route = useRoute(); 73 const $route = useRoute();
71 const $router = useRouter(); 74 const $router = useRouter();
...@@ -102,6 +105,7 @@ const onLoad = () => { ...@@ -102,6 +105,7 @@ const onLoad = () => {
102 105
103 const onClickTitle = (item) => { // 点击物资标题回调 106 const onClickTitle = (item) => { // 点击物资标题回调
104 console.warn(item); 107 console.warn(item);
108 + show_material_detail.value = true;
105 } 109 }
106 110
107 const addMore = () => { // 添加更多 111 const addMore = () => { // 添加更多
...@@ -122,6 +126,11 @@ const show_choose_material = ref(false); ...@@ -122,6 +126,11 @@ const show_choose_material = ref(false);
122 const onCloseChoose = () => { 126 const onCloseChoose = () => {
123 show_choose_material.value = false; 127 show_choose_material.value = false;
124 } 128 }
129 +
130 +const show_material_detail = ref(false);
131 +const onCloseDetail = () => {
132 + show_material_detail.value = false;
133 +}
125 </script> 134 </script>
126 135
127 <style lang="less" scoped> 136 <style lang="less" scoped>
......