|
@@ -47,7 +47,13 @@
|
|
|
|
|
|
<view class="review-btn botton-content" v-if="showBtn">
|
|
|
<view class="review-form">
|
|
|
- <uv-form labelPosition="left" :model="reviewForm" ref="reviewFormRef" labelWidth="80">
|
|
|
+ <uv-form
|
|
|
+ labelPosition="left"
|
|
|
+ :model="reviewForm"
|
|
|
+ :rules="reviewFormRules"
|
|
|
+ ref="reviewFormRef"
|
|
|
+ labelWidth="80"
|
|
|
+ >
|
|
|
<uv-form-item label="审核说明" prop="taskStatusInfo" borderBottom required>
|
|
|
<uv-textarea
|
|
|
v-model="reviewForm.taskStatusInfo"
|
|
@@ -58,8 +64,8 @@
|
|
|
</uv-form>
|
|
|
</view>
|
|
|
<view class="btn">
|
|
|
- <view class="cancel" @click="reviewFn(false)">拒绝</view>
|
|
|
- <view class="confirm" @click="reviewFn(true)">通过</view>
|
|
|
+ <view class="cancel" @click="reviewFn('4')">拒绝</view>
|
|
|
+ <view class="confirm" @click="reviewFn('3')">通过</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
@@ -73,10 +79,7 @@ import {
|
|
|
getSignInfoByTaskIdApi,
|
|
|
getQrCodeByUrlApi
|
|
|
} from '@/service/modules/getTask'
|
|
|
-
|
|
|
-import { approvalTaskApi } from '@/service/modules/taskAudit.ts'
|
|
|
-
|
|
|
-import { getTaskV2TokenApi, checkSingleApi } from '@/service/modules/serviceReviewed'
|
|
|
+import { approvalTaskApi, approvalReportApi } from '@/service/modules/taskAudit'
|
|
|
|
|
|
import { onLoad } from '@dcloudio/uni-app'
|
|
|
import { reactive, ref } from 'vue'
|
|
@@ -93,6 +96,7 @@ import { useLoginStore } from '@/store/login'
|
|
|
|
|
|
const loginStore = useLoginStore()
|
|
|
let userInfo: any = loginStore.currentUserInfo
|
|
|
+const roles: number[] = userInfo.roles
|
|
|
|
|
|
const reviewStore = useReview()
|
|
|
// 文本展示类型
|
|
@@ -129,26 +133,24 @@ onLoad((e) => {
|
|
|
reviewStore.setCurrentInfo('')
|
|
|
|
|
|
if (e?.show === 'true') {
|
|
|
- showBtn.value = true
|
|
|
+ if (roles.includes(currentInfo.value.checkState.roleId)) {
|
|
|
+ showBtn.value = true
|
|
|
+ }
|
|
|
+
|
|
|
+ if ((roles.includes(40) || roles.includes(42)) && currentInfo.value.checkState.roleId == -1) {
|
|
|
+ showBtn.value = true
|
|
|
+ }
|
|
|
+ if (roles.includes(39) && currentInfo.value.checkState.nextNodeId == -1) {
|
|
|
+ showBtn.value = false
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (e?.id) {
|
|
|
detailId.value = e.id
|
|
|
getTaskDetail()
|
|
|
- getToken()
|
|
|
}
|
|
|
})
|
|
|
|
|
|
-const token = ref('')
|
|
|
-const getToken = async () => {
|
|
|
- const res = await getTaskV2TokenApi({
|
|
|
- taskIds: [detailId.value]
|
|
|
- })
|
|
|
- if (res.code === 0) {
|
|
|
- token.value = res.data.token
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
const detailInfo = ref()
|
|
|
const taskTypeId = ref()
|
|
|
const isShareImg = ref(false)
|
|
@@ -232,83 +234,48 @@ const reviewFormRef = ref()
|
|
|
const reviewForm = reactive({
|
|
|
taskStatusInfo: ''
|
|
|
})
|
|
|
-
|
|
|
-const role37Review = async (flag) => {
|
|
|
- let obj = {
|
|
|
- id: detailId.value,
|
|
|
- taskStatus: flag ? 3 : 4,
|
|
|
- taskStatusInfo: reviewForm.taskStatusInfo,
|
|
|
- nodeId: 1
|
|
|
+const reviewFormRules = reactive({
|
|
|
+ taskStatusInfo: {
|
|
|
+ type: 'string',
|
|
|
+ required: true,
|
|
|
+ message: '请输入审核说明',
|
|
|
+ trigger: ['blur', 'change']
|
|
|
}
|
|
|
- const res = await approvalTaskApi(obj)
|
|
|
- if (res.code === 0) {
|
|
|
- uni.showToast({
|
|
|
- title: '审核成功',
|
|
|
- icon: 'none'
|
|
|
- })
|
|
|
- setTimeout(() => {
|
|
|
- uni.navigateBack()
|
|
|
- }, 1000)
|
|
|
- }
|
|
|
-}
|
|
|
+})
|
|
|
|
|
|
-const reviewFn = (flag: boolean) => {
|
|
|
- if (!flag && !reviewForm.taskStatusInfo) {
|
|
|
- return uni.showToast({
|
|
|
- title: '请输入审核说明',
|
|
|
- icon: 'none'
|
|
|
- })
|
|
|
- }
|
|
|
+const reviewFn = (flag: string) => {
|
|
|
reviewFormRef.value
|
|
|
.validate()
|
|
|
.then(async () => {
|
|
|
- let userInfo: any = loginStore.currentUserInfo
|
|
|
- const roles: number[] = userInfo?.roles || []
|
|
|
-
|
|
|
- if (roles.includes(37)) {
|
|
|
- role37Review(flag)
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- let nodeId: any = ''
|
|
|
- switch (true) {
|
|
|
- // 43 地市管理员
|
|
|
- case roles.includes(43):
|
|
|
- nodeId = 2
|
|
|
- break
|
|
|
- // 4 区域管理员
|
|
|
- case roles.includes(4):
|
|
|
- nodeId = 3
|
|
|
- break
|
|
|
- // 42 市场管理员
|
|
|
- case roles.includes(42):
|
|
|
- nodeId = 8
|
|
|
- break
|
|
|
- // 40 商务管理员
|
|
|
- case roles.includes(40):
|
|
|
- nodeId = 9
|
|
|
- break
|
|
|
- // 39 事业部总经理
|
|
|
- case roles.includes(39):
|
|
|
- nodeId = 6
|
|
|
- break
|
|
|
- // 41 事业部分管领导
|
|
|
- case roles.includes(41):
|
|
|
- nodeId = 5
|
|
|
- break
|
|
|
- default:
|
|
|
- nodeId = 1
|
|
|
- }
|
|
|
-
|
|
|
- let obj: any = {
|
|
|
- token: token.value,
|
|
|
- taskId: detailId.value,
|
|
|
- checkResult: flag,
|
|
|
- checkMessage: reviewForm.taskStatusInfo,
|
|
|
- nodeId: nodeId
|
|
|
+ let obj: any = {}
|
|
|
+ let res
|
|
|
+ if (currentType.value === '1') {
|
|
|
+ obj = {
|
|
|
+ id: detailId.value,
|
|
|
+ taskStatus: flag,
|
|
|
+ taskStatusInfo: reviewForm.taskStatusInfo,
|
|
|
+ nodeId: currentInfo.value?.checkState.curNodeId
|
|
|
+ }
|
|
|
+ res = await approvalTaskApi(obj)
|
|
|
+ } else if (currentType.value === '2') {
|
|
|
+ obj = {
|
|
|
+ id: currentReportId.value,
|
|
|
+ taskIds: detailId.value,
|
|
|
+ approvalOpinion: flag == '3' ? '1' : '2',
|
|
|
+ approvalInfo: reviewForm.taskStatusInfo,
|
|
|
+ taskStatusInfo: reviewForm.taskStatusInfo,
|
|
|
+ nodeId: currentInfo.value?.checkState.nextNodeId
|
|
|
+ }
|
|
|
+ if (roles.includes(42)) {
|
|
|
+ obj.nodeId = 8
|
|
|
+ }
|
|
|
+ // 40 商务组
|
|
|
+ if (roles.includes(40)) {
|
|
|
+ obj.nodeId = 9
|
|
|
+ }
|
|
|
+ res = await approvalReportApi(obj)
|
|
|
}
|
|
|
|
|
|
- let res = await checkSingleApi(obj)
|
|
|
if (res.code === 0) {
|
|
|
uni.showToast({
|
|
|
title: '审核成功',
|