添加分享页面

This commit is contained in:
yangjun 2025-11-24 08:55:03 +08:00
parent ea3c4129b2
commit ff7bb73ff6
11 changed files with 216 additions and 2 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
src/assets/images/t1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
src/assets/images/t2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
src/assets/images/t3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -17,4 +17,6 @@ export enum PageEnum {
H5_ADVISORYINFO = '/h5/advisoryInfo',
// h5白名单
H5_REGISTER_ADVISORY = '/h5/registerAdvisory',
// h5白名单
H5_CGD_SHARE = '/h5/CgdShareInfo',
}

View File

@ -25,12 +25,13 @@ const SYS_FILES_PATH = PageEnum.SYS_FILES_PATH;
const TOKEN_LOGIN = PageEnum.TOKEN_LOGIN;
const H5_ADVISORYINFO = PageEnum.H5_ADVISORYINFO;
const H5_REGISTER_ADVISORY = PageEnum.H5_REGISTER_ADVISORY;
const H5_CGD_SHARE = PageEnum.H5_CGD_SHARE;
const ROOT_PATH = RootRoute.path;
//update-begin---author:wangshuai ---date:20220629 for[issues/I5BG1I]vue3不支持auth2登录------------
//update-begin---author:wangshuai ---date:20221111 for: [VUEN-2472]分享免登录------------
const whitePathList: PageEnum[] = [LOGIN_PATH, OAUTH2_LOGIN_PAGE_PATH,SYS_FILES_PATH, TOKEN_LOGIN, H5_ADVISORYINFO,H5_REGISTER_ADVISORY ];
const whitePathList: PageEnum[] = [LOGIN_PATH, OAUTH2_LOGIN_PAGE_PATH,SYS_FILES_PATH, TOKEN_LOGIN, H5_ADVISORYINFO,H5_REGISTER_ADVISORY,H5_CGD_SHARE];
//update-end---author:wangshuai ---date:20221111 for: [VUEN-2472]分享免登录------------
//update-end---author:wangshuai ---date:20220629 for[issues/I5BG1I]vue3不支持auth2登录------------

View File

@ -84,5 +84,16 @@ export const H5_ADVISORYINFO: AppRouteRecordRaw = {
title: "选择入住",
},
};
//h5采购单分享列表
export const H5_CGD_SHARE: AppRouteRecordRaw = {
path: '/h5/CgdShareInfo',
name: 'CgdShareInfo',
component: () => import('../../views/invoicing/share/CgdShareInfo.vue'),
meta: {
title: "采购单明细",
},
};
// Basic routing without permission
export const basicRoutes = [LoginRoute, RootRoute, ...mainOutRoutes, REDIRECT_ROUTE, PAGE_NOT_FOUND_ROUTE, TokenLoginRoute, Oauth2LoginRoute,H5_REGISTER_ADVISORY,H5_ADVISORYINFO];
export const basicRoutes = [LoginRoute, RootRoute, ...mainOutRoutes, REDIRECT_ROUTE, PAGE_NOT_FOUND_ROUTE, TokenLoginRoute, Oauth2LoginRoute,H5_REGISTER_ADVISORY,H5_ADVISORYINFO,H5_CGD_SHARE];

View File

