| | |
| | | <uni-data-select id="dv_select" v-if="item.name=='Select'" |
| | | :style="'width: calc(100% - '+item.labelWidth-10+'px);'" |
| | | :class="item.disabled?'input-disabled':''" v-model="item.value" :localdata="item.dict" |
| | | @change="onChange(item)" :disabled="item.disabled" :clear="false"></uni-data-select> |
| | | @change="onEnterChange(item)" :disabled="item.disabled" :clear="false"></uni-data-select> |
| | | <!-- 文本框/数字框 --> |
| | | <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]" |
| | |
| | | v-model="item.value" :disabled="item.disabled" :placeholder="item.placeholder" |
| | | :style="{'padding-left':item.setting.prefix?0 : '8rpx','right':item.setting.suffix?0 : '8rpx'}" |
| | | :focus="focusFieldId == item.fieldId" @focus="ontap(item)" @click="onClick(item)" |
| | | @keyup.enter="onModelValue(item)" @blur="onModelValue(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="classAttr_extButton(item)"></text> |
| | | </view> |
| | | <!-- 多行文本 --> |
| | | <view class="input-wrapper" v-if="item.name=='Textarea' "> |
| | | <textarea class="uni-input" :class="item.disabled?'input-disabled':''" :value="item.value" |
| | | <textarea class="uni-input" :class="item.disabled?'input-disabled':''" v-model="item.value" |
| | | :focus="focusFieldId == item.fieldId" :placeholder="item.placeholder" |
| | | @blur="onModelValue(item)" @click="onClick(item)" :data-index="index" |
| | | @blur="onEnterChange(item)" @click="onClick(item)" :data-index="index" |
| | | style="height:60px;" :style="{'width':'96%'}" :disabled="item.disabled"></textarea> |
| | | |
| | | </view> |
| | | <!-- 复选框 --> |
| | | <checkbox-group class="check_rememberPwd" v-if="item.name=='Checkbox'" |
| | | :class="item.disabled?'input-disabled':''" :disabled="item.disabled" |
| | | @change="onCheckBoxValue" :data-attr="item.fieldId"> |
| | | @change="onCheckBoxValue" :data-attr="item.fieldId" :data-index="index"> |
| | | <label v-for="(item2) in item.selections" :key="item2.value"> |
| | | <checkbox :value="item2.value" :checked="item.value.includes(item2.value)" /> |
| | | <text>{{item2.label}}</text> |
| | |
| | | <!-- 单选框 --> |
| | | <radio-group class="check_rememberPwd" v-if="item.name=='Radio'" |
| | | :class="item.disabled?'input-disabled':''" :disabled="item.disabled" |
| | | @change="onRadioBoxValue" :data-attr="item.fieldId"> |
| | | @change="onRadioBoxValue" :data-attr="item.fieldId" :data-index="index"> |
| | | <label v-for="(item2) in item.selections" :key="item2.value"> |
| | | <radio :value="item2.value" :checked="item2.value === item.value" /> |
| | | <text>{{item2.label}}</text> |
| | |
| | | :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> |
| | | </picker> |
| | | </view> |
| | | </view> --> |
| | | <OIDatePicker v-if="item.name=='DatePicker'" :class="item.disabled?'input-disabled':''" |
| | | :disabled="item.disabled" v-model="item.value" :placeholder="item.placeholder" |
| | | :defaultToday="item.setting.defaultToday" :format="item.setting.format" |
| | | @change="onModelValue(item)" /> |
| | | <OIDatePickerRange v-if="item.name=='DatePickerRange'" :rangeSeparator="item.setting.separator" |
| | | :format="item.setting.format" :class="item.disabled?'input-disabled':''" |
| | | :disabled="item.disabled" v-model="item.value" :placeholder="item.placeholder" |
| | | @change="onModelValue(item)" /> |
| | | <OITimePicker v-if="item.name=='TimePicker'" :class="item.disabled?'input-disabled':''" |
| | | :disabled="item.disabled" v-model="item.value" :placeholder="item.placeholder" |
| | | @change="onModelValue(item)" /> |
| | | </uni-forms-item> |
| | | <!-- 栅格布局 --> |
| | | <uni-row class="demo-uni-row" v-if="item.name=='Layout'"> |
| | |
| | | v-model="cols.value" :disabled="cols.disabled" :placeholder="cols.placeholder" |
| | | :style="{'padding-left':cols.setting.prefix?0 : '8px','right':cols.setting.suffix?0 : '8px'}" |
| | | :focus="focusFieldId == cols.fieldId" @focus="ontap(cols)" |
| | | @click="onClick(cols)" @blur="onevent(cols)" :maxlength="-1" /> |
| | | @click="onClick(cols)" @keyup.enter="onEnterChange(cols)" |
| | | @blur="onEnterChange(cols)" :maxlength="-1" /> |
| | | <text v-if="cols.setting.suffix" class="uni-icon" :class="[cols.setting.suffix]" |
| | | @click="classAttr_extButton(cols)"></text> |
| | | </view> |
| | | <!-- 下拉框-单选 cols.useDict?cols.dict:cols.selections--> |
| | | <uni-data-select id="dv_select" v-if="cols.name=='Select' " |
| | | :class="cols.disabled?'input-disabled':''" v-model="cols.value" |
| | | :localdata="cols.dict" @change="onChange(cols)" :disabled="cols.disabled" |
| | | :localdata="cols.dict" @change="onEnterChange(cols)" :disabled="cols.disabled" |
| | | :clear="false"></uni-data-select> |
| | | <!-- 多行文本 --> |
| | | <view class="input-wrapper" v-if="cols.name=='Textarea' "> |
| | | <textarea class="uni-input" :value="cols.value" |
| | | <textarea class="uni-input" v-model="cols.value" |
| | | :class="cols.disabled?'input-disabled':''" :placeholder="cols.placeholder" |
| | | :focus="focusFieldId == cols.fieldId" @blur="onModelValue(cols)" |
| | | :focus="focusFieldId == cols.fieldId" @blur="onEnterChange(cols)" |
| | | @click="onClick(cols)" style="height:60px;" :style="{'width':'96%'}" |
| | | :disabled="cols.disabled"></textarea> |
| | | </view> |
| | | <!-- 复选框 --> |
| | | <checkbox-group class="check_rememberPwd" v-if="cols.name=='Checkbox'" |
| | | :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled" |
| | | @change="onCheckBoxValue" :data-attr="cols.fieldId"> |
| | | @change="onCheckBoxValue" :data-attr="cols.fieldId" :data-index="index" |
| | | :data-iindex="key"> |
| | | <label v-for="(cols2) in cols.selections" :key="cols2.value"> |
| | | <checkbox :value="cols2.value" :checked="cols.value.includes(cols2.value)" /> |
| | | <text>{{cols2.label}}</text> |
| | |
| | | <!-- 单选框 --> |
| | | <radio-group class="check_rememberPwd" v-if="cols.name=='Radio'" |
| | | :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled" |
| | | @change="onRadioBoxValue" :data-attr="cols.fieldId"> |
| | | @change="onRadioBoxValue" :data-attr="cols.fieldId" :data-index="index" |
| | | :data-iindex="key"> |
| | | <label v-for="(cols2) in cols.selections" :key="cols2.value"> |
| | | <radio :value="cols2.value" :checked="cols2.value === cols.value" /> |
| | | <text>{{cols2.label}}</text> |
| | |
| | | :disabled="cols.disabled" v-model="cols.value" @change="onModelValue(cols)" |
| | | :style="{'margin-left':'10rpx'}" /> |
| | | <!-- 日期时间 --> |
| | | <view class="input-wrapper" |
| | | <!-- <view class="input-wrapper" |
| | | v-if="(cols.name=='TimePicker' || cols.name=='DatePicker') && !cols.disabled"> |
| | | <picker mode="date" class="date_iput" :class="cols.disabled?'input-disabled':''" |
| | | :disabled="cols.disabled" :value="cols.value" @change="onModelValue(cols)"> |
| | | <view class="picker">{{cols.value}}</view> |
| | | </picker> |
| | | </view> |
| | | |
| | | </view> --> |
| | | <OIDatePicker v-if="cols.name=='DatePicker'" :class="cols.disabled?'input-disabled':''" |
| | | :disabled="cols.disabled" v-model="cols.value" :placeholder="cols.placeholder" |
| | | :defaultToday="cols.setting.defaultToday" :format="cols.setting.format" |
| | | @change="onModelValue(cols)" /> |
| | | <OIDatePickerRange v-if="cols.name=='DatePickerRange'" |
| | | :rangeSeparator="cols.setting.separator" :format="cols.setting.format" |
| | | :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled" |
| | | v-model="cols.value" :placeholder="cols.placeholder" @change="onModelValue(cols)" /> |
| | | <OITimePicker v-if="cols.name=='TimePicker'" :class="cols.disabled?'input-disabled':''" |
| | | :disabled="cols.disabled" v-model="cols.value" :placeholder="cols.placeholder" |
| | | @change="onModelValue(cols)" /> |
| | | </uni-forms-item> |
| | | <uni-forms-item v-else label=""></uni-forms-item> |
| | | |
| | | </uni-col> |
| | | </uni-row> |
| | | </view> |
| | |
| | | <script> |
| | | import Base64 from '../../components/js-base64/base64.js' |
| | | import utils from "@/js/utils.js" |
| | | import dayjs from "dayjs"; |
| | | import OIDatePicker from '@/components/oi-date-time-picker/oi-date-picker.vue' |
| | | import OIDatePickerRange from '@/components/oi-date-time-picker/oi-date-picker-range.vue' |
| | | import OITimePicker from '@/components/oi-date-time-picker/oi-time-picker.vue' |
| | | |
| | | import { |
| | | appGetInfo, |
| | | dictGetInfo |
| | |
| | | export default { |
| | | modules: { |
| | | Base64, |
| | | }, |
| | | components: { |
| | | OIDatePicker, |
| | | OIDatePickerRange, |
| | | OITimePicker |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | //有默认值,显示默认值 |
| | | let itemName = ele.value || ""; |
| | | if (itemName) { |
| | | styledefHead.form |
| | | .model[ele.fieldId] = itemName; |
| | | styledefHead.form.model[ele.fieldId] = itemName; |
| | | } |
| | | ele.dict = selections.map((a) => { |
| | | return { |
| | |
| | | text: a.label |
| | | } |
| | | }) |
| | | |
| | | } |
| | | |
| | | } |
| | | if ($this.focusFieldId == "") { |
| | | if (ele.name == 'Input' || ele.name == |
| | |
| | | text: a.label |
| | | } |
| | | }) |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | if ($this.focusFieldId == "") { |
| | | if (col.name == 'Input' || col |
| | |
| | | // console.log("onClick",item); |
| | | this.focusFieldId = item.fieldId |
| | | }, |
| | | onevent(item) { |
| | | // console.log("onevent",item); |
| | | if (item.oldvalue != item.value && item.value.trim() != "") { |
| | | item.oldvalue = item.value; |
| | | var attr = item.fieldId; |
| | | this.head_styledef.form.model[attr] = item.value; |
| | | //子数据类扫码区事件脚本 |
| | | var eventid = item.bind.onChangeEvent.id; //内容变化后事件 |
| | | if (eventid) { |
| | | 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] || "", |
| | | })); |
| | | var info = { |
| | | eventid: eventid, |
| | | edtype: "0", |
| | | projectid: '', |
| | | rclsid: '', |
| | | robjid: '', |
| | | userlogin: '', |
| | | clsid: this.$data.param.DataCls.id, |
| | | objid: "", |
| | | attr: req, |
| | | dataJson: [], |
| | | } |
| | | this.DataObjRunCustomEvent(info, ""); |
| | | } |
| | | } |
| | | |
| | | }, |
| | | onChange(item) { |
| | | console.log("onChange", item); |
| | | if (item.oldvalue != item.value && item.value.trim() != "") { |
| | | item.oldvalue = item.value; |
| | | var attr = item.fieldId; |
| | | this.head_styledef.form.model[attr] = item.value; |
| | | var eventid = item.bind.onChangeEvent.id; //内容变化后事件 |
| | | if (eventid) { |
| | | // self.event_no_sub = 1; |
| | | 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] || "", |
| | | })); |
| | | var info = { |
| | | eventid: eventid, |
| | | edtype: "0", |
| | | projectid: '', |
| | | rclsid: '', |
| | | robjid: '', |
| | | userlogin: '', |
| | | clsid: this.$data.param.DataCls.id, |
| | | objid: "", |
| | | attr: req, |
| | | dataJson: [] |
| | | } |
| | | this.DataObjRunCustomEvent(info); |
| | | } |
| | | } |
| | | |
| | | }, |
| | | onModelValue(item) { //绑定Model值 |
| | | var attr = item.fieldId; |
| | | if (item.oldvalue != item.value && item.value.trim() != "") { |
| | | onEnterChange(item) { |
| | | console.log("onEnterChange", item); |
| | | if (item.oldvalue != item.value) { |
| | | item.oldvalue = item.value; |
| | | var attr = item.fieldId; |
| | | this.head_styledef.form.model[attr] = item.value; |
| | |
| | | if (onChangeEvent?.id) { //内容变化后事件 |
| | | this.onChange(onChangeEvent); |
| | | } |
| | | |
| | | } |
| | | |
| | | }, |
| | | // 内容变化后事件 |
| | | async onChange(event) { |
| | | var eventid = event?.id; //内容变化后事件 |
| | | if (eventid) { |
| | | // self.event_no_sub = 1; |
| | | 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] || "", |
| | | })); |
| | | var info = { |
| | | eventid: eventid, |
| | | edtype: "0", |
| | | projectid: '', |
| | | rclsid: '', |
| | | robjid: '', |
| | | userlogin: '', |
| | | clsid: this.$data.param.DataCls.id, |
| | | objid: "", |
| | | attr: req, |
| | | dataJson: [] |
| | | } |
| | | this.DataObjRunCustomEvent(info); |
| | | } |
| | | |
| | | }, |
| | | |
| | | onCheckBoxValue(e) { //绑定Model值 |
| | | let values = e.detail.value || [] |
| | | let attr = e.currentTarget?.dataset?.attr || "" |
| | | this.head_styledef.form.model[attr] = values; |
| | | const item = this.head_styledef.form.items[e.currentTarget?.dataset?.index || 0] |
| | | if (item?.setting?.colList) { |
| | | const col = item.setting.colList[e.currentTarget?.dataset?.iindex || 0] |
| | | if (col) { |
| | | col.value = values |
| | | let attr = col.fieldId; |
| | | this.head_styledef.form.model[attr] = col.value; |
| | | var onChangeEvent = col.bind.onChangeEvent; //内容变化后事件 |
| | | if (onChangeEvent?.id) { //内容变化后事件 |
| | | this.onChange(onChangeEvent); |
| | | } |
| | | return |
| | | } |
| | | } else { |
| | | if (item) { |
| | | item.value = values |
| | | let attr = item.fieldId; |
| | | this.head_styledef.form.model[attr] = item.value; |
| | | var onChangeEvent = item.bind.onChangeEvent; //内容变化后事件 |
| | | if (onChangeEvent?.id) { //内容变化后事件 |
| | | this.onChange(onChangeEvent); |
| | | } |
| | | } |
| | | } |
| | | |
| | | }, |
| | | onRadioBoxValue(e) { //绑定Model值 |
| | | let value = e.detail.value || "" |
| | | let attr = e.currentTarget?.dataset?.attr || "" |
| | | this.head_styledef.form.model[attr] = value; |
| | | let values = e.detail.value || "" |
| | | const item = this.head_styledef.form.items[e.currentTarget?.dataset?.index || 0] |
| | | if (item?.setting?.colList) { |
| | | const col = item.setting.colList[e.currentTarget?.dataset?.iindex || 0] |
| | | if (col) { |
| | | col.value = values |
| | | let attr = col.fieldId; |
| | | this.head_styledef.form.model[attr] = col.value; |
| | | var onChangeEvent = col.bind.onChangeEvent; //内容变化后事件 |
| | | if (onChangeEvent?.id) { //内容变化后事件 |
| | | this.onChange(onChangeEvent); |
| | | } |
| | | return |
| | | } |
| | | } else { |
| | | if (item) { |
| | | item.value = values |
| | | let attr = item.fieldId; |
| | | this.head_styledef.form.model[attr] = item.value; |
| | | var onChangeEvent = item.bind.onChangeEvent; //内容变化后事件 |
| | | if (onChangeEvent?.id) { //内容变化后事件 |
| | | this.onChange(onChangeEvent); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | }, |
| | | onModelValue(item) { |
| | | var attr = item.fieldId; |
| | | this.head_styledef.form.model[attr] = item.value; |
| | | }, |
| | | classAttr_extButton(item) { |
| | | console.log("classAttr_extButton", item) |
| | | var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //后图标点击事件 |
| | | var onSuffixClickEvent = item.bind.onSuffixClickEvent; //后图标点击回调 |
| | | |
| | |
| | | } else if (action.action_type == |
| | | "set_dlg_current_edit_attr" |
| | | ) { |
| | | if ($this |
| | | .focusOldFieldId == |
| | | action.value) { |
| | | if ($this.focusOldFieldId == action.value) { |
| | | $this.setData({ |
| | | focusFieldId: "" |
| | | }) |
| | | } else { |
| | | $this.setData({ |
| | | focusFieldId: $this |
| | | .focusOldFieldId |
| | | focusFieldId: $this.focusOldFieldId |
| | | }) |
| | | } |
| | | $this.$nextTick(() => { |
| | | $this.setData({ |
| | | focusFieldId: action |
| | | .value |
| | | focusFieldId: action.value |
| | | }) |
| | | }); |
| | | } else { |
| | |
| | | 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") |
| | | 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') { |
| | |
| | | } |
| | | |
| | | .uni-icon { |
| | | padding: 8rpx; |
| | | padding: 10rpx 5rpx; |
| | | font-size: 32rpx; |
| | | color: rgb(192, 196, 204); |
| | | } |
| | |
| | | |
| | | .uni-icon { |
| | | /* border: 1px solid red; */ |
| | | width: 8%; |
| | | width: 30rpx; |
| | | font-family: uniicons; |
| | | font-size: 40rpx; |
| | | font-weight: 400; |