From 368dbde6b3ee39a3ac0cdac5089a9ce56ef525f8 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期一, 04 十一月 2024 12:42:51 +0800
Subject: [PATCH] 5601 open comm_dlg
---
pages/modal/3018_2.vue | 672 +++++-------
pages/modal/5602.vue | 761 ++++++++++++++
pages/modal/5601.vue | 756 ++++++++++++++
manifest.json | 4
pages/modal/5600.vue | 756 ++++++++++++++
5 files changed, 2,515 insertions(+), 434 deletions(-)
diff --git a/manifest.json b/manifest.json
index 71b1217..26bcdab 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,8 +2,8 @@
"name" : "MoboxPDA",
"appid" : "__UNI__56D451E",
"description" : "",
- "versionName" : "1131",
- "versionCode" : 1131,
+ "versionName" : "1133",
+ "versionCode" : 1133,
"transformPx" : false,
/* 5+App鐗规湁鐩稿叧 */
"app-plus" : {
diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue
index 487f7c5..f91a918 100644
--- a/pages/modal/3018_2.vue
+++ b/pages/modal/3018_2.vue
@@ -14,8 +14,7 @@
:class="item.disabled?'input-disabled':''" v-model="item.value" :localdata="item.dict"
@change="onchange(item)" :disabled="item.disabled" :clear="false"></uni-data-select>
<!-- 鏂囨湰妗�鏁板瓧妗�-->
- <view class="input-wrapper"
- v-if="(item.name=='Input' || item.name=='InputNumber')">
+ <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]"
@change="classAttr_extButton(item)"></text>
<input class="uni-input" :class="item.disabled?'input-disabled':''"
@@ -23,7 +22,7 @@
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)" :maxlength="-1"/>
+ @blur="onevent(item)" :maxlength="-1" />
<text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
@click="classAttr_extButton(item)"></text>
</view>
@@ -58,8 +57,7 @@
: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')">
+ <view class="input-wrapper" v-if="(item.name=='TimePicker' || item.name=='DatePicker')">
<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>
@@ -72,8 +70,7 @@
:span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col">
<uni-forms-item v-if="cols!=null && cols.show==true" :label="cols.label +'锛�"
:label-width="cols.labelWidth+'px'">
- <view class="input-wrapper"
- v-if="(cols.name=='Input' || cols.name=='InputNumber') ">
+ <view class="input-wrapper" v-if="(cols.name=='Input' || cols.name=='InputNumber') ">
<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':''"
@@ -81,7 +78,7 @@
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)" :maxlength="-1"/>
+ @click="onClick(cols)" @blur="onevent(cols)" :maxlength="-1" />
<text v-if="cols.setting.suffix" class="uni-icon" :class="[cols.setting.suffix]"
@click="onchange(cols)"></text>
</view>
@@ -146,7 +143,8 @@
</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>
+ <button type="default" @tap="cancel"
+ :class="(dropdownBtns.length> 0 || btnName != '')?'btn_cancel':'btn_cancel2'">{{translateSys('cancel')}}</button>
</view>
<!-- 鏅�寮圭獥 top bottom center left right -->
@@ -475,7 +473,7 @@
text: item.value ? item.value : item.name,
value: item.name,
});
- });
+ });
//鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
if (itemName) {
formItem.value = itemName;
@@ -547,159 +545,11 @@
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;
- }
- }
- }
- }
+ $this.setFormValues(result)
} 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;
+ $this.hideFormItems(result)
+
// console.log($this.$data.head_styledef);
} else {
uni.showModal({
@@ -970,23 +820,12 @@
if (data.length == 0) {
uni.showModal({
title: this.translateSys("tip"),
- content:this.translate("tip_no_select_data"),
+ content: this.translate("tip_no_select_data"),
showCancel: false,
confirmText: this.translateSys("cancel")
});
return;
}
- // var fieldId = $this.$data.popupParam.item.fieldId;
- // $this.head_styledef.form.model[fieldId] = name;
- // console.log(fieldId,$this.$data.popupParam.item);
- // for (var c = 0; c < $this.$data.head_styledef.form.items.length; c++) {
- // var attr = $this.$data.head_styledef.form.items[c];
- // if (attr.fieldId == fieldId) {
- // attr.value = name;
- // }
- // }
- // console.log(data);
- // console.log($this.head_styledef.form);
var callback_eventid = $this.$data.popupParam.button_callback.trim();
var info = {
eventid: callback_eventid,
@@ -1115,157 +954,10 @@
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;
- }
- }
- }
- }
+ $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;
+ $this.hideFormItems(result)
// console.log($this.$data.head_styledef);
} else if (action.action_type == 'set_global_attr') {
$this.$data.global_attr = action.value || [];
@@ -1378,7 +1070,7 @@
}
};
var obj_attr = $this.head_styledef.form.model;
- console.log(obj_attr);
+ console.log(obj_attr);
var req = Object.keys(obj_attr).map((a) => ({
attr: a,
value: obj_attr[a] || "",
@@ -1395,7 +1087,7 @@
}
}
}
-
+
var extinfo = enviroment;
extinfo.edit_dlg = {
type: 'small', //灏忕獥鍙�@@ -1434,7 +1126,7 @@
compose_info: '',
ext_info: extinfo,
global_attr: global_attr,
- input_param:input_param,
+ input_param: input_param,
};
console.log(dataInfo);
// return;
@@ -1553,13 +1245,19 @@
});
d.show();
} else if (action.action_type == 'open_common_dlg') {
-
+
if (val.common_dlg_id == 'check_list') {
- $this.setData({check_list:val.config})
+ $this.setData({
+ check_list: val.config
+ })
if (val.config.appear_style == 'sideslip') //鍒ゆ柇鏄惁鏄晶婊�- $this.setData({popupType:"right"})
+ $this.setData({
+ popupType: "right"
+ })
else
- $this.setData({popupType:"center"})
+ $this.setData({
+ popupType: "center"
+ })
// open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴�
$this.$refs.popup.open($this.popupType);
var popupParam = {
@@ -1568,7 +1266,9 @@
req: req,
data_attr: data_attr
}
- $this.setData({popupParam:popupParam})
+ $this.setData({
+ popupParam: popupParam
+ })
}
} else if (action.action_type == 'open_project_query_dlg') {
//console.log(action.value.select_range);
@@ -1685,6 +1385,7 @@
},
add() {
+ const $this = this
uni.showLoading({
title: this.translateSys("loading"),
mask: true
@@ -1730,63 +1431,77 @@
};
console.log(dataInfo);
// return
- dataObjCreate(dataInfo).then(result => {
+ dataObjCreate(dataInfo).then(res => {
uni.hideLoading();
- if (result.action) {
- var action = JSON.parse(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")
- });
- this.saving = false
- return;
+ let data = res.lua_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);
}
- if (action.info) {
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translate('execute_script_failed') +
- this
- .translateSys('comma') +
- 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
- });
- }
+ 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")
+ });
+ this.saving = false
+ 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")
+ });
- // "{"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 (!this.$data.param.After_Btn_Not_Refresh) {
+ //鍒锋柊
+ uni.redirectTo({
+ url: '../modal/3018_2?param=' + JSON.stringify(this.$data
+ .param) +
+ "&titlename=" + this.$data.title
+ });
+ } else {
+ 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') {
+ $this.setFormValues(action.value)
+ } else if (data.action[i].action_type == 'set_dlg_attr_show') {
+ var result = action.value;
+ $this.hideFormItems(result)
+ }
+ }
+ }
+
+ }
}
+
// this.class_attr_init();
@@ -1794,6 +1509,7 @@
}).catch(ex => {
console.log(ex);
this.saving = false
+
uni.hideLoading();
uni.showModal({
title: this.translateSys("tip"),
@@ -1803,8 +1519,167 @@
});
});
},
+ setFormValues(data) {
+ const $this = this
+ for (var i = 0; i < data.length; i++) {
+ if (data[i].choice_list) {
+ for (var c = 0; c < $this.head_styledef.form.items
+ .length; c++) {
+ var attr = $this.head_styledef.form.items[c];
+ if (attr.name != 'Layout') {
+ if (attr.fieldId == data[i].attr) {
+ var dictItemList = [];
+ for (var d in data[i].choice_list) {
+ var val = data[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 == data[
+ i]
+ .attr) {
+ var dictItemList = [];
+ for (var d in data[i]
+ .choice_list) {
+ var val = data[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+'=='+data[i].attr);
+ //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+ if ($this.head_styledef.form.model[data[i]
+ .attr] ==
+ undefined) {
+ $this.head_styledef.form.model[data[i]
+ .attr] =
+ data[i]
+ .value;
+ }
+ //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�+ if (attr.name != 'Layout') {
+ if (attr.fieldId == data[i].attr) {
+ attr.value = '';
+ attr.oldvalue = '';
+ attr.value = data[i].value;
+ attr.oldvalue = data[i].value;
+ $this.head_styledef.form.model[attr
+ .fieldId] =
+ data[
+ i].value;
+ }
+ } else if (attr.name == 'Layout') {
+ attr.setting.colList.forEach(col => {
+ if (col) {
+ if (col.fieldId == data[i]
+ .attr) {
+ col.value = '';
+ col.oldvalue = '';
+ col.value = data[i]
+ .value;
+ col.oldvalue = data[i]
+ .value;
+ $this.head_styledef.form
+ .model[
+ col
+ .fieldId] = data[
+ i]
+ .value;
+ }
+ }
+ });
+ }
+ }
+ var length = 0;
+ if (!$this.$data.refdatastore.filter(function(s) {
+ return data[i].attr == s.attr
+ }).length) {
+ length = 1;
+ $this.$data.refdatastore.push(data[i]);
+ }
+ if (length == 0) {
+ for (var j = 0; j < $this.$data.refdatastore
+ .length; j++) {
+ if ($this.$data.refdatastore[j].attr == data[
+ i]
+ .attr) {
+ $this.$data.refdatastore[j].value = data[
+ i]
+ .value;
+ }
+ }
+ }
+ }
+
+ },
+ hideFormItems(data) {
+ const $this = this
+ data.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;
+ },
afterOK() {
this.saving = true
+ const $this = this
var obj_attr = this.head_styledef.form.model;
// console.log(obj_attr);
var input_param = {
@@ -1872,9 +1747,28 @@
showCancel: false,
confirmText: this.translateSys("cancel")
});
-
- var result = data.result;
-
+ if (!this.$data.param.After_Btn_Not_Refresh) {
+ //鍒锋柊
+ uni.redirectTo({
+ url: '../modal/3018_2?param=' + JSON.stringify(this.$data
+ .param) +
+ "&titlename=" + this.$data.title
+ });
+ } else {
+ 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') {
+ $this.setFormValues(action.value)
+ } else if (data.action[i].action_type == 'set_dlg_attr_show') {
+ var result = action.value;
+ $this.hideFormItems(result)
+ }
+ }
+ }
+ }
}
this.saving = false
@@ -1933,6 +1827,7 @@
}
},
onTriggerEvent(btn, enviroment) {
+ const $this = this
var obj_attr = this.head_styledef.form.model;
// console.log(obj_attr);
var input_param = {
@@ -1999,7 +1894,19 @@
confirmText: this.translateSys("cancel")
});
- var result = data.result;
+ 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') {
+ $this.setFormValues(action.value)
+ } else if (data.action[i].action_type == 'set_dlg_attr_show') {
+ var result = action.value;
+ $this.hideFormItems(result)
+ }
+ }
+ }
}
@@ -2201,6 +2108,7 @@
float: right;
display: inline-block;
}
+
.btn_cancel2 {
width: 90%;
margin: 0 10rpx;
diff --git a/pages/modal/5600.vue b/pages/modal/5600.vue
index 4e51f3f..0864c5f 100644
--- a/pages/modal/5600.vue
+++ b/pages/modal/5600.vue
@@ -14,7 +14,7 @@
<view class="input-wrapper" :style="{'width':`calc(96% - ${item.labelWidth}px)`}"
v-if="item.name=='Input' || item.name=='InputNumber'">
<text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]"
- @click="onEnterChange(item)"></text>
+ @click="classAttr_extButton(item)"></text>
<input class="uni-input" :class="item.disabled?'input-disabled':''"
:type="item.name=='Input'?'text':'number'" v-model="item.value" :disabled="item.disabled"
:placeholder="item.placeholder"
@@ -22,7 +22,7 @@
:focus="focusFieldId == item.fieldId" @focus="ontap(index,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="onEnterChange(item)"></text>
+ @click="classAttr_extButton(item)"></text>
</view>
</view>
@@ -163,14 +163,30 @@
</div>
</view>
</view>
- <!-- <view class="view-bottom" v-if="current==0 && param.Sub_Page[0].OK_Button==true">
- <button type="default" @tap="cancel" class="btn_cancel">鍙栨秷</button>
- <button type="primary" @tap="ok" class="btn_add">纭畾</button>
+ <view>
+ <uni-popup class="view-popup" ref="popup" background-color="#fff" @change="popupChange">
+ <view class="popup-header">{{check_list.title}}</view>
+ <view class="popup-content" :class="{ 'popup-height': popupType === 'left' || popupType === 'right' }"
+ :style="{'width':check_list.width?check_list.width+'px':'200px','height':check_list.height?check_list.height+'px':'88%'}">
+ <view class="popup-cont" :style="{'height':check_list.height?check_list.height-45+'px':'415px'}">
+ <view class="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'}">
+ <label>
+ <checkbox :value="item.check" :checked="item.check" />
+ <text>{{item.name}}</text>
+ </label>
+ </checkbox-group>
+ </view>
+ </view>
+ <view class="popup-footer">
+ <button type="default" @tap="popup_sava" class="btn_popup_add">{{translateSys('ok')}}</button>
+ <button type="default" @tap="popup_cancel"
+ class="btn_popup_cancel">{{translateSys('cancel')}}</button>
+ </view>
+ </view>
+ </uni-popup>
</view>
- <view class="view-bottom" v-if="current==1 && param.Sub_Page[1].OK_Button==true">
- <button type="default" @tap="cancel" class="btn_cancel">鍙栨秷</button>
- <button type="primary" @tap="ok2" class="btn_add">纭畾</button>
- </view> -->
</view>
</template>
@@ -222,6 +238,13 @@
selectAttrObj: {},
okLoading: false,
ok2Loading: false,
+
+
+ global_attr: [],
+ refdatastore: [], //寮曠敤鏁版嵁瀛樺偍鍖�/ {attr:'G_PRJ_' + bindattr + '_ID', value:info.id}
+ popupType: "center",
+ check_list: {},
+ popupParam: {},
};
},
onLoad(options) {
@@ -620,21 +643,44 @@
var attr = item.fieldId;
this.head_styledef.form.model[attr] = item.value;
var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�- var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋� var isflag = false;
if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠� this.onChange(onChangeEvent);
}
- // if(onSuffixClickCallbackEvent.id){ //鍚庡浘鏍囩偣鍑讳簨浠�- // this.onSuffixClick(onSuffixClickCallbackEvent);
- // }
- // if(onSuffixClickEvent.id){ //鍚庡浘鏍囩偣鍑诲洖璋�- // this.onSuffixClickCallback(onSuffixClickEvent);
- // }
+
}
},
+ 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("cancel")
+ });
+ return;
+ }
+ if (!onSuffixClickEvent.id) {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: this.translate('icon_click_event_empty'),
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return;
+ }
+ this.$data.popupType = 'right'
+ // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴�
+ this.$refs.popup.open(this.popupType);
+
+ this.dataObjRunCustomEvent_Return(onSuffixClickCallbackEvent.id, '', onSuffixClickEvent.id,
+ item);
+ },
+
getDetailAttrList(list, selectButton) {
const detailAttrList = [];
list.forEach(style => {
@@ -1497,6 +1543,635 @@
this.activelist[value].active = true;
// console.log(this.$data.activelist);
},
+ popupChange(e) {
+ console.log('褰撳墠妯″紡锛� + e.type + ',鐘舵�锛� + e.show);
+ },
+ checkChange(e) { //寮规check閫夋嫨
+ // console.log(e.target.dataset);
+ var index = e.target.dataset.index;
+ var ischeck = e.target.dataset.ischeck;
+ var data = this.$data.check_list.items;
+ // this.$data.check_list.items=[];
+ if (this.$data.check_list.multiple_choice == "0") { //鍒ゆ柇鏃跺崟閫夎繕鏄閫�+ for (var i in data) {
+ data[i].check = false;
+ }
+ }
+ data[index].check = ischeck ? false : true;
+ this.$data.check_list.items = data;
+
+ },
+ popup_cancel(e) { //寮规鍙栨秷
+ this.$refs.popup.close();
+ },
+ popup_sava(e) { //寮规纭畾
+ var $this = this;
+ var items = $this.$data.check_list.items;
+ var data = [];
+ var name = "";
+ for (var i = 0; i < items.length; i++) {
+ if (items[i].check == true) {
+ if (name)
+ name += ';';
+ name += items[i].name;
+ data.push({
+ id: items[i].id,
+ name: items[i].name
+ });
+ }
+ }
+ if (!$this.$data.popupParam) {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: "popupParam涓虹┖锛�,
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return;
+ }
+ if (data.length == 0) {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: this.translate("tip_no_select_data"),
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return;
+ }
+ var callback_eventid = $this.$data.popupParam.button_callback.trim();
+ var info = {
+ eventid: callback_eventid,
+ edtype: "0",
+ projectid: '',
+ rclsid: '',
+ robjid: '',
+ userlogin: '',
+ clsid: $this.$data.ClsID,
+ objid: "",
+ attr: $this.$data.popupParam.req,
+ dataJson: data
+ }
+ $this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr);
+ this.$refs.popup.close();
+ },
+
+ async DataObjRunCustomEvent(info, data_attr) {
+ var $this = this;
+ var enviroment = {
+ 'function': '3000', // 鍔熻兘鐐圭紪鍙�+ cls_id: this.$data.ClsID, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ 'button': 'top', // top/bottom
+ button_name: this.translateSys('add2'),
+ master: {
+ cls_id: this.$data.ClsID, // button=bottom鏃�master鐨刢ls_id
+ //obj_id: '' // button=bottom鏃�master鐨刼bj_id
+ }
+ };
+ if (data_attr) {
+ enviroment.edit_dlg = {
+ type: 'small', //灏忕獥鍙�+ class_id: this.$data.ClsID, //褰撳墠鏁版嵁绫籭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 = 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.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 => {
+ 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;
+ $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("cancel")
+ });
+ }
+ }
+ }
+ console.log($this.head_styledef);
+ if (data.result) {
+ var result = data.result;
+ for (var i = 0; i < result.length; i++) {
+ for (var c = 0; c < $this.$data.head_styledef.form.items
+ .length; c++) {
+ var attr = $this.$data.head_styledef.form.items[c];
+ //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+ if ($this.head_styledef.form.model[result[i].attr] ==
+ undefined) {
+ $this.head_styledef.form.model[result[i].attr] =
+ result[i]
+ .value;
+ }
+ //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�+ if (attr.name != 'Layout') {
+ if (attr.fieldId == result[i].attr) {
+ attr.value = '';
+ attr.oldvalue = '';
+ attr.value = result[i].value;
+ attr.oldvalue = result[i].value;
+ $this.head_styledef.form.model[attr.fieldId] =
+ result[i]
+ .value;
+ }
+ } else if (attr.name == 'Layout') {
+ attr.setting.colList.forEach(col => {
+ if (col) {
+ if (col.fieldId == result[i].attr) {
+ col.value = '';
+ col.oldvalue = '';
+ col.value = result[i].value;
+ col.oldvalue = result[i].value;
+ $this.head_styledef.form.model[col
+ .fieldId] =
+ result[i].value;
+ }
+ }
+ });
+ }
+ }
+
+ var length = 0;
+ if (!$this.$data.refdatastore.filter(function(s) {
+ return result[i].attr == s.attr
+ }).length) {
+ length = 1;
+ $this.$data.refdatastore.push(result[i]);
+ }
+ if (length == 0) {
+ for (var j = 0; j < $this.$data.refdatastore.length; j++) {
+ if ($this.$data.refdatastore[j].attr == result[i]
+ .attr) {
+ $this.$data.refdatastore[j].value = result[i]
+ .value;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ }).catch(ex => {
+ // 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("cancel")
+ });
+ });
+ },
+ dataObjRunCustomEvent_Return(eventid, data_attr, button_callback, item) {
+ 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
+ }
+ };
+ 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] || "",
+ }));
+ 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
+ });
+ }
+ }
+ }
+
+ var extinfo = enviroment;
+ extinfo.edit_dlg = {
+ type: 'small', //灏忕獥鍙�+ class_id: $this.ClsID, //褰撳墠鏁版嵁绫籭d
+ }
+ extinfo = Base64.encode(JSON.stringify(extinfo)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ var global_attr = Base64.encode(JSON.stringify($this.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ var obj_attr = {};
+ req.forEach(item2 => {
+ obj_attr[item2.attr] = item2.value;
+ });
+ let input_param = Base64.encode(
+ JSON.stringify(
+ Object.keys(obj_attr).map((a) => ({
+ attr: a,
+ value: obj_attr[a] || "",
+ }))
+ )
+ );
+
+ if (!eventid.includes('{')) eventid = '{' + eventid + '}';
+ var dataInfo = {
+ ed_type: "0",
+ start_transaction: true,
+ class_id: $this.ClsID,
+ class_name: '',
+ event_id: eventid,
+ event_name: '',
+ data_obj_id: '',
+ obj_attr: obj_attr,
+ prj_id: '',
+ ref_cls_id: '',
+ rel_obj_id: '',
+ user_login: '',
+ data_json: [],
+ compose_info: '',
+ ext_info: extinfo,
+ global_attr: global_attr,
+ input_param: input_param,
+ };
+ console.log(dataInfo);
+ // return;
+ runCustomEvent(dataInfo).then(data => {
+ 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")
+ });
+
+ 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.$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') {
+
+ 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.$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")
+ });
+ }
+ }
+
+ }).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("cancel")
+ });
+ });
+ },
+
+
//纭畾
ok() {
this.Before_OK_Event = this.param.Sub_Page[0].Before_ok;
@@ -2389,7 +3064,52 @@
.demo-uni-row .uni-input {
width: calc(100% - 120px);
}
-
+ .popup-header {
+ font-size: 42rpx;
+ font-weight: bold;
+ margin: 20rpx 20rpx 0px 20rpx;
+ }
+
+ .view_popup_CheckList {
+ margin-bottom: 20rpx;
+ }
+
+ .popup-footer {
+ float: right;
+ position: absolute;
+ bottom: 0;
+ right: 20rpx;
+ }
+
+ button.btn_popup_add {
+ width: 180rpx;
+ margin-top: 50rpx;
+ margin-right: 20rpx;
+ padding: 15rpx;
+ line-height: 1.5;
+ background: #27A6E1;
+ border: none;
+ color: #fff;
+ font-size: 38rpx;
+ font-weight: bold;
+ /* float: left; */
+ display: inline-block;
+ }
+
+ button.btn_popup_cancel {
+ width: 180rpx;
+ margin-top: 50rpx;
+ padding: 15rpx;
+ line-height: 1.5;
+ background: #27A6E1;
+ border: none;
+ color: #fff;
+ font-size: 38rpx;
+ font-weight: bold;
+ /* float: right; */
+ display: inline-block;
+ }
+
}
</style>
\ No newline at end of file
diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue
index 72be264..52a5dd6 100644
--- a/pages/modal/5601.vue
+++ b/pages/modal/5601.vue
@@ -11,14 +11,15 @@
: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="onEnterChange(item)"></text>
+ @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"/>
+ @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="onEnterChange(item)"></text>
+ @click="classAttr_extButton(item)"></text>
</view>
</uni-forms-item>
<!-- 鏍呮牸甯冨眬 -->
@@ -32,15 +33,15 @@
: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="onEnterChange(col)"></text>
+ @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"/>
+ @keyup.enter="onEnterChange(col)" @blur="onEnterChange(col)" :maxlength="-1" />
<text v-if="col.setting.suffix" class="uni-icon" :class="[col.setting.suffix]"
- @click="onEnterChange(col)"></text>
+ @click="classAttr_extButton(col)"></text>
</view>
</uni-forms-item>
</uni-col>
@@ -80,7 +81,7 @@
<input class="uni-input" v-if="!item.disabled"
:type="item.name=='InputNumber'?'number':'text'"
v-model="item.value" :disabled="item.disabled"
- :placeholder="item.placeholder" :maxlength="-1"/>
+ :placeholder="item.placeholder" :maxlength="-1" />
</view>
<!-- 鏍呮牸甯冨眬 -->
<uni-row class="demo-uni-row" v-else :gutter="item.setting.gutter">
@@ -95,7 +96,7 @@
<input class="uni-input" v-if="!cols.disabled"
:type="cols.name=='InputNumber'?'number':'text'"
v-model="cols.value" :disabled="cols.disabled"
- :placeholder="cols.placeholder" :maxlength="-1"/>
+ :placeholder="cols.placeholder" :maxlength="-1" />
</view>
</uni-col>
</uni-row>
@@ -135,6 +136,30 @@
:style="{'color':param.Welcome_Page.Txt_Color,'font-size':param.Welcome_Page.Font_Size+'px','font-family':param.Welcome_Page.Font}">{{param.Welcome_Page.Text}}</Text>
</div>
</view>
+ </view>
+ <view>
+ <uni-popup class="view-popup" ref="popup" background-color="#fff" @change="popupChange">
+ <view class="popup-header">{{check_list.title}}</view>
+ <view class="popup-content" :class="{ 'popup-height': popupType === 'left' || popupType === 'right' }"
+ :style="{'width':check_list.width?check_list.width+'px':'200px','height':check_list.height?check_list.height+'px':'88%'}">
+ <view class="popup-cont" :style="{'height':check_list.height?check_list.height-45+'px':'415px'}">
+ <view class="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'}">
+ <label>
+ <checkbox :value="item.check" :checked="item.check" />
+ <text>{{item.name}}</text>
+ </label>
+ </checkbox-group>
+ </view>
+ </view>
+ <view class="popup-footer">
+ <button type="default" @tap="popup_sava" class="btn_popup_add">{{translateSys('ok')}}</button>
+ <button type="default" @tap="popup_cancel"
+ class="btn_popup_cancel">{{translateSys('cancel')}}</button>
+ </view>
+ </view>
+ </uni-popup>
</view>
</view>
</template>
@@ -176,6 +201,12 @@
active_id: '',
selectAttrObj: {},
+
+ global_attr: [],
+ refdatastore: [], //寮曠敤鏁版嵁瀛樺偍鍖�/ {attr:'G_PRJ_' + bindattr + '_ID', value:info.id}
+ popupType: "center",
+ check_list: {},
+ popupParam: {},
};
},
computed: {
@@ -583,10 +614,6 @@
var attr = item.fieldId;
this.head_styledef.form.model[attr] = item.value;
var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- var onSuffixClickCallbackEvent = item.bind
- .onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�- var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�- var isflag = false;
if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠� this.onChange(onChangeEvent);
@@ -594,6 +621,36 @@
}
},
+ 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("cancel")
+ });
+ return;
+ }
+ if (!onSuffixClickEvent.id) {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: this.translate('icon_click_event_empty'),
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return;
+ }
+ this.$data.popupType = 'right'
+ // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴�
+ this.$refs.popup.open(this.popupType);
+
+ this.dataObjRunCustomEvent_Return(onSuffixClickCallbackEvent.id, '', onSuffixClickEvent.id,
+ item);
+ },
+
getDetailAttrList(pageData) {
const detailAttrList = [];
if (pageData.DefList) {
@@ -1521,6 +1578,636 @@
$this.runCustomEvent(pageData, event, input_param, list);
},
+ popupChange(e) {
+ console.log('褰撳墠妯″紡锛� + e.type + ',鐘舵�锛� + e.show);
+ },
+ checkChange(e) { //寮规check閫夋嫨
+ // console.log(e.target.dataset);
+ var index = e.target.dataset.index;
+ var ischeck = e.target.dataset.ischeck;
+ var data = this.$data.check_list.items;
+ // this.$data.check_list.items=[];
+ if (this.$data.check_list.multiple_choice == "0") { //鍒ゆ柇鏃跺崟閫夎繕鏄閫�+ for (var i in data) {
+ data[i].check = false;
+ }
+ }
+ data[index].check = ischeck ? false : true;
+ this.$data.check_list.items = data;
+
+ },
+ popup_cancel(e) { //寮规鍙栨秷
+ this.$refs.popup.close();
+ },
+ popup_sava(e) { //寮规纭畾
+ var $this = this;
+ var items = $this.$data.check_list.items;
+ var data = [];
+ var name = "";
+ for (var i = 0; i < items.length; i++) {
+ if (items[i].check == true) {
+ if (name)
+ name += ';';
+ name += items[i].name;
+ data.push({
+ id: items[i].id,
+ name: items[i].name
+ });
+ }
+ }
+ if (!$this.$data.popupParam) {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: "popupParam涓虹┖锛�,
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return;
+ }
+ if (data.length == 0) {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: this.translate("tip_no_select_data"),
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return;
+ }
+ var callback_eventid = $this.$data.popupParam.button_callback.trim();
+ var info = {
+ eventid: callback_eventid,
+ edtype: "0",
+ projectid: '',
+ rclsid: '',
+ robjid: '',
+ userlogin: '',
+ clsid: $this.$data.ClsID,
+ objid: "",
+ attr: $this.$data.popupParam.req,
+ dataJson: data
+ }
+ $this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr);
+ this.$refs.popup.close();
+ },
+
+ async DataObjRunCustomEvent(info, data_attr) {
+ var $this = this;
+ var enviroment = {
+ 'function': '3000', // 鍔熻兘鐐圭紪鍙�+ cls_id: this.$data.ClsID, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ 'button': 'top', // top/bottom
+ button_name: this.translateSys('add2'),
+ master: {
+ cls_id: this.$data.ClsID, // button=bottom鏃�master鐨刢ls_id
+ //obj_id: '' // button=bottom鏃�master鐨刼bj_id
+ }
+ };
+ if (data_attr) {
+ enviroment.edit_dlg = {
+ type: 'small', //灏忕獥鍙�+ class_id: this.$data.ClsID, //褰撳墠鏁版嵁绫籭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 = 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.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 => {
+ 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;
+ $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("cancel")
+ });
+ }
+ }
+ }
+ console.log($this.head_styledef);
+ if (data.result) {
+ var result = data.result;
+ for (var i = 0; i < result.length; i++) {
+ for (var c = 0; c < $this.$data.head_styledef.form.items
+ .length; c++) {
+ var attr = $this.$data.head_styledef.form.items[c];
+ //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+ if ($this.head_styledef.form.model[result[i].attr] ==
+ undefined) {
+ $this.head_styledef.form.model[result[i].attr] =
+ result[i]
+ .value;
+ }
+ //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�+ if (attr.name != 'Layout') {
+ if (attr.fieldId == result[i].attr) {
+ attr.value = '';
+ attr.oldvalue = '';
+ attr.value = result[i].value;
+ attr.oldvalue = result[i].value;
+ $this.head_styledef.form.model[attr.fieldId] =
+ result[i]
+ .value;
+ }
+ } else if (attr.name == 'Layout') {
+ attr.setting.colList.forEach(col => {
+ if (col) {
+ if (col.fieldId == result[i].attr) {
+ col.value = '';
+ col.oldvalue = '';
+ col.value = result[i].value;
+ col.oldvalue = result[i].value;
+ $this.head_styledef.form.model[col
+ .fieldId] =
+ result[i].value;
+ }
+ }
+ });
+ }
+ }
+
+ var length = 0;
+ if (!$this.$data.refdatastore.filter(function(s) {
+ return result[i].attr == s.attr
+ }).length) {
+ length = 1;
+ $this.$data.refdatastore.push(result[i]);
+ }
+ if (length == 0) {
+ for (var j = 0; j < $this.$data.refdatastore.length; j++) {
+ if ($this.$data.refdatastore[j].attr == result[i]
+ .attr) {
+ $this.$data.refdatastore[j].value = result[i]
+ .value;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ }).catch(ex => {
+ // 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("cancel")
+ });
+ });
+ },
+ dataObjRunCustomEvent_Return(eventid, data_attr, button_callback, item) {
+ console.log("dataObjRunCustomEvent_Return",eventid,data_attr,button_callback)
+ 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
+ }
+ };
+ 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] || "",
+ }));
+ 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
+ });
+ }
+ }
+ }
+
+ var extinfo = enviroment;
+ extinfo.edit_dlg = {
+ type: 'small', //灏忕獥鍙�+ class_id: $this.ClsID, //褰撳墠鏁版嵁绫籭d
+ }
+ extinfo = Base64.encode(JSON.stringify(extinfo)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ var global_attr = Base64.encode(JSON.stringify($this.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ var obj_attr = {};
+ req.forEach(item2 => {
+ obj_attr[item2.attr] = item2.value;
+ });
+ let input_param = Base64.encode(
+ JSON.stringify(
+ Object.keys(obj_attr).map((a) => ({
+ attr: a,
+ value: obj_attr[a] || "",
+ }))
+ )
+ );
+
+ if (!eventid.includes('{')) eventid = '{' + eventid + '}';
+ var dataInfo = {
+ ed_type: "0",
+ start_transaction: true,
+ class_id: $this.ClsID,
+ class_name: '',
+ event_id: eventid,
+ event_name: '',
+ data_obj_id: '',
+ obj_attr: obj_attr,
+ prj_id: '',
+ ref_cls_id: '',
+ rel_obj_id: '',
+ user_login: '',
+ data_json: [],
+ compose_info: '',
+ ext_info: extinfo,
+ global_attr: global_attr,
+ input_param: input_param,
+ };
+ console.log(dataInfo);
+ // return;
+ runCustomEvent(dataInfo).then(data => {
+ 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")
+ });
+
+ 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.$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') {
+
+ 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.$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")
+ });
+ }
+ }
+
+ }).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("cancel")
+ });
+ });
+ },
+
+
onPanelClick(value, id) {
// console.log(value);
this.active_id = id;
@@ -2378,6 +3065,51 @@
border-radius: 5px;
}
+ .popup-header {
+ font-size: 42rpx;
+ font-weight: bold;
+ margin: 20rpx 20rpx 0px 20rpx;
+ }
+
+ .view_popup_CheckList {
+ margin-bottom: 20rpx;
+ }
+
+ .popup-footer {
+ float: right;
+ position: absolute;
+ bottom: 0;
+ right: 20rpx;
+ }
+
+ button.btn_popup_add {
+ width: 180rpx;
+ margin-top: 50rpx;
+ margin-right: 20rpx;
+ padding: 15rpx;
+ line-height: 1.5;
+ background: #27A6E1;
+ border: none;
+ color: #fff;
+ font-size: 38rpx;
+ font-weight: bold;
+ /* float: left; */
+ display: inline-block;
+ }
+
+ button.btn_popup_cancel {
+ width: 180rpx;
+ margin-top: 50rpx;
+ padding: 15rpx;
+ line-height: 1.5;
+ background: #27A6E1;
+ border: none;
+ color: #fff;
+ font-size: 38rpx;
+ font-weight: bold;
+ /* float: right; */
+ display: inline-block;
+ }
}
diff --git a/pages/modal/5602.vue b/pages/modal/5602.vue
index 7e3766b..d87a1e8 100644
--- a/pages/modal/5602.vue
+++ b/pages/modal/5602.vue
@@ -20,15 +20,15 @@
<view class="input-wrapper" :style="{'width':`calc(96% - ${item.labelWidth}px)`}"
v-if="item.name=='Input' || item.name=='InputNumber'">
<text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]"
- @click="onEnterChange(item)"></text>
+ @click="classAttr_extButton(item)"></text>
<input class="uni-input" :class="item.disabled?'input-disabled':''"
:type="item.name=='Input'?'text':'number'" 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(index,item)" @click="onClick(item)"
- @keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)" :maxlength="-1"/>
+ @keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)" :maxlength="-1" />
<text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
- @click="onEnterChange(item)"></text>
+ @click="classAttr_extButton(item)"></text>
</view>
</view>
</view>
@@ -63,7 +63,7 @@
<input class="uni-input" v-if="!item.disabled"
:type="item.name=='InputNumber'?'number':'text'"
v-model="item.value" :disabled="item.disabled"
- :placeholder="item.placeholder" :maxlength="-1"/>
+ :placeholder="item.placeholder" :maxlength="-1" />
</view>
<!-- 鏍呮牸甯冨眬 -->
<uni-row class="demo-uni-row" v-if="item.name=='Layout'">
@@ -77,7 +77,7 @@
<input class="uni-input" v-if="!cols.disabled"
:type="cols.name=='InputNumber'?'number':'text'"
v-model="cols.value" :disabled="cols.disabled"
- :placeholder="cols.placeholder" :maxlength="-1"/>
+ :placeholder="cols.placeholder" :maxlength="-1" />
</view>
</uni-col>
</uni-row>
@@ -168,14 +168,31 @@
</view>
</view>
- <!-- <view v-if="current==0 && param.Sub_Page[0].OK_Button==true">
- <button type="default" @tap="cancel" class="btn_cancel">鍙栨秷</button>
- <button type="primary" @tap="ok" class="btn_add">纭畾</button>
+ <view>
+ <uni-popup class="view-popup" ref="popup" background-color="#fff" @change="popupChange">
+ <view class="popup-header">{{check_list.title}}</view>
+ <view class="popup-content" :class="{ 'popup-height': popupType === 'left' || popupType === 'right' }"
+ :style="{'width':check_list.width?check_list.width+'px':'200px','height':check_list.height?check_list.height+'px':'88%'}">
+ <view class="popup-cont" :style="{'height':check_list.height?check_list.height-45+'px':'415px'}">
+ <view class="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'}">
+ <label>
+ <checkbox :value="item.check" :checked="item.check" />
+ <text>{{item.name}}</text>
+ </label>
+ </checkbox-group>
+ </view>
+ </view>
+ <view class="popup-footer">
+ <button type="default" @tap="popup_sava" class="btn_popup_add">{{translateSys('ok')}}</button>
+ <button type="default" @tap="popup_cancel"
+ class="btn_popup_cancel">{{translateSys('cancel')}}</button>
+ </view>
+ </view>
+ </uni-popup>
</view>
- <view v-if="current==1 && param.Sub_Page[1].OK_Button==true">
- <button type="default" @tap="cancel" class="btn_cancel">鍙栨秷</button>
- <button type="primary" @tap="ok2" class="btn_add">纭畾</button>
- </view> -->
+
</view>
</template>
@@ -226,6 +243,13 @@
activelist: [],
okLoading: false,
ok2Loading: false,
+
+
+ global_attr: [],
+ refdatastore: [], //寮曠敤鏁版嵁瀛樺偍鍖�/ {attr:'G_PRJ_' + bindattr + '_ID', value:info.id}
+ popupType: "center",
+ check_list: {},
+ popupParam: {},
};
},
onLoad(options) {
@@ -613,21 +637,43 @@
var attr = item.fieldId;
this.head_styledef.form.model[attr] = item.value;
var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�- var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋� var isflag = false;
if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠� this.onChange(onChangeEvent);
}
- // if(onSuffixClickCallbackEvent.id){ //鍚庡浘鏍囩偣鍑讳簨浠�- // this.onSuffixClick(onSuffixClickCallbackEvent);
- // }
- // if(onSuffixClickEvent.id){ //鍚庡浘鏍囩偣鍑诲洖璋�- // this.onSuffixClickCallback(onSuffixClickEvent);
- // }
}
},
+ 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("cancel")
+ });
+ return;
+ }
+ if (!onSuffixClickEvent.id) {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: this.translate('icon_click_event_empty'),
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return;
+ }
+ this.$data.popupType = 'right'
+ // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴�
+ this.$refs.popup.open(this.popupType);
+
+ this.dataObjRunCustomEvent_Return(onSuffixClickCallbackEvent.id, '', onSuffixClickEvent.id,
+ item);
+ },
+
getDetailAttrList(list, selectButton) {
const detailAttrList = [];
list.forEach(style => {
@@ -1484,6 +1530,634 @@
this.activelist[value].active = true;
// console.log(this.$data.activelist);
},
+ popupChange(e) {
+ console.log('褰撳墠妯″紡锛� + e.type + ',鐘舵�锛� + e.show);
+ },
+ checkChange(e) { //寮规check閫夋嫨
+ // console.log(e.target.dataset);
+ var index = e.target.dataset.index;
+ var ischeck = e.target.dataset.ischeck;
+ var data = this.$data.check_list.items;
+ // this.$data.check_list.items=[];
+ if (this.$data.check_list.multiple_choice == "0") { //鍒ゆ柇鏃跺崟閫夎繕鏄閫�+ for (var i in data) {
+ data[i].check = false;
+ }
+ }
+ data[index].check = ischeck ? false : true;
+ this.$data.check_list.items = data;
+
+ },
+ popup_cancel(e) { //寮规鍙栨秷
+ this.$refs.popup.close();
+ },
+ popup_sava(e) { //寮规纭畾
+ var $this = this;
+ var items = $this.$data.check_list.items;
+ var data = [];
+ var name = "";
+ for (var i = 0; i < items.length; i++) {
+ if (items[i].check == true) {
+ if (name)
+ name += ';';
+ name += items[i].name;
+ data.push({
+ id: items[i].id,
+ name: items[i].name
+ });
+ }
+ }
+ if (!$this.$data.popupParam) {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: "popupParam涓虹┖锛�,
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return;
+ }
+ if (data.length == 0) {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: this.translate("tip_no_select_data"),
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return;
+ }
+ var callback_eventid = $this.$data.popupParam.button_callback.trim();
+ var info = {
+ eventid: callback_eventid,
+ edtype: "0",
+ projectid: '',
+ rclsid: '',
+ robjid: '',
+ userlogin: '',
+ clsid: $this.$data.ClsID,
+ objid: "",
+ attr: $this.$data.popupParam.req,
+ dataJson: data
+ }
+ $this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr);
+ this.$refs.popup.close();
+ },
+
+ async DataObjRunCustomEvent(info, data_attr) {
+ var $this = this;
+ var enviroment = {
+ 'function': '3000', // 鍔熻兘鐐圭紪鍙�+ cls_id: this.$data.ClsID, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ 'button': 'top', // top/bottom
+ button_name: this.translateSys('add2'),
+ master: {
+ cls_id: this.$data.ClsID, // button=bottom鏃�master鐨刢ls_id
+ //obj_id: '' // button=bottom鏃�master鐨刼bj_id
+ }
+ };
+ if (data_attr) {
+ enviroment.edit_dlg = {
+ type: 'small', //灏忕獥鍙�+ class_id: this.$data.ClsID, //褰撳墠鏁版嵁绫籭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 = 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.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 => {
+ 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;
+ $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("cancel")
+ });
+ }
+ }
+ }
+ console.log($this.head_styledef);
+ if (data.result) {
+ var result = data.result;
+ for (var i = 0; i < result.length; i++) {
+ for (var c = 0; c < $this.$data.head_styledef.form.items
+ .length; c++) {
+ var attr = $this.$data.head_styledef.form.items[c];
+ //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+ if ($this.head_styledef.form.model[result[i].attr] ==
+ undefined) {
+ $this.head_styledef.form.model[result[i].attr] =
+ result[i]
+ .value;
+ }
+ //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�+ if (attr.name != 'Layout') {
+ if (attr.fieldId == result[i].attr) {
+ attr.value = '';
+ attr.oldvalue = '';
+ attr.value = result[i].value;
+ attr.oldvalue = result[i].value;
+ $this.head_styledef.form.model[attr.fieldId] =
+ result[i]
+ .value;
+ }
+ } else if (attr.name == 'Layout') {
+ attr.setting.colList.forEach(col => {
+ if (col) {
+ if (col.fieldId == result[i].attr) {
+ col.value = '';
+ col.oldvalue = '';
+ col.value = result[i].value;
+ col.oldvalue = result[i].value;
+ $this.head_styledef.form.model[col
+ .fieldId] =
+ result[i].value;
+ }
+ }
+ });
+ }
+ }
+
+ var length = 0;
+ if (!$this.$data.refdatastore.filter(function(s) {
+ return result[i].attr == s.attr
+ }).length) {
+ length = 1;
+ $this.$data.refdatastore.push(result[i]);
+ }
+ if (length == 0) {
+ for (var j = 0; j < $this.$data.refdatastore.length; j++) {
+ if ($this.$data.refdatastore[j].attr == result[i]
+ .attr) {
+ $this.$data.refdatastore[j].value = result[i]
+ .value;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ }).catch(ex => {
+ // 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("cancel")
+ });
+ });
+ },
+ dataObjRunCustomEvent_Return(eventid, data_attr, button_callback, item) {
+ 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
+ }
+ };
+ 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] || "",
+ }));
+ 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
+ });
+ }
+ }
+ }
+
+ var extinfo = enviroment;
+ extinfo.edit_dlg = {
+ type: 'small', //灏忕獥鍙�+ class_id: $this.ClsID, //褰撳墠鏁版嵁绫籭d
+ }
+ extinfo = Base64.encode(JSON.stringify(extinfo)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ var global_attr = Base64.encode(JSON.stringify($this.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ var obj_attr = {};
+ req.forEach(item2 => {
+ obj_attr[item2.attr] = item2.value;
+ });
+ let input_param = Base64.encode(
+ JSON.stringify(
+ Object.keys(obj_attr).map((a) => ({
+ attr: a,
+ value: obj_attr[a] || "",
+ }))
+ )
+ );
+
+ if (!eventid.includes('{')) eventid = '{' + eventid + '}';
+ var dataInfo = {
+ ed_type: "0",
+ start_transaction: true,
+ class_id: $this.ClsID,
+ class_name: '',
+ event_id: eventid,
+ event_name: '',
+ data_obj_id: '',
+ obj_attr: obj_attr,
+ prj_id: '',
+ ref_cls_id: '',
+ rel_obj_id: '',
+ user_login: '',
+ data_json: [],
+ compose_info: '',
+ ext_info: extinfo,
+ global_attr: global_attr,
+ input_param: input_param,
+ };
+ console.log(dataInfo);
+ // return;
+ runCustomEvent(dataInfo).then(data => {
+ 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")
+ });
+
+ 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.$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') {
+
+ 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.$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")
+ });
+ }
+ }
+
+ }).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("cancel")
+ });
+ });
+ },
+
//纭畾
ok() {
@@ -2377,5 +3051,52 @@
.demo-uni-row .uni-input {
width: calc(100% - 120px);
}
+
+ .popup-header {
+ font-size: 42rpx;
+ font-weight: bold;
+ margin: 20rpx 20rpx 0px 20rpx;
+ }
+
+ .view_popup_CheckList {
+ margin-bottom: 20rpx;
+ }
+
+ .popup-footer {
+ float: right;
+ position: absolute;
+ bottom: 0;
+ right: 20rpx;
+ }
+
+ button.btn_popup_add {
+ width: 180rpx;
+ margin-top: 50rpx;
+ margin-right: 20rpx;
+ padding: 15rpx;
+ line-height: 1.5;
+ background: #27A6E1;
+ border: none;
+ color: #fff;
+ font-size: 38rpx;
+ font-weight: bold;
+ /* float: left; */
+ display: inline-block;
+ }
+
+ button.btn_popup_cancel {
+ width: 180rpx;
+ margin-top: 50rpx;
+ padding: 15rpx;
+ line-height: 1.5;
+ background: #27A6E1;
+ border: none;
+ color: #fff;
+ font-size: 38rpx;
+ font-weight: bold;
+ /* float: right; */
+ display: inline-block;
+ }
+
}
</style>
\ No newline at end of file
--
Gitblit v1.9.1