Merge branch 'bjxz-cjw' into bjxz-dev

This commit is contained in:
Vce 2024-06-27 18:27:55 +08:00
commit b3a25d8b91
20 changed files with 1055 additions and 0 deletions

View File

@ -2635,6 +2635,41 @@
{
"navigationBarTitleText" : ""
}
},
{
"path" : "pages/contractors/index",
"style" :
{
"navigationBarTitleText" : ""
}
},
{
"path" : "pages/contractors/detailList",
"style" :
{
"navigationBarTitleText" : ""
}
},
{
"path" : "pages/contractors/basicInfo",
"style" :
{
"navigationBarTitleText" : ""
}
},
{
"path" : "pages/contractors/qualification",
"style" :
{
"navigationBarTitleText" : ""
}
},
{
"path" : "pages/contractors/badRecords",
"style" :
{
"navigationBarTitleText" : ""
}
}
],
// "subPackages":[{

View File

@ -0,0 +1,143 @@
<template>
<view>
<view class="barBox">
<headers class="fixedheader" :themeType="'white'" :showBack="true">
<view class="headerName">
不良记录
</view>
</headers>
</view>
<scroll-view :scroll-y="true" class="scrollBox" :style="{height: screenHeight + 'px'}" v-if="listData.length > 0">
<view v-for="(item,index) in listData" :key="index">
<view class="itemBox">
<view class="itemLine">
<text class="itemLine-left">发生事项</text>
<text class="itemLine-right">{{item.ariseMatter || '--'}}</text>
</view>
<view class="itemLine">
<text class="itemLine-left">发生原因</text>
<text class="itemLine-right">{{item.ariseReason || '--'}}</text>
</view>
<view class="itemLine">
<text class="itemLine-left">发生时间</text>
<text class="itemLine-right">{{item.ariseTime || '--'}}</text>
</view>
<view class="itemLine">
<text class="itemLine-left">备注</text>
<text class="itemLine-right">{{item.remarks || '--'}}</text>
</view>
</view>
</view>
<view class="" style="height: 10px;"></view>
</scroll-view>
<view class="noData" :style="{height: screenHeight + 'px'}" v-if="listData.length == 0">
暂无数据
</view>
</view>
</template>
<script>
export default {
data() {
return {
id: '',
projectId: '',
screenHeight: '',
listData: [],
};
},
onLoad(option) {
this.id = option.id
this.projectId = option.projectId
this.getHeight()
this.getListData()
},
methods: {
getHeight() {
this.screenHeight = uni.getSystemInfoSync().screenHeight - 44
console.log(this.screenHeight);
},
getListData(){
let data = {
enterpriseId: this.projectId,
}
this.sendRequest({
url: 'xmgl/enterpriseBadRecord/list',
method: 'post',
data: data,
success: res => {
console.log("enterpriseBadRecord", res);
this.listData = res.result
}
})
}
}
}
</script>
<style lang="scss" scoped>
.barBox {
// background-color: #5181F6;
background-color: #f6f6f6;
min-height: 100%;
height: 44px;
.fixedheader {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 999;
.headerName {
z-index: 1;
}
}
}
.scrollBox {
height: 100%;
width: 100%;
background-color: #f4f5fd;
// margin: 0 10px;
word-break: break-all;
.itemBox {
width: calc(100% - 20px);
min-height: 120px;
margin: 0 10px;
margin-top: 10px;
border: 1px solid rgba(219, 229, 255, 0.6);
border-radius: 10px;
padding: 15px 20px;
background-color: #fff;
box-shadow: 0px 8rpx 15rpx 0px rgba(219,229,255,0.6);
// background-color: darkred;
font-size: 12px;
display: flex;
flex-direction: column;
justify-content: space-around;
.itemLine{
display: flex;
flex-direction: row;
margin-bottom: 10px;
.itemLine-left{
width: 20%;
display: flex;
justify-content: flex-end;
}
.itemLine-right{
flex: 1;
}
}
.itemLine:last-child{
margin-bottom: 0;
}
}
}
.noData{
display: flex;
justify-content: center;
align-items: center;
font-size: 34px;
color: darkgray;
transform: translateY(-60px);
}
</style>

View File

