fix: BUG修改

This commit is contained in:
kun 2024-04-24 23:29:25 +08:00
parent 30d778e524
commit fb677f3719
15 changed files with 394 additions and 273 deletions

View File

@ -34,19 +34,22 @@
moduleIcon: 'tabIcon-index-active',
plugin: 'projectEnd',
appShow: 1
}, {
appName: '发起审批',
moduleIcon2: 'submit-n',
moduleIcon: 'submit',
plugin: 'submit',
appShow: 1
}, {
appName: '工作台',
moduleIcon2: 'workspace-n',
moduleIcon: 'workspace',
plugin: 'workspace',
appShow: 1
}, {
},
// {
// appName: '',
// moduleIcon2: 'submit-n',
// moduleIcon: 'submit',
// plugin: 'submit',
// appShow: 1
// },
// {
// appName: '',
// moduleIcon2: 'workspace-n',
// moduleIcon: 'workspace',
// plugin: 'workspace',
// appShow: 1
// },
{
appName: '我的',
moduleIcon2: 'tabIcon-my2',
moduleIcon: 'tabIcon-my2-active',

View File

@ -2,8 +2,8 @@
"name" : "智慧工地云平台", //
"appid" : "__UNI__4AA4101",
"description" : "",
"versionName" : "1.3.9",
"versionCode" : 139,
"versionName" : "1.4.0",
"versionCode" : 140,
"transformPx" : false,
/* 5+App */
"app-plus" : {

View File

@ -47,7 +47,27 @@
</view>
</view>
</view>
<view class="title">
<view class="delay-content" style="border-bottom: 2rpx solid #f0f0f0;">
<view class="name">是否有延期误工事件</view>
<radio-group class="radio_box" @change="radioChange">
<label class="radio"><radio value="1" /></label>
<label class="radio"><radio value="0" checked="true"/></label>
</radio-group>
</view>
<view class="b-bottom">
<view class="name" style="width: 30%;">延期误工原因</view>
<textarea class="textarea" maxlength="-1" placeholder-class="cl" name="inspectContent"
@input='reasonTextarea' :value="form.delayEventReason" placeholder="多行输入"></textarea>
</view>
<view class="delay-reason-content" style="border-bottom: 2rpx solid #f0f0f0;">
<view class="name">延期原因类型</view>
<checkbox-group class="check_box" @change="checkChange">
<label class="check"><checkbox value="1" />人为因素</label>
<label class="check"><checkbox value="2" />环境因素</label>
<label class="check"><checkbox value="3" />不可抵抗因素</label>
</checkbox-group>
</view>
<!-- <view class="title">
材料用量
</view>
<view class="martNum" v-for="(item, index) in materialList" :key="index">
@ -55,7 +75,7 @@
<input type="number" placeholder-class="cl" class="inpuStyle uni-select cl" :value="item.actualUsage"
placeholder="请输入" @input='eventData($event,index)' />
<view class="unit">{{item.unit}}</view>
</view>
</view> -->
<view class="addProgess" @click="addSaveBtn">
提交
</view>
@ -76,6 +96,9 @@
uploadDate: '',
progressRatio: 0,
feedbackContent: '',
hasDelayEvent: 0,
delayEventReason: '',
delayEventType: []
},
imgFileList: [],
projectSn: '',
@ -92,6 +115,14 @@
this.getList()
},
methods: {
checkChange(e){
console.log(e,777)
this.form.delayEventType = e.detail.value.join(',')
},
radioChange(e){
console.log(e,666)
this.form.hasDelayEvent = e.detail.value;
},
//
getList() {
let data = {
@ -148,6 +179,10 @@
this.form.uploadDate = e.f3;
}
},
//
reasonTextarea(e){
this.form.delayEventReason = e.detail.value
},
//
supplementTextarea(e) {
this.form.feedbackContent = e.detail.value
@ -316,7 +351,61 @@
}
.delay-content{
border-top: 2rpx solid #f0f0f0;
display: flex;
align-items: center;
justify-content: space-between;
height: 200rpx;
.name {
width: 50%;
}
.radio_box{
display: flex;
.radio {
margin-right: 40rpx;
display: flex;
align-items: center;
}
// /deep/.uni-radio-input{
// width: 28rpx;
// height: 28rpx;
// font-size: 28rpx;
// }
// /deep/.uni-radio-input-checked::before{
// font-size: 28rpx;
// }
}
}
.delay-reason-content{
border-top: 2rpx solid #f0f0f0;
display: flex;
height: 200rpx;
padding-top: 20rpx;
.name {
width: 28%;
}
.check_box{
display: flex;
flex-direction: column;
.check {
margin-bottom: 20rpx;
display: flex;
align-items: center;
}
/deep/.uni-checkbox-input{
width: 28rpx;
height: 28rpx;
font-size: 28rpx;
}
/deep/.uni-checkbox-input-checked::before{
font-size: 28rpx;
}
}
}
.addProgess {
width: 50%;
background: #5181f6;

View File

@ -49,7 +49,7 @@
<view class="textColor">备注<span class="textStyle">{{itemFrom.remark}}</span></view>
</view>
<view class="line"></view>
<view class="title" style="margin-top: 40rpx;">
<!-- <view class="title" style="margin-top: 40rpx;">
材料用量
</view>
<view class="container">
@ -65,7 +65,7 @@
<view class="table-cell">{{ item.actualUsage || "" }}</view>
</view>
</view>
</view>
</view> -->
<view class="closeProgess" v-if="itemFrom.status==2">
任务已闭合

View File

@ -1,267 +1,292 @@
<script>
export default {
name: "standardScheduleNewsHome",
data() {
return {
tabTitle: ["承包商列表", "厂区列表"],
current: 0,
projectObject: {
projectSurplusDayNum: 0,
projectTotalDayNum: 0,
projectTotalProgress: 0
},
tabList: []
};
},
watch: {
current() {
this.getTabsList()
}
},
onLoad() {
this.getLength()
this.getTabsList()
},
methods: {
px(d) {
return uni.upx2px(d)
},
change(e) {
console.log(e)
uni.navigateTo({
url: "./index"
})
},
getLength() {
//
this.sendRequest({
url: "xmgl/xzTaskProgress/countTaskProgress",
data: {
projectSn: uni.getStorageSync("dept"),
enterpriseId: uni.getStorageSync("company").companySn
},
method: "post",
success(res) {
console.log(res, "获取统计信息")
let {code, result} = res;
if (code === 200) {
this.projectObject = result;
}
}
})
},
getTabsList() {
//
let url = ""
if (this.current === 0) {
url = 'xmgl/enterpriseInfo/selectHierarchyEnterpriseList';
} else {
url = 'xmgl/qualityRegion/list';
}
this.sendRequest({
url,
data: {
projectSn: uni.getStorageSync("dept")
},
method: "post",
success(res) {
console.log(res, "获取承包商")
let {code, result} = res;
if (code === 200) {
this.tabList = result;
}
}
})
}
}
}
export default {
name: "standardScheduleNewsHome",
data() {
return {
tabTitle: ["承包商列表", "厂区列表"],
current: 0,
projectObject: {
projectSurplusDayNum: 0,
projectTotalDayNum: 0,
projectTotalProgress: 0
},
tabList: []
};
},
watch: {
current() {
this.getTabsList()
}
},
onLoad() {
this.getLength()
this.getTabsList()
},
methods: {
px(d) {
return uni.upx2px(d)
},
change(e) {
console.log(e)
if(this.current === 0){
uni.navigateTo({
url: "./index?enterpriseId=" + e.enterpriseId
})
} else {
uni.navigateTo({
url: "./index?qualityRegionId=" + e.id
})
}
},
getLength() {
//
this.sendRequest({
url: "xmgl/xzTaskProgress/countTaskProgress",
data: {
projectSn: uni.getStorageSync("dept"),
enterpriseId: uni.getStorageSync("company").companySn
},
method: "post",
success(res) {
console.log(res, "获取统计信息")
let {
code,
result
} = res;
if (code === 200) {
this.projectObject = result;
}
}
})
},
getTabsList() {
//
let that = this;
let url = ""
if (this.current === 0) {
url = 'xmgl/enterpriseInfo/selectHierarchyEnterpriseList';
} else {
url = 'xmgl/qualityRegion/list';
}
this.sendRequest({
url,
data: {
projectSn: uni.getStorageSync("dept")
},
method: "post",
success(res) {
console.log(res, "获取承包商")
let {
code,
result
} = res;
if (code === 200) {
let responseData = result;
if (that.current === 0) {
responseData.map(item => {
item.name = item.enterpriseName
})
} else {
responseData.map(item => {
item.name = item.regionName
})
}
that.tabList = responseData
}
}
})
}
}
}
</script>
<template>
<view class="content">
<view class="big-progressr">
<u-circle-progress width="450" border-width="24" inactive-color="#fff" active-color="#2979ff" :percent="projectObject.projectTotalProgress">
<view class="u-progress-content">
<view class="svgImage">
<svg :width="px(400)" :height="px(400)" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:#72e7d1;stop-opacity:1"/>
<stop offset="100%" style="stop-color:#4871e3;stop-opacity:1"/>
</linearGradient>
</defs>
<circle :cx="px(198)" :cy="px(198)" :r="px(160)" stroke="url(#grad1)" stroke-width="3" fill="none"
stroke-dasharray="5,5"/>
</svg>
</view>
<view class="u-progress-box">
<text class='value'>{{ projectObject.projectTotalProgress }}%</text>
<text class='title'>项目总进度</text>
</view>
</view>
</u-circle-progress>
</view>
<view class="boxs">
<view class="box">
<image src="@/static/Vector1.png"></image>
<view class="box-content">
<view class="box-title">项目剩余天数</view>
<view class="box-value v1">{{ projectObject.projectSurplusDayNum }}</view>
</view>
</view>
<view class="box">
<image src="@/static/Vector2.png"></image>
<view class="box-content">
<view class="box-title">项目总天数</view>
<view class="box-value v2">{{ projectObject.projectTotalDayNum }}</view>
</view>
</view>
</view>
<view class="content">
<view class="big-progressr">
<u-circle-progress width="450" border-width="24" inactive-color="#fff" active-color="#2979ff"
:percent="projectObject.projectTotalProgress">
<view class="u-progress-content">
<view class="svgImage">
<svg :width="px(400)" :height="px(400)" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:#72e7d1;stop-opacity:1" />
<stop offset="100%" style="stop-color:#4871e3;stop-opacity:1" />
</linearGradient>
</defs>
<circle :cx="px(198)" :cy="px(198)" :r="px(160)" stroke="url(#grad1)" stroke-width="3"
fill="none" stroke-dasharray="5,5" />
</svg>
</view>
<view class="u-progress-box">
<text class='value'>{{ projectObject.projectTotalProgress }}%</text>
<text class='title'>项目总进度</text>
</view>
</view>
</u-circle-progress>
</view>
<view class="boxs">
<view class="box">
<image src="@/static/Vector1.png"></image>
<view class="box-content">
<view class="box-title">项目剩余天数</view>
<view class="box-value v1">{{ projectObject.projectSurplusDayNum }}</view>
</view>
</view>
<view class="box">
<image src="@/static/Vector2.png"></image>
<view class="box-content">
<view class="box-title">项目总天数</view>
<view class="box-value v2">{{ projectObject.projectTotalDayNum }}</view>
</view>
</view>
</view>
<view class="tabs">
<view class="tabTitle">
<view class="title" v-for="(item,index) in tabTitle" :key="index" :class="{active:current===index}"
@click="current=index">{{
<view class="tabs">
<view class="tabTitle">
<view class="title" v-for="(item,index) in tabTitle" :key="index" :class="{active:current===index}"
@click="current=index">{{
item
}}
</view>
</view>
<view class="tabContent">
<liu-folding-panel :iconShow="true" :img1="require('@/static/Union.png')" subset-name="children"
:dataList="tabList"
@change="change"></liu-folding-panel>
</view>
</view>
</view>
</view>
<view class="tabContent" v-if="current == 1">
<liu-folding-panel :img1="require('@/static/Union.png')" :dataList="tabList"
@change="change"></liu-folding-panel>
</view>
<view class="tabContent" v-else>
<liu-folding-panel :img1="require('@/static/Union.png')" :dataList="tabList"
@change="change"></liu-folding-panel>
</view>
</view>
</view>
</view>
</template>
<style scoped lang="scss">
.content {
padding: 30rpx 20rpx;
.content {
padding: 30rpx 20rpx;
.svgImage {
position: absolute;
left: -3rpx;
top: -3rpx;
}
.svgImage {
position: absolute;
left: -3rpx;
top: -3rpx;
}
.big-progressr {
width: 100%;
display: flex;
justify-content: center;
position: relative;
transform: rotate(130deg);
$offset: 30rpx;
.big-progressr {
width: 100%;
display: flex;
justify-content: center;
position: relative;
transform: rotate(130deg);
$offset: 30rpx;
.u-progress-content {
transform: rotate(-130deg);
position: absolute;
left: $offset;
right: $offset;
top: $offset;
bottom: $offset;
border-radius: 50%;
padding: 70rpx;
box-shadow: 0 0 50rpx 0rpx rgba(114, 231, 209, .5);
.u-progress-content {
transform: rotate(-130deg);
position: absolute;
left: $offset;
right: $offset;
top: $offset;
bottom: $offset;
border-radius: 50%;
padding: 70rpx;
box-shadow: 0 0 50rpx 0rpx rgba(114, 231, 209, .5);
.u-progress-box {
border-radius: 50%;
background-color: #fff;
width: 100%;
height: 100%;
box-shadow: 0 0 15rpx 0rpx #eee;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
color: #3570FF;
.u-progress-box {
border-radius: 50%;
background-color: #fff;
width: 100%;
height: 100%;
box-shadow: 0 0 15rpx 0rpx #eee;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
color: #3570FF;
.value {
font-size: 60rpx;
}
.value {
font-size: 60rpx;
}
.title {
font-size: 30rpx;
}
}
}
}
.title {
font-size: 30rpx;
}
}
}
}
.boxs {
position: relative;
margin-top: 30rpx;
z-index: 10;
display: flex;
justify-content: space-between;
.boxs {
position: relative;
margin-top: 30rpx;
z-index: 10;
display: flex;
justify-content: space-between;
image {
width: 80rpx;
height: 80rpx;
}
image {
width: 80rpx;
height: 80rpx;
}
.box {
display: flex;
justify-content: space-between;
padding: 20rpx;
width: calc(50% - 15rpx);
box-shadow: 0 0 20rpx 1rpx rgba(99, 225, 214, .5);
border-radius: 12rpx;
align-items: center;
.box {
display: flex;
justify-content: space-between;
padding: 20rpx;
width: calc(50% - 15rpx);
box-shadow: 0 0 20rpx 1rpx rgba(99, 225, 214, .5);
border-radius: 12rpx;
align-items: center;
.box-content {
font-size: 25rpx;
text-align: right;
.box-content {
font-size: 25rpx;
text-align: right;
.box-title {
.box-title {}
}
.box-value {
font-size: 50rpx;
.box-value {
font-size: 50rpx;
&.v1 {
color: #e15057;
}
&.v1 {
color: #e15057;
}
&.v2 {
color: #e38a38;
}
}
}
}
}
&.v2 {
color: #e38a38;
}
}
}
}
}
.tabs {
margin-top: 30rpx;
.tabs {
margin-top: 30rpx;
.tabTitle {
display: flex;
align-items: end;
.tabTitle {
display: flex;
align-items: end;
.title {
background-color: #f3f3f3;
flex: 1;
padding: 20rpx 0;
text-align: center;
border-radius: 12rpx 12rpx 0 0;
height: fit-content;
.title {
background-color: #f3f3f3;
flex: 1;
padding: 20rpx 0;
text-align: center;
border-radius: 12rpx 12rpx 0 0;
height: fit-content;
&.active {
color: #fff;
background-color: #698cf3;
padding: 30rpx 0;
}
}
}
&.active {
color: #fff;
background-color: #698cf3;
padding: 30rpx 0;
}
}
}
.tabContent {
padding: 0 20rpx;
box-shadow: 0 6rpx 15rpx 0 #eee;
border-radius: 10rpx;
overflow: hidden;
}
}
}
</style>
.tabContent {
padding: 0 20rpx;
box-shadow: 0 6rpx 15rpx 0 #eee;
border-radius: 10rpx;
overflow: hidden;
}
}
}
</style>

View File

@ -95,9 +95,14 @@ export default {
teach: true,
numberTasks: 0,
dutyUserId: '',
option: {}
}
},
onLoad() {
onLoad(option) {
console.log(option,666)
if(option){
this.option = option
}
this.dutyUserId = JSON.parse(uni.getStorageSync('userInfo')).userId
this.condition.projectSn = JSON.parse(uni.getStorageSync('projectDetail')).projectSn;
this.getListData();
@ -182,12 +187,11 @@ export default {
this.condition.dutyUserName = ''
this.status = 2
}
let that = this;
this.sendRequest({
url: 'xmgl/xzTaskProgress/page',
method: 'get',
data: that.condition,
data: {...that.condition,...that.option},
success: res => {
let arr = JSON.parse(JSON.stringify(this.listData));
if (res.result.records.length > 0) {

Binary file not shown.

View File

@ -1 +1 @@
https://app.liuyingyong.cn/build/download/265c7f50-0180-11ef-98a7-f5d4339686fa
https://app.liuyingyong.cn/build/download/0bfca2e0-024e-11ef-b68f-e5508279d3a9

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long