人员选择优化,bug优化

This commit is contained in:
BianLzhaoMin 2024-11-05 17:43:51 +08:00
parent a8f41928e3
commit f63ac3e827
28 changed files with 674 additions and 80 deletions

View File

@ -13,7 +13,7 @@
"type" : "uniCloud"
},
{
"playground" : "custom",
"playground" : "standard",
"type" : "uni-app:app-android"
}
]

View File

@ -152,6 +152,14 @@ export function getImportMonthPlanApi(data) {
data: data
})
}
// 获取人员信息
export function getPersonInfoApi(data) {
return request_yn({
url: '/ynPlanApp/infDay/getSubPeople',
method: 'post',
data: data
})
}
/**
* 生产月计划

View File

@ -90,6 +90,13 @@
"system" : {
"__platform__" : [ "ios", "android" ]
}
},
"maps" : {
"amap" : {
"name" : "",
"appkey_ios" : "",
"appkey_android" : ""
}
}
},
"orientation" : [ "portrait-primary" ],

View File

@ -448,7 +448,7 @@ export default {
//
uni.getLocation({
type: 'gcj02', // gcj02 'wgs84'
altitude: true,
// altitude: true,
geocode: true,
success: res => {
console.log(res, '位置信息--')

View File

@ -193,7 +193,7 @@
v-if="f.items_type === 'sel'"
></uni-data-select>
<view v-if="f.name === 'rys'" @tap="onAddSubUserInfo(f.name)">
<view v-if="f.name === 'rys'" @tap="onAddSubUserInfo(f.name, index)">
<u--input :autoHeight="true" type="text" v-model="item.rys" placeholder="请选择" disabled />
<!-- <uni-easyinput
@ -205,11 +205,18 @@
/> -->
</view>
<view class="time-container" @tap="onSelectWorkInfo(index)" v-if="f.form_label == '作业内容'">
<view style="font-size: 26rpx">{{ item.zynr ? item.zynr : '请选择' }}</view>
<view v-if="!item.zynr" style="font-size: 26rpx">请选择</view>
<text v-if="!item.zynr">
<uni-icons type="forward" size="22"></uni-icons>
</text>
</view>
<u--textarea
v-if="item.zynr && f.form_label == '作业内容'"
autoHeight
type="area"
v-model="item.zynr"
placeholder="请填写"
/>
</uni-forms-item>
</uni-forms>
</scroll-view>
@ -309,7 +316,7 @@
:required="f.required"
>
<u--textarea
v-if="f.items_type === 'area'"
v-if="f.items_type === 'area' && f.name != 'rys' && f.name != 'zynr'"
v-model="item[f.name]"
placeholder="请填写"
autoHeight
@ -320,6 +327,7 @@
:type="f.isType ? f.isType : 'text'"
v-model="item[f.name]"
placeholder="请填写"
@input="handleInput($event, f.isType, index, f.name)"
disabled
/>
<uni-data-select
@ -329,6 +337,31 @@
:clear="false"
v-if="f.items_type === 'sel'"
></uni-data-select>
<view v-if="f.name === 'rys'" @tap="onAddSubUserInfoNew(f.name, index)">
<u--input :autoHeight="true" type="text" v-model="item.rys" placeholder="请选择" disabled />
<!-- <uni-easyinput
v-else
:autoHeight="true"
type="text"
v-model="item.userName"
placeholder="请选择"
/> -->
</view>
<view class="time-container" @tap="onSelectWorkInfo(index)" v-if="f.form_label == '作业内容'">
<view v-if="!item.zynr" style="font-size: 26rpx">请选择</view>
<text v-if="!item.zynr">
<uni-icons type="forward" size="22"></uni-icons>
</text>
</view>
<u--textarea
v-if="item.zynr && f.form_label == '作业内容'"
autoHeight
type="area"
v-model="item.zynr"
placeholder="请填写"
/>
</uni-forms-item>
</uni-forms>
</scroll-view>
@ -731,6 +764,13 @@ export default {
},
{ form_label: '风险类别', items_type: 'ipt', required: true, name: 'fxlb' },
{
form_label: '风险管控层级',
items_type: 'sel',
name: 'gkcj',
required: true,
options: []
},
{ form_label: '现场负责人', items_type: 'ipt', required: true, name: 'xcfzr' },
{ form_label: '全体人数', items_type: 'ipt', required: true, name: 'qtrs', isType: 'number' },
{ form_label: '公司职工人数', items_type: 'ipt', required: true, name: 'zgs', isType: 'number' },
@ -740,13 +780,6 @@ export default {
{ form_label: 'SIP编号', items_type: 'area', required: true, name: 'sipnum' },
{ form_label: '责任管控人', items_type: 'area', required: true, name: 'sipfzr' },
{
form_label: '风险管控层级',
items_type: 'sel',
name: 'gkcj',
required: true,
options: []
},
{ form_label: '中等以上风险作业管控人等', items_type: 'area', required: false, name: 'gkr' }
],
@ -872,7 +905,9 @@ export default {
planDate: '',
keyword: ''
},
workContentList: []
workContentList: [],
currenPersonIndex: 0,
currenPersonIndexNew: 0
}
},
mounted() {
@ -924,8 +959,17 @@ export default {
userId += e.idNumber + '@'
})
this_.monthParams[0].selectuser = userId.slice(0, -1)
this_.monthParams[0].rys = '1'
this_.monthParams[this_.currenPersonIndex].selectuser = userId.slice(0, -1)
this_.monthParams[this_.currenPersonIndex].rys =
this_.monthParams[this_.currenPersonIndex].selectuser.split('@').length
if (activeIndex == '查看报表') {
this_.monthDataList[this_.currenPersonIndexNew].selectuser = userId.slice(0, -1)
this_.monthDataList[this_.currenPersonIndexNew].rys =
this_.monthDataList[this_.currenPersonIndexNew].selectuser.split('@').length
}
console.log(userNameStr, userId)
})
@ -1049,8 +1093,11 @@ export default {
state: ''
}
console.log('saveParams保存参数', saveParams)
uni.showLoading({
title: '正在提交,请勿重复点击'
})
const result = await setMonthPlanApi(saveParams)
uni.hideLoading()
if (result.res == 1) {
uni.showToast({ icon: 'none', title: '保存成功!' })
setTimeout(() => {
@ -1429,7 +1476,11 @@ export default {
}
console.log('saveParams保存参数', saveParams)
uni.showLoading({
title: '正在提交,请勿重复点击'
})
const result = await setMonthPlanApi(saveParams)
uni.hideLoading()
if (result.res == 1) {
uni.showToast({ icon: 'none', title: '保存成功!' })
this.$refs.popupAuditing.close()
@ -1610,7 +1661,7 @@ export default {
this.monthParams = res.obj
}
},
onAddSubUserInfo(name) {
onAddSubUserInfo(name, index) {
if (name == 'rys') {
// console.log('----') proName
@ -1618,7 +1669,57 @@ export default {
uni.showToast({ icon: 'none', title: '请选择工程!' })
return
}
uni.navigateTo({ url: `/pages/workPlan/dayPlan/sub-user/index?proName=${this.projectName}` })
this.currenPersonIndex = index
let personList = []
this.monthParams.forEach(e => {
personList.push(e.selectuser)
})
const personInfo = {
personList
}
console.log('personList', personList)
uni.navigateTo({
url: `/pages/workPlan/dayPlan/sub-user/index?proName=${this.projectName}&personList=${JSON.stringify(
personInfo
)}&index=${index}`
})
}
},
onAddSubUserInfoNew(name, index) {
let proName = ''
this.projectListSel.forEach(e => {
if (e.value == this.queryDataParams.proId) {
proName = e.text
}
})
if (name == 'rys') {
// console.log('----') proName
// if (!this.projectId) {
// uni.showToast({ icon: 'none', title: '' })
// return
// }
this.currenPersonIndexNew = index
let personList = []
this.monthDataList.forEach(e => {
console.log(e.selectuser, 'e.selectusere.selectusere.selectuser')
personList.push(e.selectuser)
})
const personInfo = {
personList
}
console.log('personList', personList)
uni.navigateTo({
url: `/pages/workPlan/dayPlan/sub-user/index?proName=${proName}&personList=${JSON.stringify(
personInfo
)}&index=${index}`
})
}
},
onSelectWorkInfo(index) {

View File

@ -3,7 +3,7 @@
<view class="month-container">
<u-navbar
class="u-navbar"
title="基建日计划"
title="生产日计划"
placeholder
@leftClick="leftClick"
leftIconColor="#fff"
@ -193,23 +193,24 @@
v-if="f.items_type === 'sel'"
></uni-data-select>
<view v-if="f.name === 'rys'" @tap="onAddSubUserInfo(f.name)">
<uni-easyinput :autoHeight="true" type="text" v-model="item.rys" placeholder="请选择" />
<!-- <view v-if="f.name === 'rys'" @tap="onAddSubUserInfo(f.name)">
<u--input :autoHeight="true" type="text" v-model="item.rys" placeholder="请选择" disabled />
<!-- <uni-easyinput
v-else
:autoHeight="true"
type="text"
v-model="item.userName"
placeholder="请选择"
/> -->
</view>
</view> -->
<view class="time-container" @tap="onSelectWorkInfo(index)" v-if="f.form_label == '作业内容'">
<view style="font-size: 26rpx">{{ item.zynr ? item.zynr : '请选择' }}</view>
<view v-if="!item.zynr" style="font-size: 26rpx">请选择</view>
<text v-if="!item.zynr">
<uni-icons type="forward" size="22"></uni-icons>
</text>
</view>
<u--textarea
v-if="item.zynr && f.form_label == '作业内容'"
autoHeight
type="area"
v-model="item.zynr"
placeholder="请填写"
/>
</uni-forms-item>
</uni-forms>
</scroll-view>

View File

@ -74,7 +74,7 @@
</view>
</scroll-view>
</view>
<view class="pagination">
<!-- <view class="pagination">
<uni-pagination
:total="totalAmount"
title="标题文字"
@ -82,7 +82,7 @@
next-text="下一页"
@change="onPagination"
/>
</view>
</view> -->
<!-- 弹框 -->
<uni-popup ref="popup" background-color="#fff">
@ -122,6 +122,41 @@
</view>
</view>
</uni-popup>
<uni-popup ref="popupPerson" background-color="#fff">
<view class="popup-person">
<view class="title">操作确认</view>
<view class="info">
(暂退人员在24点后自动返场状态调整为"在场"
<br />
<br />
临时人员只能打7天卡且无法生产工资册)
</view>
<view class="title_1">选择的作业人员包含</view>
<view class="person-list">
<view>
固定人员:
<text v-for="(item, index) in fixedPersonList" :key="index">{{ item }}</text>
</view>
<view>
暂退人员:
<text v-for="(item, index) in tempPersonList" :key="index">{{ item }}</text>
</view>
<view>
临时人员:
<text v-for="(item, index) in returnPersonList" :key="index">{{ item }}</text>
</view>
</view>
<view class="person-btn">
<view @tap="onCancelBtn">取消</view>
<view @tap="onSubmitBtn">确定</view>
</view>
</view>
</uni-popup>
</view>
</template>
@ -140,6 +175,7 @@ export default {
},
subUserList: [],
subUserListAll: [],
subUserListTemp: [],
teamList: [],
totalAmount: 0,
activeList: [],
@ -150,7 +186,12 @@ export default {
{ title: '临时人员', id: '2' },
{ title: '暂退人员', id: '3' }
],
tempUserInfoList: []
tempUserInfoList: [],
personList: [],
currentIndex: 0,
fixedPersonList: [],
tempPersonList: [],
returnPersonList: []
}
},
methods: {
@ -174,29 +215,102 @@ export default {
// }
const res = await getSubUserInfoListApi(this.subQueryParams)
// console.log('', res)
this.subUserListAll = res.obj
console.log('人员数据---参数', this.subQueryParams)
console.log('人员数据---', res)
// 1.
this.subUserListAll = res.obj
this.subUserList = []
this.subUserListAll.forEach(e => {
this.$set(e, 'isChecked', false)
})
//
if (this.activeTypeList.length == 1) {
const isActiveType = this.activeTypeList[0]
if (isActiveType === 1) {
if (this.tempUserInfoList.length == 0) {
this.subUserList = []
// console.log('--')
if (this.activeTypeList[0] === 1) {
//
if (this.subUserListTemp.length > 0) {
// this.subUserList = this.subUserListTemp.filter(e => e.isAllChecked == true)
this.subUserListAll.forEach(e => {
this.subUserListTemp.forEach(j => {
if (e.idNumber == j.idNumber) {
this.subUserList.push(JSON.parse(JSON.stringify(j)))
}
})
})
} else {
this.subUserList = this.tempUserInfoList
this.subUserList = []
}
}
if (isActiveType === 2) {
//
if (this.activeTypeList[0] == 2) {
console.log('查询未选择的数据')
//
// if (this.subUserListTemp.length > 0) {
// this.subUserList = this.subUserListTemp.filter(e => e.isAllChecked == false)
// }
if (this.subUserListTemp.length > 0) {
this.subUserListAll.forEach(e => {
this.subUserListTemp.forEach(j => {
if (e.idNumber != j.idNumber) {
this.subUserList.push(JSON.parse(JSON.stringify(e)))
}
})
})
} else {
this.subUserList = JSON.parse(JSON.stringify(this.subUserListAll))
}
}
this.subUserList = this.subUserListAll.slice(0, 10)
this.totalAmount = res.obj.length
} else {
//
// if(this.subUserListTemp.length > 0) {
// this.subUserListAll.forEach((e)=>{
// his.subUserListTemp.forEach((j)=>{
// })
// })
// }
console.log('全部状态---')
if (this.subUserListTemp.length == 0) {
if (this.personList.length > 0) {
this.subUserListAll.forEach(e => {
if (this.personList[this.currentIndex].includes(e.idNumber)) {
e.isChecked = true
this.subUserListTemp.push(JSON.parse(JSON.stringify(e)))
}
})
let tempArray = this.personList.filter((e, index) => index != this.currentIndex)
if (tempArray.length > 0) {
this.subUserList = []
// this.subUserListTemp
tempArray.forEach(e => {
this.subUserListAll.forEach(j => {
if (!e.includes(j.idNumber)) {
// this.subUserList.push(j)
this.subUserList.push(JSON.parse(JSON.stringify(j)))
// this.subUserListTemp.push(JSON.parse(JSON.stringify(j)))
}
})
})
} else {
this.subUserList = JSON.parse(JSON.stringify(this.subUserListAll))
// this.subUserListTemp = JSON.parse(JSON.stringify(this.subUserListAll))
}
}
} else {
this.subUserListAll.forEach(e => {
this.subUserListTemp.forEach(j => {
if (e.idNumber == j.idNumber) {
this.subUserList.push(JSON.parse(JSON.stringify(j)))
} else {
this.subUserList.push(JSON.parse(JSON.stringify(e)))
}
})
})
}
}
this.totalAmount = this.subUserList.length
},
onPagination(e) {
this.subUserList = []
@ -212,11 +326,22 @@ export default {
this.subUserListAll.forEach(e => {
if (e.idNumber == item.idNumber) {
e.isChecked = !eisChecked
throw new Error()
}
})
} catch (error) {}
this.subUserListTemp = []
this.subUserList.forEach(e => {
if (e.isChecked) {
this.subUserListTemp.push(JSON.parse(JSON.stringify(e)))
}
})
// if (this.subUserList.every(e => e.isChecked == true)) {
// this.subUserListTemp = JSON.parse(JSON.stringify(this.subUserList))
// } else {
// this.subUserListTemp = []
// }
},
async getUserTeamInfoList() {
const res = await getUserTeamInfoListApi({ proName: this.subQueryParams.proName })
@ -282,42 +407,81 @@ export default {
},
//
onUserSubmit() {
const isSelect = this.subUserListAll.some(e => e.isChecked === true)
const isSelect = this.subUserList.some(e => e.isChecked === true)
if (!isSelect) {
uni.showToast({
title: '请勾选人员数据',
icon: 'none'
})
return
} else {
const userInfo = this.subUserListAll.filter(e => e.isChecked === true)
this.subUserList.forEach(e => {
console.log('选择的每一项', e)
if (e.isChecked) {
if (e.userState == 1) {
//
this.fixedPersonList.push(e.name)
}
if (e.userState == 2) {
//
this.tempPersonList.push(e.name)
}
if (e.userState == 3) {
// 退
this.returnPersonList.push(e.name)
}
}
})
this.$refs.popupPerson.open('center')
}
},
onCancelBtn() {
this.$refs.popupPerson.close()
},
onSubmitBtn() {
const userInfo = this.subUserList.filter(e => e.isChecked === true)
uni.navigateBack({
delta: 1,
success() {
uni.$emit('updateUser', userInfo)
}
})
}
},
//
onCheckBoxChangeAll() {
this.subUserList.forEach(e => {
e.isChecked = !e.isChecked
})
if (this.subUserList.every(e => e.isChecked == true)) {
this.subUserListTemp = JSON.parse(JSON.stringify(this.subUserList))
} else {
this.subUserListTemp = []
}
// this.subUserListTemp.forEach(e => {
// e.isChecked = !e.isChecked
// })
}
},
onLoad(options) {
this.subQueryParams.proName = options.proName
this.personList = JSON.parse(options.personList).personList
// console.log('options.index', options.index)
this.currentIndex = options.index
// console.log('this.personList', options.personList, this.personList)
this.getSubUserInfoList()
this.getUserTeamInfoList()
},
computed: {
onAlreadySelect() {
let amount = 0
if (this.subUserListAll.length > 0) {
this.subUserListAll.forEach(e => {
if (this.subUserList.length > 0) {
this.subUserList.forEach(e => {
if (e.isChecked) {
amount++
}
@ -327,8 +491,18 @@ export default {
},
isAllChecked() {
let isCheckedAll = false
if (this.subUserListAll.length > 0) {
isCheckedAll = this.subUserListAll.every(e => e.isChecked === true)
if (this.subUserList.length > 0) {
isCheckedAll = this.subUserList.every(e => e.isChecked === true)
// if (isCheckedAll) {
// this.subUserListTemp.forEach(e => {
// e.isChecked = true
// })
// } else {
// this.subUserListTemp.forEach(e => {
// e.isChecked = false
// })
// }
}
return isCheckedAll
}
@ -402,9 +576,12 @@ export default {
border-top: none;
view {
padding: 15rpx 0;
text-align: center;
// text-align: center;
border-left: 1px solid #ccc;
font-size: 22rpx;
display: flex;
align-items: center;
justify-content: center;
}
}
.tb-content-box view:first-child {
@ -508,4 +685,64 @@ export default {
color: #fff !important;
}
}
.popup-person {
width: 90vw;
background-color: #fff;
.title {
padding: 26rpx;
text-align: center;
font-size: 36rpx;
letter-spacing: 2rpx;
border-bottom: 1px solid #ccc;
}
.info {
padding: 20rpx;
color: #c95645;
font-size: 28rpx;
}
.title_1 {
text-align: center;
font-size: 28rpx;
padding: 12rpx 0;
border-bottom: 1px solid #ccc;
}
.person-list {
height: 30vh;
}
.person-list view {
padding: 8rpx 12rpx;
text {
padding: 8rpx;
}
}
.person-btn {
display: flex;
justify-content: center;
padding: 16rpx 0;
}
.person-btn view {
width: 138rpx;
height: 58rpx;
line-height: 58rpx;
text-align: center;
border-radius: 12rpx;
}
.person-btn view:first-child {
background-color: #dfdfdf;
color: #013678;
}
.person-btn view:last-child {
margin-left: 32rpx;
background-color: #013678;
color: #fff;
}
}
</style>

View File

@ -69,6 +69,7 @@
:name="f.name"
:required="f.required"
>
<view @tap="onViewPerson(f.name, item)">
<u--textarea
v-if="f.items_type === 'area'"
v-model="item[f.name]"
@ -76,6 +77,7 @@
autoHeight
:disabled="editDisabled"
></u--textarea>
</view>
<u--input
v-if="f.items_type === 'ipt'"
:type="f.isType ? f.isType : 'text'"
@ -194,6 +196,19 @@
</view>
</view>
</uni-popup>
<uni-popup ref="personRef" type="center">
<view class="person-box">
<view class="title">分包人员</view>
<view class="person-list">
<text v-for="item in personList" :key="item.idNumber">{{ item.name }}</text>
</view>
<view class="submit-btn">
<view @tap="onSubmitBtn">确定</view>
</view>
</view>
</uni-popup>
</view>
</template>
@ -209,7 +224,8 @@ import {
getAUditingProcessApi,
getAUditingUserInfoApi,
// setMonthPlanApi,
setAuditingRejectApi
setAuditingRejectApi,
getPersonInfoApi
} from '../../../api/workPlan/dayPlan'
export default {
data() {
@ -225,6 +241,7 @@ export default {
proId: '',
planTime: ''
},
personList: [],
btnList: [
{ title: '修改', id: 1, type: 'compose', isShow: ['1', '3', '2'], isRoles: ['22', '23'] },
{ title: '删除', id: 2, type: 'trash', isShow: ['1', '3', '2'], isRoles: ['22', '23'] },
@ -621,6 +638,11 @@ export default {
}
}
})
this.processList.forEach(e => {
if (e.auditingInfo.length > 1) {
e.auditingInfo = e.auditingInfo.splice(-1, 1)
}
})
}
},
/* 复选框事件 */
@ -768,6 +790,20 @@ export default {
if (value === 0) {
this.remarks = ''
}
},
async onViewPerson(type, item) {
console.log(type, item, '9999')
const res = await getPersonInfoApi({ contentId: item.contentId })
console.log('人员信息--', res)
this.personList = res.obj
if (type == 'rys') {
this.$refs.personRef.open('center')
}
},
onSubmitBtn() {
this.$refs.personRef.close()
}
},
@ -1064,4 +1100,36 @@ export default {
color: #000;
font-size: 26rpx;
}
.person-box {
width: 90vw;
background-color: #fff;
.title {
font-size: 38rpx;
padding: 20rpx 0;
text-align: center;
}
.person-list {
padding: 15rpx 26rpx;
text {
padding: 0 6rpx;
}
}
.submit-btn {
padding-bottom: 18rpx;
}
.submit-btn view {
margin: 0 auto;
width: 180rpx;
height: 78rpx;
line-height: 78rpx;
text-align: center;
border-radius: 16rpx;
color: #fff;
background-color: #003778;
}
}
</style>

