From 625badef071d0931b3868b2ba672d51ce2cc5b91 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期三, 19 二月 2025 10:01:20 +0800 Subject: [PATCH] action set_subtable_page_row 处理 condition --- pages/modal/5602.vue | 923 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 874 insertions(+), 49 deletions(-) diff --git a/pages/modal/5602.vue b/pages/modal/5602.vue index 9a7f4fb..bb6d4d2 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)" /> + @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" /> + :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" /> + :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) { @@ -352,12 +376,26 @@ .style_def); } $this.$data.head_styledef = result.style_def ? JSON.parse(styledef) : {}; - // this.form = this.head_styledef.form.model; - // console.log($this.$data.head_styledef); if ($this.head_styledef.form?.items) { $this.head_styledef.form.items.forEach(async (ele, index) => { if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 await this.DictGetInfo(ele.bind.dict, index, 'mast'); + } else { + if (ele?.name === "Select") { + const selections = ele?.selections || [] + //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� + let itemName = ele.value || ""; + if (itemName) { + $this.head_styledef.form + .model[ele.fieldId] = itemName; + } + $this.head_styledef.form.items[index].dict = selections.map((a) => { + return { + value: a.value, + text: a.label + } + }) + } } if ($this.focusFieldId == "") { if (ele.name == 'Input' || ele.name == 'InputNumber') { @@ -409,6 +447,23 @@ $this.detail1_styledef.form.items.forEach(async (ele, index) => { if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 await this.DictGetInfo(ele.bind.dict, index, 'sub'); + } else { + if (ele?.name === "Select") { + const selections = ele?.selections || [] + //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� + let itemName = ele.value || ""; + if (itemName) { + $this.detail1_styledefform + .model[ele.fieldId] = itemName; + } + $this.detail1_styledef.form.items[index].dict = selections.map((a) => { + return { + value: a.value, + text: a.label + } + }) + } + } }); } @@ -471,10 +526,10 @@ var itemName = ''; (result.dict_item_list || []).forEach((item) => { if (item.is_default == '1') - itemName = item.value ? item.value : item.name + itemName = item.name list.push({ text: item.value ? item.value : item.name, - value: item.id, + value: item.name, }); }); //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� @@ -613,21 +668,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 => { @@ -1008,6 +1085,9 @@ number1 = parseInt(value1) if (value2) number2 = parseInt(value2) + if (!operation) { + return value2; + } if (operation == "+") { return number1 + number2 } else if (operation == "-") { @@ -1015,11 +1095,17 @@ } else if (operation == "*") { return number1 * number2 } else if (operation == "/") { - if (number2) - return number1 / number2 - else - return number1 - } else return number2 + if (number2) return number1 / number2; + else { + throw new Error(`${this.translate("illegal_dividend")}'${value2}'`); + return 0; + } + } else if (operation == "=") { + return value2; + } else { + throw new Error(`${this.translate("unrecognized_operator")}'${operation}'`); + return 0; + } }, //鏇存柊鍒嗛〉绛句腑鐨勫垪琛ㄩ」鍐呭 viewActionSetRow(value) { @@ -1032,28 +1118,92 @@ } detailStyleDefList.forEach(ele => { value.row.forEach((rowData) => { - if (ele.form.objId == rowData.id) { - rowData.attrs.forEach(attr => { - ele.form.items.forEach(ele2 => { - if (ele2.name != 'Layout') { - if (ele2.fieldId == attr.attr) { - ele2.value = $this.operationNumber(ele2.value, - attr.value, attr.operation) - } - } else if (ele2.name == 'Layout') { - ele2.setting.colList.forEach(col => { - if (col) { - if (col.fieldId == attr.attr) { - col.value = $this - .operationNumber(col.value, - attr.value, attr - .operation) - } + if (rowData.id) { + if (ele.form.objId == rowData.id) { + rowData.attrs.forEach(attr => { + ele.form.items.forEach(ele2 => { + if (ele2.name != 'Layout') { + if (ele2.fieldId == attr.attr) { + ele2.value = $this.operationNumber(ele2 + .value, + attr.value, attr.operation) } - }) - } + } else if (ele2.name == 'Layout') { + ele2.setting.colList.forEach(col => { + if (col) { + if (col.fieldId == attr.attr) { + col.value = $this + .operationNumber(col + .value, + attr.value, attr + .operation) + } + } + }) + } + }); }); - }); + } + } else if (rowData.condition) { + const conditions = rowData.condition; + let bFindCondition = true; + for (let i in conditions) { + const condition = conditions[i]; + let bFind = false; + for (let i2 in ele.form.items) { + const ele2 = ele.form.items[i2]; + if (ele2.name != "Layout") { + if (ele2.fieldId == condition.attr) { + if (condition.value == ele2.value) { + bFind = true; + } + break; + } + } else { + const colList = ele2.setting.colList || []; + for (let i3 in colList) { + const col = colList[i3]; + if (col.fieldId == condition.attr) { + if (condition.value == col.value) { + bFind = true; + } + break; + } + } + if (bFind) break; + } + } + if (!bFind) { + bFindCondition = false; + break; + } + } + if (bFindCondition) { + rowData.attrs.forEach(attr => { + ele.form.items.forEach(ele2 => { + if (ele2.name != 'Layout') { + if (ele2.fieldId == attr.attr) { + ele2.value = $this.operationNumber(ele2 + .value, + attr.value, attr.operation) + } + } else if (ele2.name == 'Layout') { + ele2.setting.colList.forEach(col => { + if (col) { + if (col.fieldId == attr.attr) { + col.value = $this + .operationNumber(col + .value, + attr.value, attr + .operation) + } + } + }) + } + }); + }); + + } } }) }); @@ -1484,6 +1634,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 +3155,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