@ -0,0 +1,259 @@
<template>
<view>
<view class="barBox">
<headers class="fixedheader" :themeType="'white'" :showBack="true">
<view class="headerName">
基本信息
</view>
</headers>
</view>
<view class="tabBox">
<view :class="{'enterprise-tab':true,'active-tab': checked == 1}" @click="handleTab(1)">企业信息</view>
<view :class="{'project-tab':true,'active-tab': checked == 2}" @click="handleTab(2)">项目信息</view>
</view>
<scroll-view :scroll-y="true" class="scrollBox" :style="{height: screenHeight + 'px'}" v-if="checked == 1">
<view class="property-item">
<view class="item-top">企业名称</view>
<view class="item-bottom">{{enterpriseInfo.enterpriseName || '--'}}</view>
</view>
<view class="property-item">
<view class="item-top">企业类型</view>
<view class="item-bottom">{{enterpriseInfo.companyTypeName || '--'}}</view>
</view>
<view class="property-item">
<view class="item-top">统一社会信用代码</view>
<view class="item-bottom">{{enterpriseInfo.socialCode || '--'}}</view>
</view>
<view class="property-item">
<view class="item-top">法定代表人</view>
<view class="item-bottom">{{enterpriseInfo.enterpriseLegalPerson || '--'}}</view>
</view>
<view class="property-item">
<view class="item-top">法人电话</view>
<view class="item-bottom">{{enterpriseInfo.legalPersonTel || '--'}}</view>
</view>
<view class="property-item">
<view class="item-top">注册人申请电话</view>
<view class="item-bottom">{{enterpriseInfo.registerPersonPhoneTel || '--'}}</view>
</view>
<view class="property-item">
<view class="item-top">开户行</view>
<view class="item-bottom">{{enterpriseInfo.bankname || '--'}}</view>
</view>
<view class="property-item">
<view class="item-top">银行账号</view>
<view class="item-bottom">{{enterpriseInfo.bankcardnumber || '--'}}</view>
</view>
<view class="property-item">
<view class="item-top">营业执照截止日期</view>
<text class="item-bottom">{{enterpriseInfo.businessLicenseEndDate || '--'}}</text>
</view>
<view class="property-item">
<view class="item-top">资质照片</view>
<view class="item-bottom" v-if="enterpriseInfo.enterpriseQualificationUrl">
<image :src="url_config+'image/'+enterpriseInfo.enterpriseQualificationUrl"
@click="previewImage(url_config+'image/'+enterpriseInfo.enterpriseQualificationUrl)"
class="icon-image"></image>
<!-- <image :src="enterpriseInfo.enterpriseQualificationUrl[0].url"
@click="previewImage(enterpriseInfo.enterpriseQualificationUrl[0].url)"
class="icon-image"></image> -->
</view>
<view class="item-bottom" v-else>
<text>--</text>
</view>
</view>
</scroll-view>
<scroll-view :scroll-y="true" class="scrollBox" :style="{height: screenHeight + 'px'}" v-if="checked == 2">
<view class="property-item">
<view class="item-top">承包商名称</view>
<view class="item-bottom">{{conProjectInfo.cbsName || '--'}}</view>
</view>
<view class="property-item">
<view class="item-top">项目施工区域</view>
<view class="item-bottom">{{conProjectInfo.projectBuildArea || '--'}}</view>
</view>
<view class="property-item">
<view class="item-top">项目经理</view>
<view class="item-bottom">{{conProjectInfo.projectManage || '--'}}</view>
</view>
<view class="property-item">
<view class="item-top">项目类型</view>
<view class="item-bottom">{{conProjectInfo.cbsProjectTypeName || '--'}}</view>
</view>
<view class="property-item">
<view class="item-top">施工阶段</view>
<view class="item-bottom">{{conProjectInfo.constructionStageName || '--'}}</view>
</view>
<view class="property-item">
<view class="item-top">经度位置</view>
<view class="item-bottom">{{conProjectInfo.longitude || '--'}}</view>
</view>
<view class="property-item">
<view class="item-top">纬度位置</view>
<view class="item-bottom">{{conProjectInfo.latitude || '--'}}</view>
</view>
<view class="property-item">
<view class="item-top">项目编号</view>
<view class="item-bottom">{{conProjectInfo.projectNumber || '--'}}</view>
</view>
<view class="property-item">
<view class="item-top">结构类型</view>
<view class="item-bottom">{{conProjectInfo.structureTypeName || '--'}}</view>
</view>
<view class="property-item">
<view class="item-top">项目面积()</view>
<view class="item-bottom">{{conProjectInfo.projectAcreage ? conProjectInfo.projectAcreage + '㎡' : '--'}}</view>
</view>
<view class="property-item">
<view class="item-top">工程状态</view>
<view class="item-bottom">{{
conProjectInfo.bulidStatus == 0 ? '未开工' :
conProjectInfo.bulidStatus == 1 ? '在建' :
conProjectInfo.bulidStatus == 2 ? '停工' :
conProjectInfo.bulidStatus == 3 ? '竣备' : '--'
}}</view>
</view>
</scroll-view>
</view>
</template>
<script>
export default {
data() {
return {
id: '',
projectId: '',
checked: 1,
screenHeight: '',
enterpriseInfo: '',
conProjectInfo: '',
};
},
onLoad(option) {
this.id = option.id
this.projectId = option.projectId
this.getHeight()
this.getDetailInfo()
},
methods: {
getHeight() {
this.screenHeight = uni.getSystemInfoSync().screenHeight - 44 - 44
console.log(this.screenHeight);
},
handleTab(val){
this.checked = val
},
getDetailInfo(){
let data = {
enterpriseId: this.id,
projectSn: JSON.parse(uni.getStorageSync('projectDetail')).projectSn,
}
let that = this
this.sendRequest({
url: 'xmgl/enterpriseInfo/getEnterpriseInfoById',
method: 'post',
data: data,
success: res => {
console.log("enterpriseInfo", res);
this.enterpriseInfo = res.result
// if(this.enterpriseInfo.enterpriseQualificationUrl){
// pc
// this.enterpriseInfo.enterpriseQualificationUrl =
// res.result.enterpriseQualificationUrl && res.result.enterpriseQualificationUrl.split(',').length > 0 ?
// res.result.enterpriseQualificationUrl.split(',').map(item => {
// return {
// name: item.split('*')[0],
// url: that.url_config+'image/'+ item.split('*')[1],
// }
// }) : res.result.enterpriseQualificationUrl.indexOf('http://') >= 0 ? res.result.enterpriseQualificationUrl :
// res.result.enterpriseQualificationUrl,
// }
//apppc
if(this.enterpriseInfo.enterpriseQualificationUrl){
this.enterpriseInfo.enterpriseQualificationUrl = this.enterpriseInfo.enterpriseQualificationUrl.split('*')[1]
}
this.conProjectInfo = res.result.projectEnterprise
}
})
},
//
previewImage(url) {
console.log('url',url);
uni.previewImage({
urls: [url]
})
},
}
}
</script>
<style lang="scss" scoped>
.barBox {
// background-color: #5181F6;
background-color: #f6f6f6;
min-height: 100%;
height: 44px;
.fixedheader {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 999;
.headerName {
z-index: 1;
}
}
}
.tabBox{
width: 100%;
height: 44px;
display: flex;
.enterprise-tab{
width: 50%;
height: 100%;
border: 1rpx solid #e5e5e5;
// border-top: none;
// border-left: none;
line-height: 44px;
text-align: center;
}
.project-tab{
width: 50%;
height: 100%;
border: 1rpx solid #e5e5e5;
// border-top: none;
// border-right: none;
line-height: 44px;
text-align: center;
}
.active-tab{
background-color: #2b8df3;
}
}
.scrollBox{
height: 100%;
width: calc(100% - 20px);
// background-color: darkred;
margin: 0 10px;
word-break: break-all;
.property-item{
// line-height: 25px;
margin-bottom: 15px;
.item-top{
color: #878787;
}
.item-bottom{
margin-top: 5px;
width: auto;
height: auto;
.icon-image{
width: 50px;
height: 50px;
}
}
}
}
</style>