View File

@ -641,6 +641,11 @@ export default {
}
}
})
this.processList.forEach(e => {
if (e.auditingInfo.length > 1) {
e.auditingInfo = e.auditingInfo.splice(-1, 1)
}
})
}
},
/* 复选框事件 */

View File

@ -52,6 +52,7 @@
:name="f.name"
:required="f.required"
>
<view @tap="onViewPerson(f.name, item)">
<u--textarea
v-if="f.items_type === 'area'"
v-model="item[f.name]"
@ -59,6 +60,7 @@
autoHeight
:disabled="editDisabled"
></u--textarea>
</view>
<u--input
v-if="f.items_type === 'ipt'"
:type="f.isType ? f.isType : 'text'"
@ -169,6 +171,19 @@
</view>
</view>
</uni-popup>
<uni-popup ref="personRef" type="center">
<view class="person-box">
<view class="title">分包人员</view>
<view class="person-list">
<text v-for="item in personList" :key="item.idNumber">{{ item.name }}</text>
</view>
<view class="submit-btn">
<view @tap="onSubmitBtn">确定</view>
</view>
</view>
</uni-popup>
</view>
</template>
@ -183,7 +198,8 @@ import {
updateInfPlanContentApi,
getAUditingProcessApi,
getAUditingUserInfoApi,
setMonthPlanApi
setMonthPlanApi,
getPersonInfoApi
} from '../../../api/workPlan/dayPlan'
export default {
data() {
@ -311,7 +327,8 @@ export default {
}
],
searchUserName: '',
auditingUserList: []
auditingUserList: [],
personList: []
}
},
methods: {
@ -518,6 +535,11 @@ export default {
}
}
})
this.processList.forEach(e => {
if (e.auditingInfo.length > 1) {
e.auditingInfo = e.auditingInfo.splice(-1, 1)
}
})
}
},
/* 复选框事件 */
@ -590,6 +612,20 @@ export default {
}
return isShowBtn
},
async onViewPerson(type, item) {
console.log(type, item, '9999')
const res = await getPersonInfoApi({ contentId: item.contentId })
console.log('人员信息--', res)
this.personList = res.obj
if (type == 'rys') {
this.$refs.personRef.open('center')
}
},
onSubmitBtn() {
this.$refs.personRef.close()
}
},
@ -868,4 +904,37 @@ export default {
color: #000;
font-size: 26rpx;
}
.person-box {
width: 90vw;
background-color: #fff;
.title {
font-size: 38rpx;
padding: 20rpx 0;
text-align: center;
}
.person-list {
padding: 15rpx 26rpx;
text {
padding: 0 6rpx;
}
}
.submit-btn {
padding-bottom: 18rpx;
}
.submit-btn view {
margin: 0 auto;
width: 180rpx;
height: 78rpx;
line-height: 78rpx;
text-align: center;
border-radius: 16rpx;
color: #fff;
background-color: #003778;
}
}
</style>

