新增模块

This commit is contained in:
xiaokangsix 2024-04-26 22:41:50 +08:00
parent 5a114f5567
commit 0d439c842f
7 changed files with 1487 additions and 1029 deletions

View File

@ -1405,6 +1405,29 @@
"navigationBarTitleText": "", "navigationBarTitleText": "",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
},
{
"path": "pages/projectEnd/ukashManage/lookDetails",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
},
{
"path" : "pages/projectEnd/visitorsManage/visitorsManage",
"style" :
{
"navigationBarTitleText" : "访客管理",
"enablePullDownRefresh" : true
}
},
{
"path" : "pages/projectEnd/visitorsManage/visitorsDetails",
"style" :
{
"navigationBarTitleText" : "",
"enablePullDownRefresh" : false
}
} }
], ],
// "subPackages":[{ // "subPackages":[{

File diff suppressed because it is too large Load Diff

View File

@ -1,50 +1,109 @@
<template> <template>
<view class="projectList"> <view class="projectList">
<headers class="fixedheader" :themeType="true" :showBack="true"> <headers class="fixedheader" :themeType="true" :showBack="true">
<view class="headerName"> <view class="headerName">
查看明细 查看明细
</view> </view>
</headers> </headers>
<view class="details"> <view class="details">
<view class="details-item">
</view> <span>材料名称</span>
</view> <span>{{result.name}}</span>
</view>
<view class="details-item">
<span>型号</span>
<span>{{result.model}}</span>
</view>
<view class="details-item">
<span>规格</span>
<span>{{result.specifications}}</span>
</view>
<view class="details-item">
<span>单位</span>
<span>{{result.unit}}</span>
</view>
<view class="details-item">
<span>数量</span>
<span>{{result.num}}</span>
</view>
<view class="details-item" style="height: 100px;">
<span>备注</span>
<span class="details-remark">{{result.remark}}</span>
</view>
</view>
</view>
</template> </template>
<script> <script>
import headers from '../../../components/headers/headers.vue' import headers from '../../../components/headers/headers.vue'
export default { export default {
data() { data() {
return { return {
id: '',
result:{}
}
},
onShow() {
this.getDetails()
},
onLoad(vai) {
this.id = vai.itemS
},
onReachBottom() {
} },
}, onPullDownRefresh() {
onShow() {
},
onLoad(vai) {
}, },
onReachBottom() { methods: {
getDetails() {
}, let data = {
onPullDownRefresh() { id: this.id
}
}, let _this = this
methods: { this.sendRequest({
url: 'xmgl/xzMaterialDetail/queryById',
} method: 'post',
} data: data,
success: res => {
console.log(res);
this.result = res.result
}
})
}
}
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.projectList{ .projectList {
min-height: 100%; min-height: 100%;
background: #f4f5fd; background: #f4f5fd;
.details{
margin: 10px; .details {
background-color: #fff; margin: 10px;
background-color: #fff;
height: 380px;
border-radius: 4px;
.details-item {
height: 50px;
border-bottom: 1px solid #e4e6ef;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 15px;
.details-remark{
width: 150px;
height: 70px;
border: 1px solid #e4e6ef;
overflow: auto;
word-wrap: break-word; /* 允许在单词内换行 */
overflow-wrap: break-word; /* 另一个允许换行的属性,用于更好的浏览器兼容性 */
white-space: normal; /* 确保文本正常换行,而不是保持在一行 */
}
}
}
} }
}
</style> </style>

View File

@ -5,18 +5,24 @@
材料入场管理 材料入场管理
</view> </view>
</headers> </headers>
<view> <view v-if="dataList.length > 0">
<view class="ukashList"> <view class="ukashList" v-for="item in dataList" :key="item.id">
<!-- @click="jobLookDetails(item.id)" 暂时不跳详情页 -->
<view class="ukashList-what"> <view class="ukashList-what">
<span style="font-size: 14px;font-weight: 700;">0000</span> <span style="font-size: 14px;font-weight: 700;">材料名称: {{item.name}}</span>
<span class="ukashList-look">查看明细</span> <span class="ukashList-look">查看明细</span>
</view> </view>
<view class="ukashList-time">型号: 2222s</view> <view class="ukashList-time">型号: {{item.model}}</view>
<view class="ukashList-time">规格: 2222s</view> <view class="ukashList-time">规格: {{item.specifications}}</view>
<view class="ukashList-time">单位: 2222s</view> <view class="ukashList-time">单位: {{item.unit}}</view>
<view class="ukashList-time">数量: 2222s</view> <view class="ukashList-time">数量: {{item.num}}</view>
<view class="ukashList-time">备注: {{item.remark}}</view>
</view> </view>
</view> </view>
<view class="no-data" v-else>
<image class="img" src="/static/noData.png"></image>
<text class="txt">暂无数据</text>
</view>
</view> </view>
</template> </template>
@ -58,29 +64,34 @@
methods: { methods: {
queryList() { queryList() {
let data = { let data = {
id:this.id materialId: this.id
} }
let _this = this let _this = this
this.sendRequest({ this.sendRequest({
url: 'xmgl/xzMaterialDetail/queryById', url: 'xmgl/xzMaterialDetail/list',
method: 'post', method: 'post',
data: data, data: data,
success: res => { success: res => {
console.log(res); console.log(res);
// this.dataList =res.result.records this.dataList = res.result
// if (res.result.records.length < this.pageSize) { if (res.result.length < this.pageSize) {
// // //
// this.isLoadMore = true this.isLoadMore = true
// this.loadStatus = 'nomore' this.loadStatus = 'nomore'
// } else { } else {
// this.isLoadMore = false this.isLoadMore = false
// // that.loadStatus='more' // that.loadStatus='more'
// } }
// uni.stopPullDownRefresh() uni.stopPullDownRefresh()
// // console.log(res.result) // console.log(res.result)
} }
}) })
}, },
jobLookDetails(id){
uni.navigateTo({
url: './lookDetails?itemS=' + id
})
}
} }
} }
</script> </script>
@ -101,7 +112,7 @@
} }
.ukashList { .ukashList {
height: 163px; height: 193px;
background-color: #fff; background-color: #fff;
margin: 10px 10px; margin: 10px 10px;
border-radius: 15px; border-radius: 15px;
@ -129,5 +140,22 @@
color: #b9bbc9; color: #b9bbc9;
} }
} }
.no-data {
text-align: center;
.img {
display: block;
height: 200rpx;
width: 200rpx;
margin: 0 auto;
margin-top: 60rpx;
margin-bottom: 60rpx;
}
.txt {
color: #C0C4CC;
}
}
} }
</style> </style>