View File

@ -0,0 +1,120 @@
<template>
<view>
<view class="barBox">
<headers class="fixedheader" :themeType="'white'" :showBack="true">
<view class="headerName">
企业详情
</view>
</headers>
</view>
<view class="detailListBox" :style="{height: screenHeight + 'px'}">
<view class="detailItem" @click="goBasic">
<view class="item-left">
<image src="/static/contractors/icon-basic.png" class="icon-image"></image>
<text>基本信息</text>
</view>
<view class="">
<u-icon name="arrow-right"></u-icon>
</view>
</view>
<view class="detailItem" @click="goQualification">
<view class="item-left">
<image src="/static/contractors/icon-qualification.png" class="icon-image"></image>
<text>资质文件</text>
</view>
<view class="">
<u-icon name="arrow-right"></u-icon>
</view>
</view>
<view class="detailItem" @click="goBadRecords">
<view class="item-left">
<image src="/static/contractors/icon-badRecords.png" class="icon-image"></image>
<text>不良记录</text>
</view>
<view class="">
<u-icon name="arrow-right"></u-icon>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
id:'',
projectId: '',
screenHeight: '',
}
},
onLoad(option) {
this.id = option.id
this.projectId = option.projectId
this.getHeight()
},
methods: {
getHeight() {
this.screenHeight = uni.getSystemInfoSync().screenHeight - 44
console.log(this.screenHeight);
},
goBasic(){
uni.navigateTo({
url: './basicInfo?id=' + this.id + '&projectId=' + this.projectId,
})
},
goQualification(){
uni.navigateTo({
url: './qualification?id=' + this.id + '&projectId=' + this.projectId,
})
},
goBadRecords(){
uni.navigateTo({
url: './badRecords?id=' + this.id + '&projectId=' + this.projectId,
})
},
}
}
</script>
<style lang="scss" scoped>
.barBox {
// background-color: #5181F6;
background-color: #f6f6f6;
min-height: 100%;
height: 44px;
.fixedheader {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 999;
.headerName {
z-index: 1;
}
}
}
.detailListBox{
background-color: #f4f5fd;
.detailItem{
line-height: 60px;
background-color: #fff;
margin-bottom: 10px;
display: flex;
justify-content: space-between;
padding: 0 15px;
box-shadow: 0px 8rpx 15rpx 0px rgba(219,229,255,0.6);
.item-left{
display: flex;
justify-content: flex-start;
align-items: center;
.icon-image{
margin-right: 10px;
width: 18px;
height: 18px;
}
}
}
}
</style>

