cuiqian2004
2025-06-19 619b47962e41f506baf7ce2b535b2de1fecc719e
pages/modal/3018_2.vue
@@ -1,5 +1,5 @@
<template>
   <view class="uni-page-modal-3018-2">
   <view class="uni-page-modal-3018-2" :class="largeMode?'large-mode':''">
      <view class="view-content">
         <!-- 表头样式 -->
         <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" :focusId="focusFieldId"
@@ -53,7 +53,7 @@
<script>
   import {
      Base64
   } from  '@/js/Base64.js';
   } from '@/js/Base64.js';
   import utils from "@/js/utils.js"
   import dayjs from "dayjs";
   import OIForm from '@/components/oi-form/index.vue'
@@ -67,14 +67,15 @@
      dataObjCreate
   } from "@/api/data.js"
   import buttonClickMixin from '@/mixins/button-click.js';
   export default {
   mixins: [buttonClickMixin],
      mixins: [buttonClickMixin],
      components: {
         OIForm,
      },
      data() {
         return {
               largeMode: getApp().globalData.largeMode || false,
            title: this.translateSys('add2'),
            btnName: "",
            param: {},
@@ -275,7 +276,7 @@
                              if (itemName) {
                                 styledefHead.form.model[ele.fieldId] = itemName;
                              }
                              ele.dict = selections.map((a) => {
                              ele.selections = selections.map((a) => {
                                 return {
                                    value: a.value,
                                    text: a.label
@@ -311,7 +312,7 @@
                                       styledefHead.form
                                          .model[col.fieldId] = itemName;
                                    }
                                    col.dict = selections.map((a) => {
                                    col.selections = selections.map((a) => {
                                       return {
                                          value: a.value,
                                          text: a.label
@@ -332,6 +333,25 @@
                           }
                        }
                     }
                  }
                  const app = getApp()
                  if (app.globalData.bindClasses) {
                     styledefHead.form.items.push({
                        name: "Input",
                        label: this.translate("classes"),
                        labelWidth: 100,
                        disabled: true,
                        value: app.globalData.classes,
                        setting: {
                           width: 100,
                           height: 50,
                        },
                        bind: {
                           attr: "",
                        },
                        fieldId: "S_CLASSES",
                     })
                     styledefHead.form.model["S_CLASSES"] = app.globalData.classes
                  }
               }
@@ -444,10 +464,8 @@
                  });
                  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: this.translateSys("tip"),
                     content: tip,
@@ -470,9 +488,7 @@
                        } else if (action.action_type ==
                           "set_dlg_current_edit_attr"
                        ) {
                           if ($this
                              .focusOldFieldId ==
                              action.value) {
                           if ($this.focusOldFieldId == action.value) {
                              $this.setData({
                                 focusFieldId: ""
                              })
@@ -528,50 +544,12 @@
         ontap(item) { //扫码功能
            // console.log("ontap",item);
            // 打开蓝牙适配器
            // uni.openBluetoothAdapter({
            //   success: function() {
            //    // 开始搜索蓝牙设备
            //    uni.startBluetoothDevicesDiscovery({
            //      success: function() {
            //       // 监听找到新设备的事件
            //       uni.onBluetoothDeviceFound(function(devices) {
            //         // 这里可以过滤出RFID芯片,连接并读取数据
            //         console.log(devices[0].deviceId);
            //       })
            //      }
            //    })
            //   }
            // });
            // 监听NFC功能是否可用
            // uni.getNFCAdapterState({
            //   success: function(res) {
            //    console.log(res);
            //     if (res.errCode === 0) {
            //       // NFC功能可用,开始监听
            //       uni.onNFCStart((res) => {
            //         if (res.errCode === 0) {
            //           // 开始NFC标签检测
            //           uni.makeNFCReaderStart({
            //             success: function() {
            //               // 监听NFC标签
            //               uni.onNFCTagDiscovered(function(res) {
            //                                 console.log(res);
            //                 // 这里可以处理NFC标签数据
            //               })
            //             }
            //           })
            //         }
            //       })
            //     }
            //   }
            // })
            this.focusOldFieldId = item.fieldId
            getApp().onScan((result) => {
               console.log(result);
               // uni.hideKeyboard();
               this.onScanValue(item, result.decodedata)
               this.onScanValue(item, result)
            })
         },
         onScanValue(item, value) {
@@ -749,7 +727,8 @@
            // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
            this.$refs.popup.open(this.popupType);
            this.dataObjRunCustomEvent_Return(onSuffixClickEvent.id, '', onSuffixClickCallbackEvent.id,
            this.dataObjRunCustomEvent_Return(onSuffixClickEvent.id, '', onSuffixClickCallbackEvent
               .id,
               item);
         },
         popupChange(e) {
@@ -862,7 +841,8 @@
            // }
            enviroment = Base64.encode(JSON.stringify(enviroment)); //将字符串转换为base64编码
            var input_param = Base64.encode(JSON.stringify(info.attr)); //将字符串转换为base64编码
            var global_attr = Base64.encode(JSON.stringify(this.global_attr)); //将字符串转换为base64编码
            var global_attr = Base64.encode(JSON.stringify(this
               .global_attr)); //将字符串转换为base64编码
            if (info.dataJson)
               info.dataJson = Base64.encode(JSON.stringify(info.dataJson)); //将字符串转换为base64编码
            var obj_attr = {};
@@ -910,14 +890,16 @@
                     });
                  } else uni.showModal({
                     title: this.translateSys("tip"),
                     content: tip + ',' + this.translateSys('tip') + ':' + data
                     content: tip + ',' + this.translateSys('tip') + ':' +
                        data
                        .ret,
                     showCancel: false,
                     confirmText: this.translateSys('close')
                  });
                  return false
               } else {
                  var tip = data.info ? typeof data.info == 'string' ? data.info : data
                  var tip = data.info ? typeof data.info == 'string' ? data.info :
                     data
                     .info
                     .join(
                        '<br/>') : '';
@@ -1024,7 +1006,8 @@
               class_id: $this.param.DataCls.id, //当前数据类id
            }
            extinfo = Base64.encode(JSON.stringify(extinfo)); //将字符串转换为base64编码
            var global_attr = Base64.encode(JSON.stringify($this.global_attr)); //将字符串转换为base64编码
            var global_attr = Base64.encode(JSON.stringify($this
               .global_attr)); //将字符串转换为base64编码
            var obj_attr = {};
            req.forEach(item2 => {
               obj_attr[item2.attr] = item2.value;
@@ -1079,14 +1062,16 @@
                     });
                  } else uni.showModal({
                     title: $this.translateSys("tip"),
                     content: tip + ',' + $this.translateSys('tip') + ':' + data
                     content: tip + ',' + $this.translateSys('tip') + ':' +
                        data
                        .ret,
                     showCancel: false,
                     confirmText: $this.translateSys('close')
                  });
                  return false
               } else {
                  var tip = data.info ? typeof data.info == 'string' ? data.info : data
                  var tip = data.info ? typeof data.info == 'string' ? data.info :
                     data
                     .info
                     .join(
                        '<br/>') : '';
@@ -1110,13 +1095,17 @@
                              var d = dialog({
                                 title: '<i class="ace-icon fa fa-info-circle"></i> ' +
                                    $this.translateSys("tip"),
                                 content: $this.translateSys("quotation_mark_left") +
                                    action.action_type + $this.translateSys(
                                 content: $this.translateSys(
                                       "quotation_mark_left") +
                                    action.action_type + $this
                                    .translateSys(
                                       "quotation_mark_right") +
                                    $this.translate("tip_action_unprocessed")
                                    $this.translate(
                                       "tip_action_unprocessed")
                              });
                              d.show();
                           } else if (action.action_type == 'open_select_userdlg') {
                           } else if (action.action_type ==
                              'open_select_userdlg') {
                              var style = val.style;
                              // style == 'user' ? '选择人员' : style == 'department' ? '选择部门' : style == 'role' ? '选择角色' : ''
                              var param = {
@@ -1152,13 +1141,15 @@
                                          inputparameter: data,
                                          dataJson: [],
                                       }
                                       $this.DataObjRunCustomEvent(info,
                                       $this.DataObjRunCustomEvent(
                                          info,
                                          param
                                          .data_attr);
                                    }
                                 }
                              });
                           } else if (action.action_type == 'open_data_query_dlg') {
                           } else if (action.action_type ==
                              'open_data_query_dlg') {
                              var d = dialog({
                                 title: '<i class="ace-icon fa fa-info-circle"></i> ' +
                                    $this.translateSys("tip"),
@@ -1178,7 +1169,8 @@
                                 $this.setData({
                                    check_list: val.config
                                 })
                                 if (val.config.appear_style == 'sideslip') //判断是否是侧滑
                                 if (val.config.appear_style ==
                                    'sideslip') //判断是否是侧滑
                                    $this.setData({
                                       popupType: "right"
                                    })
@@ -1198,7 +1190,8 @@
                                    popupParam: popupParam
                                 })
                              }
                           } else if (action.action_type == 'open_project_query_dlg') {
                           } else if (action.action_type ==
                              'open_project_query_dlg') {
                              //console.log(action.value.select_range);
                              //console.log(action.value.mulit_select);
                              var priRel = '-1';
@@ -1208,7 +1201,8 @@
                                 priRel = '1';
                              else if (action.value.select_range == '我创建的')
                                 priRel = '2';
                              else if (action.value.select_range == '我参与的' || action
                              else if (action.value.select_range == '我参与的' ||
                                 action
                                 .value
                                 .select_range == '我参加的')
                                 priRel = '3';
@@ -1222,7 +1216,8 @@
                                 req: req
                              }
                              uni.navigateTo({
                                 url: '../selPrj/index?relation=' + priRel +
                                 url: '../selPrj/index?relation=' +
                                    priRel +
                                    '&param=' +
                                    JSON.stringify(param_),
                                 events: {
@@ -1242,7 +1237,8 @@
                                          var info = {
                                             eventid: callback_eventid,
                                             edtype: "2",
                                             projectid: data[0].ID,
                                             projectid: data[0]
                                                .ID,
                                             rclsid: "",
                                             robjid: "",
                                             userlogin: "",
@@ -1254,8 +1250,9 @@
                                             dataJson: [],
                                          }
                                          $this.DataObjRunCustomEvent(
                                             info);
                                          $this
                                             .DataObjRunCustomEvent(
                                                info);
                                       }
                                    }
                                 }
@@ -1265,12 +1262,14 @@
                                 title: $this.translateSys("tip"),
                                 content: $this.translateSys(
                                       "quotation_mark_left") +
                                    action.action_type + $this.translateSys(
                                    action.action_type + $this
                                    .translateSys(
                                       "quotation_mark_right") + $this
                                    .translate(
                                       "tip_action_unprocessed"),
                                 showCancel: false,
                                 confirmText: $this.translateSys('close')
                                 confirmText: $this.translateSys(
                                    'close')
                              });
                           }
                        }