View File

@ -5,8 +5,8 @@
材料入场管理 材料入场管理
</view> </view>
</headers> </headers>
<input class="uni-input" name="searchName" v-model="search" placeholder="请搜索" /> <input class="uni-input" name="searchName" v-model="search" placeholder="请搜索" @input="handleInput" />
<view> <view v-if="dataList.length > 0">
<view class="ukashList" v-for="item in dataList" :key="item.id" @click="jobMaterials(item.id)"> <view class="ukashList" v-for="item in dataList" :key="item.id" @click="jobMaterials(item.id)">
<view class="ukashList-what"> <view class="ukashList-what">
<span style="font-size: 14px;font-weight: 700;">{{item.name}}</span> <span style="font-size: 14px;font-weight: 700;">{{item.name}}</span>
@ -15,6 +15,10 @@
<view class="ukashList-time">入场时间: {{item.entryTime}}</view> <view class="ukashList-time">入场时间: {{item.entryTime}}</view>
</view> </view>
</view> </view>
<view class="no-data" v-else>
<image class="img" src="/static/noData.png"></image>
<text class="txt">暂无数据</text>
</view>
</view> </view>
</template> </template>
@ -36,10 +40,11 @@
}, },
onReachBottom() { onReachBottom() {
console.log(99999); console.log(99999);
// this.pageNo += 1
// this.queryList()
if (!this.isLoadMore) { if (!this.isLoadMore) {
this.isLoadMore = true this.pageNo += 1;
this.pageNo + 1 this.queryList();
this.queryList()
} }
}, },
onPullDownRefresh() { onPullDownRefresh() {
@ -49,10 +54,11 @@
this.queryList() this.queryList()
}, },
methods: { methods: {
queryList() { queryList(name = null) {
let data = { let data = {
pageNo: this.pageNo, pageNo: this.pageNo,
pageSize: this.pageSize pageSize: this.pageSize,
name: name ? name : null
} }
let _this = this let _this = this
this.sendRequest({ this.sendRequest({
@ -61,7 +67,8 @@
data: data, data: data,
success: res => { success: res => {
console.log(res); console.log(res);
this.dataList = res.result.records this.dataList=this.dataList.concat(res.result.records)
// this.dataList = res.result.records
if (res.result.records.length < this.pageSize) { if (res.result.records.length < this.pageSize) {
// //
this.isLoadMore = true this.isLoadMore = true
@ -79,6 +86,11 @@
uni.navigateTo({ uni.navigateTo({
url: './materials?itemS=' + id url: './materials?itemS=' + id
}) })
},
handleInput(e) {
console.log(e);
this.dataList = null
this.queryList(e.detail.value)
} }
} }
} }
@ -128,5 +140,22 @@
color: #b9bbc9; color: #b9bbc9;
} }
} }
.no-data {
text-align: center;
.img {
display: block;
height: 200rpx;
width: 200rpx;
margin: 0 auto;
margin-top: 60rpx;
margin-bottom: 60rpx;
}
.txt {
color: #C0C4CC;
}
}
} }
</style> </style>