295
pages/contractors/index.vue Normal file
View File

@ -0,0 +1,295 @@
<template>
<view>
<view class="barBox">
<headers class="fixedheader" :themeType="'white'" :showBack="true">
<view class="headerName">
承包商管理
</view>
</headers>
</view>
<view class="searchBox" v-if="listData.length > 0">
<form>
<view class="uni-form-item">
<input class="uni-input" name="searchName" v-model="searchForm.enterpriseName" placeholder="搜索"
@input="handleInput" />
<!-- <view class="screen" @click="screenData">筛选</view> -->
<view class="screen" @click="openDialog">筛选</view>
<view class="screen" style="margin-top: 3px; margin-left: 3px;">
<image src="/static/screenIcon.png" style="width: 15px;height: 15px">
</image>
</view>
</view>
</form>
</view>
<view class="dialogBox" id="myPopup">
<view v-for="(item,index) in typeList" :key="index">
<view :class="{dialogItem: true,activeItem:searchForm.enterpriseTypeId == item.id}" @click="chooseType(item)">
{{item.companyTypeName}}
</view>
</view>
</view>
<scroll-view :scroll-y="true" class="scrollBox" :style="{height: screenHeight + 'px'}" v-if="listData.length > 0">
<view v-for="(item,index) in listData" :key="index">
<view class="itemBox" @click="goDetail(item)">
<view class="itemLine1">
{{item.enterpriseName || '--'}}
</view>
<view class="itemLine2">
统一社会信用代码{{item.socialCode || '--'}}
</view>
<view class="itemLine3">
项目负责人{{item.projectDirectorName || '--'}}
</view>
<view class="itemLine4">
项目负责人电话{{item.projectDirectorPhone || '--'}}
</view>
<view class="itemLine5">
项目类型{{item.projectEnterprise.cbsProjectTypeName || '--'}}
</view>
</view>
</view>
<view class="" style="height: 10px;"></view>
</scroll-view>
<view class="noData" :style="{height: screenHeight + 'px'}" v-if="listData.length == 0">
暂无数据
</view>
</view>
</template>
<script>
export default {
data() {
return {
searchForm: {
pageNo: 1,
pageSize: 9999,
projectSn: JSON.parse(uni.getStorageSync('projectDetail')).projectSn,
enterpriseName: '',
enterpriseTypeId: '',
},
screenHeight: '',
listData: [],
show: false,
typeList: [],
};
},
created() {
},
onLoad() {
this.getHeight()
this.getListData()
this.getTypeList()
},
methods: {
//
handleInput(e) {
setTimeout(() => {
this.getListData()
}, 300)
},
screenData() {
// this.show = true
var popup = document.getElementById('myPopup');
if (popup.style.right === '-300px') {
popup.style.right = '0'; //
} else {
popup.style.right = '-300px'; //
}
},
openDialog() {
var popup = document.getElementById('myPopup');
popup.style.right = '0'; //
},
closeDialog() {
var popup = document.getElementById('myPopup');
popup.style.right = '-300px'; //
},
chooseType(item){
this.searchForm.enterpriseTypeId = item.id
this.getListData()
this.closeDialog()
},
getHeight() {
this.screenHeight = uni.getSystemInfoSync().screenHeight - 100
console.log(this.screenHeight);
},
goDetail(item){
uni.navigateTo({
url: './detailList?id=' + item.id + '&projectId=' + item.projectEnterprise.id,
})
},
getListData() {
this.sendRequest({
url: 'xmgl/projectEnterprise/list',
method: 'post',
data: this.searchForm,
success: res => {
console.log("projectEnterprise", res);
this.listData = res.result.records
}
})
},
getTypeList() {
this.sendRequest({
url: 'xmgl/enterpriseType/list',
method: 'get',
success: res => {
this.typeList = [{
id: '',
companyTypeName: '全部'
},
...res.result
]
}
})
},
}
}
</script>
<style lang="scss" scoped>
.barBox {
// background-color: #5181F6;
background-color: #fff;
min-height: 100%;
height: 100px;
.fixedheader {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 999;
.headerName {
z-index: 1;
}
}
}
.searchBox {
background-color: white;
position: fixed;
top: 44px;
left: 0;
width: 100%;
z-index: 999;
box-shadow: 0px 8rpx 15rpx 0px rgba(219,229,255,0.6);
.uni-form-item {
position: relative;
display: flex;
font-size: 14px;
// background-color: darkred;
/* .search-icon{
position: absolute;
top: 50%;
right: 50rpx;
transform: translateY(-50%);
} */
}
.uni-input {
border-radius: 20px;
margin: 10px 10px;
background-color: #f7f8fa;
height: 35px;
line-height: 30px;
padding: 0 20px;
font-size: 14px;
width: 70%;
}
.screen {
line-height: 50px;
color: gray;
}
}
.dialogBox {
width: 130px;
min-height: 350px;
position: fixed;
top: 99px;
right: -300px; /* 初始时隐藏在屏幕右侧 */
// transform: translateX(0%);
background-color: #fff;
border: 1px solid #dbe5ff;
border-top: none;
border-right: none;
transition: right 0.5s; /* 添加过渡效果 */
z-index: 10;
text-align: center;
font-size: 12px;
display: flex;
flex-direction: column;
justify-content: space-around;
padding: 5px 0;
.dialogItem {
line-height: 35px;
// margin-bottom: 5px;
}
.activeItem{
background-color: rgba(22,132,252, 0.1);
border: 2px solid #1684fc;
border-top: none;
border-bottom: none;
border-left: none;
}
}
.scrollBox {
height: 100%;
width: calc(100% - 20px);
// background-color: darkred;
margin: 0 10px;
.itemBox {
width: 100%;
min-height: 120px;
margin-top: 10px;
border: 1px solid rgba(219, 229, 255, 0.6);
border-radius: 2px;
padding: 5px 10px;
// box-shadow: 0px 8rpx 15rpx 0px rgba(219,229,255,0.6);
// background-color: darkred;
font-size: 12px;
display: flex;
flex-direction: column;
justify-content: space-around;
.itemLine1 {}
.itemLine1 {
font-size: 13px;
font-weight: bold;
white-space: nowrap;
overflow: hidden; /* 隐藏超出部分 */
text-overflow: ellipsis; /* 使用省略号显示超出部分 */
}
.itemLine2 {
white-space: nowrap;
overflow: hidden; /* 隐藏超出部分 */
text-overflow: ellipsis; /* 使用省略号显示超出部分 */
}
.itemLine3 {}
.itemLine4 {}
.itemLine5 {}
}
}
.noData{
display: flex;
justify-content: center;
align-items: center;
font-size: 34px;
color: darkgray;
transform: translateY(-60px);
}
</style>

