cuiqian2004
2024-08-27 d84283821bb08d81d887f20a7118caf25b8b2714
pages/modal/5600.vue
@@ -11,7 +11,8 @@
            <uni-data-picker class="dv_select" v-if="item.name=='Select'" :class="item.disabled?'input-disabled':''"
               v-model="item.value" :localdata="item.dict" @change="onEnterChange(item)" :readonly="item.disabled"
               :clear-icon="false" :popup-title="item.label"></uni-data-picker>
            <view class="input-wrapper" v-if="item.name=='Input' || item.name=='InputNumber'">
            <view class="input-wrapper" :style="{'width':`calc(96% - ${item.labelWidth}px)`}"
               v-if="item.name=='Input' || item.name=='InputNumber'">
               <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]"
                  @click="onEnterChange(item)">&#xe568;</text>
               <input class="uni-input" :class="item.disabled?'input-disabled':''"
@@ -94,7 +95,8 @@
                     <view class="view-bottom" v-if="param.Sub_Page[0].OK_Button==true">
                        <button type="default" @tap="cancel"
                           class="btn_cancel">{{translateSys('cancel')}}</button>
                        <button type="primary" @tap="ok" class="btn_add">{{translateSys('ok')}}</button>
                        <button type="primary" @tap="ok" class="btn_add" :class="okLoading?'btn_disabled':''"
                           :disabled="okLoading">{{translateSys('ok')}}</button>
                     </view>
                  </view>
               </swiper-item>
@@ -143,7 +145,8 @@
                     <view class="view-bottom" v-if="param.Sub_Page[1].OK_Button==true"> <!--  -->
                        <button type="default" @tap="cancel"
                           class="btn_cancel">{{translateSys('cancel')}}</button>
                        <button type="primary" @tap="ok2" class="btn_add">{{translateSys('ok')}}</button>
                        <button type="primary" @tap="ok2" class="btn_add" :class="ok2Loading?'btn_disabled':''"
                           :disabled="ok2Loading">{{translateSys('ok')}}</button>
                     </view>
                  </view>
               </swiper-item>
