cyy
2024-06-14 36e6d0a63a9760d75f6cdc47e867f12b77f63934
pages/modal/5600.vue
@@ -487,7 +487,9 @@
            detail1_styledef: {},
            detail1StyleDefList: [],
            detail2_styledef: {},
            detail2StyleDefList: [],
            detail2StyleDefList: [], //分页数据
            detail1ExtData: {},
            detail2ExtData: {}, //分页扩展数据
            // 分段器数据
            current: 0,
            Before_OK_Event: {},
@@ -864,11 +866,11 @@
            const jsonlist = [];
            detailAttrList.forEach(attr => {
               jsonlist.push({
                  id: '',
                  id: attr["id"]|| "",
                  attrs: Object.keys(attr).map((a) => ({
                     attr: a,
                     value: attr[a] || "",
                  }))
                  })).filter((a)=>{return a.attr != "id"})
               });
            });
            return jsonlist;
@@ -890,18 +892,11 @@
                  );
                  var $this = this;
                  const jsonList = []
                  jsonList.push({
                     page_name: $this.param.Sub_Page[0].Name,
                     item_list: []
                  })
                  jsonList.push({
                     page_name: $this.param.Sub_Page[1].Name,
                     item_list: []
                  })
                  jsonList[0].item_list = $this.getDetailAttrList($this.detail1StyleDefList, $this.param
                     .Sub_Page[0].Select_Button)
                  jsonList[1].item_list = $this.getDetailAttrList($this.detail2StyleDefList, $this.param
                     .Sub_Page[1].Select_Button)
                  const itemlist1= $this.getDetailAttrList($this.detail1StyleDefList,$this.param.Sub_Page[0].Select_Button)
                  const itemlist2= $this.getDetailAttrList($this.detail2StyleDefList,$this.param.Sub_Page[1].Select_Button)
                  jsonList.push({page_name:$this.param.Sub_Page[0].Name,item_list:itemlist1,ext_data:$this.detail1ExtData})
                  jsonList.push({page_name:$this.param.Sub_Page[1].Name,item_list:itemlist2,ext_data:$this.detail2ExtData})
                  const data_json = Base64.encode(
                     JSON.stringify(jsonList)
                  );