View File

@ -539,6 +539,11 @@ export default {
}
}
})
this.processList.forEach(e => {
if (e.auditingInfo.length > 1) {
e.auditingInfo = e.auditingInfo.splice(-1, 1)
}
})
}
},
/* 复选框事件 */

View File

@ -1369,6 +1369,8 @@ export default {
month: this.DateValue
}
const res = await getIsPlanApi(params)
console.log('计划是否存在', res)
if (res.res == 0) {
uni.showToast({
title: '计划已存在,请重新选择!',

View File

@ -644,6 +644,11 @@ export default {
}
}
})
this.processList.forEach(e => {
if (e.auditingInfo.length > 1) {
e.auditingInfo = e.auditingInfo.splice(-1, 1)
}
})
}
},
/* 复选框事件 */

View File

@ -595,6 +595,11 @@ export default {
}
}
})
this.processList.forEach(e => {
if (e.auditingInfo.length > 1) {
e.auditingInfo = e.auditingInfo.splice(-1, 1)
}
})
}
},
/* 复选框事件 */

View File

@ -544,6 +544,11 @@ export default {
}
}
})
this.processList.forEach(e => {
if (e.auditingInfo.length > 1) {
e.auditingInfo = e.auditingInfo.splice(-1, 1)
}
})
}
},
/* 复选框事件 */

