From 49dfdd3bf265db28d38167f34e9aabfdd3e8e5db Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期五, 17 十月 2025 10:16:58 +0800
Subject: [PATCH] imagebutton
---
pages/modal/form/index.vue | 638 +++++++++++++++++++++++++--------------------------------
1 files changed, 279 insertions(+), 359 deletions(-)
diff --git a/pages/modal/form/index.vue b/pages/modal/form/index.vue
index baa3869..4fa48e1 100644
--- a/pages/modal/form/index.vue
+++ b/pages/modal/form/index.vue
@@ -506,7 +506,16 @@
}
},
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;
@@ -642,7 +651,7 @@
// 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);
},
@@ -697,85 +706,7 @@
};
runCustomEvent(dataInfo).then(result => {
console.log(result);
- 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('\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) {
-
- } else if (typeof result.result == 'string') {
- showInfo(result.result)
-
- }
- try {
- var actionList = result.action || []
- actionList.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 (action.action_type ==
- 'set_dlg_attr_show') {
- var data = action.value;
-
- $this.setFormItemVisible(data)
- }
- });
-
- } 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
- }
- }
-
- }
+ $this.onFormEventResult(result, "")
}).catch(ex => {
// console.log(ex);
@@ -786,7 +717,268 @@
showError(ex, this.translateSys('tip') + "4.2")
}
},
+ async onFormEventResult(data, button_callback, item) {
+ 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
@@ -944,6 +1136,8 @@
async DataObjRunCustomEvent(info, data_attr) {
var $this = this;
+ if (!info.eventid)
+ return
var enviroment = {
'function': '3000', // 鍔熻兘鐐圭紪鍙� cls_id: this.clsId, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�@@ -1003,79 +1197,15 @@
console.log(dataInfo);
// return;
runCustomEvent(dataInfo).then(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 (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') {
- 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.setFormItemVisible(result)
- } else if (action.action_type == 'set_global_attr') {
- $this.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")
- });
- }
- }
-
- } 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.onFormEventResult(data, "")
}).catch(ex => {
// console.log(ex);
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', // 鍔熻兘鐐圭紪鍙�@@ -1132,217 +1262,7 @@
console.log(dataInfo);
// return;
runCustomEvent(dataInfo).then(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 (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 actions = data.action || []
- 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.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
- }
- }
- }
+ $this.onFormEventResult(data, button_callback, item)
}).catch(ex => {
showError(ex, this.translateSys('tip') + "5.1")
--
Gitblit v1.9.1