@@ -1026,98 +1021,26 @@
                                             .exec();
                                       }
                                    });
                                 } else if (item.action_type ==
                                    "set_subtable_page_row") { // value = {"page_name":"码盘中", "row":[{"id":"xx"}]}
                                 } else if (item.action_type == "set_subtable_page_row") {
                                    $this.viewActionSetRow( item.value)
                                 } else if (item.action_type == "set_subtable_page_ext_data") {
                                    var value = item.value;
                                    var detailStyleDefList = []
                                    if (value.page_name == $this.$data.param.Sub_Page[1]
                                       .Name) {
                                       detailStyleDefList = $this.$data
                                          .detail2StyleDefList
                                    } else if (value.page_name == $this.$data.param
                                       .Sub_Page[0].Name) {
                                       detailStyleDefList = $this.$data
                                          .detail1StyleDefList
                                    if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //判断返回的action的page_name是否是待分拣
                                       $this.setData({detail1ExtData:value.ext_data})
                                    } else if (value.page_name == $this.$data.param.Sub_Page[1].Name) {
                                       $this.setData({detail2ExtData:value.ext_data})
                                    }
                                    detailStyleDefList.forEach(ele => {
                                       value.row.forEach((rowData) => {
                                          if (ele.form.objId == rowData
                                             .id) {
                                             rowData.attrs.forEach(
                                                attr => {
                                                   ele.form.items
                                                      .forEach(
                                                         ele2 => {
                                                            if (ele2
                                                               .name !=
                                                               'Layout'
                                                               ) {
                                                               if (ele2
                                                                  .fieldId ==
                                                                  attr
                                                                  .attr
                                                                  ) {
                                                                  ele2.value =
                                                                     $this
                                                                     .operationNumber(
                                                                        ele2
                                                                        .value,
                                                                        attr
                                                                        .value,
                                                                        attr
                                                                        .operation
                                                                        )
                                                               }
                                                            } else if (
                                                               ele2
                                                               .name ==
                                                               'Layout'
                                                               ) {
                                                               ele2.setting
                                                                  .colList
                                                                  .forEach(
                                                                     col => {
                                                                        if (
                                                                           col) {
                                                                           if (col
                                                                              .fieldId ==
                                                                              attr
                                                                              .attr
                                                                              ) {
                                                                              col.value =
                                                                                 $this
                                                                                 .operationNumber(
                                                                                    col
                                                                                    .value,
                                                                                    attr
                                                                                    .value,
                                                                                    attr
                                                                                    .operation
                                                                                    )
                                                                           }
                                                                        }
                                                                     }
                                                                     );
                                                            }
                                                         });
                                                });
                                          }
                                       })
                                    });
                                    if (value.page_name == $this.$data.param.Sub_Page[1]
                                       .Name) {
                                       $this.setData({
                                          detail2StyleDefList: detailStyleDefList
                                       })
                                    } else if (value.page_name == $this.$data.param
                                       .Sub_Page[0].Name) {
                                       $this.setData({
                                          detail1StyleDefList: detailStyleDefList
                                       })
                                 }
                                 else if (item.action_type == "clear_subpage_rows") {
                                    var value = item.value;
                                    if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //判断返回的action的page_name是否是待分拣
                                       $this.setData({detail1StyleDefList:[],detail1ExtData:{}})
                                    } else if (value.page_name == $this.$data.param.Sub_Page[1].Name) {
                                       $this.setData({detail2StyleDefList:[],detail2ExtData:{}})
                                    }
                                 } else if (item.action_type == "set_dlg_attr") {
                                 }
                                 else if (item.action_type == "set_dlg_attr") {
                                    // value = {"attr":"xxx", "value":"xxx"}
                                    var data = item.value;
                                    $this.$data.head_styledef.form.items.forEach(async (
@@ -1174,19 +1097,81 @@
            }
         },
         operationNumber(value1, value2, operation) {
            if (operation == "+") {
               return value1 + value2
            } else if (operation == "-") {
               return value1 - value2
            } else if (operation == "*") {
               return value1 * value2
            } else if (operation == "/") {
               if (value2)
                  return value1 / value2
         operationNumber(value1, value2,operation){
            var number1 = 0
            var number2 =0
            if(value1)
               number1 =  parseInt(value1)
            if(value2)
               number2 =  parseInt(value2)
            if(operation == "+")
            {
               return number1 + number2
            }
            else if(operation == "-")
            {
               return number1 - number2
            }
            else if(operation == "*")
            {
               return number1 * number2
            }
            else if(operation == "/")
            {
               if(number2)
                  return number1 / number2
               else
                  return value1
            } else return value2
                  return number1
            }
            else return number2
         },
         //更新分页签中的列表项内容
         viewActionSetRow(value) {
            const $this = this
            var detailStyleDefList = []
            if(value.page_name == $this.$data.param.Sub_Page[1].Name)
            {
               detailStyleDefList = $this.$data.detail2StyleDefList
            }
            else if(value.page_name == $this.$data.param.Sub_Page[0].Name)
            {
               detailStyleDefList =$this.$data.detail1StyleDefList
            }
            detailStyleDefList.forEach(ele=>{
               value.row.forEach((rowData) => {
                   if(ele.form.objId == rowData.id){
                     rowData.attrs.forEach(attr=>{
                         ele.form.items.forEach(ele2=>{
                             if(ele2.name!='Layout'){
                               if(ele2.fieldId == attr.attr){
                                 ele2.value =$this.operationNumber(ele2.value,attr.value,attr.operation)
                             }
                             } else if(ele2.name=='Layout'){
                               ele2.setting.colList.forEach(col=>{
                                 if(col)
                              {
                                   if(col.fieldId == attr.attr)
                                {
                                 col.value =$this.operationNumber(col.value,attr.value,attr.operation)
                                   }
                              }
                               })
                             }
                         });
                     });
                  }
               })
            });
            if(value.page_name == $this.$data.param.Sub_Page[1].Name)
            {
               $this.setData({detail2StyleDefList:detailStyleDefList})
            }
            else if(value.page_name == $this.$data.param.Sub_Page[0].Name)
            {
                $this.setData({detail1StyleDefList:detailStyleDefList})
            }
         },
         //加载正在码盘内容
         viewAceionRow(data, type) {
@@ -1243,6 +1228,12 @@
         //加载已码盘内容
         viewAceionContent(data) {
            var $this = this;
            if (data.page_name == $this.$data.param.Sub_Page[0].Name) {
               $this.detail1ExtData = data.ext_data ||{}
            }
            else if (data.page_name == $this.$data.param.Sub_Page[1].Name) {
               $this.detail2ExtData = data.ext_data||{}
            }
            if (JSON.stringify(data.content) == '{}') {
               return;
            }
@@ -1336,6 +1327,9 @@
                  // console.log($this.$data.detail2StyleDefList);
               }
            });
         },
         onClickItem(e) { //选择页签
            // console.log(e);
@@ -1693,6 +1687,25 @@
                                 // });
                                 // uni.showModal({title:"系统提示",content:value,showCancel:false,confirmText:"关闭"});
                              }
                              else if (item.action_type == "set_subtable_page_row") {
                                 $this.viewActionSetRow( item.value)
                              } else if (item.action_type == "set_subtable_page_ext_data") {
                                 var value = item.value;
                                 if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //判断返回的action的page_name是否是待分拣
                                    $this.setData({detail1ExtData:value.ext_data})
                                 } else if (value.page_name == $this.$data.param.Sub_Page[1].Name) {
                                    $this.setData({detail2ExtData:value.ext_data})
                                 }
                              }
                              else if (item.action_type == "clear_subpage_rows") {
                                 var value = item.value;
                                 if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //判断返回的action的page_name是否是待分拣
                                    $this.setData({detail1StyleDefList:[],detail1ExtData:{}})
                                 } else if (value.page_name == $this.$data.param.Sub_Page[1].Name) {
                                    $this.setData({detail2StyleDefList:[],detail2ExtData:{}})
                                 }
                              }
                           });
                        } else {
                           if ($this.$data.After_OK_Event.ID != event.ID) { //判断当前事件是否是确定后事件