View File

@ -354,7 +354,7 @@ export default {
time: '',
auditingResult: '',
imgSrcIndex: 0,
auditingInfo: [],
auditingInfo: [{ operateTime: '', operateUser: '', operateResult: '' }],
imgSrcList: ['../../../static/images/workPlan/xmb_dd.png', ' ', '../../../static/images/workPlan/xmb_tg.png']
},
{
@ -648,6 +648,11 @@ export default {
}
}
})
this.processList.forEach(e => {
if (e.auditingInfo.length > 1) {
e.auditingInfo = e.auditingInfo.splice(-1, 1)
}
})
}
},
isSHowBtn(item) {

View File

@ -3,7 +3,7 @@
<view class="month-container">
<u-navbar
class="u-navbar"
title="基建涉网计划"
title="生产涉网计划"
placeholder
@leftClick="leftClick"
leftIconColor="#fff"

View File

@ -604,6 +604,11 @@ export default {
}
}
})
this.processList.forEach(e => {
if (e.auditingInfo.length > 1) {
e.auditingInfo = e.auditingInfo.splice(-1, 1)
}
})
}
},
/* 复选框事件 */

View File

@ -719,6 +719,12 @@ export default {
wztj: {
rules: [{ required: true, errorMessage: '请选择甲、乙供物资到货是否满足作业条件' }]
},
jjtj: {
rules: [{ required: true, errorMessage: '请选择施工机具是否满足作业条件' }]
},
jktj: {
rules: [{ required: true, errorMessage: '请选择视频监控是否满足作业条件' }]
},
jks: {
rules: [{ required: true, errorMessage: '请填写投入监控设备数(台)' }]
},
@ -801,6 +807,26 @@ export default {
{ value: '0', text: '否' }
]
},
{
form_label: '施工机具是否满足作业条件',
items_type: 'sel',
options: [
{ value: '1', text: '是' },
{ value: '0', text: '否' }
],
required: true,
name: 'jjtj'
},
{
form_label: '视频监控是否满足作业条件',
items_type: 'sel',
options: [
{ value: '1', text: '是' },
{ value: '0', text: '否' }
],
required: true,
name: 'jktj'
},
{ form_label: '投入监控设备数(台)', items_type: 'ipt', required: true, name: 'jks', isType: 'number' },
{ form_label: '公司职工人数', items_type: 'ipt', required: true, name: 'zgs', isType: 'number' },
{ form_label: '分包人员人数', items_type: 'ipt', required: true, name: 'fbrys', isType: 'number' },

