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/form/index.vue | 1644 ++++++++++++++++++++--------------------------------------
1 files changed, 572 insertions(+), 1,072 deletions(-)
diff --git a/pages/modal/form/index.vue b/pages/modal/form/index.vue
index a1acb6d..4214186 100644
--- a/pages/modal/form/index.vue
+++ b/pages/modal/form/index.vue
@@ -1,123 +1,11 @@
<template>
- <view class="uni-page-modal-form">
+ <view class="uni-page-modal-form" :class="largeMode?'large-mode':''">
<view class="view-content">
<!-- 琛ㄥご鏍峰紡 -->
- <uni-forms ref="baseForm" label-align="right">
- <view v-for="(item,index) in head_styledef.form.items" :key="index" class="v-head-style">
- <!-- 鏅�甯冨眬 -->
- <uni-forms-item v-if="item.name != 'Layout'" :label="item.label ?item.label +'锛�:'' "
- :label-width="item.labelWidth+'px'">
- <uni-data-picker v-if="item.name=='Select'" :class="item.disabled?'input-disabled':''"
- v-model="item.value" :localdata="item.useDict ? item.dict : item.selections"
- @change="onEnterChange(item)" :readonly="item.disabled" :clear-icon="false"
- :popup-title="item.label"></uni-data-picker>
- <view class="input-wrapper" v-if="item.name=='Input' || item.name=='InputNumber'">
- <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]"
- @click="classAttr_extButton(item)"></text>
- <input class="uni-input" :class="item.disabled?'input-disabled':''"
- :style="{'padding-left':item.setting.prefix?0 : '8rpx','right':item.setting.suffix?0 : '8rpx'}"
- :type="item.name=='Input'?'text':'number'" v-model="item.value"
- :disabled="item.disabled" :placeholder="item.placeholder"
- :focus="focusFieldId == item.fieldId" @focus="ontap(item)" @click="onClick(item)"
- @keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)" :maxlength="-1" />
- <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
- @click="classAttr_extButton(item)"></text>
- </view>
- <!-- 澶嶉�妗�-->
- <checkbox-group v-if="item.name=='Checkbox'" :class="item.disabled?'input-disabled':''"
- :disabled="item.disabled" @change="onCheckBoxValue" :data-attr="item.fieldId"
- :data-index="index">
- <label v-for="(item2) in item.selections" :key="item2.value">
- <checkbox :value="item2.value" :checked="item.value.includes(item2.value)" />
- <text>{{item2.label}}</text>
- </label>
- </checkbox-group>
- <!-- 鍗曢�妗�-->
- <radio-group v-if="item.name=='Radio'" :class="item.disabled?'input-disabled':''"
- :disabled="item.disabled" @change="onRadioBoxValue" :data-attr="item.fieldId"
- :data-index="index">
- <label v-for="(item2) in item.selections" :key="item2.value">
- <radio :value="item2.value" :checked="item2.value === item.value" />
- <text>{{item2.label}}</text>
- </label>
- </radio-group>
- <!-- Switch寮�叧 -->
- <switch class="input-switch" v-if="item.name=='Switch'"
- :class="item.disabled?'input-disabled':''" :disabled="item.disabled" v-model="item.value"
- @change="onEnterChange(item)" />
- <OIDatePicker v-if="item.name=='DatePicker'" :class="item.disabled?'input-disabled':''"
- :disabled="item.disabled" v-model="item.value" :placeholder="item.placeholder"
- :defaultToday="item.setting.defaultToday" :format="item.setting.format"
- @change="onDatetimePickerChange(item)" />
- <OIDatePickerRange v-if="item.name=='DatePickerRange'" :rangeSeparator="item.setting.separator"
- :format="item.setting.format" :class="item.disabled?'input-disabled':''"
- :disabled="item.disabled" v-model="item.value" :placeholder="item.placeholder"
- @change="onDatetimePickerChange(item)" />
- <OITimePicker v-if="item.name=='TimePicker'" :class="item.disabled?'input-disabled':''"
- :disabled="item.disabled" v-model="item.value" :placeholder="item.placeholder"
- @change="onDatetimePickerChange(item)" />
- </uni-forms-item>
- <!-- 鏍呮牸甯冨眬 -->
- <uni-row v-else :gutter="item.setting.gutter">
- <uni-col
- :span=" item.setting.spanList && item.setting.spanList[key]? item.setting.spanList[key] : 24 / item.setting.col"
- v-for="(col,key) in item.setting.colList">
- <uni-forms-item v-if="col!=null" :label="col.label ? col.label +'锛�:''"
- :label-width="col.labelWidth+'px'">
- <uni-data-picker v-if="col.name=='Select'" :class="col.disabled?'input-disabled':''"
- v-model="col.value" :localdata="col.useDict ? col.dict : col.selections"
- @change="onEnterChange(col)" :readonly="col.disabled" :clear-icon="false"
- :popup-title="col.label"></uni-data-picker>
- <view class="input-wrapper" v-if="col.name=='Input' || col.name=='InputNumber'">
- <text v-if="col.setting.prefix" class="uni-icon" :class="[col.setting.prefix]"
- @click="classAttr_extButton(col)"></text>
- <input class="uni-input" :class="col.disabled?'input-disabled':''"
- :style="{'padding-left':col.setting.prefix?0 : '8px','right':col.setting.suffix?0 : '8px'}"
- :type="col.name=='Input'?'text':'number'" v-model="col.value"
- :disabled="col.disabled" :placeholder="col.placeholder"
- :focus="focusFieldId == col.fieldId" @focus="ontap(col)" @click="onClick(col)"
- @keyup.enter="onEnterChange(col)" @blur="onEnterChange(col)" :maxlength="-1" />
- <text v-if="col.setting.suffix" class="uni-icon" :class="[col.setting.suffix]"
- @click="classAttr_extButton(col)"></text>
- </view>
- <!-- 澶嶉�妗�-->
- <checkbox-group v-if="col.name=='Checkbox'" :class="col.disabled?'input-disabled':''"
- :disabled="col.disabled" @change="onCheckBoxValue" :data-attr="col.fieldId"
- :data-index="index" :data-iindex="key">
- <label v-for="(col2) in col.selections" :key="col2.value">
- <checkbox :value="col2.value" :checked="col.value.includes(col2.value)" />
- <text>{{col2.label}}</text>
- </label>
- </checkbox-group>
- <!-- 鍗曢�妗�-->
- <radio-group v-if="col.name=='Radio'" :class="col.disabled?'input-disabled':''"
- :disabled="col.disabled" @change="onRadioBoxValue" :data-attr="col.fieldId"
- :data-index="index" :data-iindex="key">
- <label v-for="(col2) in col.selections" :key="col2.value">
- <radio :value="col2.value" :checked="col2.value === col.value" />
- <text>{{col2.label}}</text>
- </label>
- </radio-group>
- <!-- Switch寮�叧 -->
- <switch v-if="col.name=='Switch'" :class="col.disabled?'input-disabled':''"
- :disabled="col.disabled" v-model="col.value" @change="onEnterChange(col)" />
- <OIDatePicker v-if="col.name=='DatePicker'" :class="col.disabled?'input-disabled':''"
- :disabled="col.disabled" v-model="col.value" :placeholder="col.placeholder"
- :defaultToday="col.setting.defaultToday" :format="col.setting.format"
- @change="onDatetimePickerChange(col)" />
- <OIDatePickerRange v-if="col.name=='DatePickerRange'"
- :rangeSeparator="col.setting.separator" :format="col.setting.format"
- :class="col.disabled?'input-disabled':''" :disabled="col.disabled"
- v-model="col.value" :placeholder="col.placeholder"
- @change="onDatetimePickerChange(col)" />
- <OITimePicker v-if="col.name=='TimePicker'" :class="col.disabled?'input-disabled':''"
- :disabled="col.disabled" v-model="col.value" :placeholder="col.placeholder"
- @change="onDatetimePickerChange(col)" />
- </uni-forms-item>
- </uni-col>
- </uni-row>
- </view>
- </uni-forms>
+ <OIForm ref="refBaseForm" class="v-head-style" :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">
<button type="primary" @tap="ok" class="btn_add" :class="okLoading?'btn_disabled':''"
@@ -154,7 +42,9 @@
</template>
<script>
- import Base64 from '../../../components/js-base64/base64.js'
+ import {
+ Base64
+ } from '@/js/Base64.js';
import {
dictGetInfo
} from "@/api/mobox.js"
@@ -166,21 +56,19 @@
dataObjInfo
} from "@/api/data.js"
import dayjs from "dayjs";
- import OIDatePicker from '@/components/oi-date-time-picker/oi-date-picker.vue'
- import OIDatePickerRange from '@/components/oi-date-time-picker/oi-date-picker-range.vue'
- import OITimePicker from '@/components/oi-date-time-picker/oi-time-picker.vue'
+ import OIForm from '@/components/oi-form/index.vue'
+ import {
+ showInfo,
+ showError
+ } from "@/js/Page.js"
export default {
name: "PageModalForm",
- modules: {
- Base64,
- },
components: {
- OIDatePicker,
- OIDatePickerRange,
- OITimePicker
+ OIForm
},
data() {
return {
+ largeMode: getApp().globalData.largeMode || false,
okLoading: false,
title: this.translateSys('add2'),
type: '',
@@ -199,7 +87,6 @@
global_attr: [],
ext_info: {},
data_json: [],
- refdatastore: [], //寮曠敤鏁版嵁瀛樺偍鍖�/ {attr:'G_PRJ_' + bindattr + '_ID', value:info.id}
popupType: "center",
check_list: {},
popupParam: {},
@@ -246,6 +133,11 @@
};
},
},
+ onReady() {
+ uni.setNavigationBarTitle({
+ title: this.title
+ }); //璁剧疆椤堕儴鏍囬
+ },
onLoad(options) {
this.param = JSON.parse(options.param);
@@ -266,20 +158,11 @@
if (options.dataJson)
this.data_json = JSON.parse(options.dataJson);
this.title = options.titlename ? options.titlename : this.param.ShowName; //璁剧疆鎸夐挳鏂囧瓧
- // console.log(options)
- uni.setNavigationBarTitle({
- title: this.title
- }); //璁剧疆椤堕儴鏍囬
-
if (this.clsId) {
this.loadData(objAttr)
} else {
- uni.showModal({
- title: this.translateSys("error"),
- content: this.translate("tip_no_master_class"),
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ showInfo(this.translate("tip_no_master_class"))
+
}
},
//椤甸潰鍒濆鍖栬幏鍙栫劍鐐�@@ -411,6 +294,25 @@
}
}
}
+ const app = getApp()
+ if (app.globalData.bindClasses) {
+ styledefHead.form.items.push({
+ name: "Input",
+ label: this.translate("classes"),
+ labelWidth: 100,
+ disabled: true,
+ value: app.globalData.classes,
+ setting: {
+ width: 100,
+ height: 50,
+ },
+ bind: {
+ attr: "",
+ },
+ fieldId: "S_CLASSES",
+ })
+ styledefHead.form.model["S_CLASSES"] = app.globalData.classes
+ }
}
this.setData({
@@ -420,16 +322,8 @@
} catch (ex) {
// console.log(ex);
- let exStr = JSON.stringify(ex)
- if (exStr == "{}")
- exStr = ex
- let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
- uni.showModal({
- title: $this.translateSys('tip') + "1",
- content: exStr,
- showCancel: false,
- confirmText: $this.translateSys('close')
- });
+ showError(ex, this.translateSys('tip') + "1")
+
}
@@ -462,12 +356,7 @@
formItem.dict = list;
} catch (ex) {
// console.log(ex);
- uni.showModal({
- title: this.translateSys("error") + "3",
- content: ex.errMsg,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ showError(ex, this.translateSys('error') + "3")
}
},
@@ -535,125 +424,112 @@
data_json,
ext_info
})
- if (result.ret != 0) {
- var tip = result.err_info ? typeof result
- .err_info == 'string' ? result
- .err_info : result.err_info.join('<br/>') :
- '';
- if (result.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(
- 'close')
- });
- } else uni.showModal({
- title: this.translateSys('tip'),
- content: tip + ',' + this
- .translateSys('tip') + ':' +
- result
- .ret,
- showCancel: false,
- confirmText: this.translateSys(
- 'close')
- });
- return false;
+ if (result.ret != 0 && result.ret != 1) {
+ let cls_name = result.event_info?.cls_name
+ let event_name = result.event_info?.event_name
+ tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : result
+ .err_info
+ .join('\n') : ''
+
+ if (cls_name && event_name) tip = `鎵ц鈥�{cls_name}鈥濇暟鎹被鐨勨�${event_name}鈥濊剼鏈椂杩斿洖閿欒锛�{tip}`
+ if (result.ret == 801) showInfo(tip)
+ else showError(`${tip}锛屾彁绀猴細${result.ret}`, this.translateSys('tip'))
+ this.saving = false
+ return false
} else {
- var tip = result.info ? typeof result.info ==
- 'string' ? result.info :
- result.info.join('<br/>') : '';
- if (tip) uni.showModal({
- title: this.translateSys('tip'),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys(
- 'close')
- });
+ var tip = result.info ? typeof result.info == 'string' ? result.info :
+ result.info.join('\n') : '';
+ tip = tip || result.err_info
+ let time = result.info_time || 0
+ if (time)
+ showError(tip, this.translateSys('tip'))
+ else
+ showInfo(tip)
+ if ([0, 2, 3, 4, -1].includes(result.result_type)) {
+ if (result.result_type == 2) {
- if (result.result_type == 0 && result.action) {
- result.action.forEach(item => {
+ } else if (typeof result.result == 'string') {
+ showError(result.result)
- if (item.action_type ==
- "set_dlg_current_edit_attr"
- ) {
+ }
+ try {
+ var actionList = result.action || []
+ actionList.forEach(item => {
- if ($this
- .focusOldFieldId ==
- item.value) {
- $this.setData({
- focusFieldId: ""
- })
- } else {
- $this.setData({
- focusFieldId: $this
- .focusOldFieldId
- })
+ if (item.action_type ==
+ "set_dlg_current_edit_attr"
+ ) {
+
+ if ($this
+ .focusOldFieldId ==
+ item.value) {
+ $this.setData({
+ focusFieldId: ""
+ })
+ } else {
+ $this.setData({
+ focusFieldId: $this
+ .focusOldFieldId
+ })
+ }
+ $this.$nextTick(() => {
+ $this.setData({
+ focusFieldId: item
+ .value
+ })
+ });
+ } else if (item.action_type ==
+ "set_dlg_attr") {
+ // value = {"attr":"xxx", "value":"xxx"}
+ var data = item.value;
+ $this.setFormValues(data)
+ } else if (action.action_type == 'set_dlg_attr_show') {
+ var data = action.value;
+
+ $this.setFormItemVisible(data)
}
- $this.$nextTick(() => {
- $this.setData({
- focusFieldId: item
- .value
- })
- });
- } else if (item.action_type ==
- "set_dlg_attr") {
- // value = {"attr":"xxx", "value":"xxx"}
- var data = item.value;
- $this.setFormValues(data)
- }
- });
- } else {
-
- if (result.info) {
- uni.showModal({
- title: this.translateSys(
- "error") + "4.3",
- content: result.info,
- showCancel: false,
- confirmText: this
- .translateSys('close')
});
+
+ } catch (ex) {
+ let actionList = (result.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) {
- let exStr = JSON.stringify(ex)
- if (exStr == "{}")
- exStr = ex
- let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
- uni.showModal({
- title: $this.translateSys('tip') + "2",
- content: exStr,
- showCancel: false,
- confirmText: $this.translateSys('close')
- });
+ showError(ex, this.translateSys('tip') + "2")
}
},
onClick(item) {
- this.focusFieldId = item.fieldId
+ 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);
+ }
},
ontap(item) { //鎵爜鍔熻兘
// var $ele = e;
//console.log(e.target)
this.focusOldFieldId = item.fieldId
getApp().onScan((result) => {
- console.log(result.decodedata);
- item.value = result.decodedata;
+ console.log(result);
+ item.value = result;
var $this = this;
- if (item.oldvalue != item.value && item.value.trim() != "") {
- item.oldvalue = item.value;
+ let newVal = item.value.trim()
+ if (newVal) {
+ item.oldvalue = newVal;
var attr = item.fieldId;
- this.head_styledef.form.model[attr] = item.value;
+ this.head_styledef.form.model[attr] = newVal;
var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠� var onSuffixClickCallbackEvent = item.bind
.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�@@ -664,36 +540,59 @@
if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� $this.onChange(onChangeEvent);
}
- if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�- //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴�
- var findd = false
- for (let i in $this.head_styledef.form.items) {
- const ele = $this.head_styledef.form.items[i]
+ //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂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
- }
-
+ 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');
+
+ }
+ } 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
})
- if (curIndex > -1) {
+ 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]
@@ -701,34 +600,9 @@
})
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
- }
- }
}
-
}
+
}
}
@@ -738,107 +612,46 @@
onEnterChange(item) { //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢
console.log(item);
- if (item.oldvalue != item.value && item.value.trim() != "") {
- item.oldvalue = item.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;
+ return
+ }
+ }
+ if (item.oldvalue != newVal) {
+ item.oldvalue = newVal;
var attr = item.fieldId;
- this.head_styledef.form.model[attr] = item.value;
+ this.head_styledef.form.model[attr] = newVal;
var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�-
if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� this.onChange(onChangeEvent);
}
}
},
- onCheckBoxValue(e) { //缁戝畾Model鍊�- let values = e.detail.value || []
- const item = this.head_styledef.form.items[e.currentTarget?.dataset?.index || 0]
- if (item?.setting?.colList) {
- const col = item.setting.colList[e.currentTarget?.dataset?.iindex || 0]
- if (col) {
- col.value = values
- let attr = col.fieldId;
- this.head_styledef.form.model[attr] = col.value;
- var onChangeEvent = col.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�- this.onChange(onChangeEvent);
- }
- return
- }
- } else {
- if (item) {
- item.value = values
- let attr = item.fieldId;
- this.head_styledef.form.model[attr] = item.value;
- var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�- this.onChange(onChangeEvent);
- }
- }
- }
-
- },
- onRadioBoxValue(e) { //缁戝畾Model鍊�- let values = e.detail.value || ""
- const item = this.head_styledef.form.items[e.currentTarget?.dataset?.index || 0]
- if (item?.setting?.colList) {
- const col = item.setting.colList[e.currentTarget?.dataset?.iindex || 0]
- if (col) {
- col.value = values
- let attr = col.fieldId;
- this.head_styledef.form.model[attr] = col.value;
- var onChangeEvent = col.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�- this.onChange(onChangeEvent);
- }
- return
- }
- } else {
- if (item) {
- item.value = values
- let attr = item.fieldId;
- this.head_styledef.form.model[attr] = item.value;
- var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�- this.onChange(onChangeEvent);
- }
- }
-
- }
-
- },
- onDatetimePickerChange(e) {
- var attr = item.fieldId;
- this.head_styledef.form.model[attr] = item.value;
-
- },
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_callback_empty'),
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ 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('close')
- });
+ 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.dataObjRunCustomEvent_Return(onSuffixClickEvent.id, '', onSuffixClickCallbackEvent.id,
+ this.dataObjRunCustomEvent_Return(onSuffixClickEvent.id, onSuffixClickCallbackEvent.id,
item);
},
@@ -893,129 +706,284 @@
};
runCustomEvent(dataInfo).then(result => {
console.log(result);
-
- if (result.ret != 0) {
- var tip = result.err_info ? typeof result
- .err_info == 'string' ? result
- .err_info : result.err_info.join('<br/>') :
- '';
- if (result.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(
- 'close')
- });
- } else uni.showModal({
- title: this.translateSys('tip'),
- content: tip + ',' + this
- .translateSys('tip') + ':' +
- result
- .ret,
- showCancel: false,
- confirmText: this.translateSys(
- 'close')
- });
- return false;
- } else {
- var tip = result.info ? typeof result.info ==
- 'string' ? result.info :
- result.info.join('<br/>') : '';
- if (tip) uni.showModal({
- title: this.translateSys('tip'),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys(
- 'close')
- });
-
- if (result.result_type == 0 && result.action) {
- result.action.forEach(item => {
-
- if (item.action_type ==
- "set_dlg_current_edit_attr"
- ) {
-
- if ($this
- .focusOldFieldId ==
- item.value) {
- $this.setData({
- focusFieldId: ""
- })
- } else {
- $this.setData({
- focusFieldId: $this
- .focusOldFieldId
- })
- }
- $this.$nextTick(() => {
- $this.setData({
- focusFieldId: item
- .value
- })
- });
- } else if (item.action_type ==
- "set_dlg_attr") {
- // value = {"attr":"xxx", "value":"xxx"}
- var data = item.value;
- $this.setFormValues(data)
- }
- });
- } else {
-
- if (result.info) {
- uni.showModal({
- title: this.translateSys(
- "error") + "4.3",
- content: result.info,
- showCancel: false,
- confirmText: this
- .translateSys('close')
- });
- }
- }
-
- }
+ $this.onFormEventResult(result, "")
}).catch(ex => {
// console.log(ex);
- let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
- uni.showModal({
- title: this.translateSys("error") + "4.1",
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ showError(ex, this.translateSys('error') + "4.1")
});
}
} catch (ex) {
- var tip = typeof ex == "string" ? ex : ex.message;
- uni.showModal({
- title: this.translateSys("error") + "4.2",
- content: this.translate(
- 'execute_after_change_event_failed') + this
- .translateSys(
- "comma") +
- this.translate('reason') + this.translateSys("colon") +
- tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ showError(ex, this.translateSys('tip') + "4.2")
}
},
+ async onFormEventResult(data, button_callback, item,req) {
+ try {
+ const $this = this
+ var enviroment = {
+ 'function': '3000', // 鍔熻兘鐐圭紪鍙�+ cls_id: $this.clsId, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ 'button': 'top', // top/bottom
+ button_name: $this.translateSys('add2'),
+ master: {
+ cls_id: $this.clsId, // 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 (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)
+ showInfo(tip)
+ 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 enviroment = JSON.stringify(enviroment);
+ var actions = data.action || []
+ for (var i = 0; i < actions.length; i++) {
+ var action = actions[i];
+ console.log(action)
+ var val = action.value;
+ 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 ==
+ "set_dlg_attr") {
+ // value = {"attr":"xxx", "value":"xxx"}
+ var data = action.value;
+ $this.setFormValues(data)
+ } else if (action.action_type ==
+ 'set_dlg_attr_show') {
+ var data = action.value;
+
+ $this.setFormItemVisible(data)
+ } else if (action.action_type == 'set_global_attr') {
+ $this.global_attr = 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: ""
+ }
+ 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.clsId,
+ 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: ""
+ }
+ $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.clsId,
+ 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")
+ }
+ },
setFormValues(attrs) {
console.log(attrs)
const head_styledef = this.head_styledef
- if (JSON.stringify(attrs) == '{}') {
- return;
+ if (!Array.isArray(attrs)) {
+ return
}
attrs.forEach(async (attr, key) => {
if (attr.choice_list) {
@@ -1042,7 +1010,8 @@
if (col.useDict) {
col.dict = dictItemList;
} else {
- col.selections = dictItemList;
+ col.selections =
+ dictItemList;
}
}
}
@@ -1072,11 +1041,32 @@
//鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹� })
- console.log(head_styledef)
this.setData({
head_styledef: head_styledef
})
},
+ setFormItemVisible(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
+ })
+
+ },
+
popupChange(e) {
console.log('褰撳墠妯″紡锛� + e.type + ',鐘舵�锛� + e.show);
},
@@ -1084,15 +1074,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) { //寮规鍙栨秷
@@ -1100,7 +1090,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++) {
@@ -1114,28 +1104,20 @@
});
}
}
- if (!$this.$data.popupParam) {
- uni.showModal({
- title: this.translateSys("tip"),
- content: "popupParam涓虹┖锛�,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ if (!$this.popupParam) {
+ showInfo("popupParam涓虹┖锛�)
+
return;
}
if (data.length == 0) {
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translate("tip_no_select_data"),
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ showInfo(this.translate("tip_no_select_data"))
+
return;
}
let global_attr = Base64.encode(JSON.stringify(this.global_attr))
let data_json = Base64.encode(JSON.stringify(this.data_json))
let ext_info = Base64.encode(JSON.stringify(this.ext_info))
- var callback_eventid = $this.$data.popupParam.button_callback.trim();
+ var callback_eventid = $this.popupParam.button_callback.trim();
var info = {
eventid: callback_eventid,
edtype: "0",
@@ -1145,15 +1127,17 @@
userlogin: '',
clsid: $this.clsId,
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();
},
async DataObjRunCustomEvent(info, data_attr) {
var $this = this;
+ if (!info.eventid)
+ return
var enviroment = {
'function': '3000', // 鍔熻兘鐐圭紪鍙� cls_id: this.clsId, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�@@ -1213,185 +1197,15 @@
console.log(dataInfo);
// return;
runCustomEvent(dataInfo).then(data => {
- 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('close')
- });
- } else uni.showModal({
- title: this.translateSys("tip"),
- content: tip + ',' + this.translateSys('tip') + ':' + data
- .ret,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
- return false
- } else {
- var tip = data.info ? typeof data.info == 'string' ? data.info : data
- .info
- .join(
- '<br/>') : '';
- if (tip) uni.showModal({
- title: this.translateSys("tip"),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
-
- 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;
- $this.setFormValues(result)
- } else if (action.action_type == 'set_dlg_attr_show') {
- var result = action.value;
- result.forEach(async (attr, key) => {
- $this.$data.head_styledef.form.items
- .forEach(
- async (ele,
- index) => {
- //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (ele.name != 'Layout') {
- if (ele.fieldId == attr
- .attr) {
- ele.show = attr
- .show;
- }
- } else if (ele.name ==
- 'Layout') {
- ele.setting.colList
- .forEach(
- col => {
- if (col) {
- if (col
- .fieldId ==
- attr
- .attr
- ) {
- col.show =
- attr
- .show;
- }
- }
- });
- }
- });
- });
- var head_styledef = JSON.parse(JSON.stringify($this.$data
- .head_styledef));
- $this.$data.head_styledef = [];
- $this.$data.head_styledef = head_styledef;
- // 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('close')
- });
- }
- }
- }
- 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;
- }
- }
- }
- }
- }
- }
+ $this.onFormEventResult(data, "")
}).catch(ex => {
// console.log(ex);
- let exStr = JSON.stringify(ex)
- if (exStr == "{}")
- exStr = ex
- let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
- uni.showModal({
- title: this.translateSys("error") + "3.1",
- content: exStr,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ showError(ex, this.translateSys('error') + "3.1")
});
},
- dataObjRunCustomEvent_Return(eventid, data_attr, button_callback, item) {
- console.log("dataObjRunCustomEvent_Return", eventid, data_attr, button_callback)
+ dataObjRunCustomEvent_Return(eventid, button_callback, item) {
+ console.log("dataObjRunCustomEvent_Return", eventid, button_callback)
const $this = this
var enviroment = {
'function': '3000', // 鍔熻兘鐐圭紪鍙�@@ -1409,18 +1223,6 @@
attr: a,
value: obj_attr[a] || "",
}));
- if ($this.refdatastore.length > 0) {
- for (var i = 0; i < $this.refdatastore.length; i++) {
- if (!req.filter(function(s) {
- return $this.refdatastore[i].attr == s.name
- }).length) {
- req.push({
- 'attr': $this.refdatastore[i].attr,
- 'value': $this.refdatastore[i].value
- });
- }
- }
- }
let global_attr = Base64.encode(JSON.stringify(this.global_attr))
let data_json = Base64.encode(JSON.stringify(this.data_json))
let ext_info = Base64.encode(JSON.stringify(this.ext_info))
@@ -1460,243 +1262,11 @@
console.log(dataInfo);
// return;
runCustomEvent(dataInfo).then(data => {
- 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('close')
- });
- } else uni.showModal({
- title: $this.translateSys("tip"),
- content: tip + ',' + $this.translateSys('tip') + ':' + data
- .ret,
- showCancel: false,
- confirmText: $this.translateSys('close')
- });
- return false
- } else {
- var tip = data.info ? typeof data.info == 'string' ? data.info : data
- .info
- .join(
- '<br/>') : '';
- if (tip) uni.showModal({
- title: $this.translateSys("tip"),
- content: tip,
- showCancel: false,
- confirmText: $this.translateSys('close')
- });
-
- if (data != "") {
- var actions = data.action;
- if (actions) {
- for (var i = 0; i < actions.length; i++) {
- var action = actions[i];
- console.log(action)
- 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 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.clsId,
- 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.$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.clsId,
- 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('close')
- });
- }
- }
- }
- } 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('close')
- });
- }
- }
+ $this.onFormEventResult(data, button_callback, item,req)
}).catch(ex => {
- // console.log(ex);
- let exStr = JSON.stringify(ex)
- if (exStr == "{}")
- exStr = ex
- let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
- uni.showModal({
- title: $this.translateSys('tip') + "5.1",
- content: exStr,
- showCancel: false,
- confirmText: $this.translateSys('close')
- });
+ showError(ex, this.translateSys('tip') + "5.1")
+
});
},
//纭畾
@@ -1707,19 +1277,24 @@
mask: true
});
this.okLoading = true
+ console.log(obj_attr)
var obj_attr = this.head_styledef.form.model || {};
console.log(obj_attr)
let ret = await this.sava();
+
this.okLoading = false
uni.hideLoading();
if (!ret) return;
obj_attr.id = this.objId || "";
- const eventChannel = this.$scope.eventChannel;
+ console.log(this.$scope)
+ const eventChannel = this.getOpenerEventChannel();
// const eventChannel = this.getOpenerEventChannel();
eventChannel.emit(this.type, obj_attr);
uni.navigateBack()
} catch (ex) {
+ this.okLoading = true
+ showError(ex, this.translateSys('tip') + "1")
return false;
}
},
@@ -1755,6 +1330,8 @@
}
return true;
} catch (ex) {
+ console.log("sava", ex)
+ showError(ex, this.translateSys('tip'))
return false;
}
@@ -1800,16 +1377,7 @@
await runCustomEvent(dataInfo)
return true
} catch (ex) {
- let exStr = JSON.stringify(ex)
- if (exStr == "{}")
- exStr = ex
- let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
- uni.showModal({
- title: this.translateSys('tip') + "7.1",
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ showError(ex, this.translateSys('tip') + "7.1")
return false
}
@@ -1827,16 +1395,7 @@
await dataObjCreate(dataInfo)
return true
} catch (ex) {
- let exStr = JSON.stringify(ex)
- if (exStr == "{}")
- exStr = ex
- let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
- uni.showModal({
- title: this.translateSys("tip") + "6.1",
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ showError(ex, this.translateSys('tip') + "6.1")
return false
}
@@ -1854,16 +1413,7 @@
return true
} catch (ex) {
- let exStr = JSON.stringify(ex)
- if (exStr == "{}")
- exStr = ex
- let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
- uni.showModal({
- title: this.translateSys("tip") + "6.2",
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ showError(ex, this.translateSys('tip') + "6.2")
return false
}
@@ -1880,8 +1430,10 @@
value: obj_attr[a],
})),
};
- let global_attr = Base64.encode(JSON.stringify(this.global_attr))
- let data_json = Base64.encode(JSON.stringify(this.data_json))
+ let global_attr = Base64.encode(JSON.stringify(this
+ .global_attr))
+ let data_json = Base64.encode(JSON.stringify(this
+ .data_json))
let ext_info = Base64.encode(JSON.stringify(this.ext_info))
var dataInfo = {
ed_type: "0",
@@ -1900,21 +1452,13 @@
data_json,
ext_info,
compose_info: '',
- input_param: Base64.encode(JSON.stringify(input_param)),
+ input_param: Base64.encode(JSON.stringify(
+ input_param)),
};
await runCustomEvent(dataInfo)
return true
} catch (ex) {
- let exStr = JSON.stringify(ex)
- if (exStr == "{}")
- exStr = ex
- let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
- uni.showModal({
- title: this.translateSys('tip') + "7.2",
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ showError(ex, this.translateSys('tip') + "7.2")
return false
}
@@ -1938,59 +1482,15 @@
delta: 1 //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
});
await this.afterCancel();
- } catch (ex) {}
+ } catch (ex) {
+ showError(ex, this.translateSys('tip'))
+ }
},
async beforeCancel() {
try {
if (!this.beforeCancelEvent.id) return true;
var obj_attr = this.head_styledef.form.model;
- let inputParam = {
- id: "",
- attrs: Object.keys(obj_attr).map((a) => ({
- attr: a,
- value: obj_attr[a],
- })),
- };
- let input_param = Base64.encode(JSON.stringify(
- inputParam));
- let global_attr = Base64.encode(JSON.stringify(this
- .global_attr))
- let data_json = Base64.encode(JSON.stringify(this
- .data_json))
- let ext_info = Base64.encode(JSON.stringify(this.ext_info))
-
- await runCustomEvent({
- ed_type: 0,
- start_transaction: true,
- class_id: this.clsId,
- event_id: this.beforeCancelEvent.id,
- data_obj_id: this.objId,
- obj_attr,
- input_param,
- global_attr,
- data_json,
- ext_info,
- })
- return true
- } catch (ex) {
- let exStr = JSON.stringify(ex)
- if (exStr == "{}")
- exStr = ex
- let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
- uni.showModal({
- title: this.translateSys("tip") + "8.1",
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
- return false
- }
- },
- async afterCancel() {
- try {
- if (!this.afterCancelEvent.id) return true;
- var obj_attr = this.head_styledef.form.model;
let inputParam = {
id: "",
attrs: Object.keys(obj_attr).map((a) => ({
@@ -2011,6 +1511,48 @@
ed_type: 0,
start_transaction: true,
class_id: this.clsId,
+ event_id: this.beforeCancelEvent.id,
+ data_obj_id: this.objId,
+ obj_attr,
+ input_param,
+ global_attr,
+ data_json,
+ ext_info,
+ })
+ return true
+ } catch (ex) {
+ showError(ex, this.translateSys('tip') + "8.1")
+ return false
+ }
+ },
+ async afterCancel() {
+ try {
+ if (!this.afterCancelEvent.id) return true;
+ var obj_attr = this.head_styledef.form.model;
+ let inputParam = {
+ id: "",
+ attrs: Object.keys(obj_attr).map((a) =>
+ ({
+ attr: a,
+ value: obj_attr[a],
+ })),
+ };
+ let input_param = Base64.encode(JSON.stringify(
+ inputParam));
+ let global_attr = Base64.encode(JSON.stringify(
+ this
+ .global_attr))
+ let data_json = Base64.encode(JSON.stringify(
+ this
+ .data_json))
+ let ext_info = Base64.encode(JSON.stringify(
+ this
+ .ext_info))
+
+ await runCustomEvent({
+ ed_type: 0,
+ start_transaction: true,
+ class_id: this.clsId,
event_id: this.afterCancelEvent.id,
data_obj_id: this.objId,
obj_attr,
@@ -2021,20 +1563,11 @@
})
return true
} catch (ex) {
- let exStr = JSON.stringify(ex)
- if (exStr == "{}")
- exStr = ex
- let tip = typeof ex.errMsg == "string" ? ex.errMsg :
- exStr
- uni.showModal({
- title: this.translateSys("tip") + "8.2",
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ showError(ex, this.translateSys('tip') + "8.2")
return false
}
},
+
translate(t) {
if (typeof this.$t == "function") return this.$t(
`page.${t}`)
@@ -2064,39 +1597,6 @@
flex-direction: column;
}
- .v-head-style {
- width: 98%;
-
- .uni-forms-item {
- margin-bottom: 11rpx;
- }
-
- .input-wrapper {
- border: 1px solid #d5d5d5;
- width: 100%;
- display: flex;
- flex-direction: row;
-
- .uni-input {
- flex: 1;
- padding: 12rpx 8rpx;
- color: #2d8cf0;
- // height: 40rpx;
- // line-height: 40rpx;
- }
-
- .uni-icon {
-
- padding: 10rpx 5rpx;
- font-size: 32rpx;
- color: rgb(192, 196, 204);
- }
- }
-
- .input-wrapper:hover {
- border: 1px solid rgb(41, 121, 255);
- }
- }
.view-content {
display: flex;
--
Gitblit v1.9.1