@ -0,0 +1,182 @@
<template >
<div class="p-2" style="height: 100%;font-family: 微软雅黑;">
<div style="text-align: right;">
<img src="/@/assets/images/logo-hldy.png" style="width: 100px;" >
</div>
<a-card style="width: 100%;border-radius: 16px;margin-top: 10px;">
<div style="height: 20px;">
<div style="display:block;width:30px;float:left;">
<img src="/@/assets/images/t1.png" style="width: 18px;" >
</div>
<div style="display:block;width:calc(100%-30px);float:left;margin-top:-2px;">
<span style="font-size: 18px;font-weight:700;">采购单信息</span>
</div>
</div>
<a-divider style="margin: 15px 0 10px 0;" />
<div>
<a-row>
<a-col :span="14">
<div class="content1" style="margin-left: 30px;">采购单号</div>
<div class="content2" style="margin-left: 30px;">{{shareInfo.cgdNo}}</div>
</a-col>
<a-col :span="10" style="text-align: right;">
<div class="content1">采购日期</div>
<div class="content2">{{shareInfo.qgrq}}</div>
</a-col>
</a-row>
</div>
<div style="display:block;">
<div style="height: 20px;margin-top: 20px;">
<div style="display:block;width:30px;float:left;">
<img src="/@/assets/images/t2.png" style="width: 18px;" >
</div>
<div style="display:block;width:calc(100%-30px);float:left;margin-top:-2px;">
<span style="font-size: 18px;font-weight:700;">采购方信息</span>
</div>
</div>
<a-divider style="margin: 15px 0 10px 0;" />
<div class="itembox">
<div>
<div class="content3">·</div>
<div class="content4">机构名称</div>
<div class="content5">{{shareInfo.jgmc}}</div>
</div>
<div>
<div class="content3">·</div>
<div class="content4">机构地址</div>
<div class="content5">{{shareInfo.jgdz}}</div>
</div>
<div>
<div class="content3">·</div>
<div class="content4"> </div>
<div class="content5">{{shareInfo.lxr}}</div>
</div>
<div>
<div class="content3">·</div>
<div class="content4">联系电话</div>
<div class="content5">{{shareInfo.lxrdh}}</div>
</div>
</div>
</div>
<div style="display:block;">
<div style="height: 20px;margin-top: 30px;margin:10px 0 10px 0;">
<div style="display:block;width:30px;float:left;">
<img src="/@/assets/images/t2.png" style="width: 18px;" >
</div>
<div style="display:block;width:calc(100%-30px);float:left;">
<span style="font-size: 18px;font-weight:700;">供应商信息</span>
</div>
</div>
<a-divider style="margin: 15px 0 10px 0;" />
<div style="display:flex; font-weight:400;color:#555">
<div class="content3">·</div>
<div class="content6">供应商名称</div>
<div class="content7">{{shareInfo.gysmc}}</div>
</div>
</div>
</a-card>
<a-card style="width: 100%;border-radius: 16px;margin-top: 10px;" v-for="item in shareInfo.wlList">
<div style="height: 20px;">
<span style="font-size: 18px;font-weight:700;">{{item.wlName}}</span>
</div>
<a-divider style="margin: 15px 0 10px 0;" />
<a-row>
<a-col :span="12">
<span>采购数量{{item.purchaseQuantity}}</span>
</a-col>
<a-col :span="12" style="text-align: right;">
<span>采购单位{{item.wlUnits}}</span>
</a-col>
<a-col :span="24" style="margin-top: 10px;">
<span>规格型号{{item.wlSpecificationModel}}</span>
</a-col>
</a-row>
</a-card>
<div style="height: 40px;">
&nbsp;
</div>
</div>
</template>
<script lang="ts" name="warehouseMaterialInfo-blWarehouseMaterialInfo" setup>
import { ref, reactive,unref, onMounted } from 'vue';
import { cklist, deleteOne, batchDelete, getImportUrl, getExportUrl } from './BlWarehouseMaterialInfo.api';
import { defHttp } from '/@/utils/http/axios';
import { useMessage } from "/@/hooks/web/useMessage";
import {useRouter} from "vue-router";
//
const { currentRoute } = useRouter();
const { query } = unref(currentRoute);
const { cgdId } = query;//
const { createConfirm , createMessage } = useMessage();
const shareInfo = ref<any>({});
const formRef = ref();
const queryParam = reactive<any>({areaFlag:'3'});
onMounted(() => {
defHttp.get({url:"/api/pad/invoicing/getShareInfoByCgdId",params:{id:cgdId}}).then(res=>{
console.log(res);
shareInfo.value = res;
});
});
</script>
<style lang="less" scoped>
.content1{
font-size: 14px;
color: #8c8d8e;;
}
.content2{
font-size: 14px;
font-weight: 700;
}
.itembox{
min-height: 140px;
display: block;
>div{
display: flex;
width: 100%;
min-height: 25px;
line-height: 25px;
font-weight: 400;
color: #555;
}
}
.content3{
display: inline-block;
font-weight: 700;
width:30px;
text-align: center;
float: left;
position: relative;
font-size: 30px;
height: 25px;
line-height: 25px;
}
.content4{
float: left;
width:75px;
}
.content5{
float: left;
width: calc(65%);
}
.content6{
width: 90px;
}
.content7{
width: calc(63%);
}
</style>
<style>
body{
background: #f5f5f5;
}
</style>

View File

@ -0,0 +1,15 @@
import { defHttp } from '/@/utils/http/axios';
import { useMessage } from "/@/hooks/web/useMessage";
const { createConfirm } = useMessage();
enum Api {
list = '/invoicing/blWarehouseMaterialInfo/list',
}
/**
*
* @param params
*/
export const list = (params) => defHttp.get({ url: Api.list, params });

View File

@ -111,6 +111,7 @@ import { useMessage } from "/@/hooks/web/useMessage";
const formRef = ref();
const queryParam = reactive<any>({});
const nuId = ref<string>('');
const toggleSearchStatus = ref<boolean>(false);
const registerModal = ref();
const registerAddModal = ref();
@ -298,6 +299,7 @@ function searchQuery() {
function searchReset() {
formRef.value.resetFields();
selectedRowKeys.value = [];
queryParam.nuId = nuId.value;
//
reload();
}
@ -305,6 +307,7 @@ function searchReset() {
function init(record) {
queryParam.nuId = record.nuId;
nuId.value = record.nuId;
reload();
}