| | |
| | | <view class="view-content"> |
| | | <!-- 表头样式 --> |
| | | <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" :focusId="focusFieldId" |
| | | @click="onClick" @focus="ontap" @change="onEnterChange" @click-prefix="classAttr_extButton" |
| | | @click-suffix="classAttr_extButton"></OIForm> |
| | | @on-click="onClick" @on-focus="ontap" @on-change="onEnterChange" @on-click-prefix="classAttr_extButton" |
| | | @on-click-suffix="classAttr_extButton"></OIForm> |
| | | |
| | | </view> |
| | | <view class="view-bottom"> |
| | | <view class="uni-padding-wrap" v-if="dropdownBtns.length>0"> |
| | | <view class="uni-btn-v"> |
| | | <a @tap="clickDropdownBtns"> |
| | | <Icon class="mobox-normal-more" /> |
| | | <text class="mobox-normal-more" /> |
| | | </a> |
| | | </view> |
| | | </view> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import Base64 from '../../components/js-base64/base64.js' |
| | | import { |
| | | Base64 |
| | | } from '@/js/Base64.js'; |
| | | import utils from "@/js/utils.js" |
| | | import dayjs from "dayjs"; |
| | | import OIForm from '@/components/oi-form/index.vue' |
| | |
| | | runCustomEvent, |
| | | dataObjCreate |
| | | } from "@/api/data.js" |
| | | |
| | | import buttonClickMixin from '@/mixins/button-click.js'; |
| | | |
| | | export default { |
| | | modules: { |
| | | Base64, |
| | | }, |
| | | mixins: [buttonClickMixin], |
| | | components: { |
| | | OIForm, |
| | | }, |
| | |
| | | edit_select_compose_event: "", //选择组成对象时调用 |
| | | edit_compose_cls_id: "", |
| | | global_attr: [], |
| | | refdatastore: [], //引用数据存储区// {attr:'G_PRJ_' + bindattr + '_ID', value:info.id} |
| | | scanCodeVal: "", |
| | | popupType: "center", |
| | | check_list: {}, |
| | |
| | | edit_select_compose_event: "", //选择组成对象时调用 |
| | | edit_compose_cls_id: "", |
| | | global_attr: [], |
| | | refdatastore: [], //引用数据存储区// {attr:'G_PRJ_' + bindattr + '_ID', value:info.id} |
| | | scanCodeVal: "", |
| | | popupType: "center", |
| | | check_list: {}, |
| | |
| | | uni.setNavigationBarTitle({ |
| | | title: options.titlename |
| | | }); //设置顶部标题 |
| | | this.$data.param = JSON.parse(options.param); |
| | | this.$data.title = this.$data.param.Add_BtnName ? this.$data.param.Add_BtnName : options |
| | | this.param = JSON.parse(options.param); |
| | | this.title = this.param.Add_BtnName ? this.param.Add_BtnName : options |
| | | .titlename; //设置按钮文字 |
| | | this.$data.btnName = this.$data.param.Add_BtnName || "" |
| | | this.btnName = this.param.Add_BtnName || "" |
| | | this.loadData(options.paramValue) |
| | | }, |
| | | computed: { |
| | |
| | | //传入参数值 |
| | | if (paramValue) { |
| | | const attrs = paramValue.attrs || []; |
| | | (this.$data.head_styledef?.form?.items || []).forEach(async (ele, index) => { |
| | | (this.head_styledef?.form?.items || []).forEach(async (ele, index) => { |
| | | if (ele.name != "Layout") { |
| | | attrs.forEach(async (ele2, index2) => { |
| | | if (ele.fieldId == ele2.name) { |
| | |
| | | } else if (action.action_type == 'set_dlg_attr_show') { |
| | | var result = action.value; |
| | | $this.hideFormItems(result) |
| | | // console.log($this.$data.head_styledef); |
| | | // console.log($this.head_styledef); |
| | | } else if (action.action_type == |
| | | "set_dlg_current_edit_attr" |
| | | ) { |
| | |
| | | const $this = this; |
| | | //console.log("onScanValue", item); |
| | | item.value = value |
| | | let newVal = item.value |
| | | let newVal = item.value |
| | | if (typeof item.value == "string") { |
| | | newVal = item.value.trim() |
| | | } |
| | |
| | | rclsid: '', |
| | | robjid: '', |
| | | userlogin: '', |
| | | clsid: this.$data.param.DataCls.id, |
| | | clsid: this.param.DataCls.id, |
| | | objid: "", |
| | | attr: req, |
| | | dataJson: [], |
| | |
| | | let newVal = item.value |
| | | if (typeof item.value == "string") { |
| | | newVal = item.value.trim() |
| | | if (!newVal) |
| | | if (!newVal) { |
| | | item.oldvalue = newVal; |
| | | var attr = item.fieldId; |
| | | this.head_styledef.form.model[attr] = newVal; |
| | | return |
| | | } |
| | | } |
| | | if (item.oldvalue != newVal) { |
| | | item.oldvalue = newVal; |
| | |
| | | rclsid: '', |
| | | robjid: '', |
| | | userlogin: '', |
| | | clsid: this.$data.param.DataCls.id, |
| | | clsid: this.param.DataCls.id, |
| | | objid: "", |
| | | attr: req, |
| | | dataJson: [] |
| | |
| | | }); |
| | | return; |
| | | } |
| | | this.$data.popupType = 'right' |
| | | this.popupType = 'right' |
| | | // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性 |
| | | this.$refs.popup.open(this.popupType); |
| | | |
| | |
| | | // console.log(e.target.dataset); |
| | | var index = e.target.dataset.index; |
| | | var ischeck = e.target.dataset.ischeck; |
| | | var data = this.$data.check_list.items; |
| | | // this.$data.check_list.items=[]; |
| | | if (this.$data.check_list.multiple_choice == "0") { //判断时单选还是多选 |
| | | var data = this.check_list.items; |
| | | // this.check_list.items=[]; |
| | | if (this.check_list.multiple_choice == "0") { //判断时单选还是多选 |
| | | for (var i in data) { |
| | | data[i].check = false; |
| | | } |
| | | } |
| | | data[index].check = ischeck ? false : true; |
| | | this.$data.check_list.items = data; |
| | | this.check_list.items = data; |
| | | |
| | | }, |
| | | popup_cancel(e) { //弹框取消 |
| | |
| | | }, |
| | | popup_sava(e) { //弹框确定 |
| | | var $this = this; |
| | | var items = $this.$data.check_list.items; |
| | | var items = $this.check_list.items; |
| | | var data = []; |
| | | var name = ""; |
| | | for (var i = 0; i < items.length; i++) { |
| | |
| | | }); |
| | | } |
| | | } |
| | | if (!$this.$data.popupParam) { |
| | | if (!$this.popupParam) { |
| | | uni.showModal({ |
| | | title: this.translateSys("tip"), |
| | | content: "popupParam为空!", |
| | |
| | | }); |
| | | return; |
| | | } |
| | | var callback_eventid = $this.$data.popupParam.button_callback.trim(); |
| | | var callback_eventid = $this.popupParam.button_callback.trim(); |
| | | var info = { |
| | | eventid: callback_eventid, |
| | | edtype: "0", |
| | |
| | | rclsid: '', |
| | | robjid: '', |
| | | userlogin: '', |
| | | clsid: $this.$data.param.DataCls.id, |
| | | clsid: $this.param.DataCls.id, |
| | | objid: "", |
| | | attr: $this.$data.popupParam.req, |
| | | attr: $this.popupParam.req, |
| | | dataJson: data |
| | | } |
| | | $this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr); |
| | | $this.DataObjRunCustomEvent(info, $this.popupParam.data_attr); |
| | | this.$refs.popup.close(); |
| | | }, |
| | | |
| | |
| | | var $this = this; |
| | | var enviroment = { |
| | | 'function': '3000', // 功能点编号 |
| | | cls_id: this.$data.param.DataCls.id, // 功能点主数据类标识 |
| | | cls_id: this.param.DataCls.id, // 功能点主数据类标识 |
| | | 'button': 'top', // top/bottom |
| | | button_name: this.translateSys('add2'), |
| | | master: { |
| | | cls_id: this.$data.param.DataCls.id, // button=bottom时 master的cls_id |
| | | cls_id: this.param.DataCls.id, // button=bottom时 master的cls_id |
| | | //obj_id: '' // button=bottom时 master的obj_id |
| | | } |
| | | }; |
| | | if (data_attr) { |
| | | enviroment.edit_dlg = { |
| | | type: 'small', //小窗口 |
| | | class_id: this.$data.param.DataCls.id, //当前数据类id |
| | | class_id: this.param.DataCls.id, //当前数据类id |
| | | } |
| | | if (data_attr) { |
| | | enviroment.edit_dlg.form_control = { //所属的表单控件 |
| | |
| | | // edtype: info.edtype, eventid: info.eventid, projectid: info.projectid.replace('{','').replace('}',''), |
| | | // rclsid: info.rclsid, robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid, |
| | | // attr: JSON.stringify(info.attr), extinfo: JSON.stringify(enviroment), inputparameter: "", |
| | | // global_attr: JSON.stringify(this.$data.global_attr), dataJson:JSON.stringify(info.dataJson) |
| | | // global_attr: JSON.stringify(this.global_attr), dataJson:JSON.stringify(info.dataJson) |
| | | // } |
| | | enviroment = Base64.encode(JSON.stringify(enviroment)); //将字符串转换为base64编码 |
| | | var input_param = Base64.encode(JSON.stringify(info.attr)); //将字符串转换为base64编码 |
| | | var global_attr = Base64.encode(JSON.stringify(this.$data.global_attr)); //将字符串转换为base64编码 |
| | | var global_attr = Base64.encode(JSON.stringify(this.global_attr)); //将字符串转换为base64编码 |
| | | if (info.dataJson) |
| | | info.dataJson = Base64.encode(JSON.stringify(info.dataJson)); //将字符串转换为base64编码 |
| | | var obj_attr = {}; |
| | |
| | | } else if (action.action_type == 'set_dlg_attr_show') { |
| | | var result = action.value; |
| | | $this.hideFormItems(result) |
| | | // console.log($this.$data.head_styledef); |
| | | // console.log($this.head_styledef); |
| | | } else if (action.action_type == 'set_global_attr') { |
| | | $this.$data.global_attr = action.value || []; |
| | | $this.global_attr = action.value || []; |
| | | } else if (action.action_type == |
| | | "set_dlg_current_edit_attr" |
| | | ) { |
| | |
| | | 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]; |
| | | //判断表单里是否有返回字段,没有就装载到model里,点击确定提交的时候带上这些数据 |
| | | 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(data.result) |
| | | } |
| | | } |
| | | |
| | |
| | | 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 = { |
| | |
| | | rclsid: '', |
| | | robjid: '', |
| | | userlogin: '', |
| | | clsid: $this.$data.param |
| | | clsid: $this.param |
| | | .DataCls |
| | | .id, |
| | | objid: "", |
| | |
| | | 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; |
| | | // $this.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name; |
| | | // $this.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name; |
| | | var callback_eventid = param |
| | | .button_callback |
| | | .trim(); |
| | |
| | | |
| | | var enviroment = { |
| | | 'function': '3000', // 功能点编号 |
| | | cls_id: this.$data.param.DataCls.id, // 功能点主数据类标识 |
| | | cls_id: this.param.DataCls.id, // 功能点主数据类标识 |
| | | 'button': 'top', // top/bottom |
| | | button_name: this.translateSys('add2'), |
| | | master: { |
| | | cls_id: this.$data.param.DataCls.id, |
| | | cls_id: this.param.DataCls.id, |
| | | } |
| | | }; |
| | | enviroment = Base64.encode(JSON.stringify(enviroment)); //将字符串转换为base64编码 |
| | | |
| | | // console.log(obj_attr); |
| | | // var dataInfo={ |
| | | // class_id: this.$data.param.DataCls.id, data_obj_id: '', masterclsid: '', |
| | | // req: JSON.stringify(req), upfile: JSON.stringify([]), post_data: JSON.stringify({}), |
| | | // compose: JSON.stringify([]), refdatastore: JSON.stringify([]), extinfo: JSON.stringify(enviroment), |
| | | // not_trigger_sys_event: '' |
| | | // }; |
| | | |
| | | var dataInfo = { |
| | | class_id: this.$data.param.DataCls.id, |
| | | class_id: this.param.DataCls.id, |
| | | class_name: '', |
| | | master_cls_id: '', |
| | | master_obj_id: '', |
| | |
| | | } |
| | | |
| | | |
| | | if (!this.$data.param.After_Btn_Not_Refresh) { |
| | | if (!this.param.After_Btn_Not_Refresh) { |
| | | //刷新 |
| | | uni.redirectTo({ |
| | | url: '../modal/3018_2?param=' + JSON.stringify(this.$data |
| | | .param) + |
| | | "&titlename=" + this.$data.title |
| | | "&titlename=" + this.title |
| | | }); |
| | | } else { |
| | | var actionlist = data.action; |
| | |
| | | |
| | | } |
| | | } |
| | | for (var c = 0; c < $this.$data.head_styledef.form |
| | | for (var c = 0; c < $this.head_styledef.form |
| | | .items |
| | | .length; c++) { |
| | | var attr = $this.$data.head_styledef.form.items[c]; |
| | | var attr = $this.head_styledef.form.items[c]; |
| | | // console.log(attr[j].Name+'=='+data[i].attr); |
| | | //判断表单里是否有返回字段,没有就装载到model里,点击确定提交的时候带上这些数据 |
| | | if ($this.head_styledef.form.model[data[i] |
| | |
| | | }); |
| | | } |
| | | } |
| | | 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 |
| | | $this.head_styledef.form.items |
| | | .forEach( |
| | | async ( |
| | | ele, index) => { |
| | |
| | | }); |
| | | var head_styledef = JSON.parse(JSON.stringify($this.$data |
| | | .head_styledef)); |
| | | $this.$data.head_styledef = []; |
| | | $this.$data.head_styledef = head_styledef; |
| | | $this.head_styledef = []; |
| | | $this.head_styledef = head_styledef; |
| | | }, |
| | | afterOK() { |
| | | this.saving = true |
| | |
| | | var dataInfo = { |
| | | ed_type: "0", |
| | | start_transaction: true, |
| | | class_id: this.$data.param.DataCls.id, |
| | | class_id: this.param.DataCls.id, |
| | | class_name: '', |
| | | event_id: this.after_ok.id, |
| | | event_name: '', |
| | |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | if (!this.$data.param.After_Btn_Not_Refresh) { |
| | | if (!this.param.After_Btn_Not_Refresh) { |
| | | //刷新 |
| | | uni.redirectTo({ |
| | | url: '../modal/3018_2?param=' + JSON.stringify(this.$data |
| | | .param) + |
| | | "&titlename=" + this.$data.title |
| | | "&titlename=" + this.title |
| | | }); |
| | | } else { |
| | | var actionlist = data.action; |
| | |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | if (!this.$data.param.After_Btn_Not_Refresh) { |
| | | if (!this.param.After_Btn_Not_Refresh) { |
| | | //刷新 |
| | | uni.redirectTo({ |
| | | url: '../modal/3018_2?param=' + JSON.stringify(this.$data |
| | | .param) + |
| | | "&titlename=" + this.$data.title |
| | | "&titlename=" + this.title |
| | | }); |
| | | } else { |
| | | var actionlist = data.action; |
| | |
| | | uni.redirectTo({ |
| | | url: '../modal/3018_2?param=' + JSON.stringify(this |
| | | .$data.param) + |
| | | "&titlename=" + this.$data.title |
| | | "&titlename=" + this.title |
| | | }); |
| | | |
| | | }, |