cuiqian2004
2024-07-11 0df15ed47f6e2aa5eb0610890bed7dcbaabc7c92
pages/modal/3018_2.vue
@@ -1,7 +1,5 @@
<template>
   <view class="content">
   <view class="uni-page-modal-3018-2">
      <!-- 表头样式 -->
      <view class="v-headStyle" v-for="(item,index) in head_styledef.form.items">
         <!-- 普通布局 -->
@@ -31,15 +29,17 @@
                  :type="item.name=='Input'?'text':item.name=='InputNumber'?'number':'text'" v-model="item.value"
                  :disabled="item.disabled" :placeholder="item.placeholder"
                  :style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}"
                  :focus="focusMateria" @focus="ontap(item)" @blur="onevent(item)" />
                  :focus="focusFieldId == item.fieldId" @focus="ontap(item)" @click="onClick(item)"
                  @blur="onevent(item)" />
               <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
                  @click="classAttr_extButton(item)">&#xe568;</text>
            </view>
            <!-- 多行文本 -->
            <view class="input-wrapper" v-if="item.name=='Textarea' && !item.disabled">
               <textarea class="uni-input" :class="item.disabled?'input-disabled':''" :value="item.value"
                  :placeholder="item.placeholder" @blur="onModelValue(item)" :data-index="index"
                  style="height:60px;" :style="{'width':'96%'}" :disabled="item.disabled"></textarea>
                  :focus="focusFieldId == item.fieldId" :placeholder="item.placeholder" @blur="onModelValue(item)"
                  @click="onClick(item)" :data-index="index" style="height:60px;" :style="{'width':'96%'}"
                  :disabled="item.disabled"></textarea>
            </view>
            <!-- 复选框 -->
@@ -78,7 +78,8 @@
                        :type="cols.name=='Input'?'text':cols.name=='InputNumber'?'number':'text'"
                        v-model="cols.value" :disabled="cols.disabled" :placeholder="cols.placeholder"
                        :style="{'width':cols.setting.prefix && cols.setting.suffix?'78%':cols.setting.prefix || cols.setting.suffix?'87%':'96%'}"
                        :focus="focusMateria" @focus="ontap(cols)" @blur="onevent(cols)" />
                        :focus="focusFieldId == cols.fieldId" @focus="ontap(cols)" @click="onClick(cols)"
                        @blur="onevent(cols)" />
                     <text v-if="cols.setting.suffix" class="uni-icon" :class="[cols.setting.suffix]"
                        @click="onchange(cols)">&#xe568;</text>
                  </view>
@@ -89,7 +90,8 @@
                  <!-- 多行文本 -->
                  <view class="input-wrapper" v-if="cols.name=='Textarea' && !cols.disabled">
                     <textarea class="uni-input" :value="cols.value" :class="cols.disabled?'input-disabled':''"
                        :placeholder="cols.placeholder" @blur="onModelValue(cols)" style="height:60px;"
                        :placeholder="cols.placeholder" :focus="focusFieldId == cols.fieldId"
                        @blur="onModelValue(cols)" @click="onClick(cols)" style="height:60px;"
                        :style="{'width':'96%'}" :disabled="cols.disabled"></textarea>
                  </view>
                  <!-- 复选框 -->
@@ -123,7 +125,7 @@
      <view class="view-floor">
         <button type="default" @tap="sava" class="btn_add">{{title}}</button>
         <button type="default" @tap="cancel" class="btn_cancel">取消</button>
         <button type="default" @tap="cancel" class="btn_cancel">{{translateSys('cancel')}}</button>
      </view>
      <!-- 普通弹窗 top bottom center left right -->
      <view>
@@ -143,8 +145,9 @@
                  </view>
               </view>
               <view class="popup-footer">
                  <button type="default" @tap="popup_sava" class="btn_popup_add">确定</button>
                  <button type="default" @tap="popup_cancel" class="btn_popup_cancel">取消</button>
                  <button type="default" @tap="popup_sava" class="btn_popup_add">{{translateSys('ok')}}</button>
                  <button type="default" @tap="popup_cancel"
                     class="btn_popup_cancel">{{translateSys('cancel')}}</button>
               </view>
            </view>
         </uni-popup>
@@ -154,14 +157,14 @@
<script>
   import Base64 from '../../components/js-base64/base64.js'
   import classUtils from "@/js/utils.js"
   import utils from "@/js/utils.js"
   export default {
      modules: {
         Base64,
      },
      data() {
         return {
            title: '新增',
            title: this.translateSys('add2'),
            param: {},
            edit_inital_event: "", //弹窗初始化事件ID
            edit_ok_event: "", //弹窗点击OK 触发事件ID
@@ -176,7 +179,8 @@
            popupType: "center",
            check_list: {},
            focusMateria: false,
            focusFieldId: "",
            focusOldFieldId: "",
            head_styledef: {
               form: {
                  items: []
@@ -189,13 +193,46 @@
            content: ''
         };
      },
      onNavigationBarButtonTap(e) {
         const $this = this
         uni.scanCode({
            scanType: ["qrCode"],
            success: function(res) {
               if ($this.focusFieldId) {
                  const items = $this.head_styledef.form.items || []
                  for (let i in items) {
                     const ele = items[i]
                     if (ele.name == 'Input' || ele.name == 'InputNumber' || ele.name == 'Textarea') {
                        if ($this.focusFieldId == ele.fieldId) {
                           $this.onScanValue(ele, res.result)
                           break;
                        }
                     } else if (ele.name == "Layot") {
                        let curIndex = (ele.setting.colList || []).findIndex((col, index2, arr) => {
                           return (col.name == 'Input' || col.name == 'InputNumber' || col
                                 .name == 'Textarea') && $this
                              .focusFieldId == col.fieldId;
                        })
                        if (curIndex > -1) {
                           let col = ele.setting.colList[curIndex]
                           $this.onScanValue(col, res.result)
                           break
                        }
                     }
                  }
               }
            }
         })
      },
      onLoad(options) {
         // console.log(options);
         uni.setNavigationBarTitle({
            title: options.titlename
         }); //设置顶部标题 
         this.$data.param = JSON.parse(options.param);
         this.$data.title = this.$data.param.Add_BtnName ? this.$data.param.Add_BtnName : options.titlename; //设置按钮文字
         this.$data.title = this.$data.param.Add_BtnName ? this.$data.param.Add_BtnName : options
            .titlename; //设置按钮文字
         console.log(this.$data.param);
         //获取数据类的自定义表单参数
@@ -203,8 +240,29 @@
         //页面初始化获取焦点
         // this.focusMateria=true; 
      },
      methods: {
         setData: function(obj) {
            let that = this;
            let keys = [];
            let val, data;
            Object.keys(obj).forEach(function(key) {
               keys = key.split(".");
               val = obj[key];
               data = that.$data;
               keys.forEach(function(key2, index) {
                  if (index + 1 == keys.length) {
                     that.$set(data, key2, val);
                  } else {
                     if (!data[key2]) {
                        that.$set(data, key2, {});
                     }
                  }
                  data = data[key2];
               });
            });
         },
         async Head_UIStyleGetInfo(class_id, style_id) { //获取自定义表单样式
            var $this = this;
            var dataInfo = {
@@ -219,7 +277,8 @@
                     //mobox2的style_def是json字符串
                     styledef = ret.result.style_def.replace(/\\/g, "");
                     //mobox3的style_def是base64字符串
                     if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result
                     if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret
                        .result
                        .style_def);
                  }
                  $this.$data.head_styledef = ret.result.style_def ? JSON.parse(styledef) : {};
@@ -229,6 +288,15 @@
                     if (ele.useDict == true) { //判断useDict是否使用字典
                        await this.DictGetInfo(ele.bind.dict, index, 'mast');
                     }
                     if ($this.focusFieldId == "") {
                        if (ele.name == 'Input' || ele.name == 'InputNumber' || ele.name ==
                           'Textarea') {
                           $this.setData({
                              focusFieldId: ele.fieldId
                           })
                        }
                     }
                  });
                  if ($this.head_styledef.event?.length > 0) {
                     $this.head_styledef.event.forEach(async (a) => { //判断是否是初始化事件
@@ -245,19 +313,19 @@
               } else {
                  uni.showModal({
                     title: "错误1",
                     title: this.translateSys("error") + "1",
                     content: ret.err_msg,
                     showCancel: false,
                     confirmText: "取消"
                     confirmText: this.translateSys("cancel")
                  });
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: "错误1.1",
                  title: this.translateSys("error") + "1.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: "取消"
                  confirmText: this.translateSys("cancel")
               });
            });
@@ -300,19 +368,19 @@
               } else {
                  uni.showModal({
                     title: "错误1.2",
                     title: this.translateSys("error") + "1.2",
                     content: success.err_msg,
                     showCancel: false,
                     confirmText: "取消"
                     confirmText: this.translateSys("cancel")
                  });
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: "错误1.3",
                  title: this.translateSys("error") + "1.3",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: "取消"
                  confirmText: this.translateSys("cancel")
               });
            });
         },
