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 | 3266 ++++++++++++++++++++++++++++++----------------------------
1 files changed, 1,685 insertions(+), 1,581 deletions(-)
diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue
index 29c603a..b4a257d 100644
--- a/pages/modal/3018_2.vue
+++ b/pages/modal/3018_2.vue
@@ -1,139 +1,35 @@
<template>
- <view class="uni-page-modal-3018-2">
- <!-- 琛ㄥご鏍峰紡 -->
- <view class="v-headStyle" v-for="(item,index) in head_styledef.form.items">
- <!-- 鏅�甯冨眬 -->
- <view v-if="item.name!='Layout' && item.show==true">
- <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="focusFieldId == item.fieldId" @focus="ontap(item)" @click="onClick(item)"
- @blur="onevent(item)" />
- <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
- @click="classAttr_extButton(item)"></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"
- :focus="focusFieldId == item.fieldId" :placeholder="item.placeholder" @blur="onModelValue(item)"
- @click="onClick(item)" :data-index="index" style="height:60px;" :style="{'width':'96%'}"
- :disabled="item.disabled"></textarea>
-
- </view>
- <!-- 澶嶉�妗�-->
- <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' && item.show==true">
- <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="input-wrapper"
- 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="focusFieldId == cols.fieldId" @focus="ontap(cols)" @click="onClick(cols)"
- @blur="onevent(cols)" />
- <text v-if="cols.setting.suffix" class="uni-icon" :class="[cols.setting.suffix]"
- @click="onchange(cols)"></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" :focus="focusFieldId == cols.fieldId"
- @blur="onModelValue(cols)" @click="onClick(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-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 class="view-floor">
- <button type="default" @tap="sava" class="btn_add">{{title}}</button>
- <button type="default" @tap="cancel" class="btn_cancel">{{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'}">
+ :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'}">
@@ -156,29 +52,49 @@
</template>
<script>
- import Base64 from '../../components/js-base64/base64.js'
+ 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 {
- modules: {
- Base64,
+ 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: [],
- refdatastore: [], //寮曠敤鏁版嵁瀛樺偍鍖�/ {attr:'G_PRJ_' + bindattr + '_ID', value:info.id}
scanCodeVal: "",
- subClassAttrList: [],
- subPanelList: [],
- subClassGridStyle: [],
popupType: "center",
check_list: {},
-
+ popupParam: {},
focusFieldId: "",
focusOldFieldId: "",
head_styledef: {
@@ -190,58 +106,107 @@
activity: null,
receiver: null,
intentFilter: null,
- content: ''
+ content: '',
+ saving: false
};
},
onNavigationBarButtonTap(e) {
-
- const $this = this
- uni.scanCode({
- scanType: ["qrCode"],
- success: function(res) {
- if ($this.focusFieldId) {
- const items = $this.head_styledef.form.items || []
- for (let i in items) {
- const ele = items[i]
- if (ele.name == 'Input' || ele.name == 'InputNumber' || ele.name == 'Textarea') {
- if ($this.focusFieldId == ele.fieldId) {
- $this.onScanValue(ele, res.result)
- break;
- }
- } else if (ele.name == "Layot") {
- let curIndex = (ele.setting.colList || []).findIndex((col, index2, arr) => {
- return (col.name == 'Input' || col.name == 'InputNumber' || col
- .name == 'Textarea') && $this
- .focusFieldId == col.fieldId;
- })
- if (curIndex > -1) {
- let col = ele.setting.colList[curIndex]
- $this.onScanValue(col, res.result)
- break
+ 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()
+ }
+ },
+ onReady() {
+ uni.setNavigationBarTitle({
+ title: this.title
+ }); //璁剧疆椤堕儴鏍囬
},
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;
+ 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 = [];
@@ -263,559 +228,38 @@
});
});
},
- 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) => {
- ele.show = true;
- if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
- await this.DictGetInfo(ele.bind.dict, index, 'mast');
- }
- if ($this.focusFieldId == "") {
- if (ele.name == 'Input' || ele.name == 'InputNumber' || ele.name ==
- 'Textarea') {
- $this.setData({
- focusFieldId: ele.fieldId
- })
- }
- }
+ async loadData(paramValue) {
+ try {
+ showLoading("loading...")
+ //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�+ await this.Head_UIStyleGetInfo(this.param.DataCls?.id, this.param.UI_Style?.ID);
+ //浼犲叆鍙傛暟鍊�+ if (paramValue) {
- });
- if ($this.head_styledef.event?.length > 0) {
- $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
- };
- }
- });
- }
-
- } else {
- uni.showModal({
- title: this.translateSys("error") + "1",
- content: ret.err_msg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
+ this.setFormValues(paramValue)
}
- }).catch(ex => {
- // console.log(ex);
- uni.showModal({
- title: this.translateSys("error") + "1.1",
- content: ex.errMsg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- });
-
- },
- 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,
- });
- });
- //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
- 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;
- }
- $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);
- }
-
- } else {
- uni.showModal({
- title: this.translateSys("error") + "1.2",
- content: success.err_msg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- }
- }).catch(ex => {
- // console.log(ex);
- uni.showModal({
- title: this.translateSys("error") + "1.3",
- content: ex.errMsg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- });
- },
- async loadInitEvent(eventid) {
- 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);
- // 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) {
- if (this.param.Only_Script_Error) {
- let pos = tip.indexOf("锛�);
- if (pos > -1) tip = tip.substring(pos + 1);
- }
- uni.showModal({
- title: this.translateSys("tip"),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- }
- else uni.showModal({
- title: this.translateSys("tip"),
- content: tip + ',' + this.translateSys('tip') + ':' + data.ret,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- return false
- } else {
- var tip = data.info ? typeof data.info == 'string' ? data.info : data.info
- .join(
- '<br/>') : '';
- if (tip) uni.showModal({
- title: this.translateSys("tip"),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
-
- 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;
- }
- }
- });
- }
-
- }
- }
- 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 (data.action[i].action_type == 'set_dlg_attr_show') {
- var result = action.value;
- result.forEach(async (attr, key) => {
- $this.$data.head_styledef.form.items.forEach(
- async (
- ele, index) => {
- //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (ele.name != 'Layout') {
- if (ele.fieldId == attr
- .attr) {
- ele.show = attr.show;
- }
- } else if (ele.name ==
- 'Layout') {
- ele.setting.colList
- .forEach(
- col => {
- if (col) {
- if (col
- .fieldId ==
- attr
- .attr
- ) {
- col.show =
- attr
- .show;
- }
- }
- });
- }
- });
- });
- var head_styledef = JSON.parse(JSON.stringify($this.$data
- .head_styledef));
- $this.$data.head_styledef = [];
- $this.$data.head_styledef = head_styledef;
- // console.log($this.$data.head_styledef);
- } else {
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translate(
- 'execute_init_event_failed') +
- this.translateSys("full_stop") +
- this.translate('reason') + this.translateSys(
- "colon") +
- this.translateSys("quotation_mark_left") +
- action
- .action_type + this.translateSys(
- "quotation_mark_right") + this
- .translate('tip_action_unprocessed'),
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- }
- }
- }
- }
- } else {
- uni.showModal({
- title: this.translateSys("error") + "3",
- content: this.translate('execute_init_event_failed') +
- this.translateSys("full_stop") +
- this.translate('reason') + this.translateSys("colon") + success
- .err_msg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- }
- }).catch(ex => {
- // console.log(ex);
- uni.showModal({
- title: this.translateSys("error") + "3.1",
- content: this.translate('execute_init_event_failed') +
- this.translateSys("full_stop") +
- this.translate('reason') + this.translateSys("colon") + ex.errMsg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- });
- },
-
-
- ontap(item) { //鎵爜鍔熻兘
- // 鎵撳紑钃濈墮閫傞厤鍣�- // uni.openBluetoothAdapter({
- // success: function() {
- // // 寮�鎼滅储钃濈墮璁惧
- // uni.startBluetoothDevicesDiscovery({
- // success: function() {
- // // 鐩戝惉鎵惧埌鏂拌澶囩殑浜嬩欢
- // uni.onBluetoothDeviceFound(function(devices) {
- // // 杩欓噷鍙互杩囨护鍑篟FID鑺墖锛岃繛鎺ュ苟璇诲彇鏁版嵁
- // 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)
- })
- },
- onScanValue(item, value) {
- const $this = this;
- console.log("onScanValue", item);
- if (item.oldvalue != value) {
- item.oldvalue = value;
- item.value = value;
- var attr = value
- $this.head_styledef.form.model[attr] = value;
- if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�- //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴�
- var findd = false
- const items = $this.head_styledef.form.items || []
- for (let i in items) {
- const ele = items[i]
-
- if (ele.name != "Layout") {
- if (ele.name == 'Input' || ele.name == 'InputNumber' || ele.name == 'Textarea') {
- if (attr == ele.fieldId) {
- findd = true
- } else {
- if (findd) {
- $this.setData({
- focusFieldId: ele.fieldId
- })
- break
- }
-
- }
-
- }
- } else {
- if (findd) {
- let curIndex = ele.setting.colList.findIndex((col, index2, arr) => {
- return (col.name == 'Input' || col.name == 'InputNumber' || col.name ==
- 'Textarea');
- })
- if (curIndex > -1) {
- $this.setData({
- focusFieldId: ele.setting.colList[curIndex]
- .fieldId
- })
- break
- }
-
- } else {
- let curIndex = ele.setting.colList.findIndex((col, index2, arr) => {
- return attr == col.fieldId;
- })
- if (curIndex > -1) {
- findd = true
- let curIndex2 = ele.setting.colList.findIndex((col, index2, arr) => {
- return (col.name == 'Input' || col.name ==
- 'InputNumber' || col.name == 'Textarea') &&
- index2 >
- curIndex;
- })
- if (curIndex2 > -1) {
- $this.setData({
- focusFieldId: ele.setting.colList[curIndex]
- .fieldId
- })
- break
- }
- }
- }
-
- }
- }
- }
-
- var eventid = item.bind.onChangeEvent.id; //鍐呭鍙樺寲鍚庝簨浠�- if (eventid) {
- var obj_attr = this.head_styledef.form.model;
- // console.log(obj_attr);
- var req = Object.keys(obj_attr).map((a) => ({
- attr: a,
- val: obj_attr[a] || "",
- }));
-
- var info = {
- eventid: eventid,
- edtype: "0",
- projectid: '',
- rclsid: '',
- robjid: '',
- userlogin: '',
- clsid: this.$data.param.DataCls.id,
- objid: "",
- attr: req,
- dataJson: [],
- }
- this.DataObjRunCustomEvent(info, '');
- }
- }
- },
- onClick(item) {
- this.focusFieldId = item.fieldId
- },
- onevent(item) {
- // console.log(e.target);
- console.log(item);
- 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) {
- 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, "");
- }
+ await this.loadInitialEvent();
+ hideLoading()
+ } catch (ex) {
+ hideLoading()
+ showError(ex, this.translateSys("error"));
}
},
- onchange(item) {
- console.log(item);
- 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; //鍐呭鍙樺寲鍚庝簨浠�+ async loadInitialEvent() {
+ try {
+ var eventid = this.initialEvent?.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] || "",
- }));
+ 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",
@@ -823,47 +267,754 @@
rclsid: '',
robjid: '',
userlogin: '',
- clsid: this.$data.param.DataCls.id,
+ 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) {
+ formItem.value = itemName;
+ formModel[formItem.fieldId] = itemName;
+ }
+ formItem.dict = list;
+ } catch (ex) {
+ showError(ex, this.translateSys("error") + " 1.3")
+
+
+ }
+ },
+
+ 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")
+
+ }
+ },
+
+
+ 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);
+ }
}
},
- onModelValue(item) { //缁戝畾Model鍊�- var attr = item.fieldId;
- this.head_styledef.form.model[attr] = item.value;
+ // 鍐呭鍙樺寲鍚庝簨浠�+ async onChange(event) {
+ var eventid = event?.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,
+ 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);
+ }
+ }
+ });
+ } 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"))
+
+ }
+ }
+ } 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") + "10.1")
+ }
},
classAttr_extButton(item) {
var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠� var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�
if (!onSuffixClickCallbackEvent.id) {
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translate('icon_click_event_empty'),
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
+ showInfo(this.translate('icon_click_callback_empty'))
+
return;
}
if (!onSuffixClickEvent.id) {
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translate('icon_click_event_empty'),
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
+ showInfo(this.translate('icon_click_event_empty'))
+
return;
}
- this.$data.popupType = 'right'
+ this.popupType = 'right'
// open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴�
- this.$refs.popup.open($this.popupType);
+ this.$refs.popup.open(this.popupType);
- this.DataObjRunCustomEvent_Return(onSuffixClickCallbackEvent.id, '', onSuffixClickEvent.id, item);
+ this.dataObjRunCustomEvent_Return(onSuffixClickEvent.id, onSuffixClickCallbackEvent
+ .id,
+ item);
},
popupChange(e) {
console.log('褰撳墠妯″紡锛� + e.type + ',鐘舵�锛� + e.show);
@@ -872,15 +1023,15 @@
// 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") { //鍒ゆ柇鏃跺崟閫夎繕鏄閫�+ 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;
}
}
data[index].check = ischeck ? false : true;
- this.$data.check_list.items = data;
+ this.check_list.items = data;
},
popup_cancel(e) { //寮规鍙栨秷
@@ -888,7 +1039,7 @@
},
popup_sava(e) { //寮规纭畾
var $this = this;
- var items = $this.$data.check_list.items;
+ var items = $this.check_list.items;
var data = [];
var name = "";
for (var i = 0; i < items.length; i++) {
@@ -902,26 +1053,17 @@
});
}
}
- // if (!$this.$data.popupParam) {
- // uni.showModal({
- // title: this.translateSys("tip"),
- // content: "popupParam涓虹┖锛�,
- // showCancel: false,
- // confirmText: this.translateSys("cancel")
- // });
- // return;
- // }
+ if (!$this.popupParam) {
+ showInfo("popupParam涓虹┖锛�)
- 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;
- }
+ return;
}
- console.log(data);
- var callback_eventid = $this.$data.popupParam.button_callback.trim();
+ 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",
@@ -929,402 +1071,141 @@
rclsid: '',
robjid: '',
userlogin: '',
- clsid: $this.$data.param.DataCls.id,
+ clsid: $this.param.DataCls.id,
objid: "",
- attr: $this.$data.popupParam.req,
+ attr: $this.popupParam.req || [],
dataJson: data
}
- $this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr);
+ $this.DataObjRunCustomEvent(info, $this.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: this.translateSys('add2'),
- 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
- }
+ 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.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
+ 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
+ }
}
}
+ 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"));
}
- // 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) {
- if (this.param.Only_Script_Error) {
- let pos = tip.indexOf("锛�);
- if (pos > -1) tip = tip.substring(pos + 1);
- }
- uni.showModal({
- title: this.translateSys("tip"),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- }
- else uni.showModal({
- title: this.translateSys("tip"),
- content: tip + ',' + this.translateSys('tip') + ':' + data.ret,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- return false
- } else {
- var tip = data.info ? typeof data.info == 'string' ? data.info : data.info
- .join(
- '<br/>') : '';
- if (tip) uni.showModal({
- title: this.translateSys("tip"),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
-
- 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;
- }
- }
- });
- }
-
- }
- }
- 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 == 'set_dlg_attr_show') {
- var result = action.value;
- result.forEach(async (attr, key) => {
- $this.$data.head_styledef.form.items.forEach(
- async (ele,
- index) => {
- //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (ele.name != 'Layout') {
- if (ele.fieldId == attr.attr) {
- ele.show = attr.show;
- }
- } else if (ele.name == 'Layout') {
- ele.setting.colList.forEach(
- col => {
- if (col) {
- if (col
- .fieldId ==
- attr
- .attr) {
- col.show =
- attr
- .show;
- }
- }
- });
- }
- });
- });
- var head_styledef = JSON.parse(JSON.stringify($this.$data
- .head_styledef));
- $this.$data.head_styledef = [];
- $this.$data.head_styledef = head_styledef;
- // console.log($this.$data.head_styledef);
- } else if (action.action_type == 'set_global_attr') {
- $this.$data.global_attr = action.value || [];
- } else {
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translateSys("quotation_mark_left") +
- action
- .action_type + this.translateSys(
- "quotation_mark_right") + this.translate(
- "tip_action_unprocessed"),
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- }
- }
- }
- // 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;
- }
- }
- }
- }
- }
- }
- } else {
- uni.showModal({
- title: this.translateSys("error") + "3",
- content: success.err_msg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- }
- }).catch(ex => {
- // console.log(ex);
- uni.showModal({
- title: this.translateSys("error") + "3.1",
- content: ex.errMsg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- });
},
- DataObjRunCustomEvent_Return(eventid, data_attr, button_callback, item) {
+ dataObjRunCustomEvent_Return(eventid, button_callback, item) {
+ const $this = this
+ showLoading("loading...")
var enviroment = {
'function': '3000', // 鍔熻兘鐐圭紪鍙�- cls_id: this.$data.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ cls_id: $this.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇� 'button': 'top', // top/bottom
- button_name: this.translateSys('add2'),
+ button_name: $this.translateSys('add2'),
master: {
- cls_id: this.$data.param.DataCls.id, // button=bottom鏃�master鐨刢ls_id
+ 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 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] || "",
+ value: 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
+ class_id: $this.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 global_attr = Base64.encode(JSON.stringify($this
+ .global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
var obj_attr = {};
- req.forEach(item => {
- obj_attr[item.attr] = item.val;
+ 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.$data.param.DataCls.id,
+ class_id: $this.param.DataCls.id,
class_name: '',
event_id: eventid,
event_name: '',
@@ -1334,260 +1215,49 @@
ref_cls_id: '',
rel_obj_id: '',
user_login: '',
- data_json: '',
+ data_json: [],
compose_info: '',
ext_info: extinfo,
global_attr: global_attr,
- input_param: '',
+ 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){
- if (this.param.Only_Script_Error) {
- let pos = tip.indexOf("锛�);
- if (pos > -1) tip = tip.substring(pos + 1);
- }
- uni.showModal({
- title: this.translateSys("tip"),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- }
- else uni.showModal({
- title: this.translateSys("tip"),
- content: tip + ',' + this.translateSys('tip') + ':' + data.ret,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- return false
- } else {
- var tip = data.info ? typeof data.info == 'string' ? data.info : data.info
- .join(
- '<br/>') : '';
- if (tip) uni.showModal({
- title: this.translateSys("tip"),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
+ runCustomEvent(dataInfo).then(data => {
+ hideLoading()
+ $this.onFormEventResult( data, button_callback,item,req)
- 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> ' +
- 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 $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> ' +
- 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') {
- 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;
- }
- } 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);
- }
- }
- }
- });
- } else {
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translateSys("quotation_mark_left") +
- action.action_type + this.translateSys(
- "quotation_mark_right") + this.translate(
- "tip_action_unprocessed"),
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- }
- }
- }
- } else {
- uni.showModal({
- title: this.translateSys('tip') + "5.2",
- content: this.translateSys("quotation_mark_left") +
- "before_click_button" + this.translateSys(
- "quotation_mark_right") + this.translateSys(
- "comma") + 'event_id' + eventid,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- }
- }
- } else {
- uni.showModal({
- title: this.translateSys("error") + "5",
- content: success.err_msg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- }
}).catch(ex => {
// console.log(ex);
- uni.showModal({
- title: this.translateSys('tip') + "5.1",
- content: ex.errMsg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
+ hideLoading()
+ showError(ex, this.translateSys("error") + " 5.1")
+
});
},
//纭畾
sava() {
- if (this.after_ok?.id) { // 鐐瑰嚮纭畾鎸夐挳鍚�- this.afterOK();
- } else {
- this.add();
- }
+ 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
});
- var obj_attr = this.head_styledef.form.model;
+ 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,
@@ -1596,24 +1266,18 @@
var enviroment = {
'function': '3000', // 鍔熻兘鐐圭紪鍙�- cls_id: this.$data.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ cls_id: this.param.DataCls.id, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇� 'button': 'top', // top/bottom
button_name: this.translateSys('add2'),
master: {
- cls_id: this.$data.param.DataCls.id,
+ cls_id: this.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_id: this.param.DataCls.id,
class_name: '',
master_cls_id: '',
master_obj_id: '',
@@ -1627,85 +1291,239 @@
};
console.log(dataInfo);
// return
- this.$store.dispatch('createDataObj', dataInfo).then(success => {
- console.log(success);
+ dataObjCreate(dataInfo).then(res => {
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: this.translateSys("tip"),
- content: this.translate('execute_script_failed') + this
- .translateSys('comma') + this.translate('result') +
- this
- .translateSys('colon') + action.result,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- return;
+ 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);
}
- if (action.info) {
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translate('execute_script_failed') + this
- .translateSys('comma') + this.translate('result') +
- this
- .translateSys('colon') + action.info,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- return;
- }
- if (action.result_type == '0') {
- uni.showToast({
- title: action.result,
- icon: "success",
- duration: 3000
- });
- }
-
- // "{"ret":0, "result_type":0, "result":"鍒涘缓鎴愬姛123123123","info":""}"
}
- } else
- uni.showToast({
- title: this.translate('create_success'),
- icon: "success",
- duration: 3000
- });
- if ( !this.$data.param.After_Btn_Not_Refresh) {
- //鍒锋柊
- uni.redirectTo({
- url: '../modal/3018_2?param=' + JSON.stringify(this.$data.param) +
- "&titlename=" + this.$data.title
- });
- }
+ if (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 {
+ 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: this.translateSys("error"),
- content: success.err_msg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
}
+ this.saving = false
}).catch(ex => {
- console.log(ex);
+ this.saving = false
+
uni.hideLoading();
- uni.showModal({
- title: this.translateSys("tip"),
- content: ex.errMsg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
+ 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;
+ }
+ }
+ }
+ });
+ }
+ }
+ }
+
+ },
+ 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);
+ }
+ });
+
+ 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 = {
@@ -1715,13 +1533,190 @@
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,
- class_id: this.$data.param.DataCls.id,
+ 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,
@@ -1735,62 +1730,146 @@
};
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) {
- if (this.param.Only_Script_Error) {
- let pos = tip.indexOf("锛�);
- if (pos > -1) tip = tip.substring(pos + 1);
- }
- uni.showModal({
- title: this.translateSys("tip"),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- } else uni.showModal({
- title: this.translateSys("tip"),
- content: tip + ',' + this.translateSys('tip') + ':' + data.ret,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- return false
- } else {
- var tip = data.info ? typeof data.info == 'string' ? data.info : data.info
- .join(
- '<br/>') : '';
- if (tip) uni.showModal({
- title: this.translateSys("tip"),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
+ 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 result = data.result;
+ 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
+ }
+ }
}
- } else {
- uni.showModal({
- title: this.translateSys("error") + "7",
- content: success.err_msg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
}
+
}).catch(ex => {
- // console.log(ex);
- uni.showModal({
- title: this.translateSys('tip') + "7.1",
- content: ex.errMsg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
+ 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
+ });
+
+ },
+ }
});
},
@@ -1823,64 +1902,53 @@
</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;
+ // padding: 5rpx 0;
+ width: 98%;
}
- .v-headStyle:first-child {
- margin-top: 15rpx;
+ .uni-forms-item {
+ // border: 0.5px solid red;
+ margin-bottom: 11rpx;
}
- .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; */
- }
+ // .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;
- display: inline-block;
- width: 65%;
- line-height: 22rpx;
- vertical-align: middle;
+ 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,
@@ -1895,13 +1963,10 @@
box-sizing: border-box;
}
- .uni-input {
- /* border: none; */
- }
.uni-icon {
/* border: 1px solid red; */
- width: 8%;
+ width: 30rpx;
font-family: uniicons;
font-size: 40rpx;
font-weight: 400;
@@ -1915,43 +1980,85 @@
vertical-align: middle;
}
-
- .view-content {
- min-height: 700rpx;
- /* border:1px solid red; */
- }
-
.input-disabled {
background-color: #f3f3f3 !important;
}
- button.btn_add {
- width: 49.5%;
- margin-top: 50rpx;
- padding: 20rpx;
- line-height: 1.5;
- background: #4D6AF4;
- border: none;
- color: #fff;
- font-size: 38rpx;
- font-weight: bold;
- float: right;
- display: inline-block;
+ .view-content {
+ display: flex;
+ flex: 1;
+ width: calc(100% - 30rpx);
+ padding: 10rpx 15rpx;
+ flex-direction: column;
+ overflow-y: auto;
+
}
- 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-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;
@@ -1990,7 +2097,7 @@
.popup-footer {
float: right;
position: absolute;
- bottom: 0;
+ bottom: 10rpx;
right: 20rpx;
}
@@ -2014,9 +2121,11 @@
margin-top: 50rpx;
padding: 15rpx;
line-height: 1.5;
- background: #27A6E1;
- border: none;
- color: #fff;
+ // background: #27A6E1;
+ // border: none;
+ // color: #fff;
+ background: #fff;
+ color: #000;
font-size: 38rpx;
font-weight: bold;
/* float: right; */
@@ -2025,7 +2134,7 @@
#dv_select {
display: inline-block;
- width: 66%;
+ // width: 66%;
background: #FFF;
border-radius: 0 !important;
color: #2d8cf0;
@@ -2163,9 +2272,8 @@
/* line-height: 22rpx; */
}
- .view-floor {
- padding: 0 20rpx;
- }
+
+
.demo-uni-row {
margin-bottom: 0px;
@@ -2183,10 +2291,6 @@
.demo-uni-col {
height: 36px;
border-radius: 5px;
- }
-
- .demo-uni-row .uni-input {
- width: calc(100% - 120px);
}
.text {
--
Gitblit v1.9.1