From bdb3123664234ec9bfe7f43be21fac7250f9479f Mon Sep 17 00:00:00 2001
From: 王恒 <318726284@qq.com>
Date: 星期三, 13 八月 2025 20:00:51 +0800
Subject: [PATCH] '修改字段、处理空值'

---
 qiye/complaint/details.vue |  491 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 469 insertions(+), 22 deletions(-)

diff --git a/qiye/complaint/details.vue b/qiye/complaint/details.vue
index 8183fd0..02c90df 100644
--- a/qiye/complaint/details.vue
+++ b/qiye/complaint/details.vue
@@ -1,22 +1,469 @@
-<template>
-	<view>
-		
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				
-			}
-		},
-		methods: {
-			
-		}
-	}
-</script>
-
-<style>
-
-</style>
+<template>
+  <view>
+    <u-navbar placeholder bgColor="#1171E0FF" leftIconColor="white" :autoBack="true">
+      <template slot="center">
+        <view style="color: white;">鎶曡瘔璁板綍</view>
+      </template>
+    </u-navbar>
+    <view class="donw-box"></view>
+    <view class="page-main">
+      <view class="title">
+        <template v-if="msg.orderStatus>2&&msg.isEva==0">宸叉墽娉曞緟璇勪环</template>
+        <template v-if="msg.orderStatus>2&&msg.isEva==1">宸茶瘎浠�</template>
+        <template v-if="msg.orderStatus==2">寰呮墽娉�</template>
+      </view>
+      <view class="wbox">
+        <view class="item" v-if="dictLabel">
+          <view class="k">
+            妫�鏌ユ柟寮�
+          </view>
+          <view class="v">
+            {{dictLabel}}
+          </view>
+        </view>
+        <view class="item" v-if="details.executeUser">
+          <view class="k">
+            鎵ф硶浜�
+          </view>
+          <view class="v">
+            {{details.executeUser}}
+          </view>
+        </view>
+        <view class="item">
+          <view class="k">
+            鎵ф硶閮ㄩ棬
+          </view>
+          <view class="v">
+            {{details.executeDeptName}}
+          </view>
+        </view>
+        <view class="item">
+          <view class="k">
+            浼佷笟
+          </view>
+          <view class="v">
+            {{details.companyName}}
+          </view>
+        </view>
+      </view>
+      <view style="height: 20rpx;"></view>
+      <template v-if="orderId">
+        <view class="wbox">
+          <view class="item">
+            <view class="k">
+              鎵ф硶涓婚
+            </view>
+            <view class="v">
+              {{details.enforceReason}}
+            </view>
+          </view>
+          <view class="item">
+            <view class="k">
+              鎵ф硶杩囩▼
+            </view>
+          </view>
+          <view class="imgbox">
+            <img :src="baseUrl+item" v-for="(item,index) in orderDetailsMsg.regionImgs" :key="index" class="more"
+              @click="imgclick(item)" alt="" />
+
+          </view>
+          <view class="item">
+            <view class="k">
+              鎵ф硶缁撴灉
+            </view>
+            <view class="v" style="color: #EB4746;">
+              <!-- {{details.regionStatus == 0? "姝e父" : "鍋滀笟鏁撮】" }} -->
+              {{orderDetailsMsg.regionReason}}
+            </view>
+          </view>
+          <view class="item">
+            <view class="k">
+              鎵ф硶鏃堕棿
+            </view>
+            <view class="v">
+              {{details.executeTime}}
+            </view>
+          </view>
+        </view>
+        <view style="height: 20rpx;"></view>
+      </template>
+      <view class="wbox2">
+        <view class="t">
+          鎶曡瘔璁板綍
+        </view>
+        <view class="jilu"
+          :class="{start: item.nodeName == '鍙戣捣鎶曡瘔' || item.nodeName == '宸插姙缁�', handler: item.nodeName == '澶勭悊涓�', nonde: index == nodeList.length - 1}"
+          v-for="(item,index) in nodeList" :key="index">
+          <image src="/static/policy/icon.png" class="img" alt="" mode="widthFix"
+            v-if="item.nodeName == '鍙戣捣鎶曡瘔' || item.nodeName == '鍙戣捣璇夋眰'" />
+          <image src="/static/guocheng.png" class="img" alt="" mode="widthFix" v-if="item.nodeName == '澶勭悊涓�'" />
+          <image src="/static/policy/refject.png" class="img" mode="widthFix" alt="" v-if="item.nodeName == '宸查┏鍥�'" />
+          <image src="/static/policy/icon.png" class="img" alt="" mode="widthFix" v-if="item.nodeName == '宸插姙缁�'" />
+          <view class="font" style="width: calc(100% - 50rpx);">
+            <view class="h">
+              <view class="s">
+                {{item.nodeName}}
+              </view>
+              <view class="time">
+                {{item.nodeTime}}
+              </view>
+            </view>
+            <view class="b">
+              <view class="name" style="margin-bottom: 18rpx;">
+                {{item.nodeUser}}
+              </view>
+              <view class="p" style="margin-bottom: 18rpx;">
+                <span>鐢宠瘔涓婚锛�</span>
+                {{dictLabel1}}
+              </view>
+              <view class="p" style="margin-bottom: 18rpx;">
+                <span>鐢宠瘔鍐呭锛�</span>
+                {{details.complaintReason}}
+              </view>
+              <view class="p" v-if="item.nodeName == '宸查┏鍥�'">
+                <span>椹冲洖鍘熷洜锛�</span>
+                {{item.nodeReason}}
+              </view>
+              <view class="p" v-if="item.nodeName == '宸插姙缁�' && item.nodeReason">
+                <span>鍔炵粨缁撴灉锛�</span>
+                {{item.nodeReason}}
+              </view>
+            </view>
+          </view>
+        </view>
+        <!-- <view class="jilu">
+					<image src="/static/policy/refject.png" class="img" alt="" />
+					<view class="font">
+						<view class="h">
+							<view class="s">
+								{{item.nodeName}}
+							</view>
+							<view class="time">
+								{{item.nodeTime}}
+							</view>
+						</view>
+						<view class="b">
+							<view class="name">
+								{{details.companyUser}}
+							</view>
+							<view class="p">
+								<span>鐢宠瘔涓婚锛�</span>
+								{{dictLabel1}}
+							</view>
+							<view class="p">
+								<span>鐢宠瘔鍐呭锛�</span>
+								{{details.complaintReason}}
+							</view>
+						</view>
+					</view>
+				</view>
+				<view class="jilu">
+					<image src="/static/guocheng.png" class="img" alt=""  />
+					<view class="font">
+						<view class="h">
+							<view class="s">
+								澶勭悊涓�
+							</view>
+							<view class="time">
+								2024-06-07 12:14
+							</view>
+						</view>
+						<view class="b">
+							<view class="name">
+								{{details.companyUser}}
+							</view>
+							<view class="p">
+								<span>鐢宠瘔涓婚锛�</span>
+								{{dictLabel1}}
+							</view>
+							<view class="p">
+								<span>鐢宠瘔鍐呭锛�</span>
+								{{details.complaintReason}}
+							</view>
+						</view>
+					</view>
+				</view>
+			 -->
+      </view>
+    </view>
+
+  </view>
+</template>
+
+<script>
+  import {
+    complaintDetails,
+    orderNodeList,
+    orderComplaintNodeList
+  } from '@/api/qiye.js'
+  import {
+    orderDetails,
+    orderDetailsLog
+  } from '@/api/policy.js'
+  import {
+    config
+  } from '@/common/config.js'
+  import {
+    getDicts
+  } from '@/api/data.js'
+  export default {
+    data() {
+      return {
+        details: {},
+        orderId: "",
+        orderDetailsMsg: {},
+        baseUrl: config.baseUrl,
+        dictLabel: "",
+        dictLabel1: "",
+        nodeList: []
+      }
+    },
+    onLoad(options) {
+      this.complaint(options.id)
+      if (options.orderId && options.orderId !== 'null') {
+        this.orderId = options.orderId
+        this.orderDetails()
+      } else {
+        this.orderNodeList(options.id)
+      }
+    },
+    methods: {
+      orderNodeList(id) {
+        orderNodeList({
+          id
+        }).then(val => {
+          // console.log(val)
+          this.nodeList = val.data.data
+        })
+      },
+      // 鑾峰彇鎶曡瘔绫诲瀷
+      getComtype() {
+        getDicts('complaint_type').then(val => {
+          this.dictLabel1 = val.data.data.find(item => item.dictCode == this.details.complaintType).dictLabel
+
+        })
+      },
+      enforceType() {
+        getDicts('enforce_type').then(val => {
+          console.log(val)
+          this.dictLabel = val.data.data.find(item => item.dictCode == this.orderDetailsMsg.enforceType).dictLabel
+
+        })
+      },
+      imgclick(url) {
+        url = this.baseUrl + url
+        uni.previewImage({
+          urls: [url]
+        })
+      },
+      complaint(details) {
+        complaintDetails(details).then(val => {
+          // console.log(val.data.data)
+          this.details = val.data.data
+          this.getComtype()
+        })
+      },
+      orderDetails() {
+        orderDetails({
+          orderId: this.orderId
+        }).then(val => {
+          // console.log(val.data.data)
+          val.data.data.regionImgs = val.data.data.regionImgs.split(",")
+          this.orderDetailsMsg = val.data.data
+          if (this.orderId) {
+            this.orderComplaintNodeList()
+          }
+          this.enforceType()
+        })
+      },
+      orderComplaintNodeList() {
+        orderComplaintNodeList({
+          orderId: this.orderId
+        }).then(val => {
+          console.log(val.data.data, 'val===')
+          this.nodeList = val.data.data
+        })
+      }
+    }
+  }
+</script>
+
+<style>
+  page {
+    background: #F4F4F4;
+  }
+</style>
+<style lang="scss" scoped>
+  .page-main {
+    position: relative;
+    top: -380rpx;
+  }
+
+  .donw-box {
+    width: 100%;
+    height: 380rpx;
+    flex-shrink: 0;
+    background: linear-gradient(180deg, #1171E0 42.5%, #F4F4F4 100%);
+  }
+
+  .wbox {
+    background: #fff;
+    border-radius: 5px;
+    padding: 24rpx;
+    box-sizing: border-box;
+    margin: 0 32rpx;
+
+    .item {
+      display: flex;
+      margin-bottom: 20rpx;
+      font-size: 30rpx;
+
+      .k {
+        color: #7E8596;
+        width: 30%;
+
+      }
+
+      .v {
+        color: #202D44;
+        width: 70%;
+
+      }
+    }
+
+    .item:last-child {
+      margin-bottom: 0;
+    }
+
+    .imgbox {
+      display: flex;
+      flex-wrap: wrap;
+      justify-content: space-between;
+      border-radius: 10rpx;
+
+      img {
+        width: 198rpx;
+        height: 198rpx;
+        margin-bottom: 20rpx;
+
+      }
+    }
+  }
+
+  .title {
+    color: #ffffff;
+    font-size: 44rpx;
+    font-weight: bold;
+    padding-left: 32rpx;
+    margin-top: 24rpx;
+    margin-bottom: 24rpx;
+
+  }
+
+  .wbox2 {
+    background: #fff;
+    border-radius: 5px;
+    box-sizing: border-box;
+    margin: 0 32rpx;
+    position: relative;
+    z-index: 10;
+
+    .t {
+      padding: 24rpx;
+      border-bottom: 1px solid #EEEEEE;
+      color: #202d44;
+      font-size: 36rpx;
+      font-weight: bold;
+    }
+
+  }
+
+  .jilu {
+    display: flex;
+    justify-content: space-between;
+    padding: 24rpx;
+    position: relative;
+
+    &::before {
+      content: '';
+      display: inline-block;
+      width: 2rpx;
+      height: 100%;
+      background: #eb47460d;
+      position: absolute;
+      left: 44rpx;
+      top: 30rpx;
+      z-index: 99;
+    }
+
+    .img {
+      width: 50rpx;
+      height: 50rpx;
+      margin-right: 24rpx;
+      position: relative;
+      z-index: 100;
+    }
+
+    .font {
+      width: calc(100% - 70rpx);
+
+      .h {
+        display: flex;
+        justify-content: space-between;
+        margin-bottom: 20rpx;
+
+        .s {
+          color: #202d44;
+          font-size: 32rpx;
+        }
+
+        .time {
+          color: #7e8596;
+          font-size: 24rpx;
+        }
+      }
+
+      .b {
+        // width: 289px;
+        // height: 111px;
+        // flex-shrink: 0;
+        border-radius: 4px;
+        background: #F6F6F6;
+        padding: 24rpx;
+
+        .name {
+          color: #202d44;
+          font-size: 32rpx;
+        }
+
+        .p {
+          color: #202d44;
+          font-size: 26rpx;
+
+          span {
+            color: #666666;
+
+          }
+        }
+      }
+    }
+  }
+
+  .handler {
+    &::before {
+      background: #fe7b320d;
+    }
+  }
+
+  .start {
+    &::before {
+      background: #E7F8F0;
+    }
+  }
+
+  .nonde {
+    &::before {
+      background: none;
+    }
+  }
+</style>
\ No newline at end of file

--
Gitblit v1.9.1