From 80f9adf3f7682edf1d997f48c65a9bac2e4c1605 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期日, 28 九月 2025 15:25:42 +0800
Subject: [PATCH] 钉钉授权 与 通知开发
---
admin/src/views/task/dangetDetail.vue | 98 +++++++++++++++++++++++++++++++++++++++---------
1 files changed, 79 insertions(+), 19 deletions(-)
diff --git a/admin/src/views/task/dangetDetail.vue b/admin/src/views/task/dangetDetail.vue
index 76d3a71..2651ddb 100644
--- a/admin/src/views/task/dangetDetail.vue
+++ b/admin/src/views/task/dangetDetail.vue
@@ -1,13 +1,17 @@
<template>
- <GlobalWindow :title="title" :visible.sync="isShowModal" @confirm="confirm">
+ <GlobalWindow :title="title" :visible.sync="isShowModal" @close="close" @confirm="confirm">
<div class="modal_wrap">
<div class="modal_content">
<div class="header">
+ <img v-if="info.status == '3' || info.status == '6'" class="head_bg" src="@/assets/task/bg_shenhe_fail@2x.png" alt="">
+ <img v-else-if="info.status == '2' || info.status == '5'" class="head_bg" src="@/assets/task/bg_shenhe_pass@2x.png" alt="">
+ <img v-else-if="info.status == '4'" class="head_bg" src="@/assets/task/bg_shenhe_chexiao@2x.png" alt="">
+ <img v-else class="head_bg" src="@/assets/task/bg_shenhe@2x.png" alt="">
<div class="left">
<div class="h1">{{ cateList[type] }}</div>
<div class="time">鎻愪氦鏃堕棿锛歿{ info.createDate }}</div>
</div>
- <div class="right">{{ statusMap[info.status] }}</div>
+ <div class="right" :class="{ scs: info.status == '2' || info.status == '5', msg: info.status == '3' || info.status == '6' }">{{ statusMap[info.status] }}</div>
</div>
<div class="info">
<div class="title">闅愭偅闅忔墜鎷嶄俊鎭�</div>
@@ -34,7 +38,7 @@
<div class="label">鐜板満鎯呭喌</div>
<div class="value">
<div class="file_list">
- <template v-for="item in info.submitFileList">
+ <div class="file" v-for="item in info.submitFileList">
<img
v-if="item.type == 0"
:key="item.id"
@@ -49,7 +53,7 @@
class="img"
controls
/>
- </template>
+ </div>
</div>
</div>
</div>
@@ -187,7 +191,7 @@
>杞氦</el-button
>
<el-button @click="isShowBack = true" type="danger" plain>閫�鍥�</el-button>
- <el-button @click="isShowModal = false">杩斿洖</el-button>
+ <el-button @click="close">杩斿洖</el-button>
</template>
<!-- 鍚屾剰/鎷掔粷 -->
<el-dialog
@@ -254,6 +258,7 @@
class="avatar-uploader"
:action="uploadUrl"
:show-file-list="false"
+ :on-error="uploadError"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
>
@@ -287,6 +292,7 @@
:action="uploadUrl"
:show-file-list="false"
:on-success="handleAfterSuccess"
+ :on-error="uploadError"
:before-upload="beforeAvatarUpload"
>
<img v-if="param.url" :src="param.url" class="avatar" />
@@ -356,6 +362,7 @@
:action="uploadUrl"
:show-file-list="false"
:on-success="handleBackSuccess"
+ :on-error="uploadError"
:before-upload="beforeAvatarUpload"
>
<div class="upload_box">
@@ -402,6 +409,7 @@
<script>
import GlobalWindow from '@/components/common/GlobalWindow'
import { memberList } from '@/api/business/hiddenDangerParam'
+import { Loading } from 'element-ui'
import {
uploadFile,
hiddenDangerDetail,
@@ -416,7 +424,7 @@
id: '',
type: '',
uploadUrl: uploadFile,
-
+ loadingInstance: false,
title: '璁垮棰勭害璇︽儏',
isShowModal: false,
info: {},
@@ -441,10 +449,10 @@
dealAfterFileList: [{ type: 'array', required: true, message: '璇烽�夋嫨', trigger: 'change' }]
},
statusMap: {
- 0: '寰呭鎵�',
- 1: '瀹℃壒涓�',
- 2: '瀹℃壒閫氳繃',
- 3: '瀹℃壒鏈�氳繃',
+ 0: '寰呭鏍�',
+ 1: '澶勭悊涓�',
+ 2: '宸查�氳繃',
+ 3: '宸叉嫆缁�',
4: '宸插彇娑�',
5: '浠栦汉鎴栫',
6: '浠栦汉鎷掔粷'
@@ -458,7 +466,7 @@
}
}
},
- created() {
+ created () {
this.getMemberList()
},
methods: {
@@ -477,12 +485,18 @@
this.subLoading = false
this.$tip.apiSuccess('澶勭悊鎴愬姛')
this.getDetail()
+ this.$emit('success')
+ this.$emit('close')
this.isShowProblem = false
})
.finally(() => {
this.subLoading = false
})
})
+ },
+ close(){
+ this.isShowModal = false
+ this.$emit('close')
},
onSubBack () {
this.$refs.backForm.validate((valid) => {
@@ -550,6 +564,11 @@
},
reject () { },
handleAvatarSuccess (res) {
+ this.$nextTick(() => { // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂�
+ if(this.loadingInstance){
+ this.loadingInstance.close()
+ }
+ })
if (res.code === 200) {
const str = res.data.url.indexOf('png') > 0 || res.data.url.indexOf('jpg') > 0
const arr = this.handleParam.dealBeforeFileList || []
@@ -562,6 +581,11 @@
}
},
handleAfterSuccess (res) {
+ this.$nextTick(() => { // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂�
+ if(this.loadingInstance){
+ this.loadingInstance.close()
+ }
+ })
if (res.code === 200) {
const str = res.data.url.indexOf('png') > 0 || res.data.url.indexOf('jpg') > 0
const arr = this.handleParam.dealAfterFileList || []
@@ -574,6 +598,11 @@
}
},
handleBackSuccess (res) {
+ this.$nextTick(() => { // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂�
+ if(this.loadingInstance){
+ this.loadingInstance.close()
+ }
+ })
if (res.code === 200) {
const str = res.data.url.indexOf('png') > 0 || res.data.url.indexOf('jpg') > 0
const arr = this.backForm.dealBeforeFileList || []
@@ -585,12 +614,25 @@
this.$set(this.backForm, 'dealBeforeFileList', arr)
}
},
- beforeAvatarUpload () { }
+ beforeAvatarUpload () {
+ this.loadingInstance = Loading.service({
+ lock: true,
+ text: 'Loading',
+ spinner: 'el-icon-loading',
+ background: 'rgba(0, 0, 0, 0.7)'
+ })
+ },
+ uploadError() {
+ this.$nextTick(() => { // 浠ユ湇鍔$殑鏂瑰紡璋冪敤鐨� Loading 闇�瑕佸紓姝ュ叧闂�
+ this.loadingInstance.close()
+ })
+ },
}
}
</script>
<style lang="scss" scoped>
+@import "@/assets/style/variables.scss";
.upload_wrap {
display: flex;
flex-wrap: wrap;
@@ -666,10 +708,14 @@
}
.file_list {
display: flex;
- .img {
- width: 200px;
+ .file {
+ width: 92px;
margin-right: 12px;
margin-bottom: 12px;
+ .img{
+ max-height: 92px;
+ max-width: 92px;
+ }
}
}
.value {
@@ -689,8 +735,15 @@
padding: 20px 30px;
margin: 0 -30px;
border-radius: 8px 8px 0 0;
- background: linear-gradient(to right, #f2f6fe, #cadffa);
-
+ position: relative;
+ .head_bg{
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ left: 0;
+ top: 0;
+ z-index: 9;
+ }
.h1 {
font-weight: 600;
font-size: 22px;
@@ -702,7 +755,6 @@
font-size: 14px;
color: #999999;
}
-
.right {
height: 40px;
font-size: 16px;
@@ -712,6 +764,14 @@
background: #207ff7;
box-shadow: 4px 4px 0px 0px rgba(32, 127, 247, 0.16);
border-radius: 16px 0px 16px 0px;
+ position: relative;
+ z-index: 99;
+ }
+ .scs{
+ background-color: #00BA67;
+ }
+ .msg{
+ background-color: #ED4545;
}
}
.table_info {
@@ -753,7 +813,7 @@
position: absolute;
border-left: 2px dashed #cccccc;
left: 31px;
- height: calc(100% - 36px);
+ height: calc(100% - 30px);
top: 49px;
}
.avatar {
@@ -772,7 +832,7 @@
font-size: 13px;
color: #888888;
.status {
- color: #00ba67;
+ color: $primaryColor;
}
}
.m_content {
--
Gitblit v1.9.3