Merge branch 'bjxz-lk' into bjxz-dev

This commit is contained in:
xiaokangsix 2024-04-27 19:17:23 +08:00
commit a7a1af5f61
8 changed files with 1585 additions and 1040 deletions

View File

@ -1426,6 +1426,36 @@
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
},
{
"path": "pages/projectEnd/ukashManage/materials",
"style": {
"navigationBarTitleText": "",
"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":[{

File diff suppressed because it is too large Load Diff

View File

@ -70,10 +70,10 @@
<image class="moudle-icon" src="/static/safeMange/danger_project.png"></image>
<text>危大工程</text>
</view>
<!-- <view class="moudle-item flex" @click="jumpPage(7)" v-if="COMPANY != 'sanjiang'">-->
<!-- <image class="moudle-icon" src="/static/safeMange/danger_check.png"></image>-->
<!-- <text>危大验收</text>-->
<!-- </view>-->
<!-- <view class="moudle-item flex" @click="jumpPage(7)" v-if="COMPANY != 'sanjiang'">
<image class="moudle-icon" src="/static/safeMange/danger_check.png"></image>
<text>危大验收</text>
</view> -->
<!-- <view class="moudle-item flex" @click="jumpPage(6)">
<image class="moudle-icon" src="/static/safeMange/enterprise_examine.png"></image>
<text>企业检查</text>

View File

@ -1,50 +1,109 @@
<template>
<view class="projectList">
<headers class="fixedheader" :themeType="true" :showBack="true">
<view class="headerName">
查看明细
</view>
</headers>
<view class="details">
</view>
</view>
<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" style="height: 100px;">
<span>备注</span>
<span class="details-remark">{{result.remark}}</span>
</view>
</view>
</view>
</template>
<script>
import headers from '../../../components/headers/headers.vue'
import headers from '../../../components/headers/headers.vue'
export default {
data() {
return {
export default {
data() {
return {
id: '',
result:{}
}
},
onShow() {
this.getDetails()
},
onLoad(vai) {
this.id = vai.itemS
},
onReachBottom() {
}
},
onShow() {
},
onLoad(vai) {
},
onPullDownRefresh() {
},
onReachBottom() {
},
onPullDownRefresh() {
},
methods: {
}
}
},
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;
.details{
margin: 10px;
background-color: #fff;
.projectList {
min-height: 100%;
background: #f4f5fd;
.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-remark{
width: 150px;
height: 70px;
border: 1px solid #e4e6ef;
overflow: auto;
word-wrap: break-word; /* 允许在单词内换行 */
overflow-wrap: break-word; /* 另一个允许换行的属性,用于更好的浏览器兼容性 */
white-space: normal; /* 确保文本正常换行,而不是保持在一行 */
}
}
}
}
}
</style>

View File

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

View File

@ -5,16 +5,21 @@
材料入场管理
</view>
</headers>
<input class="uni-input" name="searchName" v-model="search" placeholder="请搜索" />
<view>
<input class="uni-input" name="searchName" v-model="search" placeholder="请搜索" @input="handleInput" />
<view v-if="dataList.length > 0">
<view class="ukashList" v-for="item in dataList" :key="item.id" @click="jobMaterials(item.id)">
<view class="ukashList-what">
<span style="font-size: 14px;font-weight: 700;">{{item.name}}</span>
<span class="ukashList-look">查看明细</span>
</view>
<view class="ukashList-time">企业: {{item.enterpriseName}}</view>
<view class="ukashList-time">入场时间: {{item.entryTime}}</view>
</view>
</view>
<view class="no-data" v-else>
<image class="img" src="/static/noData.png"></image>
<text class="txt">暂无数据</text>
</view>
</view>
</template>
@ -28,18 +33,20 @@
pageNo: 1,
pageSize: 10,
isLoadMore: false,
dataList: []
dataList: [],
isFinished: false
}
},
onShow() {
onLoad() {
this.queryList()
},
onReachBottom() {
console.log(99999);
// this.pageNo += 1
// this.queryList()
if (!this.isLoadMore) {
this.isLoadMore = true
this.pageNo + 1
this.queryList()
this.pageNo += 1;
this.queryList();
}
},
onPullDownRefresh() {
@ -47,12 +54,13 @@
this.pageNo = 1
this.dataList = []
this.queryList()
this.isFinished = false
},
methods: {
queryList() {
let data = {
pageNo: this.pageNo,
pageSize: this.pageSize
pageSize: this.pageSize,
}
let _this = this
this.sendRequest({
@ -61,11 +69,14 @@
data: data,
success: res => {
console.log(res);
this.dataList = res.result.records
// this.dataList = this.dataList.concat(res.result.records)
this.dataList = [...this.dataList, ...res.result.records]
// console.log(this.dataList , res.result.total);
// 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'
@ -79,6 +90,37 @@
uni.navigateTo({
url: './materials?itemS=' + id
})
},
handleInput(e) {
this.dataList = []
let data = {
pageNo: this.pageNo,
pageSize: this.pageSize,
name: e.detail.value ? e.detail.value : null
}
let _this = this
this.sendRequest({
url: 'xmgl/xzMaterial/page',
method: 'post',
data: data,
success: res => {
console.log(res);
// this.dataList = this.dataList.concat(res.result.records)
this.dataList = [...this.dataList, ...res.result.records]
// console.log(this.dataList , res.result.total);
// this.dataList = res.result.records
if (res.result.records.length < this.pageSize) {
//
this.isLoadMore = true
} else {
this.isLoadMore = false
// that.loadStatus='more'
}
uni.stopPullDownRefresh()
// console.log(res.result)
}
})
}
}
}
@ -122,11 +164,28 @@
}
.ukashList-time {
margin-top: 20px;
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;
}
}
}
</style>

View File

@ -0,0 +1,157 @@
<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.visitName}}</span>
</view>
<view class="details-item">
<span>访客身份证号</span>
<span>{{result.idCard}}</span>
</view>
<view class="details-item">
<span>预约人姓名</span>
<span>{{result.appointmentName}}</span>
</view>
<view class="details-item">
<span>预约结果</span>
<span>{{ result.isSuccess === 0 ? '预约成功' : '预约失败'}}</span>
</view>
<view class="details-item">
<span>预约有效开始时间</span>
<span>{{result.beginTime}}</span>
</view>
<view class="details-item">
<span>预约有效结束时间</span>
<span>{{result.endTime}}</span>
</view>
<view class="details-state" style="height: 100px;">
<span>当前状态</span>
<span>{{ result.isEnable === 0 ? '预约有效' : '预约已失效'}}</span>
</view>
</view>
<view class="delete" @click="deleteEvent">删除</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/xzVisitorManageRecord/queryById',
method: 'post',
data: data,
success: res => {
console.log(res);
this.result = res.result
}
})
},
deleteEvent(){
let data = {
id: this.id
}
let _this = this
this.sendRequest({
url: 'xmgl/xzVisitorManageRecord/delete',
method: 'post',
data: data,
success: res => {
console.log(res);
// this.result = res.result
if(res.code=== 200){
uni.showToast({
title: '删除成功',
duration: 2000,
icon: 'none',
mask: true,
})
setTimeout(() => {
uni.navigateBack({
url:'visitorsManage'
})
}, 1000)
}
}
})
}
}
}
</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,209 @@
<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 v-if="dataList.length > 0">
<view class="visitors" @click="jobMaterials(item.id)" v-for="item in dataList" :key="item.id">
<view class="ukashList-what">
<span>访客姓名: {{item.visitName}}</span>
<span :class="['ukashList-look',item.isSuccess === 1 ? 'green' : 'red']">{{item.isSuccess===1?'预约成功':'预约失败'}}</span>
</view>
<view class="ukashList-time">访客身份证号: {{item.idCard}}</view>
<view class="ukashList-time">预约人姓名: {{ item.appointmentName }}</view>
<view class="ukashList-time">预约开始时间: {{ item.beginTime }}</view>
<view class="ukashList-what" style="font-size: 12px;color: #b9bbc9;">
<span>预约结束时间: {{ item.endTime }}</span>
<span :class="['ukashList-look',item.isEnable === 1 ? 'blue' : 'grey']" v-if="item.isSuccess === 1">{{ item.isEnable === 1 ? '预约有效' : '预约已失效' }}</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
}
},
onLoad() {
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/xzVisitorManageRecord/page',
method: 'post',
data: data,
success: res => {
console.log(res);
this.dataList = this.dataList.concat(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 = []
let data = {
pageNo: this.pageNo,
pageSize: this.pageSize,
visitName: e.detail.value ? e.detail.value : null
}
let _this = this
this.sendRequest({
url: 'xmgl/xzVisitorManageRecord/page',
method: 'post',
data: data,
success: res => {
console.log(res);
this.dataList = this.dataList.concat(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)
}
})
}
}
}
</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>