@@ -332,29 +400,37 @@
               if (success.err_code == 0) {
                  var data = success.result;
                  if (data.ret != 0) {
                     var tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info : data
                     var tip = data.err_info ? typeof data.err_info == 'string' ? data
                        .err_info : data
                        .err_info.join('<br/>') : '';
                     if (data.ret == 801) uni.showModal({
                        title: '提示',
                        content: tip,
                        showCancel: false,
                        confirmText: "取消"
                     });
                     if (data.ret == 801) {
                        if (this.param.Only_Script_Error) {
                           let pos = tip.indexOf(":");
                           if (pos > -1) tip = tip.substring(pos + 1);
                        }
                        uni.showModal({
                           title: this.translateSys("tip"),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys("cancel")
                        });
                     }
                     else uni.showModal({
                        title: '提示',
                        content: tip + ',提示:' + data.ret,
                        title: this.translateSys("tip"),
                        content: tip + ',' + this.translateSys('tip') + ':' + data.ret,
                        showCancel: false,
                        confirmText: "取消"
                        confirmText: this.translateSys("cancel")
                     });
                     return false
                  } else {
                     var tip = data.info ? typeof data.info == 'string' ? data.info : data.info.join(
                        '<br/>') : '';
                     var tip = data.info ? typeof data.info == 'string' ? data.info : data.info
                        .join(
                           '<br/>') : '';
                     if (tip) uni.showModal({
                        title: '提示',
                        title: this.translateSys("tip"),
                        content: tip,
                        showCancel: false,
                        confirmText: "取消"
                        confirmText: this.translateSys("cancel")
                     });
                     var actionlist = data.action;
@@ -386,7 +462,8 @@
                                       } else if (attr.name == 'Layout') {
                                          attr.setting.colList.forEach(col => {
                                             if (col) {
                                                if (col.fieldId == result[i].attr) {
                                                if (col.fieldId == result[i]
                                                   .attr) {
                                                   var dictItemList = [];
                                                   for (var d in result[i]
                                                         .choice_list) {
@@ -414,7 +491,8 @@
                                    //判断表单里是否有返回字段,没有就装载到model里,点击确定提交的时候带上这些数据
                                    if ($this.head_styledef.form.model[result[i].attr] ==
                                       undefined) {
                                       $this.head_styledef.form.model[result[i].attr] = result[i]
                                       $this.head_styledef.form.model[result[i].attr] =
                                          result[i]
                                          .value;
                                    }
                                    //判断是否是栅格表单
@@ -424,19 +502,23 @@
                                          attr.oldvalue = '';
                                          attr.value = result[i].value;
                                          attr.oldvalue = result[i].value;
                                          $this.head_styledef.form.model[attr.fieldId] = result[
                                             i].value;
                                          $this.head_styledef.form.model[attr.fieldId] =
                                             result[
                                                i].value;
                                       }
                                    } else if (attr.name == 'Layout') {
                                       attr.setting.colList.forEach(col => {
                                          if (col) {
                                             if (col.fieldId == result[i].attr) {
                                             if (col.fieldId == result[i]
                                                .attr) {
                                                col.value = '';
                                                col.oldvalue = '';
                                                col.value = result[i].value;
                                                col.oldvalue = result[i].value;
                                                $this.head_styledef.form.model[col
                                                   .fieldId] = result[i].value;
                                                $this.head_styledef.form.model[
                                                      col
                                                      .fieldId] = result[i]
                                                   .value;
                                             }
                                          }
                                       });
@@ -450,9 +532,12 @@
                                    $this.$data.refdatastore.push(result[i]);
                                 }
                                 if (length == 0) {
                                    for (var j = 0; j < $this.$data.refdatastore.length; j++) {
                                       if ($this.$data.refdatastore[j].attr == result[i].attr) {
                                          $this.$data.refdatastore[j].value = result[i].value;
                                    for (var j = 0; j < $this.$data.refdatastore
                                       .length; j++) {
                                       if ($this.$data.refdatastore[j].attr == result[i]
                                          .attr) {
                                          $this.$data.refdatastore[j].value = result[i]
                                             .value;
                                       }
                                    }
                                 }
@@ -460,26 +545,34 @@
                           } else if (data.action[i].action_type == 'set_dlg_attr_show') {
                              var result = action.value;
                              result.forEach(async (attr, key) => {
                                 $this.$data.head_styledef.form.items.forEach(async (
                                    ele, index) => {
                                    //判断是否是栅格表单
                                    if (ele.name != 'Layout') {
                                       if (ele.fieldId == attr.attr) {
                                          ele.show = attr.show;
                                 $this.$data.head_styledef.form.items.forEach(
                                    async (
                                       ele, index) => {
                                       //判断是否是栅格表单
                                       if (ele.name != 'Layout') {
                                          if (ele.fieldId == attr
                                             .attr) {
                                             ele.show = attr.show;
                                          }
                                       } else if (ele.name ==
                                          'Layout') {
                                          ele.setting.colList
                                             .forEach(
                                                col => {
                                                   if (col) {
                                                      if (col
                                                         .fieldId ==
                                                         attr
                                                         .attr
                                                      ) {
                                                         col.show =
                                                            attr
                                                            .show;
                                                      }
                                                   }
                                                });
                                       }
                                    } else if (ele.name == 'Layout') {
                                       ele.setting.colList.forEach(
                                          col => {
                                             if (col) {
                                                if (col.fieldId ==
                                                   attr.attr) {
                                                   col.show = attr
                                                      .show;
                                                }
                                             }
                                          });
                                    }
                                 });
                                    });
                              });
                              var head_styledef = JSON.parse(JSON.stringify($this.$data
                                 .head_styledef));
@@ -488,10 +581,19 @@
                              // console.log($this.$data.head_styledef);
                           } else {
                              uni.showModal({
                                 title: "提示",
                                 content: "执行初始化事件失败:" + item.action_type + '此action尚未处理!',
                                 title: this.translateSys("tip"),
                                 content: this.translate(
                                       'execute_init_event_failed') +
                                    this.translateSys("full_stop") +
                                    this.translate('reason') + this.translateSys(
                                       "colon") +
                                    this.translateSys("quotation_mark_left") +
                                    action
                                    .action_type + this.translateSys(
                                       "quotation_mark_right") + this
                                    .translate('tip_action_unprocessed'),
                                 showCancel: false,
                                 confirmText: "取消"
                                 confirmText: this.translateSys("cancel")
                              });
                           }
                        }
@@ -499,19 +601,24 @@
                  }
               } else {
                  uni.showModal({
                     title: "错误3",
                     content: "执行初始化事件失败:" + success.err_msg,
                     title: this.translateSys("error") + "3",
                     content: this.translate('execute_init_event_failed') +
                        this.translateSys("full_stop") +
                        this.translate('reason') + this.translateSys("colon") + success
                        .err_msg,
                     showCancel: false,
                     confirmText: "取消"
                     confirmText: this.translateSys("cancel")
                  });
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: "错误3.1",
                  content: "执行初始化事件失败:" + ex.errMsg,
                  title: this.translateSys("error") + "3.1",
                  content: this.translate('execute_init_event_failed') +
                     this.translateSys("full_stop") +
                     this.translate('reason') + this.translateSys("colon") + ex.errMsg,
                  showCancel: false,
                  confirmText: "取消"
                  confirmText: this.translateSys("cancel")
               });
            });
         },
@@ -556,50 +663,110 @@
            //     }
            //   }
            // })
            this.focusOldFieldId = item.fieldId
            getApp().onScan((result) => {
               console.log(result);
               uni.hideKeyboard();
               var $this = this;
               console.log(item);
               if (item.oldvalue != result.decodedata) {
                  item.oldvalue = result.decodedata;
                  item.value = result.decodedata;
                  var attr = item.fieldId;
                  $this.head_styledef.form.model[attr] = result.decodedata;
                  if (result.decodedata) { //第一个输入框不为空
                     $this.focusMateria = true; //初始化,第二个输入框focus属性
                     // setTimeout(function(){
                     //    $this.focusMateria=true; //第二个输入框获取焦点
                     setTimeout(function() {
                        uni.hideKeyboard();
                     }, 1000);
                     // },500);
                  }
                  var eventid = item.bind.onChangeEvent.id; //内容变化后事件
                  if (eventid) {
                     var obj_attr = this.head_styledef.form.model;
                     // console.log(obj_attr);
                     var req = Object.keys(obj_attr).map((a) => ({
                        attr: a,
                        val: obj_attr[a] || "",
                     }));
               // uni.hideKeyboard();
               this.onScanValue(item, result.decodedata)
            })
         },
         onScanValue(item, value) {
            const $this = this;
            console.log("onScanValue", item);
            if (item.oldvalue != value) {
               item.oldvalue = value;
               item.value = value;
               var attr = value
               $this.head_styledef.form.model[attr] = value;
               if (item.value) { //第一个输入框不为空
                  //初始化,下个输入框focus属性
                  var findd = false
                  const items = $this.head_styledef.form.items || []
                  for (let i in items) {
                     const ele = items[i]
                     var info = {
                        eventid: eventid,
                        edtype: "0",
                        projectid: '',
                        rclsid: '',
                        robjid: '',
                        userlogin: '',
                        clsid: this.$data.param.DataCls.id,
                        objid: "",
                        attr: req,
                        dataJson: [],
                     if (ele.name != "Layout") {
                        if (ele.name == 'Input' || ele.name == 'InputNumber' || ele.name == 'Textarea') {
                           if (attr == ele.fieldId) {
                              findd = true
                           } else {
                              if (findd) {
                                 $this.setData({
                                    focusFieldId: ele.fieldId
                                 })
                                 break
                              }
                           }
                        }
                     } else {
                        if (findd) {
                           let curIndex = ele.setting.colList.findIndex((col, index2, arr) => {
                              return (col.name == 'Input' || col.name == 'InputNumber' || col.name ==
                                 'Textarea');
                           })
                           if (curIndex > -1) {
                              $this.setData({
                                 focusFieldId: ele.setting.colList[curIndex]
                                    .fieldId
                              })
                              break
                           }
                        } else {
                           let curIndex = ele.setting.colList.findIndex((col, index2, arr) => {
                              return attr == col.fieldId;
                           })
                           if (curIndex > -1) {
                              findd = true
                              let curIndex2 = ele.setting.colList.findIndex((col, index2, arr) => {
                                 return (col.name == 'Input' || col.name ==
                                       'InputNumber' || col.name == 'Textarea') &&
                                    index2 >
                                    curIndex;
                              })
                              if (curIndex2 > -1) {
                                 $this.setData({
                                    focusFieldId: ele.setting.colList[curIndex]
                                       .fieldId
                                 })
                                 break
                              }
                           }
                        }
                     }
                     this.DataObjRunCustomEvent(info, '');
                  }
               }
            })
               var eventid = item.bind.onChangeEvent.id; //内容变化后事件
               if (eventid) {
                  var obj_attr = this.head_styledef.form.model;
                  // console.log(obj_attr);
                  var req = Object.keys(obj_attr).map((a) => ({
                     attr: a,
                     val: obj_attr[a] || "",
                  }));
                  var info = {
                     eventid: eventid,
                     edtype: "0",
                     projectid: '',
                     rclsid: '',
                     robjid: '',
                     userlogin: '',
                     clsid: this.$data.param.DataCls.id,
                     objid: "",
                     attr: req,
                     dataJson: [],
                  }
                  this.DataObjRunCustomEvent(info, '');
               }
            }
         },
         onClick(item) {
            this.focusFieldId = item.fieldId
         },
         onevent(item) {
            // console.log(e.target);
@@ -676,19 +843,19 @@
            if (!onSuffixClickCallbackEvent.id) {
               uni.showModal({
                  title: "提示",
                  content: "后图标点击事件为空!",
                  title: this.translateSys("tip"),
                  content: this.translate('icon_click_event_empty'),
                  showCancel: false,
                  confirmText: "取消"
                  confirmText: this.translateSys("cancel")
               });
               return;
            }
            if (!onSuffixClickEvent.id) {
               uni.showModal({
                  title: "提示",
                  content: "后图标点击回调为空!",
                  title: this.translateSys("tip"),
                  content: this.translate('icon_click_event_empty'),
                  showCancel: false,
                  confirmText: "取消"
                  confirmText: this.translateSys("cancel")
               });
               return;
            }
@@ -735,15 +902,15 @@
                  });
               }
            }
            if (!$this.$data.popupParam) {
               uni.showModal({
                  title: "提示",
                  content: "popupParam为空!",
                  showCancel: false,
                  confirmText: "取消"
               });
               return;
            }
            // if (!$this.$data.popupParam) {
            //    uni.showModal({
            //       title: this.translateSys("tip"),
            //       content: "popupParam为空!",
            //       showCancel: false,
            //       confirmText: this.translateSys("cancel")
            //    });
            //    return;
            // }
            var fieldId = $this.$data.popupParam.item.fieldId;
            $this.head_styledef.form.model[attr] = name;