View File

@ -0,0 +1,198 @@
<template>
<view>
<view class="barBox">
<headers class="fixedheader" :themeType="'white'" :showBack="true">
<view class="headerName">
资质文件
</view>
</headers>
</view>
<view class="searchBox" v-if="listData.length > 0">
<form>
<view class="uni-form-item">
<input class="uni-input" name="searchName" v-model="searchForm.fileName" placeholder="请搜索文件名称"
@input="handleInput" />
</view>
</form>
</view>
<scroll-view :scroll-y="true" class="scrollBox" :style="{height: screenHeight + 'px'}" v-if="listData.length > 0">
<view v-for="(item,index) in listData" :key="index">
<view class="itemBox">
<view class="file-info">
<image src="/static/documentIcon/JPG.png" class="icon-image"></image>
<view class="info">
<view class="info-inner">{{item.fileName}}</view>
<view class="info-inner">{{item.createTime}}</view>
</view>
</view>
<view class="optration" @click="previewImage(item)">· · ·</view>
</view>
</view>
<view class="" style="height: 10px;"></view>
</scroll-view>
<view class="noData" :style="{height: screenHeight + 'px'}" v-if="listData.length == 0">
暂无数据
</view>
</view>
</template>
<script>
export default {
data() {
return {
id: '',
projectId: '',
searchForm: {
enterpriseId: '',
fileName: ''
},
listData: [],
};
},
onLoad(option) {
this.id = option.id
this.projectId = option.projectId
this.getHeight()
this.getListData()
},
methods: {
getHeight() {
this.screenHeight = uni.getSystemInfoSync().screenHeight - 100
console.log(this.screenHeight);
},
getListData(){
this.searchForm.enterpriseId = this.id
// let data = {
// enterpriseId: '1802547943107092481',
// }
this.sendRequest({
url: 'xmgl/enterpriseQualification/list',
method: 'post',
data: this.searchForm,
success: res => {
console.log("enterpriseQualification", res);
this.listData = res.result
}
})
},
previewImage(item){
let url = this.url_config+'image/'+ JSON.parse(item.fileUrl)[0].url
console.log(url);
uni.previewImage({
urls: [url]
})
},
//
handleInput(e) {
setTimeout(() => {
this.getListData()
}, 300)
},
}
}
</script>
<style lang="scss" scoped>
.barBox {
// background-color: #5181F6;
background-color: #fff;
min-height: 100%;
height: 100px;
.fixedheader {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 999;
.headerName {
z-index: 1;
}
}
}
.searchBox {
background-color: white;
position: fixed;
top: 44px;
left: 0;
width: 100%;
z-index: 999;
box-shadow: 0px 8rpx 15rpx 0px rgba(219,229,255,0.6);
.uni-form-item {
position: relative;
display: flex;
font-size: 14px;
}
.uni-input {
border-radius: 20px;
margin: 10px 10px;
background-color: #f7f8fa;
height: 35px;
line-height: 30px;
padding: 0 20px;
font-size: 14px;
width: calc(100% - 40px);
}
}
.scrollBox {
height: 100%;
width: 100%;
background-color: #f4f5fd;
// margin: 0 10px;
word-break: break-all;
.itemBox {
width: 100%;
min-height: 60px;
margin-top: 2px;
// border: 1px solid rgba(219, 229, 255, 0.6);
border-radius: 2px;
padding: 5px 10px;
box-shadow: 0px 8rpx 15rpx 0px rgba(219,229,255,0.6);
background-color: #fff;
font-size: 12px;
display: flex;
justify-content: space-between;
align-items: center;
.file-info{
width: 85%;
display: flex;
justify-content: flex-start;
align-items: center;
.icon-image{
width: 45px;
height: 45px;
}
.info{
width: calc(100% - 100px);
margin-left: 10px;
display: flex;
flex-direction: column;
justify-content: center;
.info-inner{
white-space: nowrap;
overflow: hidden; /* 隐藏超出部分 */
text-overflow: ellipsis; /* 使用省略号显示超出部分 */
line-height: 23px;
}
}
}
.optration{
width: 45px;
font-weight: bolder;
color: #2b8df3;
}
}
}
.noData{
display: flex;
justify-content: center;
align-items: center;
font-size: 34px;
color: darkgray;
transform: translateY(-60px);
}
</style>

View File

@ -753,6 +753,11 @@
url: '../../projectEnd/emergencyDisposal/index'
})
break
case 'contractors':
uni.navigateTo({
url: '../../contractors/index'
})
break
case 'saosao':
console.log('打开saosao')
// let that = this;

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

BIN
static/documentIcon/JPG.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
static/documentIcon/PDF.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
static/documentIcon/PNG.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
static/documentIcon/PPT.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
static/documentIcon/RAR.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

BIN
static/documentIcon/TXT.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
static/documentIcon/ZIP.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB