|
@@ -242,6 +242,53 @@
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
+ <view class="content2">
|
|
|
+ <view class="title row">
|
|
|
+ 流程
|
|
|
+ </view>
|
|
|
+ <view v-for="(item,index) in auditList" :key='index' class="audit">
|
|
|
+ <view class="row">
|
|
|
+ <view class="left">
|
|
|
+ <view class="item1">
|
|
|
+ <view class="item-content">{{item.operatorTitle}}</view>
|
|
|
+ <view v-if="item.status=='success'" class='status success'>
|
|
|
+ <u-icon name="checkmark" color="#2979ff" size="28"></u-icon>
|
|
|
+ </view>
|
|
|
+ <view v-if="item.status=='error'" class='status error'>
|
|
|
+ <u-icon name="close" color="rgb(245, 108, 108)" size="28"></u-icon>
|
|
|
+ </view>
|
|
|
+ <view v-if="item.status=='question'" class='status question'>
|
|
|
+ <u-icon name="question" color="#f9ae3d" size="28"></u-icon>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="item2">
|
|
|
+ <view class="name">{{item.desc}}
|
|
|
+ </view>
|
|
|
+ <view class='time'>{{item.updateDate}}</view>
|
|
|
+ <view v-if="item.status=='success'" class="status success">{{item.commonStaffs1?item.staffscontent:item.operatorName}}<text v-if='!item.commonStaffs1'>已审核</text></view>
|
|
|
+ <!-- <view v-if="item.status='error'" class="status error">{{item.commonStaffs1?item.staffscontent:item.operatorName}}<text v-if='!item.commonStaffs1'>{{item.workflowHistoricTasks ? "已审核":'未审核'}}</text></view> -->
|
|
|
+ <view v-if="item.status=='question'" class="status question">{{item.commonStaffs1?item.staffscontent:''}}<text v-if='!item.commonStaffs1'>未审核</text></view>
|
|
|
+ <!-- <view class="status success">吕波(已审核)</view> -->
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view v-if='item.commonStaffs1&&item.commonStaffs1.length>0' class="right">
|
|
|
+ <u-icon @click='showcontent(item)' :name="item.showflow?'arrow-up':'arrow-down'" size="28"></u-icon>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view v-if='item.showflow' style='padding:10px 0 0 50px;'>
|
|
|
+ <view class='row2'>
|
|
|
+ <view v-for='item1 in item.commonStaffs1' style='margin:5px;text-align:center;'>
|
|
|
+ <view class="item-content">
|
|
|
+ <u-icon v-if='item1.status' name="checkmark" color="#fff" size="14"></u-icon>
|
|
|
+ <u-icon v-if='!item1.status' name="question" color="#f9ae3d" size="14"></u-icon>
|
|
|
+ </view>
|
|
|
+ <view class="name">{{item1.staffName}}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="row-line" v-if="index!= auditList.length - 1"></view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</u-form>
|
|
|
</view>
|
|
|
<view v-if='show1' class="shade">
|
|
@@ -291,6 +338,7 @@
|
|
|
type: '移库',
|
|
|
show: false,
|
|
|
show1: false,
|
|
|
+ auditList:[],
|
|
|
auditMind: '',
|
|
|
pjList: [{
|
|
|
type: '一等品'
|
|
@@ -329,6 +377,9 @@
|
|
|
...mapState(['hasLogin', 'userInfo']),
|
|
|
},
|
|
|
methods: {
|
|
|
+ showcontent(item){
|
|
|
+ item.showflow=!item.showflow
|
|
|
+ },
|
|
|
getList() {
|
|
|
this.$api.doRequest('get', '/inOutWarehouseTask/getTask', {
|
|
|
id: this.id
|
|
@@ -380,6 +431,64 @@
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
+ this.$api.doRequest('get', '/workflow/query/workflowDefinitions', {
|
|
|
+ businessCode: 'INOUTTASK-TASK-APPROVE',
|
|
|
+ tmpCompId: uni.getStorageSync('pcUserInfo').compId
|
|
|
+ }).then(res1 => {
|
|
|
+ this.$api.doRequest('get', '/commonUser/getHis', {
|
|
|
+ workflowId: res1.data.data[0].id,
|
|
|
+ businessKey: this.id
|
|
|
+ }).then(response => {
|
|
|
+ // uni.hideLoading()
|
|
|
+ for (let i = 0; i < response.data.data.length; i++) {
|
|
|
+
|
|
|
+ this.$set(response.data.data[i],'status','question')
|
|
|
+ console.log(response.data.data[i].workflowHistoricTasks,i)
|
|
|
+ if(response.data.data[i].commonStaffs&&response.data.data[i].commonStaffs.length>0){
|
|
|
+ response.data.data[i].showflow=false
|
|
|
+ response.data.data[i].operatorTitle=response.data.data[i].desc[0]
|
|
|
+ response.data.data[i].operatorName=response.data.data[i].desc
|
|
|
+ response.data.data[i].staffscontent='共'+response.data.data[i].commonStaffs.length+'人,当前审核'+response.data.data[i].workflowHistoricTasks.length+'人'
|
|
|
+ if(response.data.data[i].workflowHistoricTasks&&response.data.data[i].workflowHistoricTasks.length>0){
|
|
|
+ if(response.data.data[i].workflowHistoricTasks.length!=response.data.data[i].commonStaffs.length){
|
|
|
+ // response.data.data[i].status='question'
|
|
|
+ this.$set(response.data.data[i],'status','question')
|
|
|
+ }else{
|
|
|
+ this.$set(response.data.data[i],'status','success')
|
|
|
+ // response.data.data[i].status='success'
|
|
|
+ }
|
|
|
+ response.data.data[i].workflowlen=response.data.data[i].workflowHistoricTasks.length
|
|
|
+ var workflowdata=response.data.data[i].workflowHistoricTasks
|
|
|
+ var staffsdata=response.data.data[i].commonStaffs
|
|
|
+ for (let q = 0; q < staffsdata.length; q++) {
|
|
|
+ staffsdata[q].status=false
|
|
|
+ staffsdata[q].staffTitle=staffsdata[q].staffName
|
|
|
+ for (let k = 0; k < workflowdata.length; k++) {
|
|
|
+ if(staffsdata[q].staffId==workflowdata[k].operatorId){
|
|
|
+ staffsdata[q].status=true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ response.data.data[i].commonStaffs1=response.data.data[i].commonStaffs
|
|
|
+ }else{
|
|
|
+ if(response.data.data[i].workflowHistoricTasks&&response.data.data[i].workflowHistoricTasks.length>0){
|
|
|
+ this.$set(response.data.data[i],'status','success')
|
|
|
+ response.data.data[i].operatorTitle=response.data.data[i].workflowHistoricTasks[0].operatorName[0]
|
|
|
+ response.data.data[i].operatorName=response.data.data[i].workflowHistoricTasks[0].operatorName
|
|
|
+ }else{
|
|
|
+ this.$set(response.data.data[i],'status','question')
|
|
|
+ // response.data.data[i].status='question'
|
|
|
+ response.data.data[i].operatorTitle=response.data.data[i].desc[0]
|
|
|
+ response.data.data[i].operatorName=response.data.data[i].desc
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ console.log(response.data.data)
|
|
|
+ this.auditList = response.data.data
|
|
|
+ })
|
|
|
+ })
|
|
|
},
|
|
|
pjPicker(e) {
|
|
|
this.OutList.grade = this.pjList[e[0]].type
|
|
@@ -1023,4 +1132,106 @@
|
|
|
/deep/.u-input__textarea {
|
|
|
height: 300rpx !important;
|
|
|
}
|
|
|
+ .content2 {
|
|
|
+ background: white;
|
|
|
+ margin: 20rpx 0;
|
|
|
+ border-radius: 20rpx;
|
|
|
+ padding: 20rpx;
|
|
|
+
|
|
|
+ .row {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+
|
|
|
+ .left {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ .item1{
|
|
|
+ position:relative;
|
|
|
+ .item-content{
|
|
|
+ background:#22C572;
|
|
|
+ width: 50px;
|
|
|
+ height: 50px;
|
|
|
+ border-radius: 50%;
|
|
|
+ line-height: 50px;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 20px;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+ .status{
|
|
|
+ position:absolute;
|
|
|
+ border-radius: 50%;
|
|
|
+ padding: 1px 2px;
|
|
|
+ right: 0;
|
|
|
+ bottom: 0;
|
|
|
+ background:#fff;
|
|
|
+ }
|
|
|
+ .status.success{
|
|
|
+ border:1px solid rgb(60, 156, 255);
|
|
|
+ }
|
|
|
+ .status.error{
|
|
|
+ border:1px solid rgb(245, 108, 108);
|
|
|
+ }
|
|
|
+ .status.question{
|
|
|
+ border:1px solid #f9ae3d;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .item2 {
|
|
|
+ margin-left: 20rpx;
|
|
|
+
|
|
|
+ .name {
|
|
|
+ font-size: 32rpx;
|
|
|
+ font-weight: 800;
|
|
|
+ }
|
|
|
+
|
|
|
+ .status.success {
|
|
|
+ color: #6CC48C;
|
|
|
+ }
|
|
|
+ .status.error {
|
|
|
+ color: rgb(245, 108, 108);
|
|
|
+ }
|
|
|
+ .status.question {
|
|
|
+ color: #f9ae3d;
|
|
|
+ }
|
|
|
+ .time{
|
|
|
+ color:#999;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .right {
|
|
|
+ color: #B0B1B5;
|
|
|
+ margin-top: 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .row2{
|
|
|
+ display:flex;
|
|
|
+ .item-content{
|
|
|
+ background:#22C572;
|
|
|
+ width: 30px;
|
|
|
+ height: 30px;
|
|
|
+ border-radius: 50%;
|
|
|
+ line-height: 30px;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 12px;
|
|
|
+ color: #fff;
|
|
|
+ padding:0 2px;
|
|
|
+ margin:0 auto;
|
|
|
+ }
|
|
|
+ .status{
|
|
|
+ position:absolute;
|
|
|
+ top:0;right:0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .row-line {
|
|
|
+ width: 1px;
|
|
|
+ height: 30px;
|
|
|
+ background: #F2F2F2;
|
|
|
+ margin: 10rpx 50rpx;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ .audit {
|
|
|
+ margin-top: 20rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
</style>
|