xiaohaizhao пре 3 недеља
родитељ
комит
d018bb04e8
3 измењених фајлова са 57 додато и 9 уклоњено
  1. 6 0
      packageA/orderForm/alteration.js
  2. 42 1
      packageA/orderForm/detail.js
  3. 9 8
      packageA/orderForm/detail.wxml

+ 6 - 0
packageA/orderForm/alteration.js

@@ -155,6 +155,12 @@ Page({
             loading: true,
             disabled: true
         });
+        
+        // 直接提交订单变更申请
+        this.submitChangeRequest();
+    },
+    /* 提交订单变更申请 */
+    submitChangeRequest() {
         // 构建itemifnos数组
         let itemifnos = this.data.selectedProducts.map(item => {
             return {

+ 42 - 1
packageA/orderForm/detail.js

@@ -27,6 +27,7 @@ Page({
         showMYModel: false,
         reminddays: 0,
         selectedProducts: [],
+        canAlter: true, // 是否可以进行订单变更
     },
     onLoad(options) {
         const authOptions = wx.getStorageSync('auth').worderform.options;
@@ -43,7 +44,8 @@ Page({
             ProductFile: checkPermission("ProductFile"),
             siteid: wx.getStorageSync('userMsg').siteid,
             setproject: checkPermission("setproject"),
-            isRemarks_in: checkPermission("remarks_in")
+            isRemarks_in: checkPermission("remarks_in"),
+            isAlteration: checkPermission("alteration"),
         });
         this.getDetail(true);
         //销售分类
@@ -73,6 +75,12 @@ Page({
         getApp().globalData.Language.getLanguagePackage(this, '订单详情');
     },
     alteration() {
+        // 检查是否可以进行订单变更
+        if (!this.data.canAlter) {
+            getApp().globalData.Language.showToast('订单正在变更中,无法进行操作');
+            return;
+        }
+
         if (this.data.selectedProducts.length == 0) {
             getApp().globalData.Language.showToast('请至少选择一个产品');
             return;
@@ -124,6 +132,39 @@ Page({
                 account,
                 reminddays: res.data.contract_reminddays || 7
             });
+
+            // 检查订单状态是否为审核状态
+            if (res.data.status == '审核') {
+                // 调用标签列表接口
+                _Http.basic({
+                    "id": 20220929085401,
+                    "content": {
+                        nocache: true,
+                        ownertable: "sa_order",
+                        ownerid: this.data.sa_orderid
+                    }
+                }).then(res => {
+                    console.log("标签列表", res);
+                    // 检查systemtag中是否包含'变更中',并考虑isAlteration权限
+                    let hasAlterTag = res.data && res.data.systemtag && res.data.systemtag.includes('变更中');
+                    this.setData({
+                        canAlter: this.data.isAlteration && !hasAlterTag,
+                        hasAlterTag
+                    });
+                }).catch(err => {
+                    console.error('获取标签列表失败', err);
+                    // 即使获取标签列表失败,也考虑isAlteration权限
+                    this.setData({
+                        canAlter: this.data.isAlteration
+                    });
+                });
+            } else {
+                // 非审核状态,考虑isAlteration权限
+                this.setData({
+                    canAlter: this.data.isAlteration
+                });
+            }
+
             if (init) {
                 this.partialRenewal(true)
                 let content = wx.getStorageSync('userrole') == '业务员' ? {

+ 9 - 8
packageA/orderForm/detail.wxml

@@ -8,6 +8,7 @@
 	<view class="tags">
 		<text wx:if="{{detail.brandname}}" style="background-color: #0079FE;">{{language[detail.brandname]||detail.brandname}}</text>
 		<text wx:if="{{detail.tradefield}}" style="background-color: #4BD863;">{{language[detail.tradefield]||detail.tradefield}}</text>
+		<text wx:if="{{hasAlterTag}}" style="background-color: #FF9933;">{{language['变更中']||'变更中'}}</text>
 		<!-- <text wx:if="{{detail.status=='新建' && detail.type=='项目订单'}}" style="background-color: #4BD863;" bindtap="setBraned">设置品牌/领域</text> -->
 	</view>
 	<view class="exp" wx:if="{{userrole!='经销商'}}">{{language['企业']||'企业'}}:{{detail.enterprisename || ' --'}}</view>
@@ -121,14 +122,14 @@
 			<van-radio icon-size='14px' custom-class='label-class' name="扫描件">{{language['扫描件']||'扫描件'}}</van-radio>
 		</van-radio-group>
 	</view>
-	<view class="row">
-		<view class="label">{{language['订单变更申请驳回原因']||'订单变更申请驳回原因'}}</view>
-		<view class="label" style="flex:1;color:#333;">{{language[detail.reject_reason]||detail.reject_reason || '--' }}</view>
-	</view>
+	<view class="row" wx:if="{{canAlter}}">
+	<view class="label">{{language['订单变更申请驳回原因']||'订单变更申请驳回原因'}}</view>
+	<view class="label" style="flex:1;color:#333;">{{language[detail.reject_reason]||detail.reject_reason || '--' }}</view>
+</view>
 </view>
 <view style="height: 20rpx;" />
 <Yl_FunTabs list='{{tabsList}}' active='{{tabsActive}}' bind:onChenge="tabsChange">
-	<Product slot='产品明细' id='Product' showCheckbox disabled="{{detail.status!='新建'||detail.type=='特殊订单'}}" bind:checkboxChange="onCheckboxChange" />
+	<Product slot='产品明细' id='Product' showCheckbox="{{canAlter}}" disabled="{{detail.status!='新建'||detail.type=='特殊订单'}}" bind:checkboxChange="onCheckboxChange" />
 	<Yl_Attachment slot='附件' id='Yl_Attachment' ownertable="sa_order" ownerid="{{detail.sa_orderid}}" disabled="{{detail.status!='新建'}}" />
 	<Progress slot='订单进度' id='Progress' />
 	<Invoice slot='发票' id='Invoice' apiId='20221229154102' />
@@ -170,9 +171,9 @@
 			<block wx:if="{{isSubmit}}">
 				<van-button custom-class='but' wx:if="{{detail.status=='新建'}}" bind:click="submit">{{language['提交订单']||'提交订单'}}</van-button>
 			</block>
-			<block>
-				<van-button disabled="{{selectedProducts.length == 0}}" custom-class='but' wx:if="{{detail.status=='审核'}}" bind:click="alteration">{{language['订单变更申请']||'订单变更申请'}}</van-button>
-			</block>
+			<block wx:if="{{canAlter}}">
+	<van-button disabled="{{selectedProducts.length == 0}}" custom-class='but' wx:if="{{detail.status=='审核'}}" bind:click="alteration">{{language['订单变更申请']||'订单变更申请'}}</van-button>
+</block>
 			<block wx:if="{{fixATime}}">
 				<van-button custom-class='but' wx:if="{{detail.status=='交期待确认'}}" bind:click="notarize">{{language['确认交期']||'确认交期'}}</van-button>
 			</block>