Parcourir la source

tab support required display

xiaohaizhao il y a 1 mois
Parent
commit
add8252017
3 fichiers modifiés avec 113 ajouts et 16 suppressions
  1. 33 6
      Eservice/nodeDetail/index.js
  2. 49 0
      Eservice/nodeDetail/index.scss
  3. 31 10
      Eservice/nodeDetail/index.wxml

+ 33 - 6
Eservice/nodeDetail/index.js

@@ -33,7 +33,18 @@ Page({
       "ownertable": "sa_workorder_node",
       "ownerid": 0,
       "usetype": "signature",
-    }
+    },
+    addpersonBadge: {},
+    additemBadge: {},
+    addpersonLabel: '',
+    additemLabel: '',
+    activeTab: 0
+  },
+  onTabChange(e) {
+    const value = parseInt(e.currentTarget.dataset.value)
+    this.setData({
+      activeTab: value
+    })
   },
   async nodeDetail() {
     const res = await api._post({
@@ -46,13 +57,25 @@ Page({
       }
     })
     console.log("详情", res.data)
+    const language = getApp().globalData.Language.getMapText('E-订单') || {}
+    const isAddpersonRequired = res.data[0].workpresetjson.addperson == 11
+    const isAdditemRequired = res.data[0].workpresetjson.additem == 11
     this.setData({
       mainData: res.data[0],
       teams: res.data[0].team.map(v => v.userid),
-      titems: res.data[0].titems
+      titems: res.data[0].titems,
+      addpersonBadge: isAddpersonRequired ? {count: '*', color: '#e34d59', offset: ['20rpx', '-10rpx'], size: 'small'} : {},
+      additemBadge: isAdditemRequired ? {count: '*', color: '#e34d59', offset: ['20rpx', '-10rpx'], size: 'small'} : {},
+      addpersonLabel: language['培训人员'] || '培训人员',
+      additemLabel: language['工单物料'] || '工单物料',
+      activeTab: res.data[0].workpresetjson.addperson !== 0 ? 0 : 1
     })
     this.setDefaultData()
-    this.selectComponent("#signName").fileData()
+    try {
+      this.selectComponent("#signName").fileData()
+    } catch (error) {
+
+    }
   },
   // 是否确认
   confirmValue(data) {
@@ -114,7 +137,11 @@ Page({
     } else {
       this.nodeDetail()
     }
-    this.selectComponent("#signName").fileData()
+    try {
+      this.selectComponent("#signName").fileData()
+    } catch (error) {
+
+    }
   },
   // 获取输入的数据
   setDefaultData() {
@@ -228,8 +255,8 @@ Page({
     })
     this.nodeDetail();
     let page = getCurrentPages()[getCurrentPages().length - 2];
-    if (page.__route__ == 'Eservice/workOrderDetail/index') this.setData({
-      workers: page.data.billData.team
+    if (page.__route__ == 'E-service/workOrder/detail') this.setData({
+      workers: page.data.detail.team
     })
     getApp().globalData.Language.getLanguagePackage(this, 'E-订单');
   },

+ 49 - 0
Eservice/nodeDetail/index.scss

@@ -23,4 +23,53 @@ page {
 }
 .flex-around{
   justify-content: space-around;
+}
+
+.stuta {
+  margin-top: 20rpx;
+  display: flex;
+
+  .tag {
+      border-radius: 8rpx;
+      padding: 8rpx 12rpx;
+      font-size: 22rpx;
+      color: #fff;
+      margin-right: 10rpx;
+  }
+}
+.required-star {
+  color: #e34d59;
+}
+.custom-tab-header {
+  display: flex;
+  border-bottom: 1px solid #e7e7e7;
+  margin-bottom: 10px;
+}
+.custom-tab-item {
+  flex: 1;
+  text-align: center;
+  padding: 12px 0;
+  font-size: 28rpx;
+  color: #666;
+  position: relative;
+  cursor: pointer;
+  font-weight: bold;
+}
+.custom-tab-item.active {
+  color: #0052D9;
+  font-weight: bold;
+}
+.custom-tab-item.active::after {
+  content: '';
+  position: absolute;
+  bottom: 0;
+  left: 50%;
+  transform: translateX(-50%);
+  width: 40rpx;
+  height: 4rpx;
+  background-color: #0052D9;
+  border-radius: 2rpx;
+}
+.custom-tab-content {
+  min-height: 200rpx;
 }

+ 31 - 10
Eservice/nodeDetail/index.wxml

@@ -2,12 +2,13 @@
   <card>
     <view slot="content">
       {{mainData.workpresetjson.workname}}
-      <view class="flex-align-center">
-        <t-tag variant="dark" class="mr-5" theme="{{mainData.status == 0?'danger':mainData.status == 1?'success':'primary'}}" size="small">{{mainData.status == 0?(language['未完成']||'未完成'):mainData.status == 1?(language['完成']||'完成'):(language['进行中']||'进行中')}}</t-tag>
-        <t-tag wx:if="{{mainData.finishby}}" variant="dark" theme="primary" size="small">{{mainData.finishby}}</t-tag>
+      <view class="stuta">
+        <view class="tag" style="background-color:{{sColors['未完成']}};" wx:if="{{mainData.status == '0'}}">未完成</view>
+        <view class="tag" style="background-color:{{sColors['已完成']}};" wx:if="{{mainData.status == '1'}}">已完成</view>
+        <view class="tag" style="background-color:{{sColors['进行中']}};" wx:if="{{mainData.status == '2'}}">进行中</view>
+        <view class="tag" style="background-color:#0052D9;" wx:if="{{mainData.finishby}}" >{{mainData.finishby}}</view>
       </view>
     </view>
-
   </card>
   <view style="margin-bottom: 5px;" class="small"><text class="label">{{language['工序说明']||'工序说明'}}</text></view>
   <card>
@@ -119,24 +120,44 @@
     <view style="margin-bottom: 5px;" class="small"><text class="label">{{language['物料及人员']||'物料及人员'}}</text></view>
     <card>
       <view style="flex:1" slot="content">
-        <t-tabs defaultValue="{{mainData.workpresetjson.addperson !== 0?0:1}}" bind:change="onTabsChange" bind:click="onTabsClick" t-class="custom-tabs">
-          <t-tab-panel wx:if="{{mainData.workpresetjson.addperson !== 0}}" label="{{language['培训人员']||'培训人员'}}" value="0">
+        <view class="custom-tab-header">
+          <view 
+            class="custom-tab-item {{activeTab === 0 ? 'active' : ''}}" 
+            wx:if="{{mainData.workpresetjson.addperson !== 0}}"
+            bindtap="onTabChange"
+            data-value="0"
+          >
+            <text>{{language['培训人员']||'培训人员'}}</text>
+            <text wx:if="{{mainData.workpresetjson.addperson == 11}}" style="color:#e34d59;margin-left:4rpx">*</text>
+          </view>
+          <view 
+            class="custom-tab-item {{activeTab === 1 ? 'active' : ''}}" 
+            wx:if="{{mainData.workpresetjson.additem !== 0}}"
+            bindtap="onTabChange"
+            data-value="1"
+          >
+            <text>{{language['工单物料']||'工单物料'}}</text>
+            <text wx:if="{{mainData.workpresetjson.additem == 11}}" style="color:#e34d59;margin-left:4rpx">*</text>
+          </view>
+        </view>
+        <view class="custom-tab-content">
+          <view wx:if="{{activeTab === 0 && mainData.workpresetjson.addperson !== 0}}">
             <card wx:for="{{mainData.trainers}}">
               <menber-card style="flex:1" slot="content" data="{{item}}" bind:delete="deleteMenber"></menber-card>
             </card>
             <view class="flex-align-center flex-around panel">
               <t-button size="extra-small" variant="primary" bind:tap="addTrainers">{{language['添加人员']||'添加人员'}}</t-button>
             </view>
-          </t-tab-panel>
-          <t-tab-panel wx:if="{{mainData.workpresetjson.additem !== 0}}" label="{{language['工单物料']||'工单物料'}}" value="1">
+          </view>
+          <view wx:if="{{activeTab === 1 && mainData.workpresetjson.additem !== 0}}">
             <card style="margin-top:10px" wx:for="{{titems}}" wx:key="itemid">
               <product-card style="flex:1" slot="content" data="{{item}}" changeQty="{{true}}" bind:delete="deleteMaterial" bind:input="qtyChange"></product-card>
             </card>
             <view class="flex-align-center flex-around panel">
               <t-button size="extra-small" variant="primary" bind:tap="addProduct">{{language['添加物料']||'添加物料'}}</t-button>
             </view>
-          </t-tab-panel>
-        </t-tabs>
+          </view>
+        </view>
       </view>
     </card>
   </view>