@@ -777,7 +944,7 @@
               'function': '3000', // 功能点编号
               cls_id: this.$data.param.DataCls.id, // 功能点主数据类标识
               'button': 'top', // top/bottom
               button_name: '新增',
               button_name: this.translateSys('add2'),
               master: {
                  cls_id: this.$data.param.DataCls.id, // button=bottom时 master的cls_id
                  //obj_id: ''  // button=bottom时 master的obj_id
@@ -843,29 +1010,37 @@
               if (success.err_code == 0) {
                  var data = success.result;
                  if (data.ret != 0) {
                     var tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info : data
                     var tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info :
                        data
                        .err_info.join('<br/>') : '';
                     if (data.ret == 801) uni.showModal({
                        title: '提示',
                        content: tip,
                        showCancel: false,
                        confirmText: "取消"
                     });
                     if (data.ret == 801) {
                        if (this.param.Only_Script_Error) {
                           let pos = tip.indexOf(":");
                           if (pos > -1) tip = tip.substring(pos + 1);
                        }
                        uni.showModal({
                           title: this.translateSys("tip"),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys("cancel")
                        });
                     }
                     else uni.showModal({
                        title: '提示',
                        content: tip + ',提示:' + data.ret,
                        title: this.translateSys("tip"),
                        content: tip + ',' + this.translateSys('tip') + ':' + data.ret,
                        showCancel: false,
                        confirmText: "取消"
                        confirmText: this.translateSys("cancel")
                     });
                     return false
                  } else {
                     var tip = data.info ? typeof data.info == 'string' ? data.info : data.info.join(
                        '<br/>') : '';
                     var tip = data.info ? typeof data.info == 'string' ? data.info : data.info
                        .join(
                           '<br/>') : '';
                     if (tip) uni.showModal({
                        title: '提示',
                        title: this.translateSys("tip"),
                        content: tip,
                        showCancel: false,
                        confirmText: "取消"
                        confirmText: this.translateSys("cancel")
                     });
                     var actionlist = data.action;
@@ -877,7 +1052,8 @@
                              var result = action.value;
                              for (var i = 0; i < result.length; i++) {
                                 if (result[i].choice_list) {
                                    for (var c = 0; c < $this.head_styledef.form.items.length; c++) {
                                    for (var c = 0; c < $this.head_styledef.form.items
                                       .length; c++) {
                                       var attr = $this.head_styledef.form.items[c];
                                       if (attr.name != 'Layout') {
                                          if (attr.fieldId == result[i].attr) {
@@ -896,10 +1072,13 @@
                                       } else if (attr.name == 'Layout') {
                                          attr.setting.colList.forEach(col => {
                                             if (col) {
                                                if (col.fieldId == result[i].attr) {
                                                if (col.fieldId == result[i]
                                                   .attr) {
                                                   var dictItemList = [];
                                                   for (var d in result[i].choice_list) {
                                                      var val = result[i].choice_list[d];
                                                   for (var d in result[i]
                                                         .choice_list) {
                                                      var val = result[i]
                                                         .choice_list[d];
                                                      dictItemList.push({
                                                         "CN_S_NAME": val,
                                                         "CN_S_VALUE": val,
@@ -915,12 +1094,15 @@
                                    }
                                 }
                                 for (var c = 0; c < $this.$data.head_styledef.form.items.length; c++) {
                                 for (var c = 0; c < $this.$data.head_styledef.form.items
                                    .length; c++) {
                                    var attr = $this.$data.head_styledef.form.items[c];
                                    // console.log(attr[j].Name+'=='+result[i].attr);
                                    //判断表单里是否有返回字段,没有就装载到model里,点击确定提交的时候带上这些数据
                                    if ($this.head_styledef.form.model[result[i].attr] == undefined) {
                                       $this.head_styledef.form.model[result[i].attr] = result[i]
                                    if ($this.head_styledef.form.model[result[i].attr] ==
                                       undefined) {
                                       $this.head_styledef.form.model[result[i].attr] =
                                          result[i]
                                          .value;
                                    }
                                    //判断是否是栅格表单
@@ -930,7 +1112,8 @@
                                          attr.oldvalue = '';
                                          attr.value = result[i].value;
                                          attr.oldvalue = result[i].value;
                                          $this.head_styledef.form.model[attr.fieldId] = result[i]
                                          $this.head_styledef.form.model[attr.fieldId] =
                                             result[i]
                                             .value;
                                       }
                                    } else if (attr.name == 'Layout') {
@@ -957,8 +1140,10 @@
                                 }
                                 if (length == 0) {
                                    for (var j = 0; j < $this.$data.refdatastore.length; j++) {
                                       if ($this.$data.refdatastore[j].attr == result[i].attr) {
                                          $this.$data.refdatastore[j].value = result[i].value;
                                       if ($this.$data.refdatastore[j].attr == result[i]
                                          .attr) {
                                          $this.$data.refdatastore[j].value = result[i]
                                             .value;
                                       }
                                    }
                                 }
@@ -966,27 +1151,33 @@
                           } else if (action.action_type == 'set_dlg_attr_show') {
                              var result = action.value;
                              result.forEach(async (attr, key) => {
                                 $this.$data.head_styledef.form.items.forEach(async (ele,
                                    index) => {
                                    //判断是否是栅格表单
                                    if (ele.name != 'Layout') {
                                       if (ele.fieldId == attr.attr) {
                                          ele.show = attr.show;
                                       }
                                    } else if (ele.name == 'Layout') {
                                       ele.setting.colList.forEach(col => {
                                          if (col) {
                                             if (col.fieldId == attr
                                                .attr) {
                                                col.show = attr
                                                   .show;
                                             }
                                 $this.$data.head_styledef.form.items.forEach(
                                    async (ele,
                                       index) => {
                                       //判断是否是栅格表单
                                       if (ele.name != 'Layout') {
                                          if (ele.fieldId == attr.attr) {
                                             ele.show = attr.show;
                                          }
                                       });
                                    }
                                 });
                                       } else if (ele.name == 'Layout') {
                                          ele.setting.colList.forEach(
                                             col => {
                                                if (col) {
                                                   if (col
                                                      .fieldId ==
                                                      attr
                                                      .attr) {
                                                      col.show =
                                                         attr
                                                         .show;
                                                   }
                                                }
                                             });
                                       }
                                    });
                              });
                              var head_styledef = JSON.parse(JSON.stringify($this.$data.head_styledef));
                              var head_styledef = JSON.parse(JSON.stringify($this.$data
                                 .head_styledef));
                              $this.$data.head_styledef = [];
                              $this.$data.head_styledef = head_styledef;
                              // console.log($this.$data.head_styledef);
@@ -994,10 +1185,14 @@
                              $this.$data.global_attr = action.value || [];
                           } else {
                              uni.showModal({
                                 title: "提示",
                                 content: action.action_type + '此action尚未处理!',
                                 title: this.translateSys("tip"),
                                 content: this.translateSys("quotation_mark_left") +
                                    action
                                    .action_type + this.translateSys(
                                       "quotation_mark_right") + this.translate(
                                       "tip_action_unprocessed"),
                                 showCancel: false,
                                 confirmText: "取消"
                                 confirmText: this.translateSys("cancel")
                              });
                           }
                        }
@@ -1014,7 +1209,8 @@
                              var attr = $this.$data.head_styledef.form.items[c];
                              //判断表单里是否有返回字段,没有就装载到model里,点击确定提交的时候带上这些数据
                              if ($this.head_styledef.form.model[result[i].attr] == undefined) {
                                 $this.head_styledef.form.model[result[i].attr] = result[i].value;
                                 $this.head_styledef.form.model[result[i].attr] = result[i]
                                    .value;
                              }
                              //判断是否是栅格表单
                              if (attr.name != 'Layout') {
@@ -1023,7 +1219,8 @@
                                    attr.oldvalue = '';
                                    attr.value = result[i].value;
                                    attr.oldvalue = result[i].value;
                                    $this.head_styledef.form.model[attr.fieldId] = result[i].value;
                                    $this.head_styledef.form.model[attr.fieldId] = result[i]
                                       .value;
                                 }
                              } else if (attr.name == 'Layout') {
                                 attr.setting.colList.forEach(col => {
@@ -1033,7 +1230,8 @@
                                          col.oldvalue = '';
                                          col.value = result[i].value;
                                          col.oldvalue = result[i].value;
                                          $this.head_styledef.form.model[col.fieldId] =
                                          $this.head_styledef.form.model[col
                                                .fieldId] =
                                             result[i].value;
                                       }
                                    }
@@ -1060,19 +1258,19 @@
                  }
               } else {
                  uni.showModal({
                     title: "错误3",
                     title: this.translateSys("error") + "3",
                     content: success.err_msg,
                     showCancel: false,
                     confirmText: "取消"
                     confirmText: this.translateSys("cancel")
                  });
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: "错误3.1",
                  title: this.translateSys("error") + "3.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: "取消"
                  confirmText: this.translateSys("cancel")
               });
            });
         },
@@ -1081,7 +1279,7 @@
               'function': '3000', // 功能点编号
               cls_id: this.$data.param.DataCls.id, // 功能点主数据类标识
               'button': 'top', // top/bottom
               button_name: '新增',
               button_name: this.translateSys('add2'),
               master: {
                  cls_id: this.$data.param.DataCls.id, // button=bottom时 master的cls_id
                  //obj_id: ''  // button=bottom时 master的obj_id
@@ -1149,29 +1347,37 @@
               if (success.err_code == 0) {
                  var data = success.result;
                  if (data.ret != 0) {
                     var tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info : data
                     var tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info :
                        data
                        .err_info.join('<br/>') : '';
                     if (data.ret == 801) uni.showModal({
                        title: '提示',
                        content: tip,
                        showCancel: false,
                        confirmText: "取消"
                     });
                     if (data.ret == 801){
                        if (this.param.Only_Script_Error) {
                           let pos = tip.indexOf(":");
                           if (pos > -1) tip = tip.substring(pos + 1);
                        }
                        uni.showModal({
                           title: this.translateSys("tip"),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys("cancel")
                        });
                     }
                     else uni.showModal({
                        title: '提示',
                        content: tip + ',提示:' + data.ret,
                        title: this.translateSys("tip"),
                        content: tip + ',' + this.translateSys('tip') + ':' + data.ret,
                        showCancel: false,
                        confirmText: "取消"
                        confirmText: this.translateSys("cancel")
                     });
                     return false
                  } else {
                     var tip = data.info ? typeof data.info == 'string' ? data.info : data.info.join(
                        '<br/>') : '';
                     var tip = data.info ? typeof data.info == 'string' ? data.info : data.info
                        .join(
                           '<br/>') : '';
                     if (tip) uni.showModal({
                        title: '提示',
                        title: this.translateSys("tip"),
                        content: tip,
                        showCancel: false,
                        confirmText: "取消"
                        confirmText: this.translateSys("cancel")
                     });
                     if (data != "") {
@@ -1186,8 +1392,12 @@
                              if (action.action_type == 'open_panel') {
                                 var d = dialog({
                                    title: '<i class="ace-icon fa fa-info-circle"></i> ' +
                                       '提示',
                                    content: action.action_type + '此action尚未处理!'
                                       this.translateSys("tip"),
                                    content: this.translateSys("quotation_mark_left") +
                                       action
                                       .action_type + this.translateSys(
                                          "quotation_mark_right") + this.translate(
                                          "tip_action_unprocessed")
                                 });
                                 d.show();
                              } else if (action.action_type == 'open_select_userdlg') {
@@ -1201,13 +1411,15 @@
                                    data_attr: data_attr
                                 }
                                 uni.navigateTo({
                                    url: '../selpsn/index?mulit=false&param=' + JSON.stringify(
                                       param),
                                    url: '../selpsn/index?mulit=false&param=' + JSON
                                       .stringify(
                                          param),
                                    events: {
                                       AddPer(data, param) {
                                          // console.log(param);
                                          console.log(data);
                                          var callback_eventid = param.button_callback
                                          var callback_eventid = param
                                             .button_callback
                                             .trim();
                                          var info = {
                                             eventid: callback_eventid,
@@ -1216,21 +1428,27 @@
                                             rclsid: '',
                                             robjid: '',
                                             userlogin: '',
                                             clsid: $this.$data.param.DataCls.id,
                                             clsid: $this.$data.param.DataCls
                                                .id,
                                             objid: "",
                                             attr: param.req,
                                             inputparameter: data,
                                             dataJson: [],
                                          }
                                          $this.DataObjRunCustomEvent(info, param.data_attr);
                                          $this.DataObjRunCustomEvent(info, param
                                             .data_attr);
                                       }
                                    }
                                 });
                              } else if (action.action_type == 'open_data_query_dlg') {
                                 var d = dialog({
                                    title: '<i class="ace-icon fa fa-info-circle"></i> ' +
                                       '提示',
                                    content: action.action_type + '此action尚未处理!'
                                       this.translateSys("tip"),
                                    content: this.translateSys("quotation_mark_left") +
                                       action
                                       .action_type + this.translateSys(
                                          "quotation_mark_right") + this.translate(
                                          "tip_action_unprocessed")
                                 });
                                 d.show();
                              } else if (action.action_type == 'open_common_dlg') {
@@ -1276,17 +1494,20 @@
                                    req: req
                                 }
                                 uni.navigateTo({
                                    url: '../selPrj/index?relation=' + priRel + '&param=' +
                                    url: '../selPrj/index?relation=' + priRel +
                                       '&param=' +
                                       JSON.stringify(param_),
                                    events: {
                                       AddPer(data, param) {
                                          var attr = param.item.fieldId;
                                          $this.head_styledef.form.model[attr] = data[0].ID +
                                          $this.head_styledef.form.model[attr] =
                                             data[0].ID +
                                             ';' + data[0].Name;
                                          // $this.$data.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name;
                                          // $this.$data.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name;
                                          var callback_eventid = param.button_callback
                                          var callback_eventid = param
                                             .button_callback
                                             .trim();
                                          if (callback_eventid) {
                                             var info = {
@@ -1296,7 +1517,8 @@
                                                rclsid: "",
                                                robjid: "",
                                                userlogin: "",
                                                clsid: $this.$data.param.DataCls.id,
                                                clsid: $this.$data.param
                                                   .DataCls.id,
                                                objid: "",
                                                attr: param.req,
                                                dataJson: [],
@@ -1309,38 +1531,44 @@
                                 });
                              } else {
                                 uni.showModal({
                                    title: "提示",
                                    content: action.action_type + '此action尚未处理!',
                                    title: this.translateSys("tip"),
                                    content: this.translateSys("quotation_mark_left") +
                                       action.action_type + this.translateSys(
                                          "quotation_mark_right") + this.translate(
                                          "tip_action_unprocessed"),
                                    showCancel: false,
                                    confirmText: "取消"
                                    confirmText: this.translateSys("cancel")
                                 });
                              }
                           }
                        }
                     } else {
                        uni.showModal({
                           title: "提示5.2",
                           content: '调用 before_click_button 脚本返回空,event_id' + eventid,
                           title: this.translateSys('tip') + "5.2",
                           content: this.translateSys("quotation_mark_left") +
                              "before_click_button" + this.translateSys(
                                 "quotation_mark_right") + this.translateSys(
                                 "comma") + 'event_id' + eventid,
                           showCancel: false,
                           confirmText: "取消"
                           confirmText: this.translateSys("cancel")
                        });
                     }
                  }
               } else {
                  uni.showModal({
                     title: "错误5",
                     title: this.translateSys("error") + "5",
                     content: success.err_msg,
                     showCancel: false,
                     confirmText: "取消"
                     confirmText: this.translateSys("cancel")
                  });
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: "提示5.1",
                  title: this.translateSys('tip') + "5.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: "取消"
                  confirmText: this.translateSys("cancel")
               });
            });
         },
@@ -1356,7 +1584,7 @@
         },
         add() {
            uni.showLoading({
               title: "加载中...",
               title: this.translateSys("loading"),
               mask: true
            });
            var obj_attr = this.head_styledef.form.model;
@@ -1370,7 +1598,7 @@
               'function': '3000', // 功能点编号
               cls_id: this.$data.param.DataCls.id, // 功能点主数据类标识
               'button': 'top', // top/bottom
               button_name: '新增',
               button_name: this.translateSys('add2'),
               master: {
                  cls_id: this.$data.param.DataCls.id,
               }
@@ -1411,19 +1639,25 @@
                     if (action.ret == '0') {
                        if (action.ret != 0) {
                           uni.showModal({
                              title: "提示",
                              content: '执行脚本失败,' + action.result,
                              title: this.translateSys("tip"),
                              content: this.translate('execute_script_failed') + this
                                 .translateSys('comma') + this.translate('result') +
                                 this
                                 .translateSys('colon') + action.result,
                              showCancel: false,
                              confirmText: "取消"
                              confirmText: this.translateSys("cancel")
                           });
                           return;
                        }
                        if (action.info) {
                           uni.showModal({
                              title: "提示",
                              content: '执行脚本失败,' + action.info,
                              title: this.translateSys("tip"),
                              content: this.translate('execute_script_failed') + this
                                 .translateSys('comma') + this.translate('result') +
                                 this
                                 .translateSys('colon') + action.info,
                              showCancel: false,
                              confirmText: "取消"
                              confirmText: this.translateSys("cancel")
                           });
                           return;
                        }
@@ -1439,32 +1673,35 @@
                     }
                  } else
                     uni.showToast({
                        title: "创建成功!",
                        title: this.translate('create_success'),
                        icon: "success",
                        duration: 3000
                     });
                  //刷新
                  uni.redirectTo({
                     url: '../modal/3018_2?param=' + JSON.stringify(this.$data.param) +
                        "&titlename=" + this.$data.title
                  });
                  if (this.$data.param.After_Btn_Refresh) {
                     //刷新
                     uni.redirectTo({
                        url: '../modal/3018_2?param=' + JSON.stringify(this.$data.param) +
                           "&titlename=" + this.$data.title
                     });
                  }
                  // this.class_attr_init();
               } else {
                  uni.showModal({
                     title: "错误",
                     title: this.translateSys("error"),
                     content: success.err_msg,
                     showCancel: false,
                     confirmText: "取消"
                     confirmText: this.translateSys("cancel")
                  });
               }
            }).catch(ex => {
               console.log(ex);
               uni.hideLoading();
               uni.showModal({
                  title: "提示",
                  title: this.translateSys("tip"),
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: "取消"
                  confirmText: this.translateSys("cancel")
               });
            });
         },
@@ -1503,29 +1740,36 @@
               if (success.err_code == 0) {
                  var data = success.result;
                  if (data.ret != 0) {
                     var tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info : data
                     var tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info :
                        data
                        .err_info.join('<br/>') : '';
                     if (data.ret == 801) uni.showModal({
                        title: '提示',
                        content: tip,
                     if (data.ret == 801) {
                        if (this.param.Only_Script_Error) {
                           let pos = tip.indexOf(":");
                           if (pos > -1) tip = tip.substring(pos + 1);
                        }
                        uni.showModal({
                           title: this.translateSys("tip"),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys("cancel")
                        });
                     } else uni.showModal({
                        title: this.translateSys("tip"),
                        content: tip + ',' + this.translateSys('tip') + ':' + data.ret,
                        showCancel: false,
                        confirmText: "取消"
                     });
                     else uni.showModal({
                        title: '提示',
                        content: tip + ',提示:' + data.ret,
                        showCancel: false,
                        confirmText: "取消"
                        confirmText: this.translateSys("cancel")
                     });
                     return false
                  } else {
                     var tip = data.info ? typeof data.info == 'string' ? data.info : data.info.join(
                        '<br/>') : '';
                     var tip = data.info ? typeof data.info == 'string' ? data.info : data.info
                        .join(
                           '<br/>') : '';
                     if (tip) uni.showModal({
                        title: '提示',
                        title: this.translateSys("tip"),
                        content: tip,
                        showCancel: false,
                        confirmText: "取消"
                        confirmText: this.translateSys("cancel")
                     });
                     var result = data.result;
@@ -1533,19 +1777,19 @@
                  }
               } else {
                  uni.showModal({
                     title: "错误7",
                     title: this.translateSys("error") + "7",
                     content: success.err_msg,
                     showCancel: false,
                     confirmText: "取消"
                     confirmText: this.translateSys("cancel")
                  });
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: "提示7.1",
                  title: this.translateSys('tip') + "7.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: "取消"
                  confirmText: this.translateSys("cancel")
               });
            });
         },
@@ -1555,381 +1799,400 @@
               delta: 1 //返回层数,2则上上页
            });
         },
         translate(t) {
            if (typeof this.$t == "function") return this.$t(`page.${t}`)
            else return t;
         },
         translateSys(t) {
            if (typeof this.$t == "function") return this.$t(`sys.${t}`)
            else return t;
         },
      },
   };