View File

@ -0,0 +1,129 @@
<template>
<view class="projectList">
<headers class="fixedheader" :themeType="true" :showBack="true">
<view class="headerName">
查看明细
</view>
</headers>
<view class="details">
<view class="details-item">
<span>访客姓名</span>
<span>{{result.name}}</span>
</view>
<view class="details-item">
<span>访客身份证号</span>
<span>{{result.model}}</span>
</view>
<view class="details-item">
<span>预约人姓名</span>
<span>{{result.specifications}}</span>
</view>
<view class="details-item">
<span>预约结果</span>
<span>{{result.unit}}</span>
</view>
<view class="details-item">
<span>预约有效开始时间</span>
<span>{{result.num}}</span>
</view>
<view class="details-item">
<span>预约有效结束时间</span>
<span>{{result.num}}</span>
</view>
<view class="details-state" style="height: 100px;">
<span>当前状态</span>
<span>{{result.remark}}</span>
</view>
</view>
<view class="delete">删除</view>
</view>
</template>
<script>
import headers from '../../../components/headers/headers.vue'
export default {
data() {
return {
id: '',
result: {}
}
},
onShow() {
this.getDetails()
},
onLoad(vai) {
this.id = vai.itemS
},
onReachBottom() {
},
onPullDownRefresh() {
},
methods: {
getDetails() {
let data = {
id: this.id
}
let _this = this
this.sendRequest({
url: 'xmgl/xzMaterialDetail/queryById',
method: 'post',
data: data,
success: res => {
console.log(res);
this.result = res.result
}
})
}
}
}
</script>
<style lang="scss" scoped>
.projectList {
min-height: 100%;
background: #f4f5fd;
position: relative;
.details {
margin: 10px;
background-color: #fff;
height: 380px;
border-radius: 4px;
.details-item {
height: 50px;
border-bottom: 1px solid #e4e6ef;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 15px;
}
}
.details-state {
display: flex;
justify-content: space-between;
padding: 0 15px;
margin-top: 15px;
}
.delete{
position: absolute;
bottom: 60px;
left: 0;
height: 50px;
background-color: #eb3b43;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
color: #fff;
font-size: 16px;
}
}
</style>