View File

@ -859,7 +859,7 @@ export default {
{ form_label: '投入车辆(辆)', items_type: 'ipt', required: true, name: 'cls' },
{ form_label: '开始时间', items_type: 'date', required: true, name: 'kssj' },
{ form_label: '结束时间', items_type: 'date', required: true, name: 'jssj' },
{ form_label: '典型中高风险分部分项工程', items_type: 'ipt', required: false, name: 'fxgc' },
{ form_label: '典型中高风险分部分项工程', items_type: 'ipt', required: false, name: 'fxgc' },
{ form_label: '开始时间', items_type: 'date', required: false, name: 'fxkssj' },
{ form_label: '结束时间', items_type: 'date', required: false, name: 'fxjssj' },
{ form_label: '作业地点', items_type: 'area', required: false, name: 'fxgzdd' }

View File

@ -656,6 +656,11 @@ export default {
}
}
})
this.processList.forEach(e => {
if (e.auditingInfo.length > 1) {
e.auditingInfo = e.auditingInfo.splice(-1, 1)
}
})
}
},
/* 复选框事件 */

View File

@ -686,6 +686,11 @@ export default {
}
}
})
this.processList.forEach(e => {
if (e.auditingInfo.length > 1) {
e.auditingInfo = e.auditingInfo.splice(-1, 1)
}
})
}
},
/* 复选框事件 */