</script>
<style>
   .v-headStyle {
      /* border: 0.1rpx solid red; */
      /* line-height: 30rpx; */
      padding: 5rpx 0;
   }
   .v-headStyle:first-child {
      margin-top: 15rpx;
   }
   .v-headStyle .txt_title {
      font-size: 34rpx;
      text-align: right;
      display: inline-block;
      /* vertical-align: 24rpx; */
      /* border: 0.1rpx solid red; */
   }
   .v-headStyle input {
      vertical-align: middle;
      display: inline-block;
      /* border: 1px solid #d5d5d5; */
      /* width: 65%; */
      width: 85%;
      height: 52rpx;
      line-height: 34rpx;
      background: #FFF;
      border-radius: 0 !important;
      color: #2d8cf0;
      padding: 10rpx 8rpx 12rpx;
      font-size: 34rpx;
      font-family: inherit;
      box-shadow: none !important;
      transition-duration: 0.1s;
      margin-top: 4rpx;
   }
   .v-headStyle input::-webkit-input-placeholder {
      font-size: 12rpx;
   }
   .v-headStyle .form-item-span {
      /* vertical-align:top; */
      color: #2d8cf0;
      white-space: normal;
      word-break: break-all;
      display: inline-block;
      /* border: 0.1rpx solid red; */
   }
   .input-wrapper {
      border: 1px solid #d5d5d5;
      display: inline-block;
      width: 65%;
      line-height: 22rpx;
      vertical-align: middle;
   }
   .check_rememberPwd,
   .input-switch {
      vertical-align: middle;
      margin-left: 10rpx
   }
   [nvue] uni-view {
      position: relative;
      border: 0 solid #000;
      box-sizing: border-box;
   }
   .uni-input {
      /* border: none; */
   }
   .uni-icon {
      /* border: 1px solid red; */
      width: 8%;
      font-family: uniicons;
      font-size: 40rpx;
      font-weight: 400;
      font-style: normal;
      /* width: 48rpx; */
      /* height: 48rpx; */
      /* line-height: 44rpx; */
      color: #2d8cf0;
      cursor: pointer;
      display: inline-block;
      vertical-align: middle;
   }
   .view-content {
      min-height: 700rpx;
      /* border:1px solid red; */
   }
   .input-disabled {
      background-color: #f3f3f3 !important;
   }
   button.btn_add {
      width: 49.5%;
      margin-top: 50rpx;
      padding: 20rpx;
      line-height: 1.5;
      background: #4D6AF4;
      border: none;
      color: #fff;
      font-size: 38rpx;
      font-weight: bold;
      float: right;
      display: inline-block;
   }
   button.btn_cancel {
      width: 49.5%;
      margin-top: 50rpx;
      padding: 20rpx;
      line-height: 1.5;
      background: #fff;
      border: none;
      color: #000;
      font-size: 38rpx;
      font-weight: bold;
      float: left;
      display: inline-block;
   }
   .view-popup {
      position: relative;
   }
   .popup-content {
      @include flex;
      align-items: center;
      justify-content: center;
      padding: 30rpx;
      background-color: #fff;
      /* height: 150px; */
      /* border: 1px solid red; */
   }
   .popup-cont {
      overflow-y: auto;
      /* border: 1px solid red; */
   }
   .popup-height {
      @include height;
      /* width: 200px; */
   }
   .popup-header {
      font-size: 42rpx;
      font-weight: bold;
      margin: 20rpx 20rpx 0px 20rpx;
   }
   .view_popup_CheckList {
      margin-bottom: 20rpx;
   }
   .popup-footer {
      float: right;
      position: absolute;
      bottom: 0;
      right: 20rpx;
   }
   button.btn_popup_add {
      width: 180rpx;
      margin-top: 50rpx;
      margin-right: 20rpx;
      padding: 15rpx;
      line-height: 1.5;
      background: #27A6E1;
      border: none;
      color: #fff;
      font-size: 38rpx;
      font-weight: bold;
      /* float: left; */
      display: inline-block;
   }
   button.btn_popup_cancel {
      width: 180rpx;
      margin-top: 50rpx;
      padding: 15rpx;
      line-height: 1.5;
      background: #27A6E1;
      border: none;
      color: #fff;
      font-size: 38rpx;
      font-weight: bold;
      /* float: right; */
      display: inline-block;
   }
   #dv_select {
      display: inline-block;
      width: 66%;
      background: #FFF;
      border-radius: 0 !important;
      color: #2d8cf0;
      /* padding: 10rpx 8rpx 12rpx; */
      font-size: 34rpx;
      font-family: inherit;
      box-shadow: none !important;
      transition-duration: 0.1s;
      margin-top: 0rpx;
      /* vertical-align: 10px; */
      vertical-align: middle;
   }
   #dv_select .uni-select {
      border: 1px solid #ccc;
      border-radius: 0 !important;
      color: #2d8cf0;
   }
   #dv_select .uni-select__input-text {
      color: #2d8cf0;
   }
   .panel_title {
      font-size: 38rpx;
      background-color: #27A6E1;
      line-height: 80rpx;
      color: #fff;
      text-align: center;
      font-weight: bold;
   }
   .v-panel {
      min-height: 788rpx;
   }
   .v-panellist {
      border: 4rpx solid #aaa;
      border-radius: 10rpx;
      margin: 10rpx 20rpx 0rpx 20rpx;
   }
   .v-paneldel {
      text-align: right;
   }
   .panel_del {
      font-size: 44rpx;
      text-decoration: initial;
      margin-top: 10rpx;
      margin-right: 20rpx;
   }
   .class_attr_body .form-group {
      margin: 20rpx 30rpx;
      /* margin-left: -12px;
    margin-right: -12px; */
   }
   .subclass_attr_body .form-group {
      margin: 20rpx 10rpx;
      /* margin-left: -12px;
    margin-right: -12px; */
   }
   .form-group>label[class*="col-"] {
      margin-bottom: 8rpx;
      font-size: 32rpx;
   }
   .form-group label {
      vertical-align: middle;
      line-height: 60rpx;
   }
   .tx_title2 {
      font-size: 32rpx;
      text-align: right;
      display: inline-block;
      vertical-align: -2px;
   }
   .attr_field {
      display: inline-block;
      vertical-align: middle;
      margin-left: 8px;
      /* width: 71%; */
   }
   .text-right2 {
      margin: 0;
      vertical-align: -4px;
      margin-left: 9px;
      float: none;
      font-size: 44rpx;
      display: inline-block;
   }
   input::-webkit-input-placeholder {
      font-size: 12rpx;
   }
   .v-panel input {
      border: 1px solid #d5d5d5;
      width: 98%;
      height: 52rpx;
      background: #FFF;
      border-radius: 0 !important;
      color: #046db3;
      padding: 10rpx 8rpx 12rpx;
      font-size: 34rpx;
      font-family: inherit;
      box-shadow: none !important;
      transition-duration: 0.1s;
      margin-top: 4rpx;
   }
   .date_iput {
      /* border: 1px solid #d5d5d5; */
      /* width: 98%; */
      height: 62rpx;
      background: #FFF;
      border-radius: 0 !important;
      color: #046db3;
      padding: 10rpx 8rpx 4rpx;
      font-size: 34rpx;
      font-family: inherit;
      box-shadow: none !important;
      transition-duration: 0.1s;
   }
   .dv_input {
      display: inline-block;
      width: 65%;
      /* line-height: 22rpx; */
   }
   .view-floor {
      padding: 0 20rpx;
   }
