From 07925905f1a596e20e980de6d42db217abb753b0 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期五, 12 十二月 2025 18:06:11 +0800
Subject: [PATCH] plugin
---
pages/modal/3018_2.vue | 3628 ++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 2,250 insertions(+), 1,378 deletions(-)
diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue
index 4f52f89..b4a257d 100644
--- a/pages/modal/3018_2.vue
+++ b/pages/modal/3018_2.vue
@@ -1,1430 +1,2302 @@
-<style>
-.v-headStyle{
- /* border: 0.1rpx solid red; */
- /* line-height: 30rpx; */
- padding: 5rpx 0;
-}
-.v-headStyle:first-child{
- margin-top: 15rpx;
-}
-.v-headStyle .txt_title{
- font-size: 34rpx;
- text-align: right;
- display: inline-block;
- /* vertical-align: 24rpx; */
-
- /* border: 0.1rpx solid red; */
-}
-.v-headStyle input{
- vertical-align: middle;
- display: inline-block;
- /* border: 1px solid #d5d5d5; */
- /* width: 65%; */
- width: 85%;
- height: 52rpx;
- line-height: 34rpx;
- background: #FFF;
- border-radius: 0 !important;
- color: #2d8cf0;
- padding: 10rpx 8rpx 12rpx;
- font-size: 34rpx;
- font-family: inherit;
- box-shadow: none !important;
- transition-duration: 0.1s;
- margin-top: 4rpx;
-}
-.v-headStyle input::-webkit-input-placeholder {
- font-size: 12rpx;
-}
-.v-headStyle .form-item-span{
- /* vertical-align:top; */
- color: #2d8cf0;
- white-space: normal;
- word-break: break-all;
- display: inline-block;
-
- /* border: 0.1rpx solid red; */
-}
-.input-wrapper{
- border: 1px solid #d5d5d5;
- display: inline-block;
- width: 65%;
- line-height: 22rpx;
- vertical-align: middle;
-}
-.check_rememberPwd,
-.input-switch{
- vertical-align: middle;
- margin-left:10rpx
-}
-[nvue] uni-view {
- position: relative;
- border: 0 solid #000;
- box-sizing: border-box;
-}
-
-.uni-input {
- /* border: none; */
-}
-.uni-icon{
- /* border: 1px solid red; */
- width: 8%;
- font-family: uniicons;
- font-size: 40rpx;
- font-weight: 400;
- font-style: normal;
- /* width: 48rpx; */
- height: 48rpx;
- line-height: 48rpx;
- color: #2d8cf0;
- cursor: pointer;
- display: inline-block;
- vertical-align: 18rpx;
-}
-
-
-.view-content{
- min-height: 700rpx;
- /* border:1px solid red; */
-}
-
-.input-disabled{
- background-color: #f3f3f3 !important;
-}
-button.btn_add {
- width:49.5%;
- margin-top: 50rpx;
- padding: 20rpx;
- line-height: 1.5;
- background: #4D6AF4;
- border: none;
- color: #fff;
- font-size: 38rpx;
- font-weight: bold;
- float: right;
- display: inline-block;
-}
-button.btn_cancel {
- width:49.5%;
- margin-top: 50rpx;
- padding: 20rpx;
- line-height: 1.5;
- background: #fff;
- border: none;
- color: #000;
- font-size: 38rpx;
- font-weight: bold;
- float: left;
- display: inline-block;
-}
-.view-popup{
- position:relative;
-}
-.popup-content {
- @include flex;
- align-items: center;
- justify-content: center;
- padding: 30rpx;
- background-color: #fff;
- /* height: 150px; */
- /* border: 1px solid red; */
-}
-.popup-cont {
- overflow-y: auto;
- /* border: 1px solid red; */
-}
-.popup-height {
- @include height;
- /* width: 200px; */
-}
-.popup-header{
- font-size: 42rpx;
- font-weight: bold;
- margin:20rpx 20rpx 0px 20rpx;
-}
-.view_popup_CheckList{
- margin-bottom: 20rpx;
-}
-.popup-footer{
- float: right;
- position:absolute;
- bottom:0;
- right:20rpx;
-}
-button.btn_popup_add {
- width:180rpx;
- margin-top: 50rpx;
- margin-right: 20rpx;
- padding: 15rpx;
- line-height: 1.5;
- background: #27A6E1;
- border: none;
- color: #fff;
- font-size: 38rpx;
- font-weight: bold;
- /* float: left; */
- display: inline-block;
-}
-button.btn_popup_cancel {
- width:180rpx;
- margin-top: 50rpx;
- padding: 15rpx;
- line-height: 1.5;
- background: #27A6E1;
- border: none;
- color: #fff;
- font-size: 38rpx;
- font-weight: bold;
- /* float: right; */
- display: inline-block;
-}
-#dv_select{
- display: inline-block;
- width: 66%;
- background: #FFF;
- border-radius: 0 !important;
- color: #2d8cf0;
- /* padding: 10rpx 8rpx 12rpx; */
- font-size: 34rpx;
- font-family: inherit;
- box-shadow: none !important;
- transition-duration: 0.1s;
- margin-top: 0rpx;
- /* vertical-align: 10px; */
- vertical-align: middle;
-}
-#dv_select .uni-select{
- border: 1px solid #ccc;
- border-radius: 0 !important;
- color: #2d8cf0;
-}
-#dv_select .uni-select__input-text{
- color: #2d8cf0;
-}
-
-.panel_title{
- font-size: 38rpx;
- background-color: #27A6E1;
- line-height: 80rpx;
- color: #fff;
- text-align: center;
- font-weight: bold;
-}
-.v-panel{
- min-height:788rpx;
-}
-.v-panellist{
- border:4rpx solid #aaa;
- border-radius: 10rpx;
- margin: 10rpx 20rpx 0rpx 20rpx;
-}
-.v-paneldel{
- text-align: right;
-}
-.panel_del{
- font-size: 44rpx;
- text-decoration: initial;
- margin-top: 10rpx;
- margin-right: 20rpx;
-}
-.class_attr_body .form-group {
- margin: 20rpx 30rpx;
- /* margin-left: -12px;
- margin-right: -12px; */
-}
-.subclass_attr_body .form-group {
- margin: 20rpx 10rpx;
- /* margin-left: -12px;
- margin-right: -12px; */
-}
-.form-group > label[class*="col-"] {
- margin-bottom: 8rpx;
- font-size: 32rpx;
-}
-.form-group label {
- vertical-align: middle;
- line-height: 60rpx;
-}
-.tx_title2{
- font-size: 32rpx;
- text-align: right;
- display: inline-block;
- vertical-align: -2px;
-}
-.attr_field{
- display: inline-block;
- vertical-align: middle;
- margin-left: 8px;
- /* width: 71%; */
-}
-.text-right2 {
- margin: 0;
- vertical-align: -4px;
- margin-left: 9px;
- float: none;
- font-size: 44rpx;
- display: inline-block;
-}
-input::-webkit-input-placeholder {
- font-size: 12rpx;
-}
-.v-panel input{
- border: 1px solid #d5d5d5;
- width: 98%;
- height: 52rpx;
- background: #FFF;
- border-radius: 0 !important;
- color: #046db3;
- padding: 10rpx 8rpx 12rpx;
- font-size: 34rpx;
- font-family: inherit;
- box-shadow: none !important;
- transition-duration: 0.1s;
- margin-top: 4rpx;
-}
-.date_iput{
- /* border: 1px solid #d5d5d5; */
- /* width: 98%; */
- height: 62rpx;
- background: #FFF;
- border-radius: 0 !important;
- color: #046db3;
- padding: 10rpx 8rpx 4rpx;
- font-size: 34rpx;
- font-family: inherit;
- box-shadow: none !important;
- transition-duration: 0.1s;
-}
-.dv_input{
- display: inline-block;
- width: 65%;
- /* line-height: 22rpx; */
-}
-.view-floor{
- padding: 0 20rpx;
-}
-</style>
-<style lang="scss">
- .demo-uni-row {
- margin-bottom: 0px;
- display: block;
- }
- ::v-deep .uni-row {
- margin-bottom: 0px;
- }
- .view-tabpage ::v-deep .uni-row {
- margin-bottom: 5px;
- }
- .demo-uni-col {
- height: 36px;
- border-radius: 5px;
- }
- .demo-uni-row .uni-input{
- width: calc(100% - 120px);
- }
- .text {
- font-size: 12px;
- color: #666;
- margin-top: 5px;
- }
- // .uni-px-5 {
- // margin: 0;
- // display: inline-block;
- // margin: 0;
- // font-size: 14px;
- // }
- // .uni-select{
- // border: 1px solid #ccc;
- // border-radius: 0;
- // }
- // .uni-section-content{
- // display: inline-block;
- // width: 100px;
- // border: 1px solid red;
- // }
-</style>
-
-
<template>
- <view class="content">
- <!-- 琛ㄥご鏍峰紡 -->
- <view class="v-headStyle" v-for="(item,index) in head_styledef.form.items" >
- <!-- 鏅�甯冨眬 -->
- <view v-if="item.name!='Layout'">
- <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text>
- <span class="form-item-span" v-if="item.disabled"
- :style="'width: calc(100% - '+item.labelWidth+'px);'">{{item.value}}</span>
- <!-- 涓嬫媺妗�鍗曢� item.useDict?item.dict:item.selections-->
- <uni-data-select id="dv_select" v-if="item.name=='Select' && !item.disabled"
- :style="'width: calc(100% - '+item.labelWidth-10+'px);'"
- :class="item.disabled?'input-disabled':''"
- v-model="item.value"
- :localdata="item.dict"
- @change="onchange(item)"
- :disabled="item.disabled"
- :clear="false"
- ></uni-data-select>
- <!-- 涓嬫媺妗�澶氶� -->
- <!-- <select-cy v-else-if="attr.select==true" :value="item.value"
- :name="item.fieldId"
- :options="item.dict"
- showClearIcon="true"
- @change="onchange2"
- :data-index="index"
- :disabled="item.disabled"
- ></select-cy> -->
- <!-- 鏂囨湰妗�鏁板瓧妗�-->
- <view class="input-wrapper" v-if="(item.name=='Input' || item.name=='InputNumber') && !item.disabled">
- <text v-if="item.setting.prefix"
- class="uni-icon"
- :class="[item.setting.prefix]"
- @change="classAttr_extButton(item)"></text>
- <input class="uni-input" :class="item.disabled?'input-disabled':''"
- :type="item.name=='Input'?'text':item.name=='InputNumber'?'number':'text'"
- v-model="item.value"
- :disabled="item.disabled"
- :placeholder="item.placeholder"
- :style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}"
- :focus="focusMateria"
- @focus="ontap(item)"
- @blur="onevent(item)"
- />
- <text v-if="item.setting.suffix"
- class="uni-icon"
- :class="[item.setting.suffix]"
- @click="classAttr_extButton(item)"></text>
- </view>
- <!-- 澶氳鏂囨湰 -->
- <view class="input-wrapper" v-if="item.name=='Textarea' && !item.disabled">
- <textarea class="uni-input" :class="item.disabled?'input-disabled':''" :value="item.value"
- :placeholder="item.placeholder"
- @blur="onModelValue(item)"
- :data-index="index"
- style="height:60px;"
- :style="{'width':'96%'}"
- :disabled="item.disabled"
- ></textarea>
-
- </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>
- </label>
- </checkbox-group>
- <!-- Switch寮�叧 -->
- <switch class="input-switch" v-if="item.name=='Switch'" :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') && !item.disabled">
- <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>
- </picker>
- </view>
- </view>
- <!-- 鏍呮牸甯冨眬 -->
- <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">
- <view v-if="cols!=null" >
- <text class="txt_title" :style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text>
- <span class="form-item-span" v-if="cols.disabled">{{cols.value}}</span>
- <view class="dv_input" v-if="(cols.name=='Input' || cols.name=='InputNumber') && !cols.disabled">
- <text v-if="cols.setting.prefix"
- class="uni-icon"
- :class="[cols.setting.prefix]"
- @change="onchange(cols)"></text>
- <input class="uni-input" :class="cols.disabled?'input-disabled':''"
- :type="cols.name=='Input'?'text':cols.name=='InputNumber'?'number':'text'"
- v-model="cols.value"
- :disabled="cols.disabled"
- :placeholder="cols.placeholder"
- :style="{'width':cols.setting.prefix && cols.setting.suffix?'78%':cols.setting.prefix || cols.setting.suffix?'87%':'96%'}"
- :focus="focusMateria"
- @focus="ontap(cols)"
- @blur="onevent(cols)"
- />
- <text v-if="cols.setting.suffix"
- class="uni-icon"
- :class="[cols.setting.suffix]"
- @click="onchange(cols)"></text>
- </view>
- <!-- 涓嬫媺妗�鍗曢� cols.useDict?cols.dict:cols.selections-->
- <uni-data-select id="dv_select" v-if="cols.name=='Select' && !cols.disabled"
- :class="cols.disabled?'input-disabled':''"
- v-model="cols.value"
- :localdata="cols.dict"
- @change="onchange(cols)"
- :disabled="cols.disabled"
- :clear="false"
- ></uni-data-select>
- <!-- 澶氳鏂囨湰 -->
- <view class="input-wrapper" v-if="cols.name=='Textarea' && !cols.disabled">
- <textarea class="uni-input" :value="cols.value"
- :class="cols.disabled?'input-disabled':''"
- :placeholder="cols.placeholder"
- @blur="onModelValue(cols)"
- style="height:60px;"
- :style="{'width':'96%'}"
- :disabled="cols.disabled"
- ></textarea>
- </view>
- <!-- 澶嶉�妗�-->
- <checkbox-group class="check_rememberPwd" v-if="cols.name=='Checkbox'"
- :class="cols.disabled?'input-disabled':''"
- :disabled="item.disabled"
- @change="onModelValue(cols)"
- :data-ischeck="cols.value"
- :style="{'margin-left':'10rpx'}">
- <label>
- <checkbox :value="cols.value" :checked="cols.value"/>
- <text>{{cols.label}}</text>
- </label>
- </checkbox-group>
- <!-- Switch寮�叧 -->
- <switch v-if="cols.name=='Switch'" :class="cols.disabled?'input-disabled':''"
- :disabled="item.disabled"
- v-model="cols.value"
- @change="onModelValue(cols)"
- :style="{'margin-left':'10rpx'}"/>
- <!-- 鏃ユ湡鏃堕棿 -->
- <view class="input-wrapper" v-if="(cols.name=='TimePicker' || cols.name=='DatePicker') && !cols.disabled">
- <picker mode="date" class="date_iput" :class="cols.disabled?'input-disabled':''"
- :disabled="item.disabled"
- :value="cols.value"
- @change="onModelValue(cols)"
- >
- <view class="picker">{{cols.value}}</view>
- </picker>
- </view>
-
- </view>
- </uni-col>
- </uni-row>
-
-
+ <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"
+ :hiddenIds="head_styledef.hiddenIds ?head_styledef.hiddenIds :[] " :focusId="focusFieldId"
+ @on-click="onClick" @on-focus="ontap" @on-change="onEnterChange" @on-click-prefix="classAttr_extButton"
+ @on-click-suffix="classAttr_extButton"></OIForm>
+
</view>
-
- <view class="view-floor">
- <button type="default" @tap="sava" class="btn_add">{{title}}</button>
- <button type="default" @tap="cancel" class="btn_cancel">鍙栨秷</button>
+ <view class="view-bottom">
+ <view class="uni-padding-wrap" v-if="dropdownBtns.length>0">
+ <view class="uni-btn-v">
+ <a @tap="clickDropdownBtns">
+ <text class="mobox-normal-more" />
+ </a>
+ </view>
+ </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>
+
</view>
<!-- 鏅�寮圭獥 top bottom center left right -->
<view>
<uni-popup class="view-popup" ref="popup" background-color="#fff" @change="popupChange">
<view class="popup-header">{{check_list.title}}</view>
- <view class="popup-content" :class="{ 'popup-height': popupType === 'left' || popupType === 'right' }"
- :style="{'width':check_list.width?check_list.width+'px':'200px','height':check_list.height?check_list.height+'px':'88%'}">
- <view class="popup-cont" :style="{'height':check_list.height?check_list.height-45+'px':'415px'}">
+ <view class="popup-content" :class="{ 'popup-height': popupType === 'left' || popupType === 'right' }"
+ :style="{'width':check_list.width?check_list.width+'px':'375rpx','height':check_list.height?check_list.height+'px':popupType =='center'?'60vh':'88vh'}">
+ <view class="popup-cont"
+ :style="{'height':check_list.height?check_list.height-45+'px':popupType =='center'?'50vh':'80vh'}">
<view class="view_popup_CheckList" v-for="(item,index) in check_list.items">
- <checkbox-group class="check_list" @change="checkChange" :data-ischeck="item.check" :data-index="index" :style="{'margin-left': '10rpx'}">
+ <checkbox-group class="check_list" @change="checkChange" :data-ischeck="item.check"
+ :data-index="index" :style="{'margin-left': '10rpx'}">
<label>
- <checkbox :value="item.check" :checked="item.check"/>
+ <checkbox :value="item.check" :checked="item.check" />
<text>{{item.name}}</text>
</label>
</checkbox-group>
</view>
</view>
<view class="popup-footer">
- <button type="default" @tap="popup_sava" class="btn_popup_add">纭畾</button>
- <button type="default" @tap="popup_cancel" class="btn_popup_cancel">鍙栨秷</button>
+ <button type="default" @tap="popup_sava" class="btn_popup_add">{{translateSys('ok')}}</button>
+ <button type="default" @tap="popup_cancel"
+ class="btn_popup_cancel">{{translateSys('cancel')}}</button>
</view>
</view>
</uni-popup>
</view>
- </view>
+ </view>
</template>
<script>
-import Base64 from '../../components/js-base64/base64.js'
-export default {
- modules:{
- Base64,
- },
- data() {
- return {
- title:'鏂板',
- param: {},
- edit_inital_event:"", //寮圭獥鍒濆鍖栦簨浠禝D
- edit_ok_event:"", //寮圭獥鐐瑰嚮OK 瑙﹀彂浜嬩欢ID
- edit_select_compose_event:"", //閫夋嫨缁勬垚瀵硅薄鏃惰皟鐢�- edit_compose_cls_id:"",
- global_attr:[],
- refdatastore: [], //寮曠敤鏁版嵁瀛樺偍鍖�/ {attr:'G_PRJ_' + bindattr + '_ID', value:info.id}
- scanCodeVal:"",
- subClassAttrList:[],
- subPanelList:[],
- subClassGridStyle:[],
- popupType:"center",
- check_list:{},
-
- focusMateria:false,
- head_styledef:{
- form:{
- items:[]
- }
- },
- };
- },
- onLoad(options) {
- // console.log(options);
- uni.setNavigationBarTitle({ title: options.titlename}); //璁剧疆椤堕儴鏍囬
- this.$data.param = JSON.parse(options.param);
- this.$data.title = this.$data.param.Add_BtnName?this.$data.param.Add_BtnName:options.titlename; //璁剧疆鎸夐挳鏂囧瓧
-
- console.log(this.$data.param);
- //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�- this.Head_UIStyleGetInfo(this.param.DataCls.id,this.param.UI_Style.ID);
-
- //椤甸潰鍒濆鍖栬幏鍙栫劍鐐�- // this.focusMateria=true;
- },
- methods: {
- async Head_UIStyleGetInfo(class_id,style_id){ //鑾峰彇鑷畾涔夎〃鍗曟牱寮�- var $this = this;
- var dataInfo={
- class_id:class_id,
- ui_style_id:style_id,
- };
- this.$store.dispatch('UIStyleGetInfo',dataInfo).then(ret=>{
- // console.log(ret);
- if (ret.err_code == 0) {
- var styledef="";
- if(ret.result.style_def){
- //mobox2鐨剆tyle_def鏄痡son瀛楃涓�- styledef = ret.result.style_def.replace(/\\/g,"");
- //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�- if(!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result.style_def);
- }
- $this.$data.head_styledef = ret.result.style_def? JSON.parse(styledef): {};
- // console.log($this.$data.head_styledef);
- $this.head_styledef.form.items.forEach(async (ele,index) => {
- if(ele.useDict==true){ //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
- await this.DictGetInfo(ele.bind.dict,index,'mast');
- }
- });
-
- }else{
- uni.showModal({title:"閿欒1",content:ret.err_msg,showCancel:false,confirmText:"鍙栨秷"});
+ import {
+ Base64
+ } from '@/js/Base64.js';
+ import utils from "@/js/utils.js"
+ import {
+ showInfo,
+ showError,
+ showLoading,
+ hideLoading
+ } from "@/js/Page.js"
+ import dayjs from "dayjs";
+ import OIForm from '@/components/oi-form/index.vue'
+ import {
+ appGetInfo,
+ dictGetInfo
+ } from "@/api/mobox.js"
+ import {
+ getUIStyleInfo,
+ runCustomEvent,
+ dataObjCreate
+ } from "@/api/data.js"
+ import buttonClickMixin from '@/mixins/button-click.js';
+
+ export default {
+ mixins: [buttonClickMixin],
+ components: {
+ OIForm,
+ },
+ data() {
+ return {
+ largeMode: getApp().globalData.largeMode || false,
+ title: this.translateSys('add2'),
+ btnName: "",
+ param: {},
+ edit_inital_event: "", //寮圭獥鍒濆鍖栦簨浠禝D
+ edit_ok_event: "", //寮圭獥鐐瑰嚮OK 瑙﹀彂浜嬩欢ID
+ edit_select_compose_event: "", //閫夋嫨缁勬垚瀵硅薄鏃惰皟鐢�+ edit_compose_cls_id: "",
+ global_attr: [],
+ scanCodeVal: "",
+ popupType: "center",
+ check_list: {},
+ popupParam: {},
+ focusFieldId: "",
+ focusOldFieldId: "",
+ head_styledef: {
+ form: {
+ items: []
+ }
+ },
+ after_ok: {},
+ activity: null,
+ receiver: null,
+ intentFilter: null,
+ content: '',
+ saving: false
+ };
+ },
+ onNavigationBarButtonTap(e) {
+ if (e.index == 0) {
+ const $this = this
+ uni.scanCode({
+ scanType: ["qrCode", 'barCode'],
+ success: function(res) {
+ console.log(res)
+ if ($this.focusFieldId) {
+ const items = $this.head_styledef.form.items || []
+ for (let i in items) {
+ const ele = items[i]
+ if (ele.name == 'Input' || ele.name == 'InputNumber' || ele.name ==
+ 'Textarea') {
+ if ($this.focusFieldId == ele.fieldId) {
+ $this.onScanValue(ele, res.result)
+ break;
+ }
+ } else if (ele.name == "Layout") {
+ let curIndex = (ele.setting.colList || []).findIndex((col, index2,
+ arr) => {
+ return (col.name == 'Input' || col.name == 'InputNumber' || col
+ .name == 'Textarea') && $this
+ .focusFieldId == col.fieldId;
+ })
+ if (curIndex > -1) {
+ let col = ele.setting.colList[curIndex]
+ $this.onScanValue(col, res.result)
+ break
+ }
+ }
+ }
+ }
+
+ }
+ })
+ } else if (e.index == 1) {
+ //鍒锋柊
+ // uni.redirectTo({
+ // url: '../modal/3018_2?param=' + JSON.stringify(this.param) +
+ // "&titlename=" + this.title
+ // });
+ this.setData({
+ edit_inital_event: "", //寮圭獥鍒濆鍖栦簨浠禝D
+ edit_ok_event: "", //寮圭獥鐐瑰嚮OK 瑙﹀彂浜嬩欢ID
+ edit_select_compose_event: "", //閫夋嫨缁勬垚瀵硅薄鏃惰皟鐢�+ edit_compose_cls_id: "",
+ global_attr: [],
+ scanCodeVal: "",
+ popupType: "center",
+ check_list: {},
+ focusFieldId: "",
+ focusOldFieldId: "",
+ head_styledef: {
+ form: {
+ items: []
+ }
+ },
+ after_ok: {},
+ activity: null,
+ receiver: null,
+ intentFilter: null,
+ content: '',
+ saving: false
+ })
+ this.loadData()
}
- }).catch(ex=>{
- // console.log(ex);
- uni.showModal({title:"閿欒1.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
- });
-
- },
- async DictGetInfo(dict,index,type){ //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�- this.data=[];
- var $this = this;
- var dataInfo ={
- dict_id: dict.id,
- dict_name: dict.name
- };
- // console.log(dataInfo);
- this.$store.dispatch('DictGetInfo',dataInfo).then(async (success)=>{
- console.log(success);
- if (success.err_code == 0) {
- if(type=='mast'){
- var list=[];
- var itemName='';
- success.result.dict_item_list.forEach((item) => {
- if(item.is_default=='1')
- itemName = item.name;
- list.push({
- text:item.value,
- value:item.name,
- });
+ },
+ onReady() {
+ uni.setNavigationBarTitle({
+ title: this.title
+ }); //璁剧疆椤堕儴鏍囬
+ },
+ onLoad(options) {
+ // console.log(options);
+
+ this.param = JSON.parse(options.param);
+ this.title = options.titlename; //璁剧疆鎸夐挳鏂囧瓧 this.param.Add_BtnName ? this.param.Add_BtnName :
+ this.btnName = this.param.Add_BtnName || ""
+ const paramValue = options.paramValue ? JSON.parse(options.paramValue) : undefined
+ this.loadData(paramValue)
+ },
+ computed: {
+ dropdownBtns() {
+ const btns = this.head_styledef.button || [];
+ return btns
+ },
+ initialEvent() {
+ let event = (this.head_styledef.event || []).find((e) => e.event_id == "initial");
+ return {
+ id: event?.scrip_id || "",
+ name: event?.scrip_name || "",
+ };
+ },
+ },
+
+ methods: {
+
+ setData: function(obj) {
+ let that = this;
+ let keys = [];
+ let val, data;
+
+ Object.keys(obj).forEach(function(key) {
+ keys = key.split(".");
+ val = obj[key];
+ data = that.$data;
+ keys.forEach(function(key2, index) {
+ if (index + 1 == keys.length) {
+ that.$set(data, key2, val);
+ } else {
+ if (!data[key2]) {
+ that.$set(data, key2, {});
+ }
+ }
+ data = data[key2];
+ });
+ });
+ },
+ async loadData(paramValue) {
+ try {
+ showLoading("loading...")
+ //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�+ await this.Head_UIStyleGetInfo(this.param.DataCls?.id, this.param.UI_Style?.ID);
+ //浼犲叆鍙傛暟鍊�+ if (paramValue) {
+
+ this.setFormValues(paramValue)
+ }
+ await this.loadInitialEvent();
+ hideLoading()
+ } catch (ex) {
+ hideLoading()
+ showError(ex, this.translateSys("error"));
+ }
+
+ },
+ async loadInitialEvent() {
+ try {
+ var eventid = this.initialEvent?.id; //鍐呭鍙樺寲鍚庝簨浠�+ if (eventid) {
+ // self.event_no_sub = 1;
+ let obj_attr = this.head_styledef.form.model;
+ let req = {
+ id: "",
+ attrs: Object.keys(obj_attr).map((a) => ({
+ attr: a,
+ value: obj_attr[a],
+ })),
+ };
+
+ var info = {
+ eventid: eventid,
+ edtype: "0",
+ projectid: '',
+ rclsid: '',
+ robjid: '',
+ userlogin: '',
+ clsid: this.param.DataCls.id,
+ objid: "",
+ attr: req,
+ dataJson: []
+ }
+ this.DataObjRunCustomEvent(info);
+ }
+
+ } catch (ex) {
+ showError(ex, this.translateSys("error"))
+
+
+ }
+ },
+ async Head_UIStyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�+ var $this = this;
+ var dataInfo = {
+ class_id: class_id,
+ ui_style_id: style_id,
+ };
+ try {
+ const ret = await getUIStyleInfo(dataInfo)
+ var styledef = "";
+ if (ret.style_def) {
+ //mobox2鐨剆tyle_def鏄痡son瀛楃涓�+ styledef = ret.style_def.replace(/\\/g, "");
+ //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�+ if (!ret.style_def.includes('"')) styledef = Base64.decode(ret.style_def);
+ }
+ const styledefHead = styledef ? JSON.parse(styledef) : {};
+ if (styledefHead?.form?.items) {
+ for (let i in styledefHead.form.items) {
+ const ele = styledefHead.form.items[i]
+ if (ele.name != "Layout") {
+ ele.show = true
+ if (ele?.useDict) {
+ //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
+ 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.selections = selections.map((a) => {
+ return {
+ value: a.value,
+ text: a.label
+ }
+ })
+ }
+ }
+ if ($this.focusFieldId == "") {
+ if (ele.name == 'Input' || ele.name ==
+ 'InputNumber') {
+ $this.setData({
+ focusFieldId: ele.fieldId
+ })
+ }
+ }
+ } else {
+ for (let j in ele.setting.colList) {
+ const col = ele.setting.colList[j]
+ if (col) {
+ col.show = true
+ if (col?.useDict) {
+ //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
+ await $this.DictGetInfo(col.bind
+ .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.selections = selections.map((a) => {
+ return {
+ value: a.value,
+ text: a.label
+ }
+ })
+ }
+ }
+ if ($this.focusFieldId == "") {
+ if (col.name == 'Input' || col
+ .name ==
+ 'InputNumber') {
+ $this.setData({
+ focusFieldId: col
+ .fieldId
+ })
+ }
+ }
+ }
+ }
+ }
+ }
+ 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
+ }
+
+ }
+ $this.setData({
+ head_styledef: styledefHead
+ })
+ if ($this.head_styledef.event) {
+ $this.head_styledef.event.forEach(async (a) => { //鍒ゆ柇鏄惁鏄垵濮嬪寲浜嬩欢
+ if (a.event_id == "initial") {
+ await $this.loadInitEvent(a.scrip_id);
+ } else if (a.event_id == 'after_ok') {
+ $this.after_ok = {
+ id: a.scrip_id,
+ name: a.scrip_name
+ };
+ }
+ });
+ }
+ } catch (ex) {
+ // console.log(ex);
+ showError(ex, this.translateSys("error") + " 1.1")
+ }
+ },
+ async DictGetInfo(dict, formModel, formItem) { //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�+ try {
+ var $this = this;
+ var dataInfo = {
+ dict_id: dict.id,
+ dict_name: dict.name
+ };
+
+ const res = await dictGetInfo(dataInfo)
+ var list = [];
+ var itemName = '';
+ (res.dict_item_list || []).forEach((item) => {
+ if (item.is_default == '1')
+ itemName = item.name
+ list.push({
+ text: item.value ? item.value : item.name,
+ value: item.name,
+ });
});
//鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
- if(itemName){
- $this.head_styledef.form.items[index].value=itemName;
- var attr = $this.head_styledef.form.items[index].fieldId;
- $this.head_styledef.form.model[attr] = itemName;
+ if (itemName) {
+ formItem.value = itemName;
+ formModel[formItem.fieldId] = itemName;
}
- $this.head_styledef.form.items[index].dict=list;
- // $this.head_styledef.form.items[index].dictitem=success.result;
- // this.$store.commit("classAttrList", $this.$data.classAttrList);
- }else{
- // $this.$data.subClassAttrList[index].attr_list[key].dictitem=success.result;
- // this.$store.commit("subClassAttrList", $this.$data.subClassAttrList);
+ formItem.dict = list;
+ } catch (ex) {
+ showError(ex, this.translateSys("error") + " 1.3")
+
+
}
-
- }else{
- uni.showModal({title:"閿欒1.2",content:success.err_msg,showCancel:false,confirmText:"鍙栨秷"});
- }
- }).catch(ex=>{
- // console.log(ex);
- uni.showModal({title:"閿欒1.3",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
- });
- },
-
- ontap(item){ //鎵爜鍔熻兘
- //console.log(e.target)
- getApp().onScan((result)=>{
- //console.log(result.decodedata);
- uni.hideKeyboard();
- var $this = this;
- console.log(item);
- if(item.oldvalue != result.decodedata){
- item.oldvalue = result.decodedata;
- item.value = result.decodedata;
- var attr = item.fieldId;
- $this.head_styledef.form.model[attr] = result.decodedata;
- if(result.decodedata){ //绗竴涓緭鍏ユ涓嶄负绌�- $this.focusMateria = true; //鍒濆鍖栵紝绗簩涓緭鍏ユfocus灞炴�
- // setTimeout(function(){
- // $this.focusMateria=true; //绗簩涓緭鍏ユ鑾峰彇鐒︾偣
- setTimeout(function(){
- uni.hideKeyboard();
- },100);
- // },500);
+ },
+
+ async loadInitEvent(eventid) {
+ try {
+ var $this = this;
+ if (!eventid.includes('{')) eventid = '{' + eventid + '}';
+ var dataInfo = {
+ ed_type: 0,
+ start_transaction: true,
+ class_id: this.param.DataCls.id,
+ event_id: eventid,
+ };
+ console.log(dataInfo);
+ var data = await runCustomEvent(dataInfo)
+ if (data.ret != 0 && data.ret != 1) {
+ let cls_name = data.event_info?.cls_name
+ let event_name = data.event_info?.event_name
+ tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info : data.err_info.join(
+ '\n') : ''
+ if (data.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos + 1);
+ }
+ }
+ if (cls_name && event_name) tip = `鎵ц鈥�{cls_name}鈥濇暟鎹被鐨勨�${event_name}鈥濊剼鏈椂杩斿洖閿欒锛�{tip}`
+ if (data.ret == 801) showInfo(tip)
+ else showError(`${tip}锛屾彁绀猴細${data.ret}`, this.translateSys('tip'))
+ this.saving = false
+ return false
+ } else {
+ var tip = data.info ? typeof data.info == 'string' ? data.info :
+ data.info.join('\n') : '';
+ tip = tip || data.err_info
+ let time = data.info_time || 0
+ if (time)
+ showError(tip, this.translateSys('tip'))
+ else
+ showInfo(tip)
+ if ([0, 2, 3, 4, -1].includes(data.result_type)) {
+
+ if (data.result_type == 2) {
+
+ } else if (typeof data.result == 'string') {
+ if (data.result) {
+ showInfo(data.result)
+ }
+ }
+ try {
+ var actionlist = data.action || []
+ for (var i = 0; i < actionlist.length; i++) {
+ var action = actionlist[i];
+ if (action.action_type == 'set_dlg_attr') {
+ var result = action.value;
+ $this.setFormValues(result)
+ } else if (action.action_type == 'set_dlg_attr_show') {
+ var result = action.value;
+ $this.hideFormItems(result)
+ // console.log($this.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 {
+ showInfo($this.translate(
+ 'execute_init_event_failed') +
+ $this.translateSys("full_stop") +
+ $this.translate('reason') + $this
+ .translateSys(
+ "colon") +
+ $this.translateSys("quotation_mark_left") +
+ action
+ .action_type + $this.translateSys(
+ "quotation_mark_right") + $this
+ .translate('tip_action_unprocessed'))
+
+ }
+ }
+
+ } catch (ex) {
+ let actionList = (data.action || []).map(a => a.action_type).join(';')
+ let tip = typeof ex == 'string' ? ex : ex.message
+ tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+ showError(tip, this.translateSys('tip'))
+ return
+ }
+ }
+ }
+ } catch (ex) {
+ showError(ex, this.translateSys("error") + " 3")
+
}
- var eventid = item.bind.onChangeEvent.id; //鍐呭鍙樺寲鍚庝簨浠�+ },
+
+
+ ontap(item) { //鎵爜鍔熻兘
+
+ this.focusOldFieldId = item.fieldId
+ getApp().onScan((result) => {
+ console.log(result);
+ // uni.hideKeyboard();
+ this.onScanValue(item, result)
+ })
+ },
+ onScanValue(item, value) {
+ const $this = this;
+ console.log("onScanValue", value);
+ item.value = value
+ let newVal = item.value
+ if (typeof item.value == "string") {
+ newVal = item.value.trim()
+ }
+ if (newVal) {
+ item.oldvalue = newVal;
+ var attr = item.fieldId;
+ $this.head_styledef.form.model[attr] = newVal;
+ var eventid = item.bind.onChangeEvent.id; //鍐呭鍙樺寲鍚庝簨浠�+ if (eventid) {
+ var obj_attr = this.head_styledef.form.model;
+ // console.log(obj_attr);
+ var req = Object.keys(obj_attr).map((a) => ({
+ attr: a,
+ value: obj_attr[a] || "",
+ }));
+
+ var info = {
+ eventid: eventid,
+ edtype: "0",
+ projectid: '',
+ rclsid: '',
+ robjid: '',
+ userlogin: '',
+ clsid: this.param.DataCls.id,
+ objid: "",
+ attr: req,
+ dataJson: [],
+ }
+ this.DataObjRunCustomEvent(info, '');
+ }
+ //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴�
+ 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) {
+ // console.log("onClick",item);
+ if (item.name == "Input" || item.name == "InputNumber" || item.name == "Textarea") {
+ this.focusFieldId = item.fieldId
+ } else if (item.name == "ImageButton") {
+
+ var onClickEvent = item.bind.onClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�+
+ if (!onClickEvent.id) {
+ showInfo(this.translate('icon_click_event_empty'))
+ return;
+ }
+ this.onChange(onClickEvent);
+ }
+ },
+ onEnterChange(item) {
+ let newVal = item.value
+ if (typeof item.value == "string") {
+ newVal = item.value.trim()
+ if (!newVal) {
+ item.oldvalue = newVal;
+ var attr = item.fieldId;
+ this.head_styledef.form.model[attr] = newVal;
+ return
+ }
+ }
+ if (item.oldvalue != newVal) {
+ item.oldvalue = newVal;
+ var attr = item.fieldId;
+ this.head_styledef.form.model[attr] = newVal;
+ var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�+ // this.onScanValue(this.head_styledef.form.items[2].setting.colList[0], "test")
+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�+ this.onChange(onChangeEvent);
+ }
+ }
+
+ },
+ // 鍐呭鍙樺寲鍚庝簨浠�+ async onChange(event) {
+ var eventid = event?.id; //鍐呭鍙樺寲鍚庝簨浠� if (eventid) {
- var obj_attr = this.head_styledef.form.model;
- // console.log(obj_attr);
- var req = Object.keys(obj_attr).map((a) => ({
- attr: a,
- val: obj_attr[a] || "",
- }));
-
- var info = {
- eventid: eventid,
- edtype: "0",
- projectid: '',
- rclsid: '',
- robjid: '',
- userlogin: '',
- clsid: this.$data.param.DataCls.id,
- objid: "",
- attr: req,
- dataJson:[],
- }
- this.DataObjRunCustomEvent(info, '');
- }
- }
- })
- },
- onevent(item){
- // console.log(e.target);
- var $this = this;
- console.log(item);
- if(item.oldvalue != item.value){
- item.oldvalue = item.value;
- item.value = item.value;
- var attr = item.fieldId;
- $this.head_styledef.form.model[attr] = item.value;
- //瀛愭暟鎹被鎵爜鍖轰簨浠惰剼鏈�- var eventid = item.bind.onChangeEvent.id; //鍐呭鍙樺寲鍚庝簨浠�- if (eventid) {
- var obj_attr = this.head_styledef.form.model;
- // console.log(obj_attr);
- var req = Object.keys(obj_attr).map((a) => ({
- attr: a,
- val: obj_attr[a] || "",
- }));
- var info = {
- eventid: eventid,
- edtype: "0",
- projectid: '',
- rclsid: '',
- robjid: '',
- userlogin: '',
- clsid: this.$data.param.DataCls.id,
- objid: "",
- attr: req,
- dataJson:[],
- }
- this.DataObjRunCustomEvent(info, data_attr);
- }
- }
-
- },
- onchange(item) {
- console.log(item);
- var $this = this;
- if(item.oldvalue != item.value){
- item.oldvalue = item.value;
- var attr = item.fieldId;
- $this.head_styledef.form.model[attr] = item.value;
- var eventid = item.bind.onChangeEvent.id; //鍐呭鍙樺寲鍚庝簨浠�- if (eventid) {
- // self.event_no_sub = 1;
- var obj_attr = this.head_styledef.form.model;
- // console.log(obj_attr);
- var req = Object.keys(obj_attr).map((a) => ({
- attr: a,
- val: obj_attr[a] || "",
- }));
- var info = {
- eventid: eventid,
- edtype: "0",
- projectid: '',
- rclsid: '',
- robjid: '',
- userlogin: '',
- clsid: this.$data.param.DataCls.id,
- objid: "",
- attr: req,
- dataJson:[]
- }
- this.DataObjRunCustomEvent(info);
- }
- }
-
- },
- onModelValue(item) { //缁戝畾Model鍊�- var attr = item.fieldId;
- this.head_styledef.form.model[attr] = item.value;
- var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�- var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�-
- if(!onSuffixClickCallbackEvent.id){
- uni.showModal({title:"鎻愮ず",content:"鍚庡浘鏍囩偣鍑讳簨浠朵负绌猴紒",showCancel:false,confirmText:"鍙栨秷"});
- return;
- }
- if(!onSuffixClickEvent.id){
- uni.showModal({title:"鎻愮ず",content:"鍚庡浘鏍囩偣鍑诲洖璋冧负绌猴紒",showCancel:false,confirmText:"鍙栨秷"});
- return;
- }
- this.$data.popupType = 'right'
- // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴�
- this.$refs.popup.open($this.popupType);
-
- this.DataObjRunCustomEvent_Return(onSuffixClickCallbackEvent.id, '', onSuffixClickEvent.id, item);
- },
- popupChange(e) {
- console.log('褰撳墠妯″紡锛� + e.type + ',鐘舵�锛� + e.show);
- },
- checkChange(e){ //寮规check閫夋嫨
- // console.log(e.target.dataset);
- var index = e.target.dataset.index;
- var ischeck = e.target.dataset.ischeck;
- var data = this.$data.check_list.items;
- // this.$data.check_list.items=[];
- if(this.$data.check_list.multiple_choice=="0"){ //鍒ゆ柇鏃跺崟閫夎繕鏄閫�- for(var i in data){
- data[i].check=false;
- }
- }
- data[index].check=ischeck?false:true;
- this.$data.check_list.items=data;
-
- },
- popup_cancel(e){ //寮规鍙栨秷
- this.$refs.popup.close();
- },
- popup_sava(e){ //寮规纭畾
- var $this = this;
- var items = $this.$data.check_list.items;
- var data=[];
- var name="";
- for (var i = 0; i < items.length; i++) {
- if(items[i].check==true){
- if(name)
- name+=';';
- name+=items[i].name;
- data.push({id:items[i].id,name:items[i].name});
- }
- }
- if(!$this.$data.popupParam){
- uni.showModal({title:"鎻愮ず",content:"popupParam涓虹┖锛�,showCancel:false,confirmText:"鍙栨秷"});
- return;
- }
-
- var fieldId = $this.$data.popupParam.item.fieldId;
- $this.head_styledef.form.model[attr] = name;
- 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);
- var callback_eventid = $this.$data.popupParam.button_callback.trim();
- var info = {
- eventid: callback_eventid,
- edtype: "0",
- projectid: '',
- rclsid: '',
- robjid: '',
- userlogin: '',
- clsid: $this.$data.param.DataCls.id,
- objid: "",
- attr: $this.$data.popupParam.req,
- dataJson: data
- }
- $this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr);
- this.$refs.popup.close();
- },
-
- DataObjRunCustomEvent(info,data_attr){
- var $this = this;
- var enviroment = {
- 'function': '3000', // 鍔熻兘鐐圭紪鍙�- cls_id: this.$data.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�- 'button': 'top', // top/bottom
- button_name: '鏂板',
- master: {
- cls_id: this.$data.param.DataCls.id, // button=bottom鏃�master鐨刢ls_id
- //obj_id: '' // button=bottom鏃�master鐨刼bj_id
- }
- };
- if(data_attr){
- enviroment.edit_dlg = {
- type: 'small',//灏忕獥鍙�- class_id: this.$data.param.DataCls.id,//褰撳墠鏁版嵁绫籭d
- }
- if (data_attr) {
- enviroment.edit_dlg.form_control = {//鎵�睘鐨勮〃鍗曟帶浠�- name: data_attr.Name,//瀛楁灞炴�
- text: data_attr.DispName,//鏄剧ず鏂囨湰
- group_name: data_attr.GroupName,//灞炴�缁�- type: data_attr.Type,//瀛楁绫诲瀷
- readonly: data_attr.ReadOnly,//鏄惁鍙
- button_img: data_attr.button_img,//寮曠敤鎸夐挳鐨勫浘鏍�- button_tooltip: data_attr.button_tooltip//寮曠敤鎸夐挳鐨則ooltip
- }
- }
- }
-
- // var dataInfo = {
- // edtype: info.edtype, eventid: info.eventid, projectid: info.projectid.replace('{','').replace('}',''),
- // rclsid: info.rclsid, robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid,
- // attr: JSON.stringify(info.attr), extinfo: JSON.stringify(enviroment), inputparameter: "",
- // global_attr: JSON.stringify(this.$data.global_attr), dataJson:JSON.stringify(info.dataJson)
- // }
- enviroment = Base64.encode(JSON.stringify(enviroment));//灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
- var input_param = Base64.encode(JSON.stringify(info.attr));//灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
- var global_attr = Base64.encode(JSON.stringify(this.$data.global_attr));//灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
- if(info.dataJson)
- info.dataJson = Base64.encode(JSON.stringify(info.dataJson));//灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
- var obj_attr={};
- info.attr.forEach(item=>{
- obj_attr[item.attr] = item.val;
- });
- if(!info.eventid.includes('{')) info.eventid = '{'+info.eventid+'}';
- var dataInfo={
- ed_type: info.edtype,
- start_transaction: true,
- class_id: info.clsid,
- class_name: '',
- event_id: info.eventid,
- event_name: '',
- data_obj_id: info.objid,
- obj_attr: obj_attr,
- prj_id: info.projectid,
- ref_cls_id: info.rclsid,
- rel_obj_id: info.robjid,
- user_login: info.userlogin,
- data_json: info.dataJson,
- compose_info: '',
- ext_info: enviroment,
- global_attr: global_attr,
- input_param: input_param,
- };
- console.log(dataInfo);
- // return;
- this.$store.dispatch('runCustomEvent',dataInfo).then(success=>{
- console.log(success);
- if (success.err_code == 0) {
- var data = success.result;
- if (data.ret != 0) {
- var tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info : data.err_info.join('<br/>') : '';
- if (data.ret == 801) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"});
- else uni.showModal({title:'鎻愮ず',content:tip+',鎻愮ず:'+data.ret,showCancel:false,confirmText:"鍙栨秷"});
- return false
- }else{
- var tip = data.info ? typeof data.info == 'string' ? data.info : data.info.join('<br/>') : '';
- if (tip) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"});
-
- 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') {
- 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;
- }
- }
- });
+ // self.event_no_sub = 1;
+ var obj_attr = this.head_styledef.form.model;
+ // console.log(obj_attr);
+ var req = Object.keys(obj_attr).map((a) => ({
+ attr: a,
+ value: obj_attr[a] || "",
+ }));
+ var info = {
+ eventid: eventid,
+ edtype: "0",
+ projectid: '',
+ rclsid: '',
+ robjid: '',
+ userlogin: '',
+ clsid: this.param.DataCls.id,
+ objid: "",
+ attr: req,
+ dataJson: []
+ }
+ this.DataObjRunCustomEvent(info);
+ }
+
+ },
+ async onFormEventResult( data, callbackEventId, item,req) {
+ try {
+ const $this = this
+ var enviroment = {
+ 'function': '3000', // 鍔熻兘鐐圭紪鍙�+ cls_id: $this.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ 'button': 'top', // top/bottom
+ button_name: $this.translateSys('add2'),
+ master: {
+ cls_id: $this.param.DataCls.id, // button=bottom鏃�master鐨刢ls_id
+ //obj_id: '' // button=bottom鏃�master鐨刼bj_id
+ }
+ };
+ if (data.ret != 0 && data.ret != 1) {
+
+ let cls_name = data.event_info?.cls_name
+ let event_name = data.event_info?.event_name
+ tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info : data
+ .err_info
+ .join('\n') : ''
+ if (data.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos + 1);
+ }
+ }
+ if (cls_name && event_name) tip =
+ `鎵ц鈥�{cls_name}鈥濇暟鎹被鐨勨�${event_name}鈥濊剼鏈椂杩斿洖閿欒锛�{tip}`
+ if (data.ret == 801) showInfo(tip)
+ else showError(`${tip}锛屾彁绀猴細${data.ret}`, this.translateSys('tip'))
+ this.saving = false
+ return false
+ } else {
+ var tip = data.info ? typeof data.info == 'string' ? data.info :
+ data.info.join('\n') : '';
+ tip = tip || data.err_info
+ let time = data.info_time || 0
+ if (time)
+ showError(tip, this.translateSys('tip'))
+ else
+ showInfo(tip)
+ if ([0, 2, 3, 4, -1].includes(data.result_type)) {
+ if (data.result_type == 2) {
+ $this.setFormValues(data.result || [])
+ } else if (typeof data.result == 'string') {
+ if (data.result) {
+ showInfo(data.result)
+ }
+ }
+ try {
+ var actionlist = data.action || []
+ var enviroment = JSON.stringify(enviroment);
+ for (var i = 0; i < actionlist.length; i++) {
+ var action = actionlist[i];
+ if (action.action_type == 'set_dlg_attr') {
+ var result = action.value;
+ $this.setFormValues(result)
+ } else if (action.action_type == 'set_dlg_attr_show') {
+ var result = action.value;
+ $this.hideFormItems(result)
+ // console.log($this.head_styledef);
+ } else if (action.action_type == 'set_global_attr') {
+ $this.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 if (action.action_type == 'open_panel') {
+ 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(
+ "quotation_mark_right") +
+ $this.translate(
+ "tip_action_unprocessed")
+ });
+ d.show();
+ } else if (action.action_type ==
+ 'open_select_userdlg') {
+ var style = val.style;
+ // style == 'user' ? '閫夋嫨浜哄憳' : style == 'department' ? '閫夋嫨閮ㄩ棬' : style == 'role' ? '閫夋嫨瑙掕壊' : ''
+ var param = {
+ item: item,
+ button_callback: button_callback,
+ req: req,
+ data_attr: data_attr
+ }
+ uni.navigateTo({
+ url: '../selpsn/index?mulit=false¶m=' +
+ JSON
+ .stringify(
+ param),
+ events: {
+ AddPer(data, param) {
+ // console.log(param);
+ console.log(data);
+ var callback_eventid = param
+ .button_callback
+ .trim();
+ var info = {
+ eventid: callback_eventid,
+ edtype: "0",
+ projectid: '',
+ rclsid: '',
+ robjid: '',
+ userlogin: '',
+ clsid: $this.param
+ .DataCls
+ .id,
+ objid: "",
+ attr: param.req,
+ inputparameter: data,
+ dataJson: [],
+ }
+ $this.DataObjRunCustomEvent(
+ info,
+ param
+ .data_attr);
+ }
}
-
- }
- }
- 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);
- //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�- 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 (action.action_type ==
+ 'open_data_query_dlg') {
+ 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(
+ "quotation_mark_right") + $this
+ .translate(
+ "tip_action_unprocessed")
+ });
+ d.show();
+ } else if (action.action_type == 'open_common_dlg') {
+
+ if (val.common_dlg_id == 'check_list') {
+
+ $this.setData({
+ check_list: val.config
+ })
+ if (val.config.appear_style ==
+ 'sideslip') //鍒ゆ柇鏄惁鏄晶婊�+ $this.setData({
+ popupType: "right"
+ })
+ else
+ $this.setData({
+ popupType: "center"
+ })
+ // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴�
+ $this.$refs.popup.open($this.popupType);
+ var popupParam = {
+ item: item,
+ button_callback: button_callback,
+ req: req,
+ data_attr: data_attr
}
+ $this.setData({
+ popupParam: popupParam
+ })
}
+ } else if (action.action_type ==
+ 'open_project_query_dlg') {
+ //console.log(action.value.select_range);
+ //console.log(action.value.mulit_select);
+ var priRel = '-1';
+ if (action.value.select_range == '鍏ㄩ儴鐩稿叧')
+ priRel = '0';
+ else if (action.value.select_range == '鎴戣礋璐g殑椤圭洰')
+ priRel = '1';
+ else if (action.value.select_range == '鎴戝垱寤虹殑')
+ priRel = '2';
+ else if (action.value.select_range == '鎴戝弬涓庣殑' ||
+ action
+ .value
+ .select_range == '鎴戝弬鍔犵殑')
+ priRel = '3';
+ else if (action.value.select_range == '鎴戝叧娉ㄧ殑')
+ priRel = '4';
+ else if (action.value.select_range == '鎴戜笅灞炵殑椤圭洰')
+ priRel = '5';
+ var param_ = {
+ item: item,
+ button_callback: button_callback,
+ req: req
+ }
+ uni.navigateTo({
+ url: '../selPrj/index?relation=' +
+ priRel +
+ '¶m=' +
+ JSON.stringify(param_),
+ events: {
+ AddPer(data, param) {
+ var attr = param.item.fieldId;
+ $this.head_styledef.form.model[
+ attr] =
+ data[0].ID +
+ ';' + data[0].Name;
+
+ // $this.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name;
+ // $this.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name;
+ var callback_eventid = param
+ .button_callback
+ .trim();
+ if (callback_eventid) {
+ var info = {
+ eventid: callback_eventid,
+ edtype: "2",
+ projectid: data[0]
+ .ID,
+ rclsid: "",
+ robjid: "",
+ userlogin: "",
+ clsid: $this.$data
+ .param
+ .DataCls.id,
+ objid: "",
+ attr: param.req,
+ dataJson: [],
+ }
+
+ $this
+ .DataObjRunCustomEvent(
+ info);
+ }
+ }
+ }
+ });
+ } else {
+ showInfo(this.translateSys(
+ "quotation_mark_left") +
+ action
+ .action_type + this.translateSys(
+ "quotation_mark_right") + this
+ .translate(
+ "tip_action_unprocessed"))
+
}
}
- } else if (data.action[i].action_type == 'set_global_attr') {
- $this.$data.global_attr = data.action[i].value || [];
+ } catch (ex) {
+ let actionList = (data.action || []).map(a => a.action_type).join(';')
+ let tip = typeof ex == 'string' ? ex : ex.message
+ tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+ showError(tip, this.translateSys('tip'))
+ return
}
+
}
}
- // var head_styledef = JSON.parse(JSON.stringify($this.head_styledef));
- // $this.head_styledef=[];
- // $this.head_styledef = head_styledef;
- console.log($this.head_styledef);
-
- if (data.result) {
- var result = data.result;
- for (var i = 0; i < result.length; i++) {
- for (var c = 0; c < $this.$data.head_styledef.form.items.length; c++) {
- var attr = $this.$data.head_styledef.form.items[c];
- //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�- 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;
- }
- }
- }
- }
+
+ } catch (ex) {
+ showError(ex, this.translateSys("error") + "10.1")
+ }
+ },
+ classAttr_extButton(item) {
+ var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�+ var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�+
+ if (!onSuffixClickCallbackEvent.id) {
+ showInfo(this.translate('icon_click_callback_empty'))
+
+ return;
+ }
+ if (!onSuffixClickEvent.id) {
+ showInfo(this.translate('icon_click_event_empty'))
+
+ return;
+ }
+ this.popupType = 'right'
+ // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴�
+ this.$refs.popup.open(this.popupType);
+
+ this.dataObjRunCustomEvent_Return(onSuffixClickEvent.id, onSuffixClickCallbackEvent
+ .id,
+ item);
+ },
+ popupChange(e) {
+ console.log('褰撳墠妯″紡锛� + e.type + ',鐘舵�锛� + e.show);
+ },
+ checkChange(e) { //寮规check閫夋嫨
+ // console.log(e.target.dataset);
+ var index = e.target.dataset.index;
+ var ischeck = e.target.dataset.ischeck;
+ var data = this.check_list.items;
+ // this.check_list.items=[];
+ if (this.check_list.multiple_choice == "0") { //鍒ゆ柇鏃跺崟閫夎繕鏄閫�+ for (var i in data) {
+ data[i].check = false;
}
}
- }else{
- uni.showModal({title:"閿欒3",content:success.err_msg,showCancel:false,confirmText:"鍙栨秷"});
- }
- }).catch(ex=>{
- // console.log(ex);
- uni.showModal({title:"閿欒3.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
- });
- },
- DataObjRunCustomEvent_Return(eventid,data_attr,button_callback,item){
- var enviroment = {
- 'function': '3000', // 鍔熻兘鐐圭紪鍙�- cls_id: this.$data.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�- 'button': 'top', // top/bottom
- button_name: '鏂板',
- master: {
- cls_id: this.$data.param.DataCls.id, // button=bottom鏃�master鐨刢ls_id
- //obj_id: '' // button=bottom鏃�master鐨刼bj_id
- }
- };
- var obj_attr = this.head_styledef.form.model;
- // console.log(obj_attr);
- var req = Object.keys(obj_attr).map((a) => ({
- attr: a,
- val: obj_attr[a] || "",
- }));
- if (this.$data.refdatastore.length > 0) {
- for (var i = 0; i < this.$data.refdatastore.length; i++) {
- if (!req.filter(function (s) {
- return this.$data.refdatastore[i].attr == s.name
- }).length) {
- length = 1;
- req.push({ 'attr': this.$data.refdatastore[i].attr, 'val': this.$data.refdatastore[i].value });
- }
- }
- }
- var extinfo = enviroment;
- extinfo.edit_dlg = {
- type: 'small',//灏忕獥鍙�- class_id: this.$data.param.DataCls.id,//褰撳墠鏁版嵁绫籭d
- }
- // var dataInfo = {
- // edtype: "0", eventid: eventid, projectid: '',rclsid: '', robjid: '', userlogin: '',
- // clsid: this.$data.param.DataCls.id, objid: '',attr: JSON.stringify(req),
- // extinfo: JSON.stringify(extinfo), global_attr: JSON.stringify(this.$data.global_attr)
- // }
- extinfo = Base64.encode(JSON.stringify(extinfo));//灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
- var global_attr = Base64.encode(JSON.stringify(this.$data.global_attr));//灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
- var obj_attr={};
- req.forEach(item=>{
- obj_attr[item.attr] = item.val;
- });
- if(!eventid.includes('{')) eventid= '{'+ eventid +'}';
- var dataInfo={
- ed_type: "0",
- start_transaction: true,
- class_id: this.$data.param.DataCls.id,
- class_name: '',
- event_id: eventid,
- event_name: '',
- data_obj_id: '',
- obj_attr: obj_attr,
- prj_id: '',
- ref_cls_id: '',
- rel_obj_id: '',
- user_login: '',
- data_json: '',
- compose_info: '',
- ext_info: extinfo,
- global_attr: global_attr,
- input_param: '',
- };
- console.log(dataInfo);
- // return;
- this.$store.dispatch('runCustomEvent',dataInfo).then(success=>{
- console.log(success);
- if (success.err_code == 0) {
- var data = success.result;
- if (data.ret != 0) {
- var tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info : data.err_info.join('<br/>') : '';
- if (data.ret == 801) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"});
- else uni.showModal({title:'鎻愮ず',content:tip+',鎻愮ず:'+data.ret,showCancel:false,confirmText:"鍙栨秷"});
- return false
- }else{
- var tip = data.info ? typeof data.info == 'string' ? data.info : data.info.join('<br/>') : '';
- if (tip) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"});
-
- if (data != "") {
- var actions = data.action;
- console.log(actions);
- if (actions) {
- for (var i = 0; i < actions.length; i++) {
- var action = actions[i];
- var val = action.value;
- var enviroment = JSON.stringify(enviroment);
-
- if (action.action_type == 'open_panel') {
- var d = dialog({
- title: '<i class="ace-icon fa fa-info-circle"></i> ' + '鎻愮ず',
- content: action.action_type + '姝ction灏氭湭澶勭悊锛�
- });
- d.show();
+ data[index].check = ischeck ? false : true;
+ this.check_list.items = data;
+
+ },
+ popup_cancel(e) { //寮规鍙栨秷
+ this.$refs.popup.close();
+ },
+ popup_sava(e) { //寮规纭畾
+ var $this = this;
+ var items = $this.check_list.items;
+ var data = [];
+ var name = "";
+ for (var i = 0; i < items.length; i++) {
+ if (items[i].check == true) {
+ if (name)
+ name += ';';
+ name += items[i].name;
+ data.push({
+ id: items[i].id,
+ name: items[i].name
+ });
+ }
+ }
+ if (!$this.popupParam) {
+ showInfo("popupParam涓虹┖锛�)
+
+ return;
+ }
+ if (data.length == 0) {
+ showInfo(this.translate("tip_no_select_data"))
+
+ return;
+ }
+ var callback_eventid = $this.popupParam.button_callback.trim();
+ var info = {
+ eventid: callback_eventid,
+ edtype: "0",
+ projectid: '',
+ rclsid: '',
+ robjid: '',
+ userlogin: '',
+ clsid: $this.param.DataCls.id,
+ objid: "",
+ attr: $this.popupParam.req || [],
+ dataJson: data
+ }
+ $this.DataObjRunCustomEvent(info, $this.popupParam.data_attr);
+ this.$refs.popup.close();
+ },
+
+ async DataObjRunCustomEvent(info, data_attr) {
+ try {
+ var $this = this;
+ if (!info.eventid)
+ return
+ showLoading("loading...")
+ var enviroment = {
+ 'function': '3000', // 鍔熻兘鐐圭紪鍙�+ cls_id: this.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ 'button': 'top', // top/bottom
+ button_name: this.translateSys('add2'),
+ master: {
+ cls_id: this.param.DataCls.id, // button=bottom鏃�master鐨刢ls_id
+ //obj_id: '' // button=bottom鏃�master鐨刼bj_id
+ }
+ };
+ if (data_attr) {
+ enviroment.edit_dlg = {
+ type: 'small', //灏忕獥鍙�+ class_id: this.param.DataCls.id, //褰撳墠鏁版嵁绫籭d
+ }
+ if (data_attr) {
+ enviroment.edit_dlg.form_control = { //鎵�睘鐨勮〃鍗曟帶浠�+ name: data_attr.Name, //瀛楁灞炴�
+ text: data_attr.DispName, //鏄剧ず鏂囨湰
+ group_name: data_attr.GroupName, //灞炴�缁�+ type: data_attr.Type, //瀛楁绫诲瀷
+ readonly: data_attr.ReadOnly, //鏄惁鍙
+ button_img: data_attr.button_img, //寮曠敤鎸夐挳鐨勫浘鏍�+ button_tooltip: data_attr.button_tooltip //寮曠敤鎸夐挳鐨則ooltip
}
- else if (action.action_type == 'open_select_userdlg') {
- var style = val.style;
- // style == 'user' ? '閫夋嫨浜哄憳' : style == 'department' ? '閫夋嫨閮ㄩ棬' : style == 'role' ? '閫夋嫨瑙掕壊' : ''
- var $this = this;
- var param={
- item: item,
- button_callback:button_callback,
- req:req,
- data_attr:data_attr
- }
- uni.navigateTo({
- url:'../selpsn/index?mulit=false¶m='+JSON.stringify(param),
- events:{
- AddPer(data,param){
- // console.log(param);
- console.log(data);
- var callback_eventid = param.button_callback.trim();
- var info = {
- eventid: callback_eventid,
- edtype: "0",
- projectid: '',
- rclsid: '',
- robjid: '',
- userlogin: '',
- clsid: $this.$data.param.DataCls.id,
- objid: "",
- attr: param.req,
- inputparameter: data,
- dataJson:[],
- }
- $this.DataObjRunCustomEvent(info, param.data_attr);
- }
- }
- });
- }
- else if (action.action_type == 'open_data_query_dlg') {
- var d = dialog({
- title: '<i class="ace-icon fa fa-info-circle"></i> ' + '鎻愮ず',
- content: action.action_type + '姝ction灏氭湭澶勭悊锛�
- });
- d.show();
- }
- else if (action.action_type == 'open_common_dlg') {
- var $this = this;
- if(val.common_dlg_id == 'check_list'){
- $this.$data.check_list= val.config;
- if(val.config.appear_style == 'sideslip') //鍒ゆ柇鏄惁鏄晶婊�- $this.$data.popupType = 'right';
- else
- $this.$data.popupType = 'center'
- // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴�
- $this.$refs.popup.open($this.$data.popupType);
- var popupParam={
- item: item,
- button_callback:button_callback,
- req:req,
- data_attr:data_attr
- }
- $this.$data.popupParam= popupParam;
+ }
+ }
+ enviroment = Base64.encode(JSON.stringify(enviroment)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ var input_param = info.attr ? Base64.encode(JSON.stringify(info.attr)):"" //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ var global_attr = Base64.encode(JSON.stringify(this
+ .global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ if (info.dataJson)
+ info.dataJson = Base64.encode(JSON.stringify(info.dataJson)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ var obj_attr = {};
+ (info.attr || []).forEach(item => {
+ obj_attr[item.attr] = item.value;
+ });
+ if (!info.eventid.includes('{')) info.eventid = '{' + info.eventid + '}';
+ var dataInfo = {
+ ed_type: info.edtype,
+ start_transaction: true,
+ class_id: info.clsid,
+ class_name: '',
+ event_id: info.eventid,
+ event_name: '',
+ data_obj_id: info.objid,
+ obj_attr: obj_attr,
+ prj_id: info.projectid,
+ ref_cls_id: info.rclsid,
+ rel_obj_id: info.robjid,
+ user_login: info.userlogin,
+ data_json: info.dataJson,
+ compose_info: '',
+ ext_info: enviroment,
+ global_attr: global_attr,
+ input_param: input_param,
+ };
+ console.log(dataInfo);
+ // return;
+ runCustomEvent(dataInfo).then(data => {
+ hideLoading()
+ $this.onFormEventResult(data, "")
+
+ }).catch(ex => {
+ // console.log(ex);
+ showError(ex, this.translateSys("error") + " 3.1")
+
+ });
+ } catch (ex) {
+ hideLoading()
+ showError(ex, this.translateSys("error"));
+ }
+
+ },
+ dataObjRunCustomEvent_Return(eventid, button_callback, item) {
+ const $this = this
+ showLoading("loading...")
+ var enviroment = {
+ 'function': '3000', // 鍔熻兘鐐圭紪鍙�+ cls_id: $this.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ 'button': 'top', // top/bottom
+ button_name: $this.translateSys('add2'),
+ master: {
+ cls_id: $this.param.DataCls.id, // button=bottom鏃�master鐨刢ls_id
+ //obj_id: '' // button=bottom鏃�master鐨刼bj_id
+ }
+ };
+ var obj_attr = $this.head_styledef.form.model;
+ console.log(obj_attr);
+ var req = Object.keys(obj_attr).map((a) => ({
+ attr: a,
+ value: obj_attr[a] || "",
+ }));
+
+ var extinfo = enviroment;
+ extinfo.edit_dlg = {
+ type: 'small', //灏忕獥鍙�+ class_id: $this.param.DataCls.id, //褰撳墠鏁版嵁绫籭d
+ }
+ extinfo = Base64.encode(JSON.stringify(extinfo)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ var global_attr = Base64.encode(JSON.stringify($this
+ .global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ var obj_attr = {};
+ req.forEach(item2 => {
+ obj_attr[item2.attr] = item2.value;
+ });
+ let input_param = Base64.encode(
+ JSON.stringify(
+ Object.keys(obj_attr).map((a) => ({
+ attr: a,
+ value: obj_attr[a] || "",
+ }))
+ )
+ );
+
+ if (!eventid.includes('{')) eventid = '{' + eventid + '}';
+ var dataInfo = {
+ ed_type: "0",
+ start_transaction: true,
+ class_id: $this.param.DataCls.id,
+ class_name: '',
+ event_id: eventid,
+ event_name: '',
+ data_obj_id: '',
+ obj_attr: obj_attr,
+ prj_id: '',
+ ref_cls_id: '',
+ rel_obj_id: '',
+ user_login: '',
+ data_json: [],
+ compose_info: '',
+ ext_info: extinfo,
+ global_attr: global_attr,
+ input_param: input_param,
+ };
+ console.log(dataInfo);
+ // return;
+ runCustomEvent(dataInfo).then(data => {
+ hideLoading()
+ $this.onFormEventResult( data, button_callback,item,req)
+
+ }).catch(ex => {
+ // console.log(ex);
+ hideLoading()
+ showError(ex, this.translateSys("error") + " 5.1")
+
+ });
+ },
+
+ //纭畾
+ sava() {
+ this.handleButtonClick((done) => {
+ if (this.after_ok?.id) { // 鐐瑰嚮纭畾鎸夐挳鍚�+ this.afterOK();
+ } else {
+ this.add();
+ }
+ setTimeout(() => {
+ done(); // 閲嶇疆鐘舵�
+ }, 1000);
+ });
+
+
+ },
+ add() {
+ const $this = this
+ uni.showLoading({
+ title: this.translateSys("loading"),
+ mask: true
+ });
+ this.saving = true
+ var obj_attr = this.head_styledef.form.model || [];
+ console.log(obj_attr);
+ // var req = Object.keys(obj_attr).map((a) => ({
+ // name: a,
+ // value: obj_attr[a] || "",
+ // }));
+
+ var enviroment = {
+ 'function': '3000', // 鍔熻兘鐐圭紪鍙�+ cls_id: this.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ 'button': 'top', // top/bottom
+ button_name: this.translateSys('add2'),
+ master: {
+ cls_id: this.param.DataCls.id,
+ }
+ };
+ enviroment = Base64.encode(JSON.stringify(enviroment)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+
+
+ var dataInfo = {
+ class_id: this.param.DataCls.id,
+ class_name: '',
+ master_cls_id: '',
+ master_obj_id: '',
+ creator: '',
+ creator_name: '',
+ not_trigger_event: '',
+ update_exist: '',
+ post_process: '',
+ ext_info: enviroment,
+ obj_attr: obj_attr
+ };
+ console.log(dataInfo);
+ // return
+ dataObjCreate(dataInfo).then(res => {
+ uni.hideLoading();
+ let data = res.lua_result
+ if (data) {
+ if (data.ret != 0 && data.ret != 1) {
+ let cls_name = data.event_info?.cls_name
+ let event_name = data.event_info?.event_name
+ tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info : data.err_info
+ .join('\n') : ''
+ if (data.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos + 1);
}
}
- else if (action.action_type == 'open_project_query_dlg') {
- //console.log(action.value.select_range);
- //console.log(action.value.mulit_select);
- var priRel = '-1';
- if (action.value.select_range == '鍏ㄩ儴鐩稿叧')
- priRel = '0';
- else if (action.value.select_range == '鎴戣礋璐g殑椤圭洰')
- priRel = '1';
- else if (action.value.select_range == '鎴戝垱寤虹殑')
- priRel = '2';
- else if (action.value.select_range == '鎴戝弬涓庣殑' || action.value.select_range == '鎴戝弬鍔犵殑')
- priRel = '3';
- else if (action.value.select_range == '鎴戝叧娉ㄧ殑')
- priRel = '4';
- else if (action.value.select_range == '鎴戜笅灞炵殑椤圭洰')
- priRel = '5';
-
- var $this = this;
- var param_={
- item: item,
- button_callback:button_callback,
- req:req
- }
- uni.navigateTo({
- url:'../selPrj/index?relation='+priRel+'¶m='+JSON.stringify(param_),
- events:{
- AddPer(data,param){
- var attr = param.item.fieldId;
- $this.head_styledef.form.model[attr] = data[0].ID+';'+data[0].Name;
-
- // $this.$data.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name;
- // $this.$data.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name;
- var callback_eventid = param.button_callback.trim();
- if (callback_eventid) {
- var info = {
- eventid: callback_eventid,
- edtype: "2",
- projectid: data[0].ID,
- rclsid: "",
- robjid: "",
- userlogin: "",
- clsid: $this.$data.param.DataCls.id,
- objid: "",
- attr: param.req,
- dataJson:[],
- }
-
- $this.DataObjRunCustomEvent(info);
- }
- }
- }
+ if (cls_name && event_name) tip = `鎵ц鈥�{cls_name}鈥濇暟鎹被鐨勨�${event_name}鈥濊剼鏈椂杩斿洖閿欒锛�{tip}`
+ if (data.ret == 801) showInfo(tip)
+ else showError(`${tip}锛屾彁绀猴細${data.ret}`, this.translateSys('tip'))
+ this.saving = false
+ return false
+ } else {
+ var tip = data.info ? typeof data.info == 'string' ? data.info :
+ data.info.join('\n') : '';
+ tip = tip || data.err_info
+ if (tip) {
+ let time = data.info_time || 0
+ if (time)
+ showError(tip, this.translateSys('tip'))
+ elseshowInfo(tip)
+ } else {
+ showInfo(this.translate('create_success'));
+ }
+ if (!this.param.After_Btn_Not_Refresh) {
+ //鍒锋柊
+ uni.redirectTo({
+ url: '../modal/3018_2?param=' + JSON.stringify(this
+ .$data
+ .param) +
+ "&titlename=" + this.title
});
} else {
- var d = dialog({
- title: '<i class="ace-icon fa fa-info-circle"></i> ' + '鎻愮ず',
- content: action.action_type + '姝ction灏氭湭澶勭悊锛�
- });
- d.show();
+ if ([0, 2, 3, 4, -1].includes(data.result_type)) {
+ if (data.result_type == 2) {
+ $this.setFormValues(data.result || [])
+ } else if (typeof data.result == 'string') {
+ if (data.result) {
+ showInfo(data.result)
+
+ }
+ }
+ try {
+ var actionlist = data.action || []
+ 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
+ })
+ });
+ }
+ }
+
+ } catch (ex) {
+ let actionList = (data.action || []).map(a => a.action_type).join(';')
+ let tip = typeof ex == 'string' ? ex : ex.message
+ tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+ showError(tip, this.translateSys('tip'))
+ return
+ }
+ }
+
}
}
+ // this.class_attr_init();
}
- }else{
- uni.showModal({title:"鎻愮ず5.2",content: '璋冪敤 before_click_button 鑴氭湰杩斿洖绌猴紝event_id' + eventid,showCancel:false,confirmText:"鍙栨秷"});
+ this.saving = false
+ }).catch(ex => {
+ this.saving = false
+
+ uni.hideLoading();
+ showError(ex, this.translateSys("tip"))
+
+
+ });
+ },
+ setFormValues(data) {
+ const $this = this
+ const head_styledef = this.head_styledef
+ if (!Array.isArray(data)) {
+ return
+ }
+ for (var i = 0; i < data.length; i++) {
+ 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 attr.choice_list) {
+ var val = attr.choice_list[d];
+ dictItemList.push({
+ "CN_S_NAME": val,
+ "CN_S_VALUE": val,
+ "text": val,
+ "value": val
+ });
+ }
+ if (item.useDict) {
+ item.dict = dictItemList;
+ } else {
+ item.selections = dictItemList;
+ }
+ }
+ } else if (item.name == 'Layout') {
+ item.setting.colList.forEach(col => {
+ if (col) {
+ if (col.fieldId == attr.attr) {
+ var dictItemList = [];
+ for (var d in attr.choice_list) {
+ var val = attr.choice_list[d];
+ dictItemList.push({
+ "CN_S_NAME": val,
+ "CN_S_VALUE": val,
+ "text": val,
+ "value": val
+ });
+ }
+ if (col.useDict) {
+ col.dict = dictItemList;
+ } else {
+ col.selections = dictItemList;
+ }
+ }
+ }
+ });
+ }
+
+ }
+ }
+ 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);
+ //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+ if (head_styledef.form.model[attr.attr] == undefined) {
+ head_styledef.form.model[attr.attr] = attr.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 (item.name == 'Layout') {
+ item.setting.colList.forEach(col => {
+ if (col) {
+ if (col.fieldId == attr.attr) {
+ col.value = '';
+ col.oldvalue = '';
+ 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;
+ }
+ }
+ }
+ });
+ }
}
}
- }else{
- uni.showModal({title:"閿欒5",content:success.err_msg,showCancel:false,confirmText:"鍙栨秷"});
- }
- }).catch(ex=>{
- // console.log(ex);
- uni.showModal({title:"鎻愮ず5.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
- });
- },
-
- //纭畾
- sava(){
- // if (this.$data.edit_ok_event)
- // this.OKDataObjRunCustomEvent();
- // else
- this.add();
- },
- add(){
- uni.showLoading({
- title:"鍔犺浇涓�..",
- mask:true
- });
- var obj_attr = this.head_styledef.form.model;
- console.log(obj_attr);
- // var req = Object.keys(obj_attr).map((a) => ({
- // name: a,
- // value: obj_attr[a] || "",
- // }));
-
- var enviroment = {
- 'function': '3000', // 鍔熻兘鐐圭紪鍙�- cls_id: this.$data.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�- 'button': 'top', // top/bottom
- button_name: '鏂板',
- master: {
- cls_id: this.$data.param.DataCls.id,
- }
- };
- enviroment = Base64.encode(JSON.stringify(enviroment));//灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
-
- // console.log(obj_attr);
- // var dataInfo={
- // class_id: this.$data.param.DataCls.id, data_obj_id: '', masterclsid: '',
- // req: JSON.stringify(req), upfile: JSON.stringify([]), post_data: JSON.stringify({}),
- // compose: JSON.stringify([]), refdatastore: JSON.stringify([]), extinfo: JSON.stringify(enviroment),
- // not_trigger_sys_event: ''
- // };
- var dataInfo={
- class_id: this.$data.param.DataCls.id,
- class_name:'',
- master_cls_id:'',
- master_obj_id:'',
- creator:'',
- creator_name:'',
- not_trigger_event:'',
- update_exist:'',
- post_process:'',
- ext_info: enviroment,
- obj_attr: obj_attr
- };
- console.log(dataInfo);
- // return
- this.$store.dispatch('createDataObj',dataInfo).then(success=>{
- console.log(success);
- uni.hideLoading();
- if (success.err_code == 0) {
- var result = success.result;
- // if(result.result_type == 0){}
- if(success.result.action){
- var action = JSON.parse(success.result.action);
- console.log(action);
- if(action.ret=='0'){
- if (action.ret != 0) {
- uni.showModal({title:"鎻愮ず",content:'鎵ц鑴氭湰澶辫触锛� + action.result,showCancel:false,confirmText:"鍙栨秷"});
- return;
- }
- if (action.info) {
- uni.showModal({title:"鎻愮ず",content:'鎵ц鑴氭湰澶辫触锛� + action.info,showCancel:false,confirmText:"鍙栨秷"});
- return;
- }
- if(action.result_type=='0'){
- uni.showToast({title:action.result,icon:"success",duration:3000});
- }
-
- // "{"ret":0, "result_type":0, "result":"鍒涘缓鎴愬姛123123123","info":""}"
+
+ },
+ hideFormItems(attrs) {
+ if (!Array.isArray(attrs)) {
+ return
+ }
+ const head_styledef = this.head_styledef
+ if (!head_styledef.hiddenIds) {
+ head_styledef.hiddenIds = []
+ }
+ attrs.forEach((attr) => {
+ let index = head_styledef.hiddenIds.findIndex((id) => id == attr.attr);
+ if (attr.show) {
+ if (index > -1) head_styledef.hiddenIds.splice(index, 1);
+ } else {
+ if (index == -1) head_styledef.hiddenIds.push(attr.attr);
}
- } else
- uni.showToast({title:"鍒涘缓鎴愬姛锛�,icon:"success",duration:3000});
- //鍒锋柊
- uni.redirectTo({
- url:'../modal/3018_2?param='+JSON.stringify(this.$data.param)+"&titlename="+this.$data.title
});
- // this.class_attr_init();
- }else{
- uni.showModal({title:"閿欒",content:success.err_msg,showCancel:false,confirmText:"鍙栨秷"});
- }
- }).catch(ex=>{
- console.log(ex);
- uni.hideLoading();
- uni.showModal({title:"鎻愮ず",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
- });
- },
- cancel(e){ //鍙栨秷
- uni.navigateBack({
- delta:1 //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
- });
- },
- },
-};
+
+ this.setData({
+ head_styledef: head_styledef
+ })
+ },
+
+ afterOK() {
+ this.saving = true
+ const $this = this
+ showLoading("loading...")
+ var obj_attr = this.head_styledef.form.model;
+ // console.log(obj_attr);
+ var input_param = {
+ id: "",
+ attrs: Object.keys(obj_attr).map((a) => ({
+ attr: a,
+ value: obj_attr[a],
+ })),
+ };
+ if (!this.after_ok.id.includes('{')) this.after_ok.id = '{' + this.after_ok.id +
+ '}';
+ var dataInfo = {
+ ed_type: "0",
+ start_transaction: true,
+ class_id: this.param.DataCls.id,
+ class_name: '',
+ event_id: this.after_ok.id,
+ event_name: '',
+ data_obj_id: '',
+ obj_attr: obj_attr,
+ prj_id: '',
+ ref_cls_id: '',
+ rel_obj_id: '',
+ user_login: '',
+ data_json: '',
+ compose_info: '',
+ input_param: Base64.encode(JSON.stringify(input_param)),
+ };
+ console.log(dataInfo);
+ // return;
+ runCustomEvent(dataInfo).then(data => {
+ hideLoading()
+ if (data.ret != 0 && data.ret != 1) {
+
+ let cls_name = data.event_info?.cls_name
+ let event_name = data.event_info?.event_name
+ tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info : data.err_info
+ .join('\n') : ''
+ if (data.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos + 1);
+ }
+ }
+ if (cls_name && event_name) tip = `鎵ц鈥�{cls_name}鈥濇暟鎹被鐨勨�${event_name}鈥濊剼鏈椂杩斿洖閿欒锛�{tip}`
+ if (data.ret == 801) showInfo(tip)
+ else showError(`${tip}锛屾彁绀猴細${data.ret}`, this.translateSys('tip'))
+ this.saving = false
+ return false
+ } else {
+ var tip = data.info ? typeof data.info == 'string' ? data.info :
+ data.info.join('\n') : '';
+ tip = tip || data.err_info
+ let time = data.info_time || 0
+ if (time)
+ showError(tip, this.translateSys('tip'))
+ else
+ showInfo(tip)
+ if (!this.param.After_Btn_Not_Refresh) {
+ //鍒锋柊
+ uni.redirectTo({
+ url: '../modal/3018_2?param=' + JSON.stringify(this
+ .$data
+ .param) +
+ "&titlename=" + this.title
+ });
+ } else {
+ if ([0, 2, 3, 4, -1].includes(data.result_type)) {
+ if (data.result_type == 2) {
+
+ } else if (typeof data.result == 'string') {
+
+ showInfo(data.result)
+
+
+ }
+ try {
+ var actionlist = data.action || []
+ 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
+ })
+ });
+ }
+
+ }
+ } catch (ex) {
+ let actionList = (data.action || []).map(a => a.action_type).join(';')
+ let tip = typeof ex == 'string' ? ex : ex.message
+ tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+ showError(tip, this.translateSys('tip'))
+ return
+ }
+ }
+
+ }
+ }
+ this.saving = false
+ }).catch(ex => {
+ hideLoading()
+ showError(ex, this.translateSys("tip") + " 7.1")
+
+ });
+ },
+ //鐐瑰嚮鎸夐挳鍒楄〃
+ clickDropdownBtns() {
+ var that = this
+ var itemlist = [];
+ this.dropdownBtns.forEach((btn) => {
+ itemlist.push(btn.ShowName);
+ });
+ uni.showActionSheet({
+ // title: '鎸夐挳鍒楄〃',
+ itemList: itemlist,
+ success: (e) => {
+ console.log(e.tapIndex);
+ var btn = that.dropdownBtns[e.tapIndex];
+ that.onButtonClicked(btn);
+ }
+ })
+ },
+ onButtonClicked(btn) {
+ this.handleButtonClick((done) => {
+ this.buttonClicked(btn);
+ setTimeout(() => {
+ done(); // 閲嶇疆鐘舵�
+ }, 1000);
+ });
+ },
+ buttonClicked(btn) {
+ let enviroment = {
+ button: "top",
+ button_name: btn.ShowName,
+ cls_id: btn.Cls_ID,
+ function: "3018",
+ master: {},
+ };
+ console.log("onBtnClick", btn);
+ if (btn.FunCode == "Add") {
+ if (btn.Edit_dlg.Model == "small") {
+ this.showAddSmallDialog(btn, enviroment);
+ } else {
+ showInfo(this.translateSys("unrealized"))
+
+ }
+ } else if (btn.FunCode == "TriggerEvent") {
+ this.onTriggerEvent(btn, enviroment);
+ } else {
+ this.$Message.warning(this.$t("sys.unrealized"));
+ }
+ },
+ onTriggerEvent(btn, enviroment) {
+ const $this = this
+ showLoading("loading...")
+ var obj_attr = this.head_styledef.form.model;
+ // console.log(obj_attr);
+ var input_param = {
+ id: "",
+ attrs: Object.keys(obj_attr).map((a) => ({
+ attr: a,
+ value: obj_attr[a],
+ })),
+ };
+
+ var dataInfo = {
+ ed_type: "0",
+ start_transaction: true,
+ class_id: btn.Cls_ID,
+ class_name: '',
+ event_id: btn.Event.ID,
+ event_name: '',
+ data_obj_id: '',
+ obj_attr: obj_attr,
+ prj_id: '',
+ ref_cls_id: '',
+ rel_obj_id: '',
+ user_login: '',
+ data_json: '',
+ compose_info: '',
+ input_param: '',
+ };
+ console.log(dataInfo);
+ // return;
+ runCustomEvent(dataInfo).then(data => {
+ hideLoading()
+ if (data.ret != 0 && data.ret != 1) {
+ let cls_name = data.event_info?.cls_name
+ let event_name = data.event_info?.event_name
+ tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info : data.err_info
+ .join('\n') : ''
+ if (data.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos + 1);
+ }
+ }
+ if (cls_name && event_name) tip = `鎵ц鈥�{cls_name}鈥濇暟鎹被鐨勨�${event_name}鈥濊剼鏈椂杩斿洖閿欒锛�{tip}`
+ if (data.ret == 801) showInfo(tip)
+ else showError(`${tip}锛屾彁绀猴細${data.ret}`, this.translateSys('tip'))
+ this.saving = false
+ return false
+ } else {
+
+ var tip = data.info ? typeof data.info == 'string' ? data.info :
+ data.info.join('\n') : '';
+ tip = tip || data.err_info
+ let time = data.info_time || 0
+ if (time)
+ showError(tip, this.translateSys('tip'))
+ else
+ showInfo(tip)
+ if (!this.param.After_Btn_Not_Refresh) {
+ //鍒锋柊
+
+ uni.redirectTo({
+ url: '../modal/3018_2?param=' + JSON.stringify(this
+ .$data
+ .param) +
+ "&titlename=" + this.title
+ });
+ } else {
+ if ([0, 2, 3, 4, -1].includes(data.result_type)) {
+ if (data.result_type == 2) {
+
+ } else if (typeof data.result == 'string') {
+ showInfo(data.result)
+
+ }
+ try {
+ var actionlist = data.action || []
+ 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
+ })
+ });
+ } else if (action.action_type == 'get_pre_page_subtable_next_row') {
+ var value = action.value;
+ const eventChannel = this.getOpenerEventChannel();
+ eventChannel.emit('get_pre_page_subtable_next_row', value);
+ } else if (action.action_type == 'remove_pre_page_subtable_row') {
+ var value = action.value;
+ const eventChannel = this.getOpenerEventChannel();
+ eventChannel.emit('remove_pre_page_subtable_row', value);
+ } else if (action.action_type == "goback_to_pre_page") {
+ //杩斿洖涓婁竴椤�+ uni.navigateBack({
+ delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+ });
+ }
+ }
+
+
+ } catch (ex) {
+ let actionList = (data.action || []).map(a => a.action_type).join(';')
+ let tip = typeof ex == 'string' ? ex : ex.message
+ tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+ showError(tip, this.translateSys('tip'))
+ return
+ }
+ }
+
+ }
+ }
+
+ }).catch(ex => {
+ showError(ex, this.translateSys("tip") + " 7.1")
+
+ });
+
+ },
+ //鏂板淇敼灏忕獥鍙f暟鎹�+ showAddSmallDialog(btn, enviroment) {
+ var data = {
+ Add_BtnName: btn.ShowName,
+ EditDlgMode: btn.Edit_dlg.Model,
+ clsid: btn.Cls_ID,
+ cls_name: btn.Cls_Name,
+ Edit_dlg: btn.Edit_dlg
+ };
+ const url = '../modal/3018?param=' + JSON.stringify(data) + "&titlename=" + btn
+ .Edit_dlg
+ .Name +
+ "&type=addDataObj"
+ var $this = this;
+ uni.navigateTo({
+ url: url,
+ events: {
+ // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�鍒板綋鍓嶉〉闈㈢殑鏁版嵁
+ addDataObj: function(resData) {
+ console.log(resData);
+ //鍒锋柊
+ uni.redirectTo({
+ url: '../modal/3018_2?param=' + JSON.stringify(
+ this
+ .$data.param) +
+ "&titlename=" + this.title
+ });
+
+ },
+ }
+ });
+ },
+
+ cancel(e) { //鍙栨秷
+ uni.navigateBack({
+ delta: 1 //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+ });
+ },
+ translate(t) {
+ if (typeof this.$t == "function") return this.$t(`page.${t}`)
+ else return t;
+ },
+ translateSys(t) {
+ if (typeof this.$t == "function") return this.$t(`sys.${t}`)
+ else return t;
+ },
+ },
+ };
</script>
+<style>
+ .popup-content {
+ @include flex;
+
+ }
+
+ .popup-height {
+ @include height;
+ /* width: 200px; */
+ }
+</style>
+<style lang="scss">
+ .uni-page-modal-3018-2 {
+ display: flex;
+ height: calc(100vh - 30rpx);
+ width: 720rpx;
+ flex-direction: column !important;
+ padding: 15rpx;
+
+ .v-headStyle {
+ /* border: 0.1rpx solid red; */
+ /* line-height: 30rpx; */
+ // padding: 5rpx 0;
+ width: 98%;
+ }
+
+ .uni-forms-item {
+ // border: 0.5px solid red;
+ margin-bottom: 11rpx;
+ }
+
+ // .v-headStyle .form-item-span {
+ // // border: 0.5px solid red;
+ // padding: 7rpx 0;
+ // color: #2d8cf0;
+ // white-space: normal;
+ // word-break: break-all;
+ // display: inline-block;
+ // // width: calc(100% - 100px);
+ // }
+
+ .input-wrapper {
+ border: 1px solid #d5d5d5;
+ width: 100%;
+ display: flex;
+ flex-direction: row;
+
+ .uni-input {
+ color: #2d8cf0;
+ flex: 1;
+ padding: 10rpx 8rpx;
+ // height: 40rpx;
+ // line-height: 40rpx;
+ }
+
+ .uni-icon {
+ padding: 10rpx 5rpx;
+ font-size: 32rpx;
+ color: rgb(192, 196, 204);
+ }
+ }
+
+ .check_rememberPwd,
+ .input-switch {
+ vertical-align: middle;
+ margin-left: 10rpx
+ }
+
+ [nvue] uni-view {
+ position: relative;
+ border: 0 solid #000;
+ box-sizing: border-box;
+ }
+
+
+ .uni-icon {
+ /* border: 1px solid red; */
+ width: 30rpx;
+ font-family: uniicons;
+ font-size: 40rpx;
+ font-weight: 400;
+ font-style: normal;
+ /* width: 48rpx; */
+ /* height: 48rpx; */
+ /* line-height: 44rpx; */
+ color: #2d8cf0;
+ cursor: pointer;
+ display: inline-block;
+ vertical-align: middle;
+ }
+
+ .input-disabled {
+ background-color: #f3f3f3 !important;
+ }
+
+ .view-content {
+ display: flex;
+ flex: 1;
+ width: calc(100% - 30rpx);
+ padding: 10rpx 15rpx;
+ flex-direction: column;
+ overflow-y: auto;
+
+ }
+
+ .view-bottom {
+ // display: flex;
+ // flex-direction: row;
+ display: block;
+ width: calc(100% - 30rpx);
+ padding: 10rpx 15rpx 20rpx 15rpx;
+
+ .btn_add {
+ width: 45%;
+ margin: 0 10rpx;
+ // padding: 5rpx 10rpx;
+ background: #27A6E1;
+ border: none;
+ color: #fff;
+ font-size: 38rpx;
+ float: left;
+ display: inline-block;
+ }
+
+ .btn_disabled {
+ background-color: #ddd;
+ color: #888;
+ }
+
+ .btn_cancel {
+ width: 45%;
+ margin: 0 10rpx;
+ background: #fff;
+ border: none;
+ //color: #000;
+ font-size: 38rpx;
+ float: right;
+ display: inline-block;
+ }
+
+ .btn_cancel2 {
+ width: 90%;
+ margin: 0 10rpx;
+ background: #fff;
+ // border: none;
+ color: #000;
+ font-size: 38rpx;
+ float: right;
+ display: inline-block;
+ }
+
+ .uni-padding-wrap {
+ margin: 2rpx 0 0 10rpx;
+ background-color: #98DAEA;
+ width: 104rpx;
+ height: 80rpx;
+ text-align: center;
+ border-radius: 54rpx;
+ padding: 24rpx 0 0 0;
+ float: right;
+ display: inline-block;
+ }
+
+ .uni-padding-wrap a {
+ font-size: 40rpx;
+ }
+ }
+
+
+
+
+ .view-popup {
+ position: relative;
+ }
+
+ .popup-content {
+ // @include flex;
+ align-items: center;
+ justify-content: center;
+ padding: 30rpx;
+ background-color: #fff;
+ /* height: 150px; */
+ /* border: 1px solid red; */
+ }
+
+ .popup-cont {
+ overflow-y: auto;
+ /* border: 1px solid red; */
+ }
+
+ .popup-height {
+ // @include height;
+ /* width: 200px; */
+ }
+
+ .popup-header {
+ font-size: 42rpx;
+ font-weight: bold;
+ margin: 20rpx 20rpx 0px 20rpx;
+ }
+
+ .view_popup_CheckList {
+ margin-bottom: 20rpx;
+ }
+
+ .popup-footer {
+ float: right;
+ position: absolute;
+ bottom: 10rpx;
+ right: 20rpx;
+ }
+
+ button.btn_popup_add {
+ width: 180rpx;
+ margin-top: 50rpx;
+ margin-right: 20rpx;
+ padding: 15rpx;
+ line-height: 1.5;
+ background: #27A6E1;
+ border: none;
+ color: #fff;
+ font-size: 38rpx;
+ font-weight: bold;
+ /* float: left; */
+ display: inline-block;
+ }
+
+ button.btn_popup_cancel {
+ width: 180rpx;
+ margin-top: 50rpx;
+ padding: 15rpx;
+ line-height: 1.5;
+ // background: #27A6E1;
+ // border: none;
+ // color: #fff;
+ background: #fff;
+ color: #000;
+ font-size: 38rpx;
+ font-weight: bold;
+ /* float: right; */
+ display: inline-block;
+ }
+
+ #dv_select {
+ display: inline-block;
+ // width: 66%;
+ background: #FFF;
+ border-radius: 0 !important;
+ color: #2d8cf0;
+ /* padding: 10rpx 8rpx 12rpx; */
+ font-size: 34rpx;
+ font-family: inherit;
+ box-shadow: none !important;
+ transition-duration: 0.1s;
+ margin-top: 0rpx;
+ /* vertical-align: 10px; */
+ vertical-align: middle;
+ }
+
+ #dv_select .uni-select {
+ border: 1px solid #ccc;
+ border-radius: 0 !important;
+ color: #2d8cf0;
+ }
+
+ #dv_select .uni-select__input-text {
+ color: #2d8cf0;
+ }
+
+ .panel_title {
+ font-size: 38rpx;
+ background-color: #27A6E1;
+ line-height: 80rpx;
+ color: #fff;
+ text-align: center;
+ font-weight: bold;
+ }
+
+ .v-panel {
+ min-height: 788rpx;
+ }
+
+ .v-panellist {
+ border: 4rpx solid #aaa;
+ border-radius: 10rpx;
+ margin: 10rpx 20rpx 0rpx 20rpx;
+ }
+
+ .v-paneldel {
+ text-align: right;
+ }
+
+ .panel_del {
+ font-size: 44rpx;
+ text-decoration: initial;
+ margin-top: 10rpx;
+ margin-right: 20rpx;
+ }
+
+ .class_attr_body .form-group {
+ margin: 20rpx 30rpx;
+ /* margin-left: -12px;
+ margin-right: -12px; */
+ }
+
+ .subclass_attr_body .form-group {
+ margin: 20rpx 10rpx;
+ /* margin-left: -12px;
+ margin-right: -12px; */
+ }
+
+ .form-group>label[class*="col-"] {
+ margin-bottom: 8rpx;
+ font-size: 32rpx;
+ }
+
+ .form-group label {
+ vertical-align: middle;
+ line-height: 60rpx;
+ }
+
+ .tx_title2 {
+ font-size: 32rpx;
+ text-align: right;
+ display: inline-block;
+ vertical-align: -2px;
+ }
+
+ .attr_field {
+ display: inline-block;
+ vertical-align: middle;
+ margin-left: 8px;
+ /* width: 71%; */
+ }
+
+ .text-right2 {
+ margin: 0;
+ vertical-align: -4px;
+ margin-left: 9px;
+ float: none;
+ font-size: 44rpx;
+ display: inline-block;
+ }
+
+ input::-webkit-input-placeholder {
+ font-size: 12rpx;
+ }
+
+ .v-panel input {
+ border: 1px solid #d5d5d5;
+ width: 98%;
+ height: 52rpx;
+ background: #FFF;
+ border-radius: 0 !important;
+ color: #046db3;
+ padding: 10rpx 8rpx 12rpx;
+ font-size: 34rpx;
+ font-family: inherit;
+ box-shadow: none !important;
+ transition-duration: 0.1s;
+ margin-top: 4rpx;
+ }
+
+ .date_iput {
+ /* border: 1px solid #d5d5d5; */
+ /* width: 98%; */
+ height: 62rpx;
+ background: #FFF;
+ border-radius: 0 !important;
+ color: #046db3;
+ padding: 10rpx 8rpx 4rpx;
+ font-size: 34rpx;
+ font-family: inherit;
+ box-shadow: none !important;
+ transition-duration: 0.1s;
+ }
+
+ .dv_input {
+ display: inline-block;
+ width: 65%;
+ /* line-height: 22rpx; */
+ }
+
+
+
+
+ .demo-uni-row {
+ margin-bottom: 0px;
+ display: block;
+ }
+
+ ::v-deep .uni-row {
+ margin-bottom: 0px;
+ }
+
+ .view-tabpage ::v-deep .uni-row {
+ margin-bottom: 5px;
+ }
+
+ .demo-uni-col {
+ height: 36px;
+ border-radius: 5px;
+ }
+
+ .text {
+ font-size: 12px;
+ color: #666;
+ margin-top: 5px;
+ }
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.1