View File

@ -0,0 +1,185 @@
<template>
<view class="projectList">
<headers class="fixedheader" :themeType="true" :showBack="true">
<view class="headerName">
访客管理
</view>
</headers>
<input class="uni-input" name="searchName" v-model="search" placeholder="请搜索访客姓名" @input="handleInput" />
<view>
<view class="visitors" @click="jobMaterials('ooooooo')">
<view class="ukashList-what">
<span>访客姓名:浏览</span>
<span :class="['ukashList-look',state === 0 ? 'green' : 'red']">访客姓名:浏览</span>
</view>
<view class="ukashList-time">访客身份证号:</view>
<view class="ukashList-time">预约人姓名:</view>
<view class="ukashList-time">预约开始时间:</view>
<view class="ukashList-what" style="font-size: 12px;color: #b9bbc9;">
<span>预约结束时间:</span>
<span :class="['ukashList-look',isBrowsing === 0 ? 'blue' : 'grey']">访客姓名:浏览</span>
</view>
</view>
</view>
<!-- <view class="no-data" v-else>
<image class="img" src="/static/noData.png"></image>
<text class="txt">暂无数据</text>
</view> -->
</view>
</template>
<script>
import headers from '../../../components/headers/headers.vue'
export default {
data() {
return {
search: '',
pageNo: 1,
pageSize: 10,
isLoadMore: false,
dataList: [],
state: 1,
isBrowsing : 0
}
},
onShow() {
this.queryList()
},
onReachBottom() {
console.log(99999);
if (!this.isLoadMore) {
this.isLoadMore = true
this.queryList()
}
},
onPullDownRefresh() {
console.log(222);
this.pageNo = 1
this.dataList = []
this.queryList()
},
methods: {
queryList(name = null) {
let data = {
pageNo: this.pageNo,
pageSize: this.pageSize,
visitName: name ? name : null
}
let _this = this
this.sendRequest({
url: 'xmgl/visitorManageRecord/list',
method: 'post',
data: data,
success: res => {
console.log(res);
this.dataList = res.result.records
if (res.result.records.length < this.pageSize) {
//
this.isLoadMore = true
this.loadStatus = 'nomore'
} else {
this.isLoadMore = false
// that.loadStatus='more'
}
uni.stopPullDownRefresh()
// console.log(res.result)
}
})
},
jobMaterials(id) {
uni.navigateTo({
url: './visitorsDetails?itemS=' + id
})
},
handleInput(e) {
console.log(e);
this.dataList = null
this.queryList(e.detail.value)
}
}
}
</script>
<style lang="scss" scoped>
.projectList {
min-height: 100%;
background: #f4f5fd;
.uni-input {
border-radius: 10px;
margin: 10px 10px;
background-color: #e6e7ef;
height: 35px;
line-height: 30px;
padding: 0 20px;
font-size: 14px;
}
.visitors {
height: 150px;
background-color: #fff;
border-radius: 5px;
margin: 10px;
.ukashList-what {
display: flex;
justify-content: space-between;
margin: 0 20px;
padding-top: 10px;
.ukashList-look {
// background-color: #5081f7;
border-radius: 10px;
padding: 0 4px 2px 4px;
font-size: 12px;
text-align: center;
color: #fff;
}
}
.ukashList-time {
margin-top: 10px;
margin-left: 20px;
font-size: 12px;
color: #b9bbc9;
}
}
.no-data {
text-align: center;
.img {
display: block;
height: 200rpx;
width: 200rpx;
margin: 0 auto;
margin-top: 60rpx;
margin-bottom: 60rpx;
}
.txt {
color: #C0C4CC;
}
}
}
.green {
background-color: #10b12a;
}
.blue {
background-color: #5081f7;
}
.red {
background-color: #eb3b43;
}
.grey {
background-color: #a3a5b0;
}
</style>