From deb2a67c1a9824b288ce4a7a228347ffd60964fe Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期二, 24 九月 2024 18:25:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 pda/pages/index/center.vue | 1707 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 850 insertions(+), 857 deletions(-)

diff --git a/pda/pages/index/center.vue b/pda/pages/index/center.vue
index a1aaff3..a528592 100644
--- a/pda/pages/index/center.vue
+++ b/pda/pages/index/center.vue
@@ -1,858 +1,851 @@
-<template>
-  <view class="main_app">
-    <view class="main_content">
-      <view class="title" @click="showPlatformgroup = true"
-        >{{ activePlatformGroup.name
-        }}<u-icon
-          name="arrow-down"
-          size="20"
-          class="ml12"
-          color="#999999"
-        ></u-icon
-      ></view>
-      <view class="platform_list">
-        <view
-          class="item"
-          :class="{ active: item.id === activePlatform.id }"
-          v-for="(item, index) in activePlatformGroup.platformList"
-          :key="index"
-          @click="platformClick(item)"
-          >{{ item.name }}</view
-        >
-      </view>
-      <view class="status_wrap">
-        <view class="status"
-          >浣滀笟锛�<text>{{ platformTaskInfo.workNum }}</text></view
-        >
-        <view class="status"
-          >宸插彨锛�<text>{{ platformTaskInfo.callNum }}</text></view
-        >
-        <view class="status"
-          >绛夊緟锛�<text>{{ platformTaskInfo.waitNum }}</text></view
-        >
-        <view class="status"
-          >寮傚父锛�<text>{{ platformTaskInfo.exceptionNum }}</text></view
-        >
-      </view>
-    </view>
-    <!--  -->
-    <view style="padding-bottom: 140rpx">
-      <view
-        v-for="item in platformTaskInfo.platformJobList"
-        :key="item.id"
-        class="platform_ing"
-      >
-        <view class="head">
-          <view class="code">
-            <text>{{ item.carCodeFront.slice(0, 1) }}</text>
-            <text>{{ item.carCodeFront.slice(1, 2) }}</text>
-            <text>路</text>
-            <text>{{ item.carCodeFront.slice(2) }}</text>
-          </view>
-          <view
-            class="status"
-            v-if="item.status != 4 && item.status != 5"
-            :class="{ red: item.status == 8 }"
-            >{{ statusMap[item.status] }}</view
-          >
-          <view class="status" v-if="item.status == 4"
-            >鍙彿涓� {{ item.callDateTemp }}</view
-          >
-          <view class="status scs" v-if="item.status == 5"
-            >宸蹭綔涓� {{ item.startDateTemp }}</view
-          >
-        </view>
-        <view class="line" v-if="item.type == 4">
-          <text class="label">鍚堝悓鍗曞彿</text>
-          <text class="value">{{ item.contractNum }}</text>
-        </view>
-        <view class="line" v-else>
-          <text class="label">杩愯緭鍗曞彿</text>
-          <text class="value">{{ item.code }}</text>
-          <text class="primaryColor" @click="handleDetail()">杩愬崟璇︽儏</text>
-        </view>
-        <view class="line">
-          <text class="label">椹鹃┒鍛�</text>
-          <text class="value"
-            >{{ item.driverName }} {{ item.drivierPhone }}</text
-          >
-        </view>
-        <view class="line">
-          <text class="label">鎬昏繍杈撻噺</text>
-          <text class="value">{{ item.totalNum }}涓囨敮</text>
-        </view>
-        <view class="line" v-if="item.type != 4">
-          <text class="label">杩愯緭鍏徃</text>
-          <text class="value">{{ item.carrierName }}</text>
-        </view>
-        <view class="btns">
-          <view v-if="item.status == 4" class="btn" @click="handlePass(item)"
-            >杩囧彿</view
-          >
-          <view
-            v-if="item.status == 4"
-            class="btn active"
-            @click="handleWork(item)"
-            >寮�濮嬩綔涓�</view
-          >
-
-          <view v-if="item.status == 5" class="btn" @click="handleErr(item)"
-            >寮傚父鎸傝捣</view
-          >
-          <view
-            v-if="item.status == 5 || item.status == 8"
-            class="btn"
-            @click="handleTransform(item)"
-            >杞Щ鏈堝彴</view
-          >
-          <view
-            v-if="item.status == 5 || item.status == 8"
-            class="btn active"
-            @click="handleFinish(item)"
-            >浣滀笟瀹屾垚</view
-          >
-        </view>
-      </view>
-      <view v-if="!platformTaskInfo.platformJobList || platformTaskInfo.platformJobList.length == 0" class="empty_wrap">
-        <image src="@/static/default_nodata@2x.png" />
-        <text>鏆傛棤浣滀笟杞﹁締</text>
-      </view>
-    </view>
-    <!--  -->
-    <view class="main_footer">
-      <view class="btn" @click="PlatformCallClick(1)">鍏ュ洯鍙彿</view>
-      <view class="btn active" @click="PlatformCallClick(2)">鏈堝彴鍙彿</view>
-    </view>
-    <!-- 鍙彿 -->
-    <u-popup
-      :show="showPlatformCall"
-      closeable
-      safeAreaInsetTop
-      round="10"
-      @close="showPlatformCall = false"
-    >
-      <view
-        class="PlatformCallModal"
-        :style="{ height: 'calc(100vh - ' + windowTop + 'px)' }"
-      >
-        <view class="title" v-if="callType == 2"
-          >鏈堝彴鍙彿({{ activePlatform.name }})</view
-        >
-        <view class="title" v-else>鍏ュ洯鍙彿</view>
-        <view class="input_wrap">
-          <u-icon name="search" class="mr12" size="19" color="#999999" />
-          <input
-            v-model="platformCallSearch"
-            type="text"
-            placeholder="鎼滅储杞﹁締鐗岀収"
-            placeholder-class="placeholder9"
-            @confirm="callQuery"
-          />
-        </view>
-        <view class="order_list">
-          <scroll-view scroll-y="true" @scrolltolower="callScrolltolower" class="scroll_view">
-            <view
-              class="platform_ing"
-              v-for="item in platformCallList"
-              :key="item.id"
-            >
-              <view class="head">
-                <view v-if="item.carCodeFront" class="code">
-                  <text>{{ item.carCodeFront.slice(0, 1) }}</text>
-                  <text>{{ item.carCodeFront.slice(1, 2) }}</text>
-                  <text>路</text>
-                  <text>{{ item.carCodeFront.slice(2) }}</text>
-                </view>
-                <view class="status" :class="{ scs: item.status == 4 }">{{
-                  statusMap[item.status]
-                }}</view>
-              </view>
-              <view class="line" v-if="item.type == 4">
-                <text class="label">鍚堝悓鍗曞彿</text>
-                <text class="value">{{ item.contractNum }}</text>
-              </view>
-              <view class="line" v-else>
-                <text class="label">杩愯緭鍗曞彿</text>
-                <text class="value">{{ item.code }}</text>
-                <text class="primaryColor" @click="handleDetail()"
-                  >杩愬崟璇︽儏</text
-                >
-              </view>
-              <view class="line">
-                <text class="label">椹鹃┒鍛�</text>
-                <text class="value"
-                  >{{ item.driverName }} {{ item.drivierPhone }}</text
-                >
-              </view>
-              <view class="line">
-                <text class="label">鎬昏繍杈撻噺</text>
-                <text class="value">{{ item.totalNum }}涓囨敮</text>
-              </view>
-              <view class="line" v-if="item.type != 4">
-                <text class="label">杩愯緭鍏徃</text>
-                <text class="value">{{ item.carrierName }}</text>
-              </view>
-              <view class="btns">
-                <view class="btn active" @click="handleCall(item)">鍙彿</view>
-              </view>
-            </view>
-          </scroll-view>
-        </view>
-      </view>
-    </u-popup>
-    <!-- 杩愬崟璇︽儏 -->
-    <u-popup
-      :show="showDetail"
-      closeable
-      safeAreaInsetTop
-      round="10"
-      @close="showDetail = false"
-    >
-      <view
-        class="PlatformCallModal"
-        :style="{ height: 'calc(100vh - ' + windowTop + 'px)' }"
-      >
-        <view class="title">杩愬崟璇︽儏</view>
-        <view class="platform_ing" style="padding: 0">
-          <view class="head">
-            <view class="code">
-              <text>鐨�</text>
-              <text>AD1212</text>
-            </view>
-          </view>
-          <view class="line">
-            <text class="label">杩愯緭鍗曞彿</text>
-            <text class="value">11111</text>
-          </view>
-          <view class="line">
-            <text class="label">椹鹃┒鍛�</text>
-            <text class="value">11111</text>
-          </view>
-          <view class="line">
-            <text class="label">鎬昏繍杈撻噺</text>
-            <text class="value">11111</text>
-          </view>
-          <view class="line">
-            <text class="label">杩愯緭鍏徃</text>
-            <text class="value">11111</text>
-          </view>
-        </view>
-        <view class="detail_list">
-          <view class="item">
-            <view class="orderId">鍚堝悓缂栧彿锛歿{ 111 }}</view>
-            <view class="addr">鏀惰揣鍦帮細{{ 111 }}</view>
-            <view class="content">
-              <view class="line"
-                ><view class="label">鐗╂枡锛�</view
-                ><view class="value">榛勫北</view></view
-              >
-              <view class="line"
-                ><view class="label">鏁伴噺锛�</view
-                ><view class="value">榛勫北</view></view
-              >
-              <view class="line"
-                ><view class="label">鐗╂枡锛�</view
-                ><view class="value">榛勫北</view></view
-              >
-              <view class="line"
-                ><view class="label">鏁伴噺锛�</view
-                ><view class="value">榛勫北</view></view
-              >
-            </view>
-          </view>
-        </view>
-      </view>
-    </u-popup>
-    <!-- 杞Щ鏈堝彴 -->
-    <u-popup
-      :show="showTransform"
-      closeable
-      safeAreaInsetTop
-      round="10"
-      @close="showTransform = false"
-    >
-      <view class="TransformModal">
-        <view class="title">杞Щ鏈堝彴</view>
-        <view class="transform_list">
-          <view
-            class="line"
-            @click="transformPlatClick(item)"
-            v-for="item in activePlatformGroup.platformList"
-            :key="item.id"
-          >
-            <view class="name">{{ item.name }}</view>
-            <view class="status" :class="{ green: item.workStatus == 1 }"
-              >({{ item.workStatus == 0 ? "绌洪棽" : "浣滀笟涓�" }})</view
-            >
-            <image
-              v-if="transformPlatId == item.id"
-              src="@/static/ic_select@2x.png"
-              class="checked"
-            />
-          </view>
-        </view>
-        <view class="btns">
-          <view class="btn" @click="transformCancel">鍙栨秷</view>
-          <view class="btn active" @click="transformSub">纭畾</view>
-        </view>
-      </view>
-    </u-popup>
-    <!--  -->
-    <u-picker
-      :show="showPlatformgroup"
-      keyName="name"
-      :columns="[platformGroupList]"
-      @cancel="showPlatformgroup = false"
-      @confirm="platConfirm"
-    ></u-picker>
-  </view>
-</template>
-
-<script>
-import {
-  getPlatformGroupList,
-  getPlatformWorkData,
-  platformCallList,
-  platformCallNumber,
-  platformInPark,
-  beginWork,
-  finishWork,
-  platformMove,
-  platformErr,
-  platformOverNumber
-} from '@/api'
-import { statusMap } from '@/utils/config.js'
-import dayjs from 'dayjs'
-import duration from 'dayjs/plugin/duration'
-dayjs.extend(duration)
-
-export default {
-  data() {
-    return {
-      statusMap,
-      windowTop: 44,
-      showPlatformCall: false, // 鏈堝彴鍙彿
-      showDetail: false,
-      showTransform: false, // 杞Щ
-      showPlatformgroup: false,
-
-      platformGroupList: [],
-      activePlatformGroup: {},
-      platformTaskInfo: {},
-      activePlatform: {},
-
-      platformCallList: [],//鍙彿鍒楄〃
-      platformCallSearch: '',
-      platformCallTotal: 0,
-      platformCallPage: 1,
-      callType: 1,
-
-      transformPlatId: '', // 杞Щ璁板綍鏈堝彴id
-      transformId: '', // 杞Щ璁板綍浠诲姟id
-    }
-  },
-  onLoad() {
-    this.getPlatformGroup()
-    const res = uni.getWindowInfo()
-    this.windowTop = res.windowTop
-  },
-  methods: {
-    getPlatformGroup() {
-      getPlatformGroupList({
-        queryData: 1,
-        queryType: 0
-      }).then(res => {
-        this.platformGroupList = res.data || []
-        if (this.platformGroupList.length > 0) {
-          this.activePlatformGroup = this.platformGroupList[0]
-          if (this.activePlatformGroup.platformList && this.activePlatformGroup.platformList.length > 0) {
-            this.activePlatform = this.activePlatformGroup.platformList[0]
-            this.getPlatformTask()
-          }
-        }
-      })
-    },
-    getPlatformTask() {
-      getPlatformWorkData({ platformId: this.activePlatform.id }).then(res => {
-        this.platformTaskInfo = res.data
-        this.circulInitTaskList()
-        setInterval(() => {
-          this.circulInitTaskList()
-        }, 1000)
-      })
-    },
-    circulInitTaskList() {
-      if (this.platformTaskInfo && this.platformTaskInfo.platformJobList && this.platformTaskInfo.platformJobList.length > 0) {
-        let time = new Date()
-        this.platformTaskInfo.platformJobList.forEach(item => {
-          if (item.callDate) {
-            let timeNum = time.getTime() - new Date(item.callDate).getTime()
-            if (timeNum > 3600000) {
-              item.callDateTemp = dayjs.duration(timeNum).format('H灏忔椂m鍒唖绉�')
-            } else {
-              item.callDateTemp = dayjs.duration(timeNum).format('m鍒唖绉�')
-            }
-          }
-          if (item.startDate) {
-            let timeNum = time.getTime() - new Date(item.startDate).getTime()
-            if (timeNum > 3600000) {
-              item.startDateTemp = dayjs.duration(timeNum).format('H灏忔椂m鍒唖s绉�')
-            } else {
-              item.startDateTemp = dayjs.duration(timeNum).format('m鍒唖绉�')
-            }
-          }
-        })
-        this.$forceUpdate()
-      }
-    },
-    platConfirm(e) {
-      const index = e.indexs[0]
-      this.activePlatformGroup = this.platformGroupList[index]
-      if (this.activePlatformGroup.platformList && this.activePlatformGroup.platformList.length > 0) {
-        this.activePlatform = this.activePlatformGroup.platformList[0]
-        this.getPlatformTask()
-      }
-      this.showPlatformgroup = false
-    },
-    platformClick(item) {
-      this.activePlatform = item
-      this.getPlatformTask()
-    },
-    handleDetail() {
-      this.showDetail = true
-    },
-    handleFinish(item) {
-      finishWork({ jobId: item.id }).then(res => {
-        this.showToast('瀹屾垚浣滀笟')
-        this.getPlatformTask()
-      })
-    },
-    handleWork(item) { // 寮�濮嬩綔涓�
-      beginWork({ jobId: item.id }).then(res => {
-        this.showToast('宸插紑濮嬩綔涓�')
-        this.getPlatformTask()
-      })
-    },
-    handlePass(item) {
-      uni.showModal({
-        content: '鎮ㄧ‘璁よ瀵硅浠诲姟杩涜杩囧彿鍚�',
-        success: (res) => {
-          if (res.confirm) {
-            platformOverNumber({ jobId: item.id, platformId: this.activePlatform.id }).then(res => {
-              this.showToast('杩囧彿鎴愬姛')
-              this.getPlatformTask()
-            })
-          }
-        }
-      })
-
-    },
-    handleCall(item) {
-      const { callType, activePlatform } = this
-      this.platformCallList = []
-      this.platformCallPage = 1
-      if (callType == 1) { // 鍏ュ洯鍙彿
-        platformInPark({ jobId: item.id }).then(res => {
-          this.showToast('鍙彿鎴愬姛')
-          this.getPlatformCallList()
-        })
-      } else { // 鏈堝彴鍙彿
-        platformCallNumber({ platformId: activePlatform.id, jobId: item.id }).then(res => {
-          this.showToast('鍙彿鎴愬姛')
-          this.getPlatformCallList()
-          this.getPlatformTask()
-        })
-      }
-    },
-    PlatformCallClick(callType) {
-      this.callType = callType
-      this.showPlatformCall = true
-      this.platformCallList = []
-      this.platformCallPage = 1
-      this.platformCallSearch = ''
-      this.getPlatformCallList()
-    },
-    callQuery() {
-      this.platformCallList = []
-      this.platformCallPage = 1
-      this.getPlatformCallList()
-    },
-    callScrolltolower() {
-      const { platformCallTotal, platformCallList } = this
-      if(platformCallTotal > platformCallList.length){
-        this.getPlatformCallList()
-      }
-    },
-    getPlatformCallList() {
-      const { platformCallPage, callType, activePlatform, platformCallSearch } = this
-      platformCallList({
-        model: { callType, platformId: activePlatform.id, carCodeFront: platformCallSearch },
-        capacity: 10,
-        page: platformCallPage
-      }).then(res => {
-        if (res.data && res.data.records) {
-          this.platformCallList = [ ...this.platformCallList, ...res.data.records]
-          this.platformCallTotal = res.data.total
-        }
-      })
-    },
-    transformPlatClick(item) {
-      this.transformPlatId = item.id
-    },
-    transformCancel() {
-      this.transformPlatId = ''
-      this.showTransform = false
-    },
-    transformSub() {
-      const { transformPlatId, transformId } = this
-      platformMove({ platformId: transformPlatId, jobId: transformId }).then(res => {
-        this.showToast('杞Щ鏈堝彴鎴愬姛')
-        this.transformCancel()
-        this.getPlatformTask()
-      })
-    },
-    handleTransform(item) {
-      let { activePlatform } = this
-      this.transformId = item.id
-      this.transformPlatId = activePlatform.id
-      this.showTransform = true
-    },
-    handleErr(item) {
-      uni.showModal({
-        content: '鎮ㄧ‘璁よ瀵硅浠诲姟杩涜寮傚父鎸傝捣鍚�',
-        success: (res) => {
-          if (res.confirm) {
-            platformErr({ jobId: item.id }).then(ress => {
-              this.showToast('寮傚父鎸傝捣鎴愬姛')
-              this.getPlatformTask()
-            })
-          }
-        }
-      })
-    }
-  }
-}
-</script>
-<style lang="scss">
-.main_app {
-  padding: 0rpx;
-  height: calc(100vh - 44px);
-  font-size: 30rpx;
-  color: #333333;
-  background: url("@/static/bg_yuetai@2x.png") no-repeat;
-  background-size: 100% 100%;
-  .main_content {
-    background-color: #fff;
-    padding: 30rpx;
-    .platform_list {
-      display: flex;
-      flex-wrap: wrap;
-      .item {
-        width: 210rpx;
-        height: 80rpx;
-        line-height: 80rpx;
-        text-align: center;
-        background: #ffffff;
-        border-radius: 8rpx;
-        border: 1rpx solid #999999;
-        font-size: 30rpx;
-        color: #222222;
-        margin-bottom: 20rpx;
-        margin-right: 30rpx;
-        &:nth-of-type(3n) {
-          margin-right: 0;
-        }
-      }
-      .active {
-        color: #fff;
-        background-color: $uni-color-primary;
-        border-color: $uni-color-primary;
-      }
-    }
-    .status_wrap {
-      display: flex;
-      align-items: center;
-      justify-content: space-evenly;
-      width: 690rpx;
-      height: 76rpx;
-      margin-top: 4rpx;
-      background: #ffffff;
-      box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(0, 0, 0, 0.18);
-      border-radius: 8rpx;
-      .status {
-        color: #666666;
-        text {
-          color: #111111;
-        }
-        &:nth-last-child(1) {
-          text {
-            color: #ed4545;
-          }
-        }
-      }
-    }
-    .title {
-      font-weight: 500;
-      font-size: 32rpx;
-      color: #111111;
-      line-height: 44rpx;
-      margin-bottom: 30rpx;
-      display: flex;
-      justify-content: center;
-    }
-  }
-  .platform_ing {
-    margin-top: 20rpx;
-    padding: 30rpx;
-    background-color: #fff;
-    .head {
-      display: flex;
-      justify-content: space-between;
-      align-items: center;
-      margin-bottom: 30rpx;
-      .code {
-        display: flex;
-        font-weight: 600;
-        height: 60rpx;
-        line-height: 60rpx;
-        font-size: 32rpx;
-        color: #111111;
-        border-radius: 8rpx;
-        border: 1rpx solid #dfdede;
-        text {
-          &:nth-of-type(1) {
-            background: #e9f5f6;
-            padding: 0 12rpx;
-          }
-          &:nth-of-type(2) {
-            padding-left: 4rpx;
-          }
-          &:nth-of-type(4) {
-            padding-right: 6rpx;
-          }
-        }
-      }
-      .status {
-        font-size: 30rpx;
-        color: $uni-color-primary;
-      }
-      .scs {
-        color: #00ba67;
-      }
-    }
-    .line {
-      display: flex;
-      margin-bottom: 20rpx;
-      .label {
-        width: 144rpx;
-        color: #666666;
-      }
-      .value {
-        flex: 1;
-      }
-    }
-    .btns {
-      display: flex;
-      justify-content: flex-end;
-      .btn {
-        width: 210rpx;
-        height: 76rpx;
-        line-height: 76rpx;
-        text-align: center;
-        background: #ffffff;
-        border-radius: 40rpx;
-        border: 1rpx solid #999999;
-        margin-left: 20rpx;
-      }
-      .active {
-        background-color: $uni-color-primary;
-        color: #fff;
-        border-color: $uni-color-primary;
-      }
-    }
-  }
-  .empty {
-    width: 220rpx;
-    margin: 160rpx auto;
-  }
-  .main_footer {
-    width: 750rpx;
-    height: 136rpx;
-    position: fixed;
-    bottom: 0;
-    left: 0;
-    padding: 24rpx 30rpx;
-    display: flex;
-    justify-content: space-between;
-    font-size: 32rpx;
-    background-color: #fff;
-    .btn {
-      width: 224rpx;
-      height: 88rpx;
-      line-height: 88rpx;
-      text-align: center;
-      background: #ffffff;
-      border-radius: 44rpx;
-      color: $uni-color-primary;
-      border: 1rpx solid $uni-color-primary;
-    }
-    .active {
-      width: 436rpx;
-      background-color: $uni-color-primary;
-      color: #fff;
-      border-color: $uni-color-primary;
-    }
-  }
-}
-.PlatformCallModal {
-  height: calc(100vh - 44px);
-  padding: 30rpx;
-  .title {
-    text-align: center;
-    margin: 0 0 30rpx;
-  }
-  .input_wrap {
-    display: flex;
-    align-items: center;
-    width: 690rpx;
-    height: 76rpx;
-    background: #f7f7f7;
-    border-radius: 38rpx;
-    padding: 0 30rpx;
-  }
-  .order_list {
-    height: calc(100% - 140rpx);
-    .scroll_view {
-      height: 100%;
-    }
-    .platform_ing {
-      border-radius: 8rpx;
-      border: 1rpx solid #dfe2e8;
-    }
-  }
-  .detail_list {
-    border-top: 1rpx solid #e5e5e5;
-    padding: 30rpx 0;
-    .orderId {
-      font-size: 30rpx;
-      color: $uni-color-primary;
-      margin-bottom: 14rpx;
-    }
-    .addr {
-      font-size: 26rpx;
-      color: #666666;
-      margin-bottom: 20rpx;
-    }
-    .content {
-      width: 100%;
-      padding: 20rpx;
-      background: #f7f7f7;
-      border-radius: 8rpx;
-      .line {
-        display: flex;
-        margin-bottom: 20rpx;
-        &:nth-of-type(2n) {
-          padding-bottom: 20rpx;
-          border-bottom: 1rpx solid #e5e5e5;
-        }
-        &:last-child {
-          padding-bottom: 0rpx;
-          border-bottom: none;
-        }
-        .label {
-          font-size: 28rpx;
-          color: #666666;
-          width: 88rpx;
-        }
-        .value {
-          font-size: 28rpx;
-          color: #222222;
-        }
-      }
-    }
-  }
-  .btns {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    .btn {
-      width: 336rpx;
-      height: 88rpx;
-      border-radius: 44rpx;
-      border: 1rpx solid $uni-color-primary;
-      color: $uni-color-primary;
-      font-size: 32rpx;
-      display: flex;
-      justify-content: center;
-      align-items: center;
-    }
-    .active {
-      color: #fff;
-      background-color: $uni-color-primary;
-    }
-  }
-}
-.TransformModal {
-  height: 900rpx;
-  padding: 30rpx;
-  position: relative;
-  .title {
-    text-align: center;
-    margin: 0 0 30rpx;
-  }
-  .btns {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    position: absolute;
-    z-index: 999;
-    left: 30rpx;
-    bottom: 30rpx;
-    .btn {
-      width: 336rpx;
-      height: 88rpx;
-      border-radius: 44rpx;
-      border: 1rpx solid $uni-color-primary;
-      color: $uni-color-primary;
-      font-size: 32rpx;
-      display: flex;
-      justify-content: center;
-      align-items: center;
-    }
-    .active {
-      color: #fff;
-      margin-left: 18rpx;
-      background-color: $uni-color-primary;
-    }
-  }
-  .transform_list {
-    height: 660rpx;
-    margin-bottom: 30rpx;
-    overflow: auto;
-    .line {
-      display: flex;
-      align-items: center;
-      border-bottom: 1rpx solid #e5e5e5;
-      padding-bottom: 30rpx;
-      margin-bottom: 30rpx;
-      .name {
-        font-size: 32rpx;
-        color: #111111;
-      }
-      .status {
-        flex: 1;
-        font-size: 28rpx;
-        color: $uni-color-primary;
-        margin-left: 12rpx;
-      }
-      .green {
-        color: #00ba67;
-      }
-      .checked {
-        width: 40rpx;
-        height: 40rpx;
-      }
-    }
-  }
-}
+<template>
+	<view class="main_app">
+		<view class="main_content">
+			<view class="title" @click="showPlatformgroup = true">{{ activePlatformGroup.name
+        }}<u-icon name="arrow-down" size="20" class="ml12" color="#999999"></u-icon></view>
+			<view class="platform_list">
+				<view class="item" :class="{ active: item.id === activePlatform.id }"
+					v-for="(item, index) in activePlatformGroup.platformList" :key="index" @click="platformClick(item)">
+					{{ item.name }}</view>
+			</view>
+			<view class="status_wrap">
+				<view class="status">浣滀笟锛�<text>{{ platformTaskInfo.workNum }}</text></view>
+				<view class="status">宸插彨锛�<text>{{ platformTaskInfo.callNum }}</text></view>
+				<view class="status">绛夊緟锛�<text>{{ platformTaskInfo.waitNum }}</text></view>
+				<view class="status">寮傚父锛�<text>{{ platformTaskInfo.exceptionNum }}</text></view>
+			</view>
+		</view>
+		<!--  -->
+		<view style="padding-bottom: 140rpx">
+			<view v-for="item in platformTaskInfo.platformJobList" :key="item.id" class="platform_ing">
+				<view class="head">
+					<view class="code">
+						<text>{{ item.carCodeFront.slice(0, 1) }}</text>
+						<text>{{ item.carCodeFront.slice(1, 2) }}</text>
+						<text>路</text>
+						<text>{{ item.carCodeFront.slice(2) }}</text>
+					</view>
+					<view class="status" v-if="item.status != 4 && item.status != 5" :class="{ red: item.status == 8 }">
+						{{ statusMap[item.status] }}</view>
+					<view class="status" v-if="item.status == 4">鍙彿涓� {{ item.callDateTemp }}</view>
+					<view class="status scs" v-if="item.status == 5">宸蹭綔涓� {{ item.startDateTemp }}</view>
+				</view>
+				<view class="line" v-if="item.type == 4">
+					<text class="label">鍚堝悓鍗曞彿</text>
+					<text class="value">{{ item.contractNum }}</text>
+				</view>
+				<view class="line" v-else>
+					<text class="label">杩愯緭鍗曞彿</text>
+					<text class="value">{{ item.code }}</text>
+					<text class="primaryColor" @click="handleDetail()">杩愬崟璇︽儏</text>
+				</view>
+				<view class="line">
+					<text class="label">椹鹃┒鍛�</text>
+					<text class="value">{{ item.driverName }} {{ item.drivierPhone }}</text>
+				</view>
+				<view class="line">
+					<text class="label">鎬昏繍杈撻噺</text>
+					<text class="value">{{ item.totalNum }}涓囨敮</text>
+				</view>
+				<view class="line" v-if="item.type != 4">
+					<text class="label">杩愯緭鍏徃</text>
+					<text class="value">{{ item.carrierName }}</text>
+				</view>
+				<view class="btns">
+					<view v-if="item.status == 4" class="btn" @click="handlePass(item)">杩囧彿</view>
+					<view v-if="item.status == 4" class="btn active" @click="handleWork(item)">寮�濮嬩綔涓�</view>
+
+					<view v-if="item.status == 5" class="btn" @click="handleErr(item)">寮傚父鎸傝捣</view>
+					<view v-if="item.status == 5 || item.status == 8" class="btn" @click="handleTransform(item)">杞Щ鏈堝彴</view>
+					<view v-if="item.status == 5 || item.status == 8" class="btn active" @click="handleFinish(item)">浣滀笟瀹屾垚</view>
+				</view>
+			</view>
+			<view v-if="!platformTaskInfo.platformJobList || platformTaskInfo.platformJobList.length == 0" class="empty_wrap">
+				<image src="@/static/default_nodata@2x.png" />
+				<text>鏆傛棤浣滀笟杞﹁締</text>
+			</view>
+		</view>
+		<!--  -->
+		<view class="main_footer">
+			<view class="btn" @click="PlatformCallClick(1)">鍏ュ洯鍙彿</view>
+			<view class="btn active" @click="PlatformCallClick(2)">鏈堝彴鍙彿</view>
+		</view>
+		<!-- 鍙彿 -->
+		<u-popup :show="showPlatformCall" closeable safeAreaInsetTop round="10" @close="showPlatformCall = false">
+			<view class="PlatformCallModal" :style="{ height: 'calc(100vh - ' + windowTop + 'px)' }">
+				<view class="title" v-if="callType == 2">鏈堝彴鍙彿({{ activePlatform.name }})</view>
+				<view class="title" v-else>鍏ュ洯鍙彿</view>
+				<view class="input_wrap">
+					<u-icon name="search" class="mr12" size="19" color="#999999" />
+					<input v-model="platformCallSearch" type="text" placeholder="鎼滅储杞﹁締鐗岀収" placeholder-class="placeholder9"
+						@confirm="callQuery" />
+				</view>
+				<view class="order_list">
+					<scroll-view scroll-y="true" @scrolltolower="callScrolltolower" class="scroll_view">
+						<view class="platform_ing" v-for="item in platformCallList" :key="item.id">
+							<view class="head">
+								<view v-if="item.carCodeFront" class="code">
+									<text>{{ item.carCodeFront.slice(0, 1) }}</text>
+									<text>{{ item.carCodeFront.slice(1, 2) }}</text>
+									<text>路</text>
+									<text>{{ item.carCodeFront.slice(2) }}</text>
+								</view>
+								<view class="status" :class="{ scs: item.status == 4 }">{{
+                  statusMap[item.status]
+                }}</view>
+							</view>
+							<view class="line" v-if="item.type == 4">
+								<text class="label">鍚堝悓鍗曞彿</text>
+								<text class="value">{{ item.contractNum }}</text>
+							</view>
+							<view class="line" v-else>
+								<text class="label">杩愯緭鍗曞彿</text>
+								<text class="value">{{ item.code }}</text>
+								<text class="primaryColor" @click="handleDetail()">杩愬崟璇︽儏</text>
+							</view>
+							<view class="line">
+								<text class="label">椹鹃┒鍛�</text>
+								<text class="value">{{ item.driverName }} {{ item.drivierPhone }}</text>
+							</view>
+							<view class="line">
+								<text class="label">鎬昏繍杈撻噺</text>
+								<text class="value">{{ item.totalNum }}涓囨敮</text>
+							</view>
+							<view class="line" v-if="item.type != 4">
+								<text class="label">杩愯緭鍏徃</text>
+								<text class="value">{{ item.carrierName }}</text>
+							</view>
+							<view class="btns">
+								<view class="btn active" @click="handleCall(item)">鍙彿</view>
+							</view>
+						</view>
+					</scroll-view>
+				</view>
+			</view>
+		</u-popup>
+		<!-- 杩愬崟璇︽儏 -->
+		<u-popup :show="showDetail" closeable safeAreaInsetTop round="10" @close="showDetail = false">
+			<view class="PlatformCallModal" :style="{ height: 'calc(100vh - ' + windowTop + 'px)' }">
+				<view class="title">杩愬崟璇︽儏</view>
+				<view class="platform_ing" style="padding: 0">
+					<view class="head">
+						<view class="code">
+							<text>鐨�</text>
+							<text>AD1212</text>
+						</view>
+					</view>
+					<view class="line">
+						<text class="label">杩愯緭鍗曞彿</text>
+						<text class="value">11111</text>
+					</view>
+					<view class="line">
+						<text class="label">椹鹃┒鍛�</text>
+						<text class="value">11111</text>
+					</view>
+					<view class="line">
+						<text class="label">鎬昏繍杈撻噺</text>
+						<text class="value">11111</text>
+					</view>
+					<view class="line">
+						<text class="label">杩愯緭鍏徃</text>
+						<text class="value">11111</text>
+					</view>
+				</view>
+				<view class="detail_list">
+					<view class="item">
+						<view class="orderId">鍚堝悓缂栧彿锛歿{ 111 }}</view>
+						<view class="addr">鏀惰揣鍦帮細{{ 111 }}</view>
+						<view class="content">
+							<view class="line">
+								<view class="label">鐗╂枡锛�</view>
+								<view class="value">榛勫北</view>
+							</view>
+							<view class="line">
+								<view class="label">鏁伴噺锛�</view>
+								<view class="value">榛勫北</view>
+							</view>
+							<view class="line">
+								<view class="label">鐗╂枡锛�</view>
+								<view class="value">榛勫北</view>
+							</view>
+							<view class="line">
+								<view class="label">鏁伴噺锛�</view>
+								<view class="value">榛勫北</view>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+		</u-popup>
+		<!-- 杞Щ鏈堝彴 -->
+		<u-popup :show="showTransform" closeable safeAreaInsetTop round="10" @close="showTransform = false">
+			<view class="TransformModal">
+				<view class="title">杞Щ鏈堝彴</view>
+				<view class="transform_list">
+					<view class="line" @click="transformPlatClick(item)" v-for="item in activePlatformGroup.platformList"
+						:key="item.id">
+						<view class="name">{{ item.name }}</view>
+						<view class="status" :class="{ green: item.workStatus == 1 }">({{ item.workStatus == 0 ? "绌洪棽" : "浣滀笟涓�" }})
+						</view>
+						<image v-if="transformPlatId == item.id" src="@/static/ic_select@2x.png" class="checked" />
+					</view>
+				</view>
+				<view class="btns">
+					<view class="btn" @click="transformCancel">鍙栨秷</view>
+					<view class="btn active" @click="transformSub">纭畾</view>
+				</view>
+			</view>
+		</u-popup>
+		<!--  -->
+		<u-picker :show="showPlatformgroup" keyName="name" :columns="[platformGroupList]"
+			@cancel="showPlatformgroup = false" @confirm="platConfirm"></u-picker>
+	</view>
+</template>
+
+<script>
+	import {
+		getPlatformGroupList,
+		getPlatformWorkData,
+		platformCallList,
+		platformCallNumber,
+		platformInPark,
+		beginWork,
+		finishWork,
+		platformMove,
+		platformErr,
+		platformOverNumber
+	} from '@/api'
+	import {
+		statusMap
+	} from '@/utils/config.js'
+	import dayjs from 'dayjs'
+	import duration from 'dayjs/plugin/duration'
+	dayjs.extend(duration)
+
+	export default {
+		data() {
+			return {
+				statusMap,
+				windowTop: 44,
+				showPlatformCall: false, // 鏈堝彴鍙彿
+				showDetail: false,
+				showTransform: false, // 杞Щ
+				showPlatformgroup: false,
+
+				platformGroupList: [],
+				activePlatformGroup: {},
+				platformTaskInfo: {},
+				activePlatform: {},
+
+				platformCallList: [], //鍙彿鍒楄〃
+				platformCallSearch: '',
+				platformCallTotal: 0,
+				platformCallPage: 1,
+				callType: 1,
+
+				transformPlatId: '', // 杞Щ璁板綍鏈堝彴id
+				transformId: '', // 杞Щ璁板綍浠诲姟id
+			}
+		},
+		onLoad() {
+			this.getPlatformGroup()
+			const res = uni.getWindowInfo()
+			this.windowTop = res.windowTop
+		},
+		methods: {
+			getPlatformGroup() {
+				getPlatformGroupList({
+					queryData: 1,
+					queryType: 0
+				}).then(res => {
+					this.platformGroupList = res.data || []
+					if (this.platformGroupList.length > 0) {
+						this.activePlatformGroup = this.platformGroupList[0]
+						if (this.activePlatformGroup.platformList && this.activePlatformGroup.platformList.length > 0) {
+							this.activePlatform = this.activePlatformGroup.platformList[0]
+							this.getPlatformTask()
+						}
+					}
+				})
+			},
+			getPlatformTask() {
+				getPlatformWorkData({
+					platformId: this.activePlatform.id
+				}).then(res => {
+					this.platformTaskInfo = res.data
+					this.circulInitTaskList()
+					setInterval(() => {
+						this.circulInitTaskList()
+					}, 1000)
+				})
+			},
+			circulInitTaskList() {
+				if (this.platformTaskInfo && this.platformTaskInfo.platformJobList && this.platformTaskInfo.platformJobList
+					.length > 0) {
+					let time = new Date()
+					this.platformTaskInfo.platformJobList.forEach(item => {
+						if (item.callDate) {
+							let timeNum = time.getTime() - new Date(item.callDate).getTime()
+							if (timeNum > 3600000) {
+								item.callDateTemp = dayjs.duration(timeNum).format('H灏忔椂m鍒唖绉�')
+							} else {
+								item.callDateTemp = dayjs.duration(timeNum).format('m鍒唖绉�')
+							}
+						}
+						if (item.startDate) {
+							let timeNum = time.getTime() - new Date(item.startDate).getTime()
+							if (timeNum > 3600000) {
+								item.startDateTemp = dayjs.duration(timeNum).format('H灏忔椂m鍒唖s绉�')
+							} else {
+								item.startDateTemp = dayjs.duration(timeNum).format('m鍒唖绉�')
+							}
+						}
+					})
+					this.$forceUpdate()
+				}
+			},
+			platConfirm(e) {
+				const index = e.indexs[0]
+				this.activePlatformGroup = this.platformGroupList[index]
+				if (this.activePlatformGroup.platformList && this.activePlatformGroup.platformList.length > 0) {
+					this.activePlatform = this.activePlatformGroup.platformList[0]
+					this.getPlatformTask()
+				}
+				this.showPlatformgroup = false
+			},
+			platformClick(item) {
+				this.activePlatform = item
+				this.getPlatformTask()
+			},
+			handleDetail() {
+				this.showDetail = true
+			},
+			handleFinish(item) {
+				finishWork({
+					jobId: item.id
+				}).then(res => {
+					this.showToast('瀹屾垚浣滀笟')
+					this.getPlatformTask()
+				})
+			},
+			handleWork(item) { // 寮�濮嬩綔涓�
+				beginWork({
+					jobId: item.id
+				}).then(res => {
+					this.showToast('宸插紑濮嬩綔涓�')
+					this.getPlatformTask()
+				})
+			},
+			handlePass(item) {
+				uni.showModal({
+					content: `纭 ${item.carCodeFront}缃负杩囧彿鍚楋紵杩囧彿鍚庯紝闇�瑕侀噸鏂扮鍒版墠鑳借繘鍏ュ洯鍖篳,
+					success: (res) => {
+						if (res.confirm) {
+							platformOverNumber({
+								jobId: item.id,
+								platformId: this.activePlatform.id
+							}).then(res => {
+								this.showToast('杩囧彿鎴愬姛')
+								this.getPlatformTask()
+							})
+						}
+					}
+				})
+
+			},
+			handleCall(item) {
+				const {
+					callType,
+					activePlatform
+				} = this
+				this.platformCallList = []
+				this.platformCallPage = 1
+				if (callType == 1) { // 鍏ュ洯鍙彿
+					platformInPark({
+						jobId: item.id
+					}).then(res => {
+						this.showToast('鍙彿鎴愬姛')
+						this.getPlatformCallList()
+					})
+				} else { // 鏈堝彴鍙彿
+					platformCallNumber({
+						platformId: activePlatform.id,
+						jobId: item.id
+					}).then(res => {
+						this.showToast('鍙彿鎴愬姛')
+						this.getPlatformCallList()
+						this.getPlatformTask()
+					})
+				}
+			},
+			PlatformCallClick(callType) {
+				this.callType = callType
+				this.showPlatformCall = true
+				this.platformCallList = []
+				this.platformCallPage = 1
+				this.platformCallSearch = ''
+				this.getPlatformCallList()
+			},
+			callQuery() {
+				this.platformCallList = []
+				this.platformCallPage = 1
+				this.getPlatformCallList()
+			},
+			callScrolltolower() {
+				const {
+					platformCallTotal,
+					platformCallList
+				} = this
+				if (platformCallTotal > platformCallList.length) {
+					this.getPlatformCallList()
+				}
+			},
+			getPlatformCallList() {
+				const {
+					platformCallPage,
+					callType,
+					activePlatform,
+					platformCallSearch
+				} = this
+				platformCallList({
+					model: {
+						callType,
+						platformId: activePlatform.id,
+						carCodeFront: platformCallSearch
+					},
+					capacity: 10,
+					page: platformCallPage
+				}).then(res => {
+					if (res.data && res.data.records) {
+						this.platformCallList = [...this.platformCallList, ...res.data.records]
+						this.platformCallTotal = res.data.total
+					}
+				})
+			},
+			transformPlatClick(item) {
+				this.transformPlatId = item.id
+			},
+			transformCancel() {
+				this.transformPlatId = ''
+				this.showTransform = false
+			},
+			transformSub() {
+				const {
+					transformPlatId,
+					transformId
+				} = this
+				platformMove({
+					platformId: transformPlatId,
+					jobId: transformId
+				}).then(res => {
+					this.showToast('杞Щ鏈堝彴鎴愬姛')
+					this.transformCancel()
+					this.getPlatformTask()
+				})
+			},
+			handleTransform(item) {
+				let {
+					activePlatform
+				} = this
+				this.transformId = item.id
+				this.transformPlatId = activePlatform.id
+				this.showTransform = true
+			},
+			handleErr(item) {
+				uni.showModal({
+					content: '鎮ㄧ‘璁よ瀵硅浠诲姟杩涜寮傚父鎸傝捣鍚�',
+					success: (res) => {
+						if (res.confirm) {
+							platformErr({
+								jobId: item.id
+							}).then(ress => {
+								this.showToast('寮傚父鎸傝捣鎴愬姛')
+								this.getPlatformTask()
+							})
+						}
+					}
+				})
+			}
+		}
+	}
+</script>
+<style lang="scss">
+	.main_app {
+		padding: 0rpx;
+		height: calc(100vh - 44px);
+		font-size: 30rpx;
+		color: #333333;
+		background: url("@/static/bg_yuetai@2x.png") no-repeat;
+		background-size: 100% 100%;
+
+		.main_content {
+			background-color: #fff;
+			padding: 30rpx;
+
+			.platform_list {
+				display: flex;
+				flex-wrap: wrap;
+
+				.item {
+					width: 210rpx;
+					height: 80rpx;
+					line-height: 80rpx;
+					text-align: center;
+					background: #ffffff;
+					border-radius: 8rpx;
+					border: 1rpx solid #999999;
+					font-size: 30rpx;
+					color: #222222;
+					margin-bottom: 20rpx;
+					margin-right: 30rpx;
+
+					&:nth-of-type(3n) {
+						margin-right: 0;
+					}
+				}
+
+				.active {
+					color: #fff;
+					background-color: $uni-color-primary;
+					border-color: $uni-color-primary;
+				}
+			}
+
+			.status_wrap {
+				display: flex;
+				align-items: center;
+				justify-content: space-evenly;
+				width: 690rpx;
+				height: 76rpx;
+				margin-top: 4rpx;
+				background: #ffffff;
+				box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(0, 0, 0, 0.18);
+				border-radius: 8rpx;
+
+				.status {
+					color: #666666;
+
+					text {
+						color: #111111;
+					}
+
+					&:nth-last-child(1) {
+						text {
+							color: #ed4545;
+						}
+					}
+				}
+			}
+
+			.title {
+				font-weight: 500;
+				font-size: 32rpx;
+				color: #111111;
+				line-height: 44rpx;
+				margin-bottom: 30rpx;
+				display: flex;
+				justify-content: center;
+			}
+		}
+
+		.platform_ing {
+			margin-top: 20rpx;
+			padding: 30rpx;
+			background-color: #fff;
+
+			.head {
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+				margin-bottom: 30rpx;
+
+				.code {
+					display: flex;
+					font-weight: 600;
+					height: 60rpx;
+					line-height: 60rpx;
+					font-size: 32rpx;
+					color: #111111;
+					border-radius: 8rpx;
+					border: 1rpx solid #dfdede;
+
+					text {
+						&:nth-of-type(1) {
+							background: #e9f5f6;
+							padding: 0 12rpx;
+						}
+
+						&:nth-of-type(2) {
+							padding-left: 4rpx;
+						}
+
+						&:nth-of-type(4) {
+							padding-right: 6rpx;
+						}
+					}
+				}
+
+				.status {
+					font-size: 30rpx;
+					color: $uni-color-primary;
+				}
+
+				.scs {
+					color: #00ba67;
+				}
+			}
+
+			.line {
+				display: flex;
+				margin-bottom: 20rpx;
+
+				.label {
+					width: 144rpx;
+					color: #666666;
+				}
+
+				.value {
+					flex: 1;
+				}
+			}
+
+			.btns {
+				display: flex;
+				justify-content: flex-end;
+
+				.btn {
+					width: 210rpx;
+					height: 76rpx;
+					line-height: 76rpx;
+					text-align: center;
+					background: #ffffff;
+					border-radius: 40rpx;
+					border: 1rpx solid #999999;
+					margin-left: 20rpx;
+				}
+
+				.active {
+					background-color: $uni-color-primary;
+					color: #fff;
+					border-color: $uni-color-primary;
+				}
+			}
+		}
+
+		.empty {
+			width: 220rpx;
+			margin: 160rpx auto;
+		}
+
+		.main_footer {
+			width: 750rpx;
+			height: 136rpx;
+			position: fixed;
+			bottom: 0;
+			left: 0;
+			padding: 24rpx 30rpx;
+			display: flex;
+			justify-content: space-between;
+			font-size: 32rpx;
+			background-color: #fff;
+
+			.btn {
+				width: 224rpx;
+				height: 88rpx;
+				line-height: 88rpx;
+				text-align: center;
+				background: #ffffff;
+				border-radius: 44rpx;
+				color: $uni-color-primary;
+				border: 1rpx solid $uni-color-primary;
+			}
+
+			.active {
+				width: 436rpx;
+				background-color: $uni-color-primary;
+				color: #fff;
+				border-color: $uni-color-primary;
+			}
+		}
+	}
+
+	.PlatformCallModal {
+		height: calc(100vh - 44px);
+		padding: 30rpx;
+
+		.title {
+			text-align: center;
+			margin: 0 0 30rpx;
+		}
+
+		.input_wrap {
+			display: flex;
+			align-items: center;
+			width: 690rpx;
+			height: 76rpx;
+			background: #f7f7f7;
+			border-radius: 38rpx;
+			padding: 0 30rpx;
+		}
+
+		.order_list {
+			height: calc(100% - 140rpx);
+
+			.scroll_view {
+				height: 100%;
+			}
+
+			.platform_ing {
+				border-radius: 8rpx;
+				border: 1rpx solid #dfe2e8;
+			}
+		}
+
+		.detail_list {
+			border-top: 1rpx solid #e5e5e5;
+			padding: 30rpx 0;
+
+			.orderId {
+				font-size: 30rpx;
+				color: $uni-color-primary;
+				margin-bottom: 14rpx;
+			}
+
+			.addr {
+				font-size: 26rpx;
+				color: #666666;
+				margin-bottom: 20rpx;
+			}
+
+			.content {
+				width: 100%;
+				padding: 20rpx;
+				background: #f7f7f7;
+				border-radius: 8rpx;
+
+				.line {
+					display: flex;
+					margin-bottom: 20rpx;
+
+					&:nth-of-type(2n) {
+						padding-bottom: 20rpx;
+						border-bottom: 1rpx solid #e5e5e5;
+					}
+
+					&:last-child {
+						padding-bottom: 0rpx;
+						border-bottom: none;
+					}
+
+					.label {
+						font-size: 28rpx;
+						color: #666666;
+						width: 88rpx;
+					}
+
+					.value {
+						font-size: 28rpx;
+						color: #222222;
+					}
+				}
+			}
+		}
+
+		.btns {
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+
+			.btn {
+				width: 336rpx;
+				height: 88rpx;
+				border-radius: 44rpx;
+				border: 1rpx solid $uni-color-primary;
+				color: $uni-color-primary;
+				font-size: 32rpx;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+			}
+
+			.active {
+				color: #fff;
+				background-color: $uni-color-primary;
+			}
+		}
+	}
+
+	.TransformModal {
+		height: 900rpx;
+		padding: 30rpx;
+		position: relative;
+
+		.title {
+			text-align: center;
+			margin: 0 0 30rpx;
+		}
+
+		.btns {
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			position: absolute;
+			z-index: 999;
+			left: 30rpx;
+			bottom: 30rpx;
+
+			.btn {
+				width: 336rpx;
+				height: 88rpx;
+				border-radius: 44rpx;
+				border: 1rpx solid $uni-color-primary;
+				color: $uni-color-primary;
+				font-size: 32rpx;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+			}
+
+			.active {
+				color: #fff;
+				margin-left: 18rpx;
+				background-color: $uni-color-primary;
+			}
+		}
+
+		.transform_list {
+			height: 660rpx;
+			margin-bottom: 30rpx;
+			overflow: auto;
+
+			.line {
+				display: flex;
+				align-items: center;
+				border-bottom: 1rpx solid #e5e5e5;
+				padding-bottom: 30rpx;
+				margin-bottom: 30rpx;
+
+				.name {
+					font-size: 32rpx;
+					color: #111111;
+				}
+
+				.status {
+					flex: 1;
+					font-size: 28rpx;
+					color: $uni-color-primary;
+					margin-left: 12rpx;
+				}
+
+				.green {
+					color: #00ba67;
+				}
+
+				.checked {
+					width: 40rpx;
+					height: 40rpx;
+				}
+			}
+		}
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3