</style>
<style lang="scss">
   .demo-uni-row {
      margin-bottom: 0px;
      display: block;
   }
   .uni-page-modal-3018-2 {
      .v-headStyle {
         /* border: 0.1rpx solid red; */
         /* line-height: 30rpx; */
         padding: 5rpx 0;
      }
   ::v-deep .uni-row {
      margin-bottom: 0px;
   }
      .v-headStyle:first-child {
         margin-top: 15rpx;
      }
   .view-tabpage ::v-deep .uni-row {
      margin-bottom: 5px;
   }
      .v-headStyle .txt_title {
         font-size: 34rpx;
         text-align: right;
         display: inline-block;
         /* vertical-align: 24rpx; */
   .demo-uni-col {
      height: 36px;
      border-radius: 5px;
   }
         /* border: 0.1rpx solid red; */
      }
   .demo-uni-row .uni-input {
      width: calc(100% - 120px);
   }
      .v-headStyle input {
         vertical-align: middle;
         display: inline-block;
         /* border: 1px solid #d5d5d5; */
         /* width: 65%; */
         width: 85%;
         height: 52rpx;
         line-height: 34rpx;
         background: #FFF;
         border-radius: 0 !important;
         color: #2d8cf0;
         padding: 10rpx 8rpx 12rpx;
         font-size: 34rpx;
         font-family: inherit;
         box-shadow: none !important;
         transition-duration: 0.1s;
         margin-top: 4rpx;
      }
   .text {
      font-size: 12px;
      color: #666;
      margin-top: 5px;
      .v-headStyle input::-webkit-input-placeholder {
         font-size: 12rpx;
      }
      .v-headStyle .form-item-span {
         /* vertical-align:top; */
         color: #2d8cf0;
         white-space: normal;
         word-break: break-all;
         display: inline-block;
         /* border: 0.1rpx solid red; */
      }
      .input-wrapper {
         border: 1px solid #d5d5d5;
         display: inline-block;
         width: 65%;
         line-height: 22rpx;
         vertical-align: middle;
      }
      .check_rememberPwd,
      .input-switch {
         vertical-align: middle;
         margin-left: 10rpx
      }
      [nvue] uni-view {
         position: relative;
         border: 0 solid #000;
         box-sizing: border-box;
      }
      .uni-input {
         /* border: none; */
      }
      .uni-icon {
         /* border: 1px solid red; */
         width: 8%;
         font-family: uniicons;
         font-size: 40rpx;
         font-weight: 400;
         font-style: normal;
         /* width: 48rpx; */
         /* height: 48rpx; */
         /* line-height: 44rpx; */
         color: #2d8cf0;
         cursor: pointer;
         display: inline-block;
         vertical-align: middle;
      }
      .view-content {
         min-height: 700rpx;
         /* border:1px solid red; */
      }
      .input-disabled {
         background-color: #f3f3f3 !important;
      }
      button.btn_add {
         width: 49.5%;
         margin-top: 50rpx;
         padding: 20rpx;
         line-height: 1.5;
         background: #4D6AF4;
         border: none;
         color: #fff;
         font-size: 38rpx;
         font-weight: bold;
         float: right;
         display: inline-block;
      }
      button.btn_cancel {
         width: 49.5%;
         margin-top: 50rpx;
         padding: 20rpx;
         line-height: 1.5;
         background: #fff;
         border: none;
         color: #000;
         font-size: 38rpx;
         font-weight: bold;
         float: left;
         display: inline-block;
      }
      .view-popup {
         position: relative;
      }
      .popup-content {
         // @include flex;
         align-items: center;
         justify-content: center;
         padding: 30rpx;
         background-color: #fff;
         /* height: 150px; */
         /* border: 1px solid red; */
      }
      .popup-cont {
         overflow-y: auto;
         /* border: 1px solid red; */
      }
      .popup-height {
         // @include height;
         /* width: 200px; */
      }
      .popup-header {
         font-size: 42rpx;
         font-weight: bold;
         margin: 20rpx 20rpx 0px 20rpx;
      }
      .view_popup_CheckList {
         margin-bottom: 20rpx;
      }
      .popup-footer {
         float: right;
         position: absolute;
         bottom: 0;
         right: 20rpx;
      }
      button.btn_popup_add {
         width: 180rpx;
         margin-top: 50rpx;
         margin-right: 20rpx;
         padding: 15rpx;
         line-height: 1.5;
         background: #27A6E1;
         border: none;
         color: #fff;
         font-size: 38rpx;
         font-weight: bold;
         /* float: left; */
         display: inline-block;
      }
      button.btn_popup_cancel {
         width: 180rpx;
         margin-top: 50rpx;
         padding: 15rpx;
         line-height: 1.5;
         background: #27A6E1;
         border: none;
         color: #fff;
         font-size: 38rpx;
         font-weight: bold;
         /* float: right; */
         display: inline-block;
      }
      #dv_select {
         display: inline-block;
         width: 66%;
         background: #FFF;
         border-radius: 0 !important;
         color: #2d8cf0;
         /* padding: 10rpx 8rpx 12rpx; */
         font-size: 34rpx;
         font-family: inherit;
         box-shadow: none !important;
         transition-duration: 0.1s;
         margin-top: 0rpx;
         /* vertical-align: 10px; */
         vertical-align: middle;
      }
      #dv_select .uni-select {
         border: 1px solid #ccc;
         border-radius: 0 !important;
         color: #2d8cf0;
      }
      #dv_select .uni-select__input-text {
         color: #2d8cf0;
      }
      .panel_title {
         font-size: 38rpx;
         background-color: #27A6E1;
         line-height: 80rpx;
         color: #fff;
         text-align: center;
         font-weight: bold;
      }
      .v-panel {
         min-height: 788rpx;
      }
      .v-panellist {
         border: 4rpx solid #aaa;
         border-radius: 10rpx;
         margin: 10rpx 20rpx 0rpx 20rpx;
      }
      .v-paneldel {
         text-align: right;
      }
      .panel_del {
         font-size: 44rpx;
         text-decoration: initial;
         margin-top: 10rpx;
         margin-right: 20rpx;
      }
      .class_attr_body .form-group {
         margin: 20rpx 30rpx;
         /* margin-left: -12px;
    margin-right: -12px; */
      }
      .subclass_attr_body .form-group {
         margin: 20rpx 10rpx;
         /* margin-left: -12px;
    margin-right: -12px; */
      }
      .form-group>label[class*="col-"] {
         margin-bottom: 8rpx;
         font-size: 32rpx;
      }
      .form-group label {
         vertical-align: middle;
         line-height: 60rpx;
      }
      .tx_title2 {
         font-size: 32rpx;
         text-align: right;
         display: inline-block;
         vertical-align: -2px;
      }
      .attr_field {
         display: inline-block;
         vertical-align: middle;
         margin-left: 8px;
         /* width: 71%; */
      }
      .text-right2 {
         margin: 0;
         vertical-align: -4px;
         margin-left: 9px;
         float: none;
         font-size: 44rpx;
         display: inline-block;
      }
      input::-webkit-input-placeholder {
         font-size: 12rpx;
      }
      .v-panel input {
         border: 1px solid #d5d5d5;
         width: 98%;
         height: 52rpx;
         background: #FFF;
         border-radius: 0 !important;
         color: #046db3;
         padding: 10rpx 8rpx 12rpx;
         font-size: 34rpx;
         font-family: inherit;
         box-shadow: none !important;
         transition-duration: 0.1s;
         margin-top: 4rpx;
      }
      .date_iput {
         /* border: 1px solid #d5d5d5; */
         /* width: 98%; */
         height: 62rpx;
         background: #FFF;
         border-radius: 0 !important;
         color: #046db3;
         padding: 10rpx 8rpx 4rpx;
         font-size: 34rpx;
         font-family: inherit;
         box-shadow: none !important;
         transition-duration: 0.1s;
      }
      .dv_input {
         display: inline-block;
         width: 65%;
         /* line-height: 22rpx; */
      }
      .view-floor {
         padding: 0 20rpx;
      }
      .demo-uni-row {
         margin-bottom: 0px;
         display: block;
      }
      ::v-deep .uni-row {
         margin-bottom: 0px;
      }
      .view-tabpage ::v-deep .uni-row {
         margin-bottom: 5px;
      }
      .demo-uni-col {
         height: 36px;
         border-radius: 5px;
      }
      .demo-uni-row .uni-input {
         width: calc(100% - 120px);
      }
      .text {
         font-size: 12px;
         color: #666;
         margin-top: 5px;
      }
   }
</style>
</style>