cuiqian2004
2025-02-19 625badef071d0931b3868b2ba672d51ce2cc5b91
pages/modal/3018_2.vue
@@ -5,7 +5,7 @@
         <uni-forms ref="baseForm" label-align="right">
            <view class="v-headStyle" v-for="(item,index) in head_styledef.form.items">
               <!-- 普通布局 -->
               <uni-forms-item v-if="item.name != 'Layout'&& item.show==true" :label="item.label +':' "
               <uni-forms-item v-if="item.name != 'Layout'&& item.show==true" :label="item.label ? item.label +':':'' "
                  :label-width="item.labelWidth+'px'">
                  <!-- <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}:</text> -->
                  <!-- 下拉框-单选 item.useDict?item.dict:item.selections-->
@@ -14,8 +14,7 @@
                     :class="item.disabled?'input-disabled':''" v-model="item.value" :localdata="item.dict"
                     @change="onchange(item)" :disabled="item.disabled" :clear="false"></uni-data-select>
                  <!-- 文本框/数字框 -->
                  <view class="input-wrapper"
                     v-if="(item.name=='Input' || item.name=='InputNumber')">
                  <view class="input-wrapper" v-if="(item.name=='Input' || item.name=='InputNumber')">
                     <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]"
                        @change="classAttr_extButton(item)">&#xe568;</text>
                     <input class="uni-input" :class="item.disabled?'input-disabled':''"
@@ -23,7 +22,7 @@
                        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="focusFieldId == item.fieldId" @focus="ontap(item)" @click="onClick(item)"
                        @blur="onevent(item)" />
                        @blur="onevent(item)" :maxlength="-1" />
                     <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
                        @click="classAttr_extButton(item)">&#xe568;</text>
                  </view>
@@ -37,17 +36,17 @@
                  </view>
                  <!-- 复选框 -->
                  <checkbox-group class="check_rememberPwd" v-if="item.name=='Checkbox'"
                     :class="item.disabled?'input-disabled':''" @change="onModelValue(item)"
                     :disabled="item.disabled" :data-ischeck="item.value">
                     <label>
                        <checkbox :value="item.value" :checked="item.value" />
                        <text>{{item.label}}</text>
                     :class="item.disabled?'input-disabled':''" :disabled="item.disabled"
                     @change="onCheckBoxValue" :data-attr="item.fieldId">
                     <label v-for="(item2) in item.selections" :key="item2.value">
                        <checkbox :value="item2.value" :checked="item.value.includes(item2.value)" />
                        <text>{{item2.label}}</text>
                     </label>
                  </checkbox-group>
                  <!-- 单选框 -->
                  <radio-group class="check_rememberPwd" v-if="item.name=='Radio'"
                     :class="item.disabled?'input-disabled':''" :disabled="item.disabled"
                     @change="onModelValue(item)">
                     @change="onRadioBoxValue" :data-attr="item.fieldId">
                     <label v-for="(item2) in item.selections" :key="item2.value">
                        <radio :value="item2.value" :checked="item2.value === item.value" />
                        <text>{{item2.label}}</text>
@@ -58,8 +57,7 @@
                     :class="item.disabled?'input-disabled':''" :disabled="item.disabled" v-model="item.value"
                     @change="onModelValue(item)" />
                  <!-- 日期时间 -->
                  <view class="input-wrapper"
                     v-if="(item.name=='TimePicker' || item.name=='DatePicker')">
                  <view class="input-wrapper" v-if="(item.name=='TimePicker' || item.name=='DatePicker')">
                     <picker mode="date" class="date_iput" :class="item.disabled?'input-disabled':''"
                        :disabled="item.disabled" :value="item.value" @change="onModelValue(item)">
                        <view class="picker">{{item.value}}</view>
@@ -70,10 +68,9 @@
               <uni-row class="demo-uni-row" v-if="item.name=='Layout'">
                  <uni-col v-for="(cols,key) in item.setting.colList"
                     :span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col">
                     <uni-forms-item v-if="cols!=null  && cols.show==true" :label="cols.label +':'"
                     <uni-forms-item v-if="cols!=null  && cols.show==true" :label="cols.label? cols.label +':':''"
                        :label-width="cols.labelWidth+'px'">
                        <view class="input-wrapper"
                           v-if="(cols.name=='Input' || cols.name=='InputNumber') ">
                        <view class="input-wrapper" v-if="(cols.name=='Input' || cols.name=='InputNumber') ">
                           <text v-if="cols.setting.prefix" class="uni-icon" :class="[cols.setting.prefix]"
                              @change="onchange(cols)">&#xe568;</text>
                           <input class="uni-input" :class="cols.disabled?'input-disabled':''"
@@ -81,7 +78,7 @@
                              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="focusFieldId == cols.fieldId" @focus="ontap(cols)"
                              @click="onClick(cols)" @blur="onevent(cols)" />
                              @click="onClick(cols)" @blur="onevent(cols)" :maxlength="-1" />
                           <text v-if="cols.setting.suffix" class="uni-icon" :class="[cols.setting.suffix]"
                              @click="onchange(cols)">&#xe568;</text>
                        </view>
@@ -101,17 +98,16 @@
                        <!-- 复选框 -->
                        <checkbox-group class="check_rememberPwd" v-if="cols.name=='Checkbox'"
                           :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled"
                           @change="onModelValue(cols)" :data-ischeck="cols.value"
                           :style="{'margin-left':'10rpx'}">
                           <label>
                              <checkbox :value="cols.value" :checked="cols.value" />
                              <text>{{cols.label}}</text>
                           @change="onCheckBoxValue" :data-attr="cols.fieldId">
                           <label v-for="(cols2) in cols.selections" :key="cols2.value">
                              <checkbox :value="cols2.value" :checked="cols.value.includes(cols2.value)" />
                              <text>{{cols2.label}}</text>
                           </label>
                        </checkbox-group>
                        <!-- 单选框 -->
                        <radio-group class="check_rememberPwd" v-if="cols.name=='Radio'"
                           :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled"
                           @change="onModelValue(cols)">
                           @change="onRadioBoxValue" :data-attr="cols.fieldId">
                           <label v-for="(cols2) in cols.selections" :key="cols2.value">
                              <radio :value="cols2.value" :checked="cols2.value === cols.value" />
                              <text>{{cols2.label}}</text>
@@ -146,7 +142,8 @@
         </view>
         <button type="default" @tap="sava" class="btn_add" v-if="dropdownBtns.length==0 && btnName != ''"
            :class="saving?'btn_disabled':''" :disabled="saving">{{btnName}}</button>
         <button type="default" @tap="cancel" :class="(dropdownBtns.length> 0 || btnName != '')?'btn_cancel':'btn_cancel2'">{{translateSys('cancel')}}</button>
         <button type="default" @tap="cancel"
            :class="(dropdownBtns.length> 0 || btnName != '')?'btn_cancel':'btn_cancel2'">{{translateSys('cancel')}}</button>
      </view>
      <!-- 普通弹窗 top bottom center left right -->
@@ -241,7 +238,7 @@
                              $this.onScanValue(ele, res.result)
                              break;
                           }
                        } else if (ele.name == "Layot") {
                        } else if (ele.name == "Layout") {
                           let curIndex = (ele.setting.colList || []).findIndex((col, index2,
                              arr) => {
                              return (col.name == 'Input' || col.name == 'InputNumber' || col
@@ -390,6 +387,24 @@
                           await $this.DictGetInfo(ele.bind.dict,
                              styledefHead.form.model,
                              ele);
                        } else {
                           if (ele?.name === "Select") {
                              const selections = ele?.selections || []
                              //有默认值,显示默认值
                              let itemName = ele.value || "";
                              if (itemName) {
                                 styledefHead.form
                                    .model[ele.fieldId] = itemName;
                              }
                              ele.dict = selections.map((a) => {
                                 return {
                                    value: a.value,
                                    text: a.label
                                 }
                              })
                           }
                        }
                        if ($this.focusFieldId == "") {
                           if (ele.name == 'Input' || ele.name ==
@@ -410,6 +425,25 @@
                                    .dict,
                                    styledefHead.form
                                    .model, col);
                              } else {
                                 if (col?.name === "Select") {
                                    const selections = col?.selections || []
                                    //有默认值,显示默认值
                                    let itemName = col.value || "";
                                    if (itemName) {
                                       styledefHead.form
                                          .model[col.fieldId] = itemName;
                                    }
                                    col.dict = selections.map((a) => {
                                       return {
                                          value: a.value,
                                          text: a.label
                                       }
                                    })
                                 }
                              }
                              if ($this.focusFieldId == "") {
                                 if (col.name == 'Input' || col
@@ -470,12 +504,12 @@
               var itemName = '';
               (res.dict_item_list || []).forEach((item) => {
                  if (item.is_default == '1')
                     itemName =item.value ? item.value : item.name
                     itemName = item.name
                  list.push({
                     text: item.value ? item.value : item.name,
                     value: item.id,
                     value: item.name,
                  });
               });
               });
               //有默认值,显示默认值
               if (itemName) {
                  formItem.value = itemName;
@@ -484,12 +518,19 @@
               formItem.dict = list;
            } catch (ex) {
               // console.log(ex);
               let exStr = JSON.stringify(ex)
               if (exStr == "{}")
                  exStr = ex
               let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
               uni.showModal({
                  title: this.translateSys("error") + "1.3",
                  content: ex.errMsg,
                  content: tip,
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
               });
            }
         },
@@ -547,160 +588,32 @@
                        var action = actionlist[i];
                        if (action.action_type == 'set_dlg_attr') {
                           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++) {
                                    var attr = $this.head_styledef.form.items[c];
                                    if (attr.name != 'Layout') {
                                       if (attr.fieldId == result[i].attr) {
                                          var dictItemList = [];
                                          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,
                                                "text": val,
                                                "value": val
                                             });
                                          }
                                          attr.dict = dictItemList;
                                       }
                                    } else if (attr.name == 'Layout') {
                                       attr.setting.colList.forEach(col => {
                                          if (col) {
                                             if (col.fieldId == result[
                                                   i]
                                                .attr) {
                                                var dictItemList = [];
                                                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,
                                                      "text": val,
                                                      "value": val
                                                   });
                                                }
                                                col.dict =
                                                   dictItemList;
                                             }
                                          }
                                       });
                                    }
                                 }
                              }
                              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]
                                       .value;
                                 }
                                 //判断是否是栅格表单
                                 if (attr.name != 'Layout') {
                                    if (attr.fieldId == result[i].attr) {
                                       attr.value = '';
                                       attr.oldvalue = '';
                                       attr.value = result[i].value;
                                       attr.oldvalue = 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) {
                                             col.value = '';
                                             col.oldvalue = '';
                                             col.value = result[i]
                                                .value;
                                             col.oldvalue = result[i]
                                                .value;
                                             $this.head_styledef.form
                                                .model[
                                                   col
                                                   .fieldId] = result[
                                                   i]
                                                .value;
                                          }
                                       }
                                    });
                                 }
                              }
                              var length = 0;
                              if (!$this.$data.refdatastore.filter(function(s) {
                                    return result[i].attr == s.attr
                                 }).length) {
                                 length = 1;
                                 $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;
                                    }
                                 }
                              }
                           }
                        } else if (data.action[i].action_type == 'set_dlg_attr_show') {
                           $this.setFormValues(result)
                        } 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;
                                                      }
                                                   }
                                                });
                                       }
                                    });
                           });
                           var head_styledef = JSON.parse(JSON.stringify($this.$data
                              .head_styledef));
                           $this.$data.head_styledef = [];
                           $this.$data.head_styledef = head_styledef;
                           $this.hideFormItems(result)
                           // console.log($this.$data.head_styledef);
                        } else if (action.action_type ==
                           "set_dlg_current_edit_attr"
                        ) {
                           if ($this
                              .focusOldFieldId ==
                              action.value) {
                              $this.setData({
                                 focusFieldId: ""
                              })
                           } else {
                              $this.setData({
                                 focusFieldId: $this
                                    .focusOldFieldId
                              })
                           }
                           $this.$nextTick(() => {
                              $this.setData({
                                 focusFieldId: action
                                    .value
                              })
                           });
                        } else {
                           uni.showModal({
                              title: this.translateSys("tip"),
@@ -818,6 +731,66 @@
                  }
                  this.DataObjRunCustomEvent(info, '');
               }
               if (item.value) { //第一个输入框不为空
                  //初始化,下个输入框focus属性
                  var findd = false
                  for (let i in $this.head_styledef.form.items) {
                     const ele = $this.head_styledef.form.items[i]
                     if (ele.name != "Layout") {
                        if (ele.name == 'Input' || ele.name == 'InputNumber') {
                           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');
                           })
                           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') &&
                                    index2 >
                                    curIndex;
                              })
                              if (curIndex2 > -1) {
                                 $this.setData({
                                    focusFieldId: ele.setting.colList[curIndex]
                                       .fieldId
                                 })
                                 break
                              }
                           }
                        }
                     }
                  }
               }
            }
         },
         onClick(item) {
@@ -857,7 +830,7 @@
         },
         onchange(item) {
            // console.log("onchange",item);
            console.log("onchange", item);
            if (item.oldvalue != item.value && item.value.trim() != "") {
               item.oldvalue = item.value;
               var attr = item.fieldId;
@@ -891,6 +864,17 @@
         onModelValue(item) { //绑定Model值
            var attr = item.fieldId;
            this.head_styledef.form.model[attr] = item.value;
            console.log(item.value)
         },
         onCheckBoxValue(e) { //绑定Model值
            let values = e.detail.value || []
            let attr = e.currentTarget?.dataset?.attr || ""
            this.head_styledef.form.model[attr] = values;
         },
         onRadioBoxValue(e) { //绑定Model值
            let value = e.detail.value || ""
            let attr = e.currentTarget?.dataset?.attr || ""
            this.head_styledef.form.model[attr] = value;
         },
         classAttr_extButton(item) {
            var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //后图标点击事件
@@ -970,23 +954,12 @@
            if (data.length == 0) {
               uni.showModal({
                  title: this.translateSys("tip"),
                  content:this.translate("tip_no_select_data"),
                  content: this.translate("tip_no_select_data"),
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
               });
               return;
            }
            // var fieldId = $this.$data.popupParam.item.fieldId;
            // $this.head_styledef.form.model[fieldId] = name;
            // console.log(fieldId,$this.$data.popupParam.item);
            // for (var c = 0; c < $this.$data.head_styledef.form.items.length; c++) {
            //    var attr = $this.$data.head_styledef.form.items[c];
            //    if (attr.fieldId == fieldId) {
            //       attr.value = name;
            //    }
            // }
            // console.log(data);
            // console.log($this.head_styledef.form);
            var callback_eventid = $this.$data.popupParam.button_callback.trim();
            var info = {
               eventid: callback_eventid,
@@ -1115,160 +1088,34 @@
                        var action = actionlist[i];
                        if (action.action_type == 'set_dlg_attr') {
                           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++) {
                                    var attr = $this.head_styledef.form.items[c];
                                    if (attr.name != 'Layout') {
                                       if (attr.fieldId == result[i].attr) {
                                          var dictItemList = [];
                                          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,
                                                "text": val,
                                                "value": val
                                             });
                                          }
                                          attr.dict = dictItemList;
                                       }
                                    } else if (attr.name == 'Layout') {
                                       attr.setting.colList.forEach(col => {
                                          if (col) {
                                             if (col.fieldId == result[
                                                   i]
                                                .attr) {
                                                var dictItemList = [];
                                                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,
                                                      "text": val,
                                                      "value": val
                                                   });
                                                }
                                                col.dict =
                                                   dictItemList;
                                             }
                                          }
                                       });
                                    }
                                 }
                              }
                              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]
                                       .value;
                                 }
                                 //判断是否是栅格表单
                                 if (attr.name != 'Layout') {
                                    if (attr.fieldId == result[i].attr) {
                                       attr.value = '';
                                       attr.oldvalue = '';
                                       attr.value = result[i].value;
                                       attr.oldvalue = 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) {
                                             col.value = '';
                                             col.oldvalue = '';
                                             col.value = result[i]
                                                .value;
                                             col.oldvalue = result[i]
                                                .value;
                                             $this.head_styledef.form
                                                .model[col
                                                   .fieldId] = result[
                                                   i].value;
                                          }
                                       }
                                    });
                                 }
                              }
                              var length = 0;
                              if (!$this.$data.refdatastore.filter(function(s) {
                                    return result[i].attr == s.attr
                                 }).length) {
                                 length = 1;
                                 $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;
                                    }
                                 }
                              }
                           }
                           $this.setFormValues(result)
                        } 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;
                                                      }
                                                   }
                                                });
                                       }
                                    });
                           });
                           var head_styledef = JSON.parse(JSON.stringify($this.$data
                              .head_styledef));
                           $this.$data.head_styledef = [];
                           $this.$data.head_styledef = head_styledef;
                           $this.hideFormItems(result)
                           // console.log($this.$data.head_styledef);
                        } else if (action.action_type == 'set_global_attr') {
                           $this.$data.global_attr = action.value || [];
                        } else if (action.action_type ==
                           "set_dlg_current_edit_attr"
                        ) {
                           if ($this
                              .focusOldFieldId ==
                              action.value) {
                              $this.setData({
                                 focusFieldId: ""
                              })
                           } else {
                              $this.setData({
                                 focusFieldId: $this
                                    .focusOldFieldId
                              })
                           }
                           $this.$nextTick(() => {
                              $this.setData({
                                 focusFieldId: action
                                    .value
                              })
                           });
                        } else {
                           uni.showModal({
                              title: this.translateSys("tip"),
@@ -1378,7 +1225,7 @@
               }
            };
            var obj_attr = $this.head_styledef.form.model;
             console.log(obj_attr);
            console.log(obj_attr);
            var req = Object.keys(obj_attr).map((a) => ({
               attr: a,
               value: obj_attr[a] || "",
@@ -1395,7 +1242,7 @@
                  }
               }
            }
            var extinfo = enviroment;
            extinfo.edit_dlg = {
               type: 'small', //小窗口
@@ -1434,7 +1281,7 @@
               compose_info: '',
               ext_info: extinfo,
               global_attr: global_attr,
               input_param:input_param,
               input_param: input_param,
            };
            console.log(dataInfo);
            // return;
@@ -1553,13 +1400,19 @@
                              });
                              d.show();
                           } else if (action.action_type == 'open_common_dlg') {
                              if (val.common_dlg_id == 'check_list') {
                                 $this.setData({check_list:val.config})
                                 $this.setData({
                                    check_list: val.config
                                 })
                                 if (val.config.appear_style == 'sideslip') //判断是否是侧滑
                                    $this.setData({popupType:"right"})
                                    $this.setData({
                                       popupType: "right"
                                    })
                                 else
                                 $this.setData({popupType:"center"})
                                    $this.setData({
                                       popupType: "center"
                                    })
                                 // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
                                 $this.$refs.popup.open($this.popupType);
                                 var popupParam = {
@@ -1568,7 +1421,9 @@
                                    req: req,
                                    data_attr: data_attr
                                 }
                                 $this.setData({popupParam:popupParam})
                                 $this.setData({
                                    popupParam: popupParam
                                 })
                              }
                           } else if (action.action_type == 'open_project_query_dlg') {
                              //console.log(action.value.select_range);
@@ -1685,6 +1540,7 @@
         },
         add() {
            const $this = this
            uni.showLoading({
               title: this.translateSys("loading"),
               mask: true
@@ -1730,81 +1586,280 @@
            };
            console.log(dataInfo);
            // return
            dataObjCreate(dataInfo).then(result => {
            dataObjCreate(dataInfo).then(res => {
               uni.hideLoading();
               if (result.action) {
                  var action = JSON.parse(result.action);
                  console.log(action);
                  if (action.ret == '0') {
                     if (action.ret != 0) {
                        uni.showModal({
                           title: this.translateSys("tip"),
                           content: this.translate('execute_script_failed') +
                              this
                              .translateSys('comma') + this.translate(
                                 'result') +
                              this
                              .translateSys('colon') + action.result,
                           showCancel: false,
                           confirmText: this.translateSys("cancel")
                        });
                        this.saving = false
                        return;
               let data = res.lua_result
               if (data.ret != 0) {
                  var tip = data.err_info ? typeof data.err_info == 'string' ? data
                     .err_info :
                     data
                     .err_info.join('<br/>') : '';
                  if (data.ret == 801) {
                     if (this.param.Only_Script_Error) {
                        let pos = tip.indexOf(":");
                        if (pos > -1) tip = tip.substring(pos + 1);
                     }
                     if (action.info) {
                        uni.showModal({
                           title: this.translateSys("tip"),
                           content: this.translate('execute_script_failed') +
                              this
                              .translateSys('comma') +
                              this.translateSys('colon') + action.info,
                           showCancel: false,
                           confirmText: this.translateSys("cancel")
                        });
                        return;
                     }
                     if (action.result_type == '0') {
                        uni.showToast({
                           title: action.result,
                           icon: "success",
                           duration: 3000
                        });
                     }
                     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: this.translateSys("cancel")
                  });
                  this.saving = false
                  return false
               } else {
                  var tip = data.info ? typeof data.info == 'string' ? data.info : data
                     .info
                     .join(
                        '<br/>') : '';
                  if (tip) uni.showModal({
                     title: this.translateSys("tip"),
                     content: tip,
                     showCancel: false,
                     confirmText: this.translateSys("cancel")
                  });
                  else {
                     // "{"ret":0, "result_type":0, "result":"创建成功123123123","info":""}"
                     uni.showToast({
                        title: this.translate('create_success'),
                        icon: "success",
                        duration: 3000
                     });
                  }
               } else
                  uni.showToast({
                     title: this.translate('create_success'),
                     icon: "success",
                     duration: 3000
                  });
               if (!this.$data.param.After_Btn_Not_Refresh) {
                  //刷新
                  uni.redirectTo({
                     url: '../modal/3018_2?param=' + JSON.stringify(this.$data
                           .param) +
                        "&titlename=" + this.$data.title
                  });
               }
                  if (!this.$data.param.After_Btn_Not_Refresh) {
                     //刷新
                     uni.redirectTo({
                        url: '../modal/3018_2?param=' + JSON.stringify(this.$data
                              .param) +
                           "&titlename=" + this.$data.title
                     });
                  } else {
                     var actionlist = data.action;
                     if (actionlist) {
                        console.log(actionlist);
                        for (var i = 0; i < actionlist.length; i++) {
                           var action = actionlist[i];
                           if (action.action_type == 'set_dlg_attr') {
                              $this.setFormValues(action.value)
                           } else if (action.action_type == 'set_dlg_attr_show') {
                              var result = action.value;
                              $this.hideFormItems(result)
                           } else if (action.action_type ==
                              "set_dlg_current_edit_attr"
                           ) {
                              if ($this
                                 .focusOldFieldId ==
                                 action.value) {
                                 $this.setData({
                                    focusFieldId: ""
                                 })
                              } else {
                                 $this.setData({
                                    focusFieldId: $this
                                       .focusOldFieldId
                                 })
                              }
                              $this.$nextTick(() => {
                                 $this.setData({
                                    focusFieldId: action
                                       .value
                                 })
                              });
                           }
                        }
                     }
                  }
               }
               // this.class_attr_init();
               this.saving = false
            }).catch(ex => {
               console.log(ex);
               this.saving = false
               uni.hideLoading();
               let exStr = JSON.stringify(ex)
               if (exStr == "{}")
                  exStr = ex
               let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
               uni.showModal({
                  title: this.translateSys("tip"),
                  content: ex.errMsg,
                  content: tip,
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
               });
            });
         },
         setFormValues(data) {
            const $this = this
            for (var i = 0; i < data.length; i++) {
               if (data[i].choice_list) {
                  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 == data[i].attr) {
                           var dictItemList = [];
                           for (var d in data[i].choice_list) {
                              var val = data[i].choice_list[d];
                              dictItemList.push({
                                 "CN_S_NAME": val,
                                 "CN_S_VALUE": val,
                                 "text": val,
                                 "value": val
                              });
                           }
                           attr.dict = dictItemList;
                        }
                     } else if (attr.name == 'Layout') {
                        attr.setting.colList.forEach(col => {
                           if (col) {
                              if (col.fieldId == data[
                                    i]
                                 .attr) {
                                 var dictItemList = [];
                                 for (var d in data[i]
                                       .choice_list) {
                                    var val = data[i]
                                       .choice_list[
                                          d];
                                    dictItemList.push({
                                       "CN_S_NAME": val,
                                       "CN_S_VALUE": val,
                                       "text": val,
                                       "value": val
                                    });
                                 }
                                 col.dict =
                                    dictItemList;
                              }
                           }
                        });
                     }
                  }
               }
               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+'=='+data[i].attr);
                  //判断表单里是否有返回字段,没有就装载到model里,点击确定提交的时候带上这些数据
                  if ($this.head_styledef.form.model[data[i]
                        .attr] ==
                     undefined) {
                     $this.head_styledef.form.model[data[i]
                           .attr] =
                        data[i]
                        .value;
                  }
                  //判断是否是栅格表单
                  if (attr.name != 'Layout') {
                     if (attr.fieldId == data[i].attr) {
                        attr.value = '';
                        attr.oldvalue = '';
                        attr.value = data[i].value;
                        attr.oldvalue = data[i].value;
                        $this.head_styledef.form.model[attr
                              .fieldId] =
                           data[
                              i].value;
                     }
                  } else if (attr.name == 'Layout') {
                     attr.setting.colList.forEach(col => {
                        if (col) {
                           if (col.fieldId == data[i]
                              .attr) {
                              col.value = '';
                              col.oldvalue = '';
                              col.value = data[i]
                                 .value;
                              col.oldvalue = data[i]
                                 .value;
                              $this.head_styledef.form
                                 .model[
                                    col
                                    .fieldId] = data[
                                    i]
                                 .value;
                           }
                        }
                     });
                  }
               }
               var length = 0;
               if (!$this.$data.refdatastore.filter(function(s) {
                     return data[i].attr == s.attr
                  }).length) {
                  length = 1;
                  $this.$data.refdatastore.push(data[i]);
               }
               if (length == 0) {
                  for (var j = 0; j < $this.$data.refdatastore
                     .length; j++) {
                     if ($this.$data.refdatastore[j].attr == data[
                           i]
                        .attr) {
                        $this.$data.refdatastore[j].value = data[
                              i]
                           .value;
                     }
                  }
               }
            }
         },
         hideFormItems(data) {
            const $this = this
            data.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;
                                       }
                                    }
                                 });
                        }
                     });
            });
            var head_styledef = JSON.parse(JSON.stringify($this.$data
               .head_styledef));
            $this.$data.head_styledef = [];
            $this.$data.head_styledef = head_styledef;
         },
         afterOK() {
            this.saving = true
            const $this = this
            var obj_attr = this.head_styledef.form.model;
            // console.log(obj_attr);
            var input_param = {
@@ -1830,7 +1885,7 @@
               user_login: '',
               data_json: '',
               compose_info: '',
               input_param: '',
               input_param: Base64.encode(JSON.stringify(input_param)),
            };
            console.log(dataInfo);
            // return;
@@ -1872,18 +1927,63 @@
                     showCancel: false,
                     confirmText: this.translateSys("cancel")
                  });
                  if (!this.$data.param.After_Btn_Not_Refresh) {
                     //刷新
                     uni.redirectTo({
                        url: '../modal/3018_2?param=' + JSON.stringify(this.$data
                              .param) +
                           "&titlename=" + this.$data.title
                     });
                  } else {
                     var actionlist = data.action;
                     if (actionlist) {
                        console.log(actionlist);
                        for (var i = 0; i < actionlist.length; i++) {
                           var action = actionlist[i];
                           if (action.action_type == 'set_dlg_attr') {
                              $this.setFormValues(action.value)
                           } else if (action.action_type == 'set_dlg_attr_show') {
                              var result = action.value;
                              $this.hideFormItems(result)
                           } else if (action.action_type ==
                              "set_dlg_current_edit_attr"
                           ) {
                              if ($this
                                 .focusOldFieldId ==
                                 action.value) {
                                 $this.setData({
                                    focusFieldId: ""
                                 })
                              } else {
                                 $this.setData({
                                    focusFieldId: $this
                                       .focusOldFieldId
                                 })
                              }
                              $this.$nextTick(() => {
                                 $this.setData({
                                    focusFieldId: action
                                       .value
                                 })
                              });
                           }
                  var result = data.result;
                        }
                     }
                  }
               }
               this.saving = false
            }).catch(ex => {
               // console.log(ex);
               this.saving = false
               let exStr = JSON.stringify(ex)
               if (exStr == "{}")
                  exStr = ex
               let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
               uni.showModal({
                  title: this.translateSys('tip') + "7.1",
                  content: ex.errMsg,
                  content: tip,
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
               });
@@ -1933,6 +2033,7 @@
            }
         },
         onTriggerEvent(btn, enviroment) {
            const $this = this
            var obj_attr = this.head_styledef.form.model;
            // console.log(obj_attr);
            var input_param = {
@@ -1998,16 +2099,61 @@
                     showCancel: false,
                     confirmText: this.translateSys("cancel")
                  });
                  if (!this.$data.param.After_Btn_Not_Refresh) {
                     //刷新
                     uni.redirectTo({
                        url: '../modal/3018_2?param=' + JSON.stringify(this.$data
                              .param) +
                           "&titlename=" + this.$data.title
                     });
                  } else {
                     var actionlist = data.action;
                     if (actionlist) {
                        console.log(actionlist);
                        for (var i = 0; i < actionlist.length; i++) {
                           var action = actionlist[i];
                           if (action.action_type == 'set_dlg_attr') {
                              $this.setFormValues(action.value)
                           } else if (action.action_type == 'set_dlg_attr_show') {
                              var result = action.value;
                              $this.hideFormItems(result)
                           } else if (action.action_type ==
                              "set_dlg_current_edit_attr"
                           ) {
                              if ($this
                                 .focusOldFieldId ==
                                 action.value) {
                                 $this.setData({
                                    focusFieldId: ""
                                 })
                              } else {
                                 $this.setData({
                                    focusFieldId: $this
                                       .focusOldFieldId
                                 })
                              }
                              $this.$nextTick(() => {
                                 $this.setData({
                                    focusFieldId: action
                                       .value
                                 })
                              });
                           }
                  var result = data.result;
                        }
                     }
                  }
               }
            }).catch(ex => {
               // console.log(ex);
               let exStr = JSON.stringify(ex)
               if (exStr == "{}")
                  exStr = ex
               let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
               uni.showModal({
                  title: this.translateSys('tip') + "7.1",
                  content: ex.errMsg,
                  content: tip,
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
               });
@@ -2026,7 +2172,6 @@
            const url = '../modal/3018?param=' + JSON.stringify(data) + "&titlename=" + btn.Edit_dlg
               .Name +
               "&type=addDataObj"
            console.log("showAddSmallDialog", url);
            var $this = this;
            uni.navigateTo({
               url: url,
@@ -2035,13 +2180,12 @@
                  addDataObj: function(resData) {
                     console.log(resData);
                     //刷新
                     if (!this.$data.param.After_Btn_Not_Refresh) {
                        uni.redirectTo({
                           url: '../modal/3018_2?param=' + JSON.stringify(this
                                 .$data.param) +
                              "&titlename=" + this.$data.title
                        });
                     }
                     uni.redirectTo({
                        url: '../modal/3018_2?param=' + JSON.stringify(this
                              .$data.param) +
                           "&titlename=" + this.$data.title
                     });
                  },
               }
            });
@@ -2201,6 +2345,7 @@
            float: right;
            display: inline-block;
         }
         .btn_cancel2 {
            width: 90%;
            margin: 0 10rpx;