@@ -206,6 +209,8 @@
            active_id: '',
            activelist: [],
            selectAttrObj: {},
            okLoading: false,
            ok2Loading: false,
         };
      },
      onLoad(options) {
@@ -332,19 +337,21 @@
                  $this.$data.head_styledef = ret.result.style_def ? JSON.parse(styledef) : {};
                  // this.form = this.head_styledef.form.model;
                  // console.log($this.$data.head_styledef);
                  $this.$data.head_styledef.form.items.forEach(async (ele, index) => {
                     if (ele.useDict == true) { //判断useDict是否使用字典
                        await this.DictGetInfo(ele.bind.dict, index, 'mast');
                     }
                     if ($this.focusFieldId == "") {
                        if (ele.name == 'Input' || ele.name == 'InputNumber') {
                           $this.setData({
                              focusFieldId: ele.fieldId
                           })
                  if ($this.$data.head_styledef.form?.items) {
                     $this.$data.head_styledef.form.items.forEach(async (ele, index) => {
                        if (ele.useDict == true) { //判断useDict是否使用字典
                           await this.DictGetInfo(ele.bind.dict, index, 'mast');
                        }
                     }
                        if ($this.focusFieldId == "") {
                           if (ele.name == 'Input' || ele.name == 'InputNumber') {
                              $this.setData({
                                 focusFieldId: ele.fieldId
                              })
                           }
                        }
                  });
                     });
                  }
               } else {
                  uni.showModal({
                     title: this.translateSys("error") + "1",
@@ -355,9 +362,10 @@
               }
            }).catch(ex => {
               // console.log(ex);
               let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
               uni.showModal({
                  title: this.translateSys("error") + "1.1",
                  content: ex.errMsg,
                  content: tip,
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
               });
@@ -388,11 +396,13 @@
                  // var aa = JSON.stringify(this.detail1_styledef);
                  // $this.$data.detail1StyleDefList.push(JSON.parse(aa));
                  // console.log($this.$data.detail1StyleDefList);
                  $this.detail1_styledef.form.items.forEach(async (ele, index) => {
                     if (ele.useDict == true) { //判断useDict是否使用字典
                        await this.DictGetInfo(ele.bind.dict, index, 'sub');
                     }
                  });
                  if ($this.detail1_styledef.form?.items) {
                     $this.detail1_styledef.form.items.forEach(async (ele, index) => {
                        if (ele.useDict == true) { //判断useDict是否使用字典
                           await this.DictGetInfo(ele.bind.dict, index, 'sub');
                        }
                     });
                  }
               } else {
                  uni.showModal({
                     title: this.translateSys("error") + "2",
@@ -403,9 +413,10 @@
               }
            }).catch(ex => {
               // console.log(ex);
               let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
               uni.showModal({
                  title: this.translateSys("error") + "2.1",
                  content: ex.errMsg,
                  content: tip,
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
               });
@@ -443,9 +454,10 @@
               }
            }).catch(ex => {
               // console.log(ex);
               let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
               uni.showModal({
                  title: this.translateSys("error") + "3.1",
                  content: ex.errMsg,
                  content: tip,
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
               });
@@ -521,12 +533,84 @@
                  dataType: "json",
                  success: (_res) => {
                     // console.log(_res);
                     const ret = _res.data
                     var ret = _res.data
                        if (typeof ret == 'string') {
                           try {
                              try {
                                 try {
                                    ret = JSON.parse(ret.replace(/\\"/g, '"'));
                                 } catch (ex) {
                                    ret = JSON.parse(ret.replace(/\\/g, '\\\\'))
                                 }
                              } catch (ex) {
                                 ret = JSON.parse(ret.replace(/\\"/g, "'").replace(/[\r\n]/g,
                                    '<br>').replace(/[\t]/g, '    '));
                              }
                           } catch (ex) {
                              console.log(ret)
                              return reject('将getDictInfo【json string】转换为【json object】失败')
                           }
                        }
                        if (ret.err_code == 0) {
                           resolve(ret);
                        } else {
                           reject({
                              "errMsg": ret.err_msg
                           });
                        }
                     if (ret.err_code == 0) {
                        resolve(ret);
                     } else {
                        reject({
                           "errMsg": ret.err_msg
                        });
                     }
                  },
                  fail: (err) => {
                     // console.log(err);
                     reject(err);
                  }
               })
            })
         },
         getUIStyleInfo(info) { //Mobox3数据类界面样式
            const loginInfo = this.$store.getters.loginid
            const dataSApi = this.$store.getters.getDataSApi
            return new Promise((resolve, reject) => {
               uni.request({
                  url: dataSApi + 'api/class/uistyle/GetInfo?sessionid=' + loginInfo.result
                     .session_id,
                  data: info,
                  method: 'POST',
                  dataType: "json",
                  success: (_res) => {
                     // console.log(_res);
                     var ret = _res.data
                     if (typeof ret == 'string') {
                        try {
                           try {
                              try {
                                 ret = JSON.parse(ret.replace(/\\"/g, '"'));
                              } catch (ex) {
                                 ret = JSON.parse(ret.replace(/\\/g, '\\\\'))
                              }
                           } catch (ex) {
                              ret = JSON.parse(ret.replace(/\\"/g, "'").replace(/[\r\n]/g,
                                 '<br>').replace(/[\t]/g, '    '));
                           }
                        } catch (ex) {
                           console.log(ret)
                           return reject('将getUIStyleInfo【json string】转换为【json object】失败')
                        }
                     }
                     if (ret.err_code == 0) {
                        resolve(ret);
                     } else {
                        reject({
                           "errMsg": ret.err_msg || ret.errMsg
                        });
                     }
                  },
@@ -571,7 +655,7 @@
               //        .exec();
               // }
               //console.log(item);
               if (item.oldvalue != item.value&& item.value.trim() != "") {
               if (item.oldvalue != item.value && item.value.trim() != "") {
                  item.oldvalue = item.value;
                  var attr = item.fieldId;
                  this.head_styledef.form.model[attr] = item.value;
@@ -653,7 +737,7 @@
         },
         onEnterChange(item) { //回车,点击按钮,取消节点事件
            // console.log(item);
            if (item.oldvalue != item.value&& item.value.trim() != "") {
            if (item.oldvalue != item.value && item.value.trim() != "") {
               item.oldvalue = item.value;
               var attr = item.fieldId;
               this.head_styledef.form.model[attr] = item.value;
@@ -785,7 +869,7 @@
                     input_param: input_param,
                  };
                  this.$store.dispatch('runCustomEvent', dataInfo).then(ret => {
                     // console.log(ret);
                     console.log(ret);
                     if (ret.err_code == 0) {
                        var result = ret.result;
                        if (result.ret != 0) {
@@ -843,7 +927,7 @@
                                             this.translateSys(
                                                "quotation_mark_left") + value
                                             .page_name + this.translateSys(
                                                "sys.quotation_mark_right") +
                                                "quotation_mark_right") +
                                             this.translate(
                                                "are_you_sure_clear_last"),
                                          success: function(res) {
@@ -1008,6 +1092,7 @@
                                    });
                                 }
                              });
                              console.log("end")
                           } else {
                              // this.detail2StyleDefList=[];
                              if (result.info) {
@@ -1031,9 +1116,10 @@
                     }
                  }).catch(ex => {
                     // console.log(ex);
                     let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
                     uni.showModal({
                        title: this.translateSys("error") + "4.1",
                        content: ex.errMsg,
                        content: tip,
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                     });
@@ -1126,48 +1212,53 @@
            if (JSON.stringify(data.row) == '{}') {
               return;
            }
            data.row.forEach(row => {
               var styleStr = JSON.stringify(this.$data.detail1_styledef);
               if (type) { //确定后脚本进入加载已分拣数据
                  styleStr = JSON.stringify(this.$data.detail2_styledef);
               } else {
                  if (data.page_name == this.$data.param.Sub_Page[1].Name) { //判断返回的action的page_name是否是已分拣
                     styleStr = JSON.stringify(this.$data.detail2_styledef); //待分拣
                  }
            var styleStr = JSON.stringify(this.$data.detail1_styledef);
            if (type) { //确定后脚本进入加载已分拣数据
               styleStr = JSON.stringify(this.$data.detail2_styledef);
            } else {
               if (data.page_name == this.$data.param.Sub_Page[1].Name) { //判断返回的action的page_name是否是已分拣
                  styleStr = JSON.stringify(this.$data.detail2_styledef); //待分拣
               }
               var detailStyle = JSON.parse(styleStr);
               detailStyle.form.objId = row.id;
               detailStyle.form.htmlobjId = row.id ? row.id.replace(/-/g, '').replace('{', '').replace('}',
                  '') : 'null';
               detailStyle.form.attrs = row.attrs;
               row.attrs.forEach(attr => {
                  detailStyle.form.items.forEach(ele => {
                     if (ele.name != 'Layout') {
                        if (ele.fieldId == attr.attr) ele.value = attr.value;
                     } else if (ele.name == 'Layout') {
                        ele.setting.colList.forEach(col => {
                           if (col) {
                              if (col.fieldId == attr.attr) col.value = attr
                                 .value;
                           }
                        });
                     }
                  });
               });
            }
            data.row.forEach(row => {
               if (type) { //确定后脚本进入加载已分拣数据
                  this.$data.detail2StyleDefList.push(detailStyle);
                  // console.log(this.$data.detail2StyleDefList);
               } else {
                  if (data.page_name == this.$data.param.Sub_Page[1].Name) { //判断返回的action的page_name是否是已分拣
               var detailStyle = JSON.parse(styleStr);
               if (detailStyle.form) {
                  detailStyle.form.objId = row.id;
                  detailStyle.form.htmlobjId = row.id ? row.id.replace(/-/g, '').replace('{', '').replace(
                     '}',
                     '') : 'null';
                  detailStyle.form.attrs = row.attrs;
                  row.attrs.forEach(attr => {
                     detailStyle.form.items.forEach(ele => {
                        if (ele.name != 'Layout') {
                           if (ele.fieldId == attr.attr) ele.value = attr.value;
                        } else if (ele.name == 'Layout') {
                           ele.setting.colList.forEach(col => {
                              if (col) {
                                 if (col.fieldId == attr.attr) col.value = attr
                                    .value;
                              }
                           });
                        }
                     });
                  });
                  if (type) { //确定后脚本进入加载已分拣数据
                     this.$data.detail2StyleDefList.push(detailStyle);
                     // console.log(this.$data.detail2StyleDefList);
                  } else {
                     this.$data.detail1StyleDefList.push(detailStyle);
                     this.activelist.push({
                        active: false
                     });
                     // console.log(this.$data.detail1StyleDefList);
                     if (data.page_name == this.$data.param.Sub_Page[1]
                        .Name) { //判断返回的action的page_name是否是已分拣
                        this.$data.detail2StyleDefList.push(detailStyle);
                        // console.log(this.$data.detail2StyleDefList);
                     } else {
                        this.$data.detail1StyleDefList.push(detailStyle);
                        this.activelist.push({
                           active: false
                        });
                        // console.log(this.$data.detail1StyleDefList);
                     }
                  }
               }
            });
@@ -1183,94 +1274,105 @@
            if (JSON.stringify(data.content) == '{}') {
               return;
            }
            var styleStr = JSON.stringify($this.$data.detail2_styledef);
            if (data.page_name == $this.$data.param.Sub_Page[0].Name) { //判断返回的action的page_name是否是码盘中
               styleStr = JSON.stringify($this.$data.detail1_styledef); //码盘中
            }
            data.content.forEach(cont => {
               var styleStr = JSON.stringify($this.$data.detail2_styledef);
               if (data.page_name == $this.$data.param.Sub_Page[0].Name) { //判断返回的action的page_name是否是码盘中
                  styleStr = JSON.stringify($this.$data.detail1_styledef); //码盘中
               }
               var detailStyle = JSON.parse(styleStr);
               detailStyle.SelBut_Checked = data.checkbox ?? true;
               detailStyle.form.objId = cont.id;
               detailStyle.form.htmlobjId = cont.id ? cont.id.replace(/-/g, '').replace('{', '').replace('}',
                  '') : 'null';
               detailStyle.form.attrs = cont.attrs;
               cont.attrs.forEach(attr => {
                  detailStyle.form.items.forEach(ele => {
                     if (ele.name != 'Layout') {
                        if (ele.fieldId == attr.attr) ele.value = attr.value;
                     } else if (ele.name == 'Layout') {
                        ele.setting.colList.forEach(col => {
                           if (col) {
                              if (col.fieldId == attr.attr) col.value = attr
                                 .value;
               if (detailStyle.form) {
                  detailStyle.form.objId = cont.id;
                  detailStyle.form.htmlobjId = cont.id ? cont.id.replace(/-/g, '').replace('{', '').replace(
                     '}',
                     '') : 'null';
                  detailStyle.form.attrs = cont.attrs;
                  cont.attrs.forEach(attr => {
                     detailStyle.form.items.forEach(ele => {
                        if (ele.name != 'Layout') {
                           if (ele.fieldId == attr.attr) ele.value = attr.value;
                        } else if (ele.name == 'Layout') {
                           ele.setting.colList.forEach(col => {
                              if (col) {
                                 if (col.fieldId == attr.attr) col.value = attr
                                    .value;
                              }
                           });
                        }
                     });
                  });
                  if (data.page_name == $this.$data.param.Sub_Page[0].Name) { //判断返回的action的page_name是否是待分拣
                     //如果 clear = false 则不需要清除,根据id判断是否存在,不存在插入到页面,如果存在用新的属性覆盖
                     if (data.clear == false) {
                        var isflag = true;
                        $this.detail1StyleDefList.forEach((style, index) => {
                           if (style.form.objId == detailStyle.form.objId) {
                              cont.attrs.forEach(attr => {
                                 style.form.items.forEach(ele => {
                                    if (ele.name != 'Layout') {
                                       if (ele.fieldId == attr.attr) ele
                                          .value =
                                          attr.value;
                                    } else if (ele.name == 'Layout') {
                                       ele.setting.colList.forEach(col => {
                                          if (col) {
                                             if (col.fieldId == attr
                                                .attr) col.value =
                                                attr
                                                .value;
                                          }
                                       });
                                    }
                                 });
                              });
                              isflag = false;
                           }
                        });
                        if (isflag) $this.detail1StyleDefList.push(detailStyle); //待分拣
                     } else {
                        $this.detail1StyleDefList.push(detailStyle); //待分拣
                     }
                  });
               });
               if (data.page_name == $this.$data.param.Sub_Page[0].Name) { //判断返回的action的page_name是否是待分拣
                  //如果 clear = false 则不需要清除,根据id判断是否存在,不存在插入到页面,如果存在用新的属性覆盖
                  if (data.clear == false) {
                     var isflag = true;
                     $this.detail1StyleDefList.forEach((style, index) => {
                        if (style.form.objId == detailStyle.form.objId) {
                           cont.attrs.forEach(attr => {
                              style.form.items.forEach(ele => {
                                 if (ele.name != 'Layout') {
                                    if (ele.fieldId == attr.attr) ele.value =
                                       attr.value;
                                 } else if (ele.name == 'Layout') {
                                    ele.setting.colList.forEach(col => {
                                       if (col) {
                                          if (col.fieldId == attr
                                             .attr) col.value = attr
                                             .value;
                                       }
                                    });
                                 }
                              });
                           });
                           isflag = false;
                        }
                     $this.activelist.push({
                        active: false
                     });
                     if (isflag) $this.detail1StyleDefList.push(detailStyle); //待分拣
                     // console.log($this.$data.detail1StyleDefList);
                  } else {
                     $this.detail1StyleDefList.push(detailStyle); //待分拣
                  }
                  $this.activelist.push({
                     active: false
                  });
                  // console.log($this.$data.detail1StyleDefList);
               } else {
                  if (data.clear == false) {
                     //如果 clear = false 则不需要清除,根据id判断是否存在,不存在插入到页面,如果存在用新的属性覆盖
                     var isflag = true;
                     $this.detail2StyleDefList.forEach((style, index) => {
                        if (style.form.objId == detailStyle.form.objId) {
                           cont.attrs.forEach(attr => {
                              style.form.items.forEach(ele => {
                                 if (ele.name != 'Layout') {
                                    if (ele.fieldId == attr.attr) ele.value =
                                       attr.value;
                                 } else if (ele.name == 'Layout') {
                                    ele.setting.colList.forEach(col => {
                                       if (col) {
                                          if (col.fieldId == attr
                                             .attr) col.value = attr
                                             .value;
                                       }
                                    });
                                 }
                     if (data.clear == false) {
                        //如果 clear = false 则不需要清除,根据id判断是否存在,不存在插入到页面,如果存在用新的属性覆盖
                        var isflag = true;
                        $this.detail2StyleDefList.forEach((style, index) => {
                           if (style.form.objId == detailStyle.form.objId) {
                              cont.attrs.forEach(attr => {
                                 style.form.items.forEach(ele => {
                                    if (ele.name != 'Layout') {
                                       if (ele.fieldId == attr.attr) ele
                                          .value =
                                          attr.value;
                                    } else if (ele.name == 'Layout') {
                                       ele.setting.colList.forEach(col => {
                                          if (col) {
                                             if (col.fieldId == attr
                                                .attr) col.value =
                                                attr
                                                .value;
                                          }
                                       });
                                    }
                                 });
                              });
                           });
                           isflag = false;
                        }
                     });
                     if (isflag) $this.detail2StyleDefList.push(detailStyle); //已分拣
                  } else {
                     $this.detail2StyleDefList.push(detailStyle); //已分拣
                              isflag = false;
                           }
                        });
                        if (isflag) $this.detail2StyleDefList.push(detailStyle); //已分拣
                     } else {
                        $this.detail2StyleDefList.push(detailStyle); //已分拣
                     }
                     //console.log($this.$data.detail2StyleDefList);
                  }
                  // console.log($this.$data.detail2StyleDefList);
               }
            });
@@ -1349,9 +1451,10 @@
                        }
                     }).catch(ex => {
                        // console.log(ex);
                        let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
                        uni.showModal({
                           title: this.translateSys("error") + "5.1",
                           content: ex.errMsg,
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys("cancel")
                        });
@@ -1548,21 +1651,22 @@
         },
         sava(event) {
            var $this = this;
            if (this.$data.detail1StyleDefList.length == 0) {
               uni.showModal({
                  title: this.translateSys("tip"),
                  content: this.translate(
                        "page.tip_no_data_first") +
                     this.translateSys(
                        "quotation_mark_left") + this.param.Sub_Page[0].Name + this.translateSys(
                        "sys.quotation_mark_right") +
                     this.translate(
                        "page.tip_no_data_last"),
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
               });
               return false;
            }
            // if (this.$data.detail1StyleDefList.length == 0) {
            //    uni.showModal({
            //       title: this.translateSys("tip"),
            //       content: this.translate(
            //             "tip_no_data_first") +
            //          this.translateSys(
            //             "quotation_mark_left") + this.param.Sub_Page[0].Name + this.translateSys(
            //             "quotation_mark_right") +
            //          this.translate(
            //             "tip_no_data_last"),
            //       showCancel: false,
            //       confirmText: this.translateSys("cancel")
            //    });
            //    return false;
            // }
            this.okLoading = true
            //获取表头属性
            var head_attr = {};
            this.$data.head_styledef.form.items.forEach(item => {
@@ -1628,15 +1732,16 @@
               });
            });
            const list = []
            if (jsonlist.length == 0) {
               uni.showModal({
                  title: this.translateSys("tip"),
                  content: this.translate("tip_no_select_data"),
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
               });
               return;
            }
            // if (jsonlist.length == 0) {
            //    //this.okLoading = false
            //    uni.showModal({
            //       title: this.translateSys("tip"),
            //       content: this.translate("tip_no_select_data"),
            //       showCancel: false,
            //       confirmText: this.translateSys("cancel")
            //    });
            //    return;
            // }
            list.push({
               page_name: $this.param.Sub_Page[0].Name,
               item_list: jsonlist,
@@ -1665,17 +1770,18 @@
               uni.showModal({
                  title: this.translateSys("tip"),
                  content: this.translate(
                        "page.tip_no_data_first") +
                        "tip_no_data_first") +
                     this.translateSys(
                        "quotation_mark_left") + this.param.Sub_Page[1].Name + this.translateSys(
                        "sys.quotation_mark_right") +
                        "quotation_mark_right") +
                     this.translate(
                        "page.tip_no_data_last"),
                        "tip_no_data_last"),
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
               });
               return false;
            }
            this.ok2Loading = true
            //获取表头属性
            var head_attr = {};
            this.$data.head_styledef.form.items.forEach(item => {
@@ -1741,6 +1847,7 @@
               });
            });
            if (jsonlist.length == 0) {
               this.ok2Loading = false
               uni.showModal({
                  title: this.translateSys("tip"),
                  content: this.translate("tip_no_select_data"),
@@ -1965,8 +2072,18 @@
                     confirmText: this.translateSys("cancel")
                  });
               }
               if (type == "1")
                  this.okLoading = false
               else if (type == "2")
                  this.ok2Loading = false
            }).catch(ex => {
               var tip = typeof ex == "string" ? ex : ex.errMsg;
               let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
               // var tip = typeof ex == "string" ? ex : ex.errMsg;
               if (type == "1")
                  this.okLoading = false
               else if (type == "2")
                  this.ok2Loading = false
               uni.showModal({
                  title: this.translateSys("error") + "8.1",
                  content: this.translate("execute_after_ok_event_failed") + this.translateSys(
@@ -2012,6 +2129,7 @@
      .v-headStyle {
         width: 100%;
         margin-bottom: 11rpx;
      }
      .view-content {
@@ -2057,22 +2175,24 @@
      }
      .v-headStyle .txt_title {
         font-size: 34rpx;
         font-size: 14px;
         text-align: right;
         display: inline-block;
         vertical-align: 12px;
         // align-items: center;
         color: #606266;
         padding: 0 5px 0 0;
         vertical-align: 10px;
      }
      .v-headStyle input {
         display: inline-block;
         width: 85%;
         height: 52rpx;
         line-height: 34rpx;
         line-height: 14px;
         background: #FFF;
         border-radius: 0 !important;
         color: #2d8cf0;
         padding: 10rpx 8rpx 12rpx;
         font-size: 34rpx;
         padding: 12rpx 8rpx;
         font-size: 14px;
         font-family: inherit;
         box-shadow: none !important;
         transition-duration: 0.1s;
@@ -2209,16 +2329,21 @@
      button.btn_add {
         width: 49.5%;
         padding: 20rpx;
         line-height: 1.5;
         border: none;
         font-size: 38rpx;
         font-weight: bold;
         float: right;
         color: #fff;
         display: inline-block;
      }
      button.btn_disabled {
         background-color: #ddd;
         color: #888;
      }
      .logo {
         height: 100rpx;
         width: 460rpx;