View File

@ -556,6 +556,11 @@ export default {
}
}
})
this.processList.forEach(e => {
if (e.auditingInfo.length > 1) {
e.auditingInfo = e.auditingInfo.splice(-1, 1)
}
})
}
},
/* 复选框事件 */

View File

@ -586,6 +586,11 @@ export default {
}
}
})
this.processList.forEach(e => {
if (e.auditingInfo.length > 1) {
e.auditingInfo = e.auditingInfo.splice(-1, 1)
}
})
}
},
/* 复选框事件 */

View File

@ -642,6 +642,11 @@ export default {
}
}
})
this.processList.forEach(e => {
if (e.auditingInfo.length > 1) {
e.auditingInfo = e.auditingInfo.splice(-1, 1)
}
})
}
},
/* 复选框事件 */

View File

@ -739,6 +739,11 @@ export default {
}
}
})
this.processList.forEach(e => {
if (e.auditingInfo.length > 1) {
e.auditingInfo = e.auditingInfo.splice(-1, 1)
}
})
}
},
/* 复选框事件 */

View File

@ -631,6 +631,11 @@ export default {
}
}
})
this.processList.forEach(e => {
if (e.auditingInfo.length > 1) {
e.auditingInfo = e.auditingInfo.splice(-1, 1)
}
})
}
},
/* 复选框事件 */

View File

@ -642,6 +642,11 @@ export default {
}
}
})
this.processList.forEach(e => {
if (e.auditingInfo.length > 1) {
e.auditingInfo = e.auditingInfo.splice(-1, 1)
}
})
}
},
/* 复选框事件 */