| | |
| | | <!-- 文本框/数字框 --> |
| | | <view class="dv_input" v-if="(item.name=='Input' || item.name=='InputNumber') "> |
| | | <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]" |
| | | @change="onChange(item)"></text> |
| | | @click="onEnterChange(item)"></text> |
| | | <input class="uni-input" :class="item.disabled?'input-disabled':''" |
| | | :type="item.name=='Input'?'text':item.name=='InputNumber'?'number':'text'" |
| | | 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="focusMateria" @focus="ontap(item)" @blur="onevent(item)" |
| | | :maxlength="-1" /> |
| | | :focus="focusMateria" @focus="ontap(item)" @keyup.enter="onEnterChange(item)" |
| | | @blur="onEnterChange(item)" :maxlength="-1" /> |
| | | <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]" |
| | | @click="onChange(item)"></text> |
| | | @click="onEnterChange(item)"></text> |
| | | </view> |
| | | <!-- 下拉框-单选 item.useDict?item.dict:item.selections--> |
| | | <uni-data-select id="dv_select" v-if="item.name=='Select'" |
| | | :class="item.disabled?'input-disabled':''" v-model="item.value" |
| | | :localdata="item.dict" @change="onChange(item)" :disabled="item.disabled" |
| | | :localdata="item.dict" @change="onEnterChange(item)" :disabled="item.disabled" |
| | | :clear="false"></uni-data-select> |
| | | <!-- 多行文本 --> |
| | | <view class="input-wrapper" v-if="item.name=='Textarea'"> |
| | | <textarea class="uni-input" :value="item.value" |
| | | :class="item.disabled?'input-disabled':''" :placeholder="item.placeholder" |
| | | @blur="onModelValue(item)" style="height:60px;" :style="{'width':'96%'}" |
| | | @blur="onEnterChange(item)" 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" |
| | | :style="{'margin-left':'10rpx'}" @change="onModelValue(item)"> |
| | | :style="{'margin-left':'10rpx'}" @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> |
| | |
| | | :disabled="item.disabled" v-model="item.value" @change="onModelValue(item)" |
| | | :style="{'margin-left':'10rpx'}" /> |
| | | <!-- 日期时间 --> |
| | | <view class="input-wrapper" |
| | | <!-- <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 class="input-wrapper" |
| | | v-if="(item.name=='TimePicker' || item.name=='DatePicker' || item.name=='DatePickerRange') "> |
| | | <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)" /> |
| | | </view> |
| | | </view> |
| | | <!-- 栅格布局 --> |
| | |
| | | :style="{'width':cols.labelWidth+'px'}">{{cols.label}}:</text> |
| | | <view class="dv_input" 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> |
| | | :class="[cols.setting.prefix]" |
| | | @click="onEnterChange(cols)"></text> |
| | | <input class="uni-input" :class="cols.disabled?'input-disabled':''" |
| | | :type="cols.name=='Input'?'text':cols.name=='InputNumber'?'number':'text'" |
| | | 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="focusMateria" @focus="ontap(cols)" @blur="onevent(cols)" |
| | | :maxlength="-1" /> |
| | | :focus="focusMateria" @focus="ontap(cols)" @blur="onEnterChange(cols)" |
| | | @keyup.enter="onEnterChange(cols)" :maxlength="-1" /> |
| | | <text v-if="cols.setting.suffix" class="uni-icon" |
| | | :class="[cols.setting.suffix]" @click="onChange(cols)"></text> |
| | | :class="[cols.setting.suffix]" |
| | | @click="onEnterChange(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" |
| | | :clear="false"></uni-data-select> |
| | | :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" |
| | | :class="cols.disabled?'input-disabled':''" |
| | | :placeholder="cols.placeholder" @blur="onModelValue(cols)" |
| | | :placeholder="cols.placeholder" @blur="onEnterChange(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)" /> |
| | |
| | | <!-- 单选框 --> |
| | | <radio-group class="check_rememberPwd" v-if="cols.name=='Radio'" |
| | | :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled" |
| | | :style="{'margin-left':'10rpx'}" @change="onModelValue(cols)"> |
| | | :style="{'margin-left':'10rpx'}" @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> |
| | |
| | | </radio-group> |
| | | <!-- Switch开关 --> |
| | | <switch v-if="cols.name=='Switch'" :class="cols.disabled?'input-disabled':''" |
| | | :disabled="item.disabled" v-model="cols.value" @change="onModelValue(cols)" |
| | | :disabled="cols.disabled" v-model="cols.value" @change="onModelValue(cols)" |
| | | :style="{'margin-left':'10rpx'}" /> |
| | | <!-- 日期时间 --> |
| | | <view class="input-wrapper" |
| | | v-if="(cols.name=='TimePicker' || cols.name=='DatePicker') && !cols.disabled"> |
| | | <picker mode="date" class="date_iput" |
| | | <!-- <picker mode="date" class="date_iput" |
| | | :class="cols.disabled?'input-disabled':''" :disabled="item.disabled" |
| | | :value="cols.value" @change="onModelValue(cols)"> |
| | | <view class="picker">{{cols.value}}</view> |
| | | </picker> |
| | | </picker> --> |
| | | <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)" /> |
| | | </view> |
| | | |
| | | </view> |
| | |
| | | runCustomEvent, |
| | | dataObjQuery |
| | | } from "@/api/data.js" |
| | | |
| | | 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' |
| | | export default { |
| | | modules: { |
| | | Base64, |
| | | }, |
| | | components: { |
| | | OIDatePicker, |
| | | OIDatePickerRange, |
| | | OITimePicker |
| | | }, |
| | | onBackPress(e) { |
| | | // console.log("监听返回按钮事件",e); |
| | |
| | | }); |
| | | } |
| | | }, |
| | | onCheckBoxValue(e) { //绑定Model值 |
| | | let values = e.detail.value || [] |
| | | var attr = item.fieldId; |
| | | this.detail2_styledef.form.model[attr] = values; |
| | | |
| | | // 内容变化后事件 |
| | | async onChange(event) { |
| | | try { |
| | | if (event.id) { |
| | | var obj_attr = this.detail2_styledef.form.model; |
| | | // console.log(obj_attr); |
| | | var input_param = Base64.encode( |
| | | JSON.stringify( |
| | | Object.keys(obj_attr).map((a) => ({ |
| | | attr: a, |
| | | value: obj_attr[a] || "", |
| | | })) |
| | | ) |
| | | ); |
| | | var $this = this; |
| | | var dataInfo = { |
| | | ed_type: 0, |
| | | start_transaction: true, |
| | | class_id: this.$data.detail2_styledef.form.clsId, |
| | | class_name: '', |
| | | event_id: event.id, |
| | | 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: '', |
| | | global_attr: '', |
| | | input_param: input_param, |
| | | }; |
| | | runCustomEvent(dataInfo).then(result => { |
| | | // console.log(result); |
| | | if (result.ret != 0) { |
| | | var tip = result.err_info ? typeof result.err_info == 'string' ? result |
| | | .err_info : result.err_info.join('<br/>') : ''; |
| | | if (result.ret == 801) uni.showModal({ |
| | | title: this.translateSys("tip"), |
| | | content: tip, |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | else uni.showModal({ |
| | | title: this.translateSys("tip"), |
| | | content: tip + ',' + this.translateSys('tip') + ':' + result |
| | | .ret, |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | return false; |
| | | } else { |
| | | var tip = result.info ? typeof result.info == 'string' ? result.info : |
| | | result.info.join('<br/>') : ''; |
| | | if (tip) uni.showModal({ |
| | | title: this.translateSys("tip"), |
| | | content: tip, |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | |
| | | if (result.result_type == 0 && result.action) { |
| | | result.action.forEach(item => { |
| | | if (item.action_type == "set_dlg_attr") { |
| | | // value = {"attr":"xxx", "value":"xxx"} |
| | | var data = item.value; |
| | | $this.$data.detail2_styledef.form.items.forEach(async ( |
| | | ele, index) => { |
| | | data.forEach(async (ele2, index) => { |
| | | if (ele.fieldId == ele2 |
| | | .attr) { |
| | | ele.value = ele2 |
| | | .value; |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | // this.detail2StyleDefList=[]; |
| | | if (result.info) { |
| | | uni.showModal({ |
| | | title: this.translateSys("tip"), |
| | | content: result.info, |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | }).catch(ex => { |
| | | // console.log(ex); |
| | | uni.showModal({ |
| | | title: this.translateSys("error") + "8.1", |
| | | content: ex.errMsg, |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | }); |
| | | } |
| | | } catch (ex) { |
| | | var tip = typeof ex == "string" ? ex : ex.message; |
| | | uni.showModal({ |
| | | title: this.translateSys("error") + "8.2", |
| | | content: this.translate('execute_after_change_event_failed') + this.translateSys( |
| | | "comma") + |
| | | this.translate('reason') + this.translateSys("colon") + tip, |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | |
| | | } |
| | | }, |
| | | onRadioBoxValue(e) { //绑定Model值 |
| | | let values = e.detail.value || "" |
| | | var attr = item.fieldId; |
| | | this.detail2_styledef.form.model[attr] = values; |
| | | }, |
| | | onModelValue(item) { |
| | | var attr = item.fieldId; |
| | | this.detail2_styledef.form.model[attr] = item.value; |
| | | }, |
| | | onEnterChange(item) { |
| | | var attr = item.fieldId; |
| | | this.detail2_styledef.form.model[attr] = item.value; |
| | | }, |
| | | //点击按钮 |
| | | onBtnClick(btn) { |
| | |
| | | uni.showModal({ |
| | | title: this.translateSys("tip"), |
| | | content: btn.PromptContent || this.translate("are_you_sure"), |
| | | cancelText: this.translateSys('ok'), |
| | | confirmText: this.translateSys('cancel'), |
| | | success: function(res) { |
| | | if (res.confirm) { |
| | | if (res.cancel) { |
| | | that.onButtonClicked(btn); |
| | | // } else if (res.cancel) { |
| | | // console.log('用户点击取消'); |
| | |
| | | uni.showModal({ |
| | | title: this.translateSys("tip"), |
| | | content: btn.PromptContent || this.translate("are_you_sure"), |
| | | cancelText: this.translateSys('ok'), |
| | | confirmText: this.translateSys('cancel'), |
| | | success: function(res) { |
| | | if (res.confirm) { |
| | | if (res.cancel) { |
| | | that.onButtonClicked(btn); |
| | | // } else if (res.cancel) { |
| | | // console.log('用户点击取消'); |
| | |
| | | |
| | | .uni-icon { |
| | | /* border: 1px solid red; */ |
| | | width: 8%; |
| | | width: 30rpx; |
| | | padding: 10rpx 5rpx; |
| | | font-family: uniicons; |
| | | font-size: 40rpx; |
| | | font-weight: 400; |