@@ -1278,9 +1277,11 @@
                  } else {
                     uni.showModal({
                        title: $this.translateSys('tip') + "5.2",
                        content: $this.translateSys("quotation_mark_left") +
                        content: $this.translateSys(
                              "quotation_mark_left") +
                           "before_click_button" + $this.translateSys(
                              "quotation_mark_right") + $this.translateSys(
                              "quotation_mark_right") + $this
                           .translateSys(
                              "comma") + 'event_id' + eventid,
                        showCancel: false,
                        confirmText: $this.translateSys('close')
@@ -1374,7 +1375,8 @@
                     });
                  } else uni.showModal({
                     title: this.translateSys("tip"),
                     content: tip + ',' + this.translateSys('tip') + ':' + data
                     content: tip + ',' + this.translateSys('tip') + ':' +
                        data
                        .ret,
                     showCancel: false,
                     confirmText: this.translateSys('close')
@@ -1382,7 +1384,8 @@
                  this.saving = false
                  return false
               } else {
                  var tip = data.info ? typeof data.info == 'string' ? data.info : data
                  var tip = data.info ? typeof data.info == 'string' ? data.info :
                     data
                     .info
                     .join(
                        '<br/>') : '';
@@ -1405,7 +1408,8 @@
                  if (!this.param.After_Btn_Not_Refresh) {
                     //刷新
                     uni.redirectTo({
                        url: '../modal/3018_2?param=' + JSON.stringify(this.$data
                        url: '../modal/3018_2?param=' + JSON.stringify(this
                              .$data
                              .param) +
                           "&titlename=" + this.title
                     });
@@ -1468,16 +1472,17 @@
         },
         setFormValues(data) {
            const $this = this
            const head_styledef = this.head_styledef
            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) {
               const attr = data[i]
               if (attr.choice_list) {
                  for (var c = 0; c < head_styledef.form.items.length; c++) {
                     const item = head_styledef.form.items[c];
                     if (item.name != 'Layout') {
                        if (item.fieldId == attr.attr) {
                           var dictItemList = [];
                           for (var d in data[i].choice_list) {
                              var val = data[i].choice_list[d];
                           for (var d in attr.choice_list) {
                              var val = attr.choice_list[d];
                              dictItemList.push({
                                 "CN_S_NAME": val,
                                 "CN_S_VALUE": val,
@@ -1485,20 +1490,19 @@
                                 "value": val
                              });
                           }
                           attr.dict = dictItemList;
                           if (item.useDict) {
                              item.dict = dictItemList;
                           } else {
                              item.selections = dictItemList;
                           }
                        }
                     } else if (attr.name == 'Layout') {
                        attr.setting.colList.forEach(col => {
                     } else if (item.name == 'Layout') {
                        item.setting.colList.forEach(col => {
                           if (col) {
                              if (col.fieldId == data[
                                    i]
                                 .attr) {
                              if (col.fieldId == attr.attr) {
                                 var dictItemList = [];
                                 for (var d in data[i]
                                       .choice_list) {
                                    var val = data[i]
                                       .choice_list[
                                          d];
                                 for (var d in attr.choice_list) {
                                    var val = attr.choice_list[d];
                                    dictItemList.push({
                                       "CN_S_NAME": val,
                                       "CN_S_VALUE": val,
@@ -1506,8 +1510,11 @@
                                       "value": val
                                    });
                                 }
                                 col.dict =
                                    dictItemList;
                                 if (col.useDict) {
                                    col.dict = dictItemList;
                                 } else {
                                    col.selections = dictItemList;
                                 }
                              }
                           }
                        });
@@ -1515,49 +1522,44 @@
                  }
               }
               for (var c = 0; c < $this.head_styledef.form
                  .items
                  .length; c++) {
                  var attr = $this.head_styledef.form.items[c];
                  // console.log(attr[j].Name+'=='+data[i].attr);
               for (var c = 0; c < head_styledef.form.items.length; c++) {
                  const item = head_styledef.form.items[c];
                  // console.log(attr[j].Name+'=='+attr.attr);
                  //判断表单里是否有返回字段,没有就装载到model里,点击确定提交的时候带上这些数据
                  if ($this.head_styledef.form.model[data[i]
                        .attr] ==
                     undefined) {
                     $this.head_styledef.form.model[data[i]
                           .attr] =
                        data[i]
                        .value;
                  if (head_styledef.form.model[attr.attr] == undefined) {
                     head_styledef.form.model[attr.attr] = attr.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;
                  if (item.name != 'Layout') {
                     if (item.fieldId == attr.attr) {
                        item.value = '';
                        item.oldvalue = '';
                        item.value = attr.value;
                        item.oldvalue = attr.value;
                        head_styledef.form.model[item.fieldId] = attr.value;
                        if (item.name == "Input") {
                           if (attr.prompt) item.placeholder = attr.prompt;
                        }
                        if (attr.enable !== undefined) {
                           if (attr.enable) item.disabled = false;
                           else item.disabled = true;
                        }
                     }
                  } else if (attr.name == 'Layout') {
                     attr.setting.colList.forEach(col => {
                  } else if (item.name == 'Layout') {
                     item.setting.colList.forEach(col => {
                        if (col) {
                           if (col.fieldId == data[i]
                              .attr) {
                           if (col.fieldId == attr.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;
                              col.value = attr.value;
                              col.oldvalue = attr.value;
                              if (col.name == "Input") {
                                 if (attr.prompt) col.placeholder = attr.prompt;
                              }
                              if (attr.enable !== undefined) {
                                 if (attr.enable) col.disabled = false;
                                 else col.disabled = true;
                              }
                           }
                        }
                     });
@@ -1568,42 +1570,25 @@
         },
         hideFormItems(data) {
            const $this = this
            const head_styledef = this.head_styledef
            data.forEach(async (attr, key) => {
               $this.head_styledef.form.items
                  .forEach(
                     async (
                        ele, index) => {
                        //判断是否是栅格表单
                        if (ele.name != 'Layout') {
                           if (ele.fieldId == attr
                              .attr) {
                              ele.show = attr
                                 .show;
               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));
            $this.head_styledef = [];
            $this.head_styledef = head_styledef;
         },
         afterOK() {
            this.saving = true
@@ -1617,7 +1602,8 @@
                  value: obj_attr[a],
               })),
            };
            if (!this.after_ok.id.includes('{')) this.after_ok.id = '{' + this.after_ok.id + '}';
            if (!this.after_ok.id.includes('{')) this.after_ok.id = '{' + this.after_ok.id +
               '}';
            var dataInfo = {
               ed_type: "0",
               start_transaction: true,
@@ -1657,7 +1643,8 @@
                     });
                  } else uni.showModal({
                     title: this.translateSys("tip"),
                     content: tip + ',' + this.translateSys('tip') + ':' + data
                     content: tip + ',' + this.translateSys('tip') + ':' +
                        data
                        .ret,
                     showCancel: false,
                     confirmText: this.translateSys('close')
@@ -1665,7 +1652,8 @@
                  this.saving = false
                  return false
               } else {
                  var tip = data.info ? typeof data.info == 'string' ? data.info : data
                  var tip = data.info ? typeof data.info == 'string' ? data.info :
                     data
                     .info
                     .join(
                        '<br/>') : '';
@@ -1678,7 +1666,8 @@
                  if (!this.param.After_Btn_Not_Refresh) {
                     //刷新
                     uni.redirectTo({
                        url: '../modal/3018_2?param=' + JSON.stringify(this.$data
                        url: '../modal/3018_2?param=' + JSON.stringify(this
                              .$data
                              .param) +
                           "&titlename=" + this.title
                     });
@@ -1830,14 +1819,16 @@
                     });
                  } else uni.showModal({
                     title: this.translateSys("tip"),
                     content: tip + ',' + this.translateSys('tip') + ':' + data
                     content: tip + ',' + this.translateSys('tip') + ':' +
                        data
                        .ret,
                     showCancel: false,
                     confirmText: this.translateSys('close')
                  });
                  return false
               } else {
                  var tip = data.info ? typeof data.info == 'string' ? data.info : data
                  var tip = data.info ? typeof data.info == 'string' ? data.info :
                     data
                     .info
                     .join(
                        '<br/>') : '';
@@ -1850,7 +1841,8 @@
                  if (!this.param.After_Btn_Not_Refresh) {
                     //刷新
                     uni.redirectTo({
                        url: '../modal/3018_2?param=' + JSON.stringify(this.$data
                        url: '../modal/3018_2?param=' + JSON.stringify(this
                              .$data
                              .param) +
                           "&titlename=" + this.title
                     });
@@ -1917,7 +1909,8 @@
               cls_name: btn.Cls_Name,
               Edit_dlg: btn.Edit_dlg
            };
            const url = '../modal/3018?param=' + JSON.stringify(data) + "&titlename=" + btn.Edit_dlg
            const url = '../modal/3018?param=' + JSON.stringify(data) + "&titlename=" + btn
               .Edit_dlg
               .Name +
               "&type=addDataObj"
            var $this = this;
@@ -1929,7 +1922,8 @@
                     console.log(resData);
                     //刷新
                     uni.redirectTo({
                        url: '../modal/3018_2?param=' + JSON.stringify(this
                        url: '../modal/3018_2?param=' + JSON.stringify(
                              this
                              .$data.param) +
                           "&titlename=" + this.title
                     });