| | |
| | | <template> |
| | | <view class="uni-page-modal-3200"> |
| | | <view class="uni-page-modal-3200" :class="largeMode?'large-mode':''"> |
| | | <view class="v-content"> |
| | | <!-- 表头样式 --> |
| | | <view class="v-headStyle" v-for="(item,index) in head_styledef.form.items" v-if="isFilter==true"> |
| | | <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}:</text> |
| | | <!-- 下拉框-单选 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="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]" |
| | | @click="onEnterChange(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="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="onEnterChange(item)"></text> |
| | | </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> |
| | | |
| | | <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" @on-focus="ontap" |
| | | @on-change="onEnterChange" @on-click-prefix="onEnterChange" @on-click-suffix="onEnterChange"></OIForm> |
| | | <view class="v-scroll-view"> |
| | | <scroll-view :scroll-top="scrollTop" :scroll-y="true" class="scroll-y" @scrolltolower="scrolltolower" |
| | | @scroll="scroll"> |
| | |
| | | </checkbox-group> |
| | | </div> |
| | | <!-- HTML页面类型显示 --> |
| | | <div class="dv-listHtml-Panel" v-if="ListHtml_Panel" v-html="ListHtml_Panel[ii]" :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;': |
| | | param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;': |
| | | param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'"> |
| | | <div class="dv-listHtml-Panel" v-if="ListHtml_Panel" v-html="ListHtml_Panel[ii]" |
| | | :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;': param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;':param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'"> |
| | | |
| | | </div> |
| | | <div class="dv-panel-input" v-if="!ListHtml_Panel" :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;': |
| | | param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;': |
| | | param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'"> |
| | | <div v-for="(item,index) in style.form.items"> |
| | | <!-- 普通布局 --> |
| | | <view v-if="item.name!='Layout'"> |
| | | <text class="txt_title" |
| | | :style="{'width':item.labelWidth+'px'}">{{item.label}}:</text> |
| | | <span class="form-item-span" v-if="item.disabled">{{item.value}}</span> |
| | | <!-- 文本框/数字框 --> |
| | | <view v-else class="form-item-input"> |
| | | <input :type="item.name=='InputNumber'?'number':'text'" v-model="item.value" |
| | | :placeholder="item.placeholder" :maxlength="-1" |
| | | @on-enter="onDetail1EnterChange(item)" /> |
| | | </view> |
| | | </view> |
| | | <!-- 栅格布局 --> |
| | | <uni-row class="demo-uni-row" v-if="item.name=='Layout'"> |
| | | <uni-col v-for="(cols,key) in item.setting.colList" |
| | | :span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col"> |
| | | <view v-if="cols!=null"> |
| | | <text class="txt_title" |
| | | :style="{'width':cols.labelWidth+'px'}">{{cols.label}}:</text> |
| | | <span class="form-item-span" v-if="cols.disabled">{{cols.value}}</span> |
| | | <!-- 文本框/数字框 --> |
| | | <view v-else class="form-item-input"> |
| | | <input :type="cols.name=='InputNumber'?'number':'text'" |
| | | v-model="cols.value" :placeholder="cols.placeholder" |
| | | :maxlength="-1" @on-enter="onDetail1EnterChange(cols)" /> |
| | | </view> |
| | | </view> |
| | | </uni-col> |
| | | </uni-row> |
| | | </div> |
| | | <div class="dv-panel-input" v-if="!ListHtml_Panel" |
| | | :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;':param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;':param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'"> |
| | | <OIForm class="v-area dv-panel" :form="style.form.items" viewMode></OIForm> |
| | | |
| | | </div> |
| | | <div class="dv-panel-button" v-if="param.ListPage.Click_View==true"> |
| | | <a @click="onViewPageClick(style)"><i class="mobox-normal-right-arrow" /></a> |
| | |
| | | <view class="uni-padding-wrap" v-if="param.ListPage.Page_Button.length>0"> |
| | | <view class="uni-btn-v"> |
| | | <a @tap="actionSheetTap"> |
| | | <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 classUtils from "@/js/utils.js" |
| | | import { |
| | | appGetInfo, |
| | |
| | | dataObjDel |
| | | } from "@/api/data.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 OIForm from '@/components/oi-form/index.vue' |
| | | import buttonClickMixin from '@/mixins/button-click.js'; |
| | | |
| | | export default { |
| | | modules: { |
| | | Base64, |
| | | }, |
| | | mixins: [buttonClickMixin], |
| | | components: { |
| | | OIDatePicker, |
| | | OIDatePickerRange, |
| | | OITimePicker |
| | | OIForm |
| | | }, |
| | | onNavigationBarButtonTap(e) { |
| | | // console.log(e); |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | largeMode: getApp().globalData.largeMode || false, |
| | | title: this.translateSys('add2'), |
| | | isFilter: true, |
| | | param: {}, |
| | |
| | | uni.setNavigationBarTitle({ |
| | | title: options.titlename |
| | | }); //设置顶部标题 |
| | | this.$data.title = options.titlename; |
| | | this.$data.param = JSON.parse(options.param); |
| | | this.title = options.titlename; |
| | | this.param = JSON.parse(options.param); |
| | | |
| | | |
| | | this.styledef = {}; |
| | |
| | | // this.query_id = ""; |
| | | // await this.loadDataGetList(); |
| | | // } |
| | | // console.log(this.$data.param); |
| | | // console.log(this.param); |
| | | //页面初始化获取焦点 |
| | | // this.focusMateria=true; |
| | | }, |
| | |
| | | //传入参数值 |
| | | 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) { |
| | |
| | | if (!result.style_def.includes('"')) styledef = Base64.decode(result |
| | | .style_def); |
| | | } |
| | | $this.$data.head_styledef = result.style_def ? JSON.parse(styledef) : {}; |
| | | $this.head_styledef = result.style_def ? JSON.parse(styledef) : {}; |
| | | // this.form = this.head_styledef.form.model; |
| | | // console.log($this.$data.head_styledef); |
| | | // console.log($this.head_styledef); |
| | | if ($this.head_styledef.form?.items) { |
| | | $this.head_styledef.form.items.forEach(async (ele, index) => { |
| | | console.log(ele.useDict); |
| | |
| | | $this.head_styledef.form |
| | | .model[ele.fieldId] = itemName; |
| | | } |
| | | $this.head_styledef.form.items[index].dict = selections.map((a) => { |
| | | $this.head_styledef.form.items[index].selections = selections.map(( |
| | | a) => { |
| | | return { |
| | | value: a.value, |
| | | text: a.label |
| | |
| | | } |
| | | |
| | | }); |
| | | const app = getApp() |
| | | if (app.globalData.bindClasses) { |
| | | $this.head_styledef.form.items.push({ |
| | | name: "Input", |
| | | label: this.translate("classes"), |
| | | labelWidth: 100, |
| | | disabled: true, |
| | | value: app.globalData.classes, |
| | | setting: { |
| | | width: 100, |
| | | height: 50, |
| | | }, |
| | | bind: { |
| | | attr: "", |
| | | }, |
| | | fieldId: "S_CLASSES", |
| | | }) |
| | | $this.head_styledef.form.model["S_CLASSES"] = app.globalData.classes |
| | | } |
| | | |
| | | } |
| | | } catch (ex) { |
| | |
| | | if (!result.style_def.includes('"')) styledef = Base64.decode(result |
| | | .style_def); |
| | | } |
| | | $this.$data.detail1_styledef = result.style_def ? JSON.parse(styledef) : {}; |
| | | $this.$data.detail1_styledef.SelBut_Checked = false; |
| | | $this.detail1_styledef = result.style_def ? JSON.parse(styledef) : {}; |
| | | $this.detail1_styledef.SelBut_Checked = false; |
| | | } catch (ex) { |
| | | // console.log(ex); |
| | | let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex |
| | |
| | | //刷新当前页面 |
| | | this.initial(); |
| | | // uni.redirectTo({ |
| | | // url:'../modal/3200?param='+JSON.stringify(this.$data.param)+"&titlename="+this.$data.title, |
| | | // url:'../modal/3200?param='+JSON.stringify(this.param)+"&titlename="+this.title, |
| | | // }); |
| | | }, |
| | | //点击显示浏览对象显示页面 |
| | |
| | | } |
| | | } |
| | | }); |
| | | } else that.onButtonClicked(btn, style); |
| | | } else { |
| | | this.handleButtonClick((done) => { |
| | | that.onButtonClicked(btn, style); |
| | | setTimeout(() => { |
| | | done(); // 重置状态 |
| | | }, 1000); |
| | | }); |
| | | } |
| | | }, |
| | | //点击按钮列表 |
| | | actionSheetTap() { |
| | |
| | | item.value = result.decodedata; |
| | | uni.hideKeyboard(); |
| | | var $this = this; |
| | | |
| | | console.log(item); |
| | | if (item.oldvalue != item.value) { |
| | | item.oldvalue = item.value; |
| | | let newVal = item.value.trim() |
| | | if (newVal) { |
| | | item.oldvalue = newVal; |
| | | |
| | | var attr = item.fieldId; |
| | | this.head_styledef.form.model[attr] = item.value; |
| | | this.head_styledef.form.model[attr] = newVal; |
| | | var onChangeEvent = item.bind.onChangeEvent; //内容变化后事件 |
| | | var onSuffixClickCallbackEvent = item.bind |
| | | .onSuffixClickCallbackEvent; //后图标点击事件 |
| | |
| | | if (onChangeEvent.id) { //内容变化后事件 |
| | | $this.onChange(onChangeEvent); |
| | | } else { |
| | | $this.where = ''; |
| | | if (item.value) |
| | | $this.where = item.fieldId + " like '%" + item |
| | | .value + "%'"; |
| | | $this.where = item.fieldId + " like '%" + newVal + "%'"; |
| | | $this.query_id = ''; |
| | | $this.pageindex = 1; |
| | | $this.detail1StyleDefList = []; |
| | | $this.loadDataGetList(); |
| | | } |
| | | if (item.value) { //第一个输入框不为空 |
| | | $this.focusMateria = true; //初始化,第二个输入框focus属性 |
| | | // setTimeout(function(){ |
| | | // $this.focusMateria=true; //第二个输入框获取焦点 |
| | | setTimeout(function() { |
| | | uni.hideKeyboard(); |
| | | }, 1000); |
| | | // },500); |
| | | } |
| | | $this.focusMateria = true; //初始化,第二个输入框focus属性 |
| | | // setTimeout(function(){ |
| | | // $this.focusMateria=true; //第二个输入框获取焦点 |
| | | setTimeout(function() { |
| | | uni.hideKeyboard(); |
| | | }, 1000); |
| | | // },500); |
| | | // if(onSuffixClickCallbackEvent.id){ //后图标点击事件 |
| | | // this.onSuffixClick(onSuffixClickCallbackEvent); |
| | | // } |
| | |
| | | |
| | | onEnterChange(item) { //回车,点击按钮,取消节点事件 |
| | | // console.log(item); |
| | | if (item.oldvalue != item.value) { |
| | | item.oldvalue = item.value; |
| | | let newVal = item.value |
| | | if (typeof item.value == "string") { |
| | | newVal = item.value.trim() |
| | | if (!newVal) |
| | | return |
| | | } |
| | | if (item.oldvalue != newVal) { |
| | | item.oldvalue = newVal; |
| | | var attr = item.fieldId; |
| | | this.head_styledef.form.model[attr] = item.value; |
| | | this.head_styledef.form.model[attr] = newVal; |
| | | var onChangeEvent = item.bind.onChangeEvent; //内容变化后事件 |
| | | var onSuffixClickCallbackEvent = item.bind |
| | | .onSuffixClickCallbackEvent; //后图标点击事件 |
| | |
| | | if (onChangeEvent.id) { //内容变化后事件 |
| | | this.onChange(onChangeEvent); |
| | | } else { |
| | | this.where = ''; |
| | | if (item.value) |
| | | this.where = item.fieldId + " like '%" + item.value + "%'"; |
| | | this.where = item.fieldId + " like '%" + item.value + "%'"; |
| | | this.query_id = ''; |
| | | this.pageindex = 1; |
| | | this.detail1StyleDefList = []; |
| | |
| | | var dataInfo = { |
| | | ed_type: 0, |
| | | start_transaction: true, |
| | | class_id: this.$data.head_styledef.form.clsId, |
| | | class_id: this.head_styledef.form.clsId, |
| | | class_name: '', |
| | | event_id: event.id, |
| | | event_name: '', |
| | |
| | | '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 |
| | | .head_styledef.form |
| | | .items |
| | | .forEach( |
| | | async ( |
| | | ele, |
| | | index |
| | | ) => { |
| | | data.forEach( |
| | | async (ele2, |
| | | index |
| | | ) => { |
| | | if (ele |
| | | .fieldId == |
| | | ele2 |
| | | .attr |
| | | ) { |
| | | ele.value = |
| | | ele2 |
| | | .value; |
| | | } |
| | | }); |
| | | }); |
| | | if (result.result_type == 0 && result.action) { |
| | | var actionlist = result.action; |
| | | for (var j = 0; j < actionlist.length; j++) { |
| | | var action = actionlist[j]; |
| | | var action_type = action.action_type; |
| | | var value = action.value; |
| | | if (action_type == "set_dlg_attr") { |
| | | if (value) { |
| | | this.setFormValues(value) |
| | | } |
| | | } else if (action_type == "set_subtable_page_content") { |
| | | if (value.clear_confirm != false && value.clear == true && |
| | | $this.detail1StyleDefList.length > 0 |
| | | ) { //判断是否清空页签内容,正在码盘是否有数据 |
| | | uni.showModal({ |
| | | title: this.translateSys('tip'), |
| | | content: this.translate("are_you_sure_clear_data"), |
| | | cancelText: $this.translateSys('ok'), |
| | | confirmText: $this.translateSys('cancel'), |
| | | success: function(res) { |
| | | if (res.cancel) { |
| | | $this.detail1StyleDefList = []; |
| | | $this.viewAceionContent(value); |
| | | } else if (res.confirm) { |
| | | $this.detail1StyleDefList = []; |
| | | $this.viewAceionContent(value); |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | $this.detail1StyleDefList = []; |
| | | $this.viewAceionContent(value); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // value = {"attr":"xxx", "value":"xxx"} |
| | | } else { |
| | | if (result.info) { |
| | | uni.showModal({ |
| | |
| | | |
| | | } |
| | | }, |
| | | onCheckBoxValue(e) { //绑定Model值 |
| | | 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); |
| | | } |
| | | } |
| | | setFormValues(attrs) { |
| | | const head_styledef = this.head_styledef |
| | | if (JSON.stringify(attrs) == '{}') { |
| | | return; |
| | | } |
| | | attrs.forEach(async (attr, key) => { |
| | | if (attr.choice_list) { |
| | | var dictItemList = []; |
| | | attr.choice_list.forEach(async (val, index) => { |
| | | dictItemList.push({ |
| | | text: val, |
| | | value: val |
| | | }); |
| | | }); |
| | | head_styledef.form.items.forEach(async (attr_item, index) => { |
| | | if (attr_item.name != "Layout") { |
| | | if (attr_item.fieldId == attr.attr) { |
| | | if (attr_item.useDict) { |
| | | attr_item.dict = dictItemList; |
| | | } else { |
| | | attr_item.selections = dictItemList; |
| | | } |
| | | } |
| | | } else if (attr_item.name == "Layout") { |
| | | attr_item.setting.colList.forEach((col) => { |
| | | if (col) { |
| | | if (col.fieldId == attr.attr) { |
| | | if (col.useDict) { |
| | | col.dict = dictItemList; |
| | | } else { |
| | | col.selections = dictItemList; |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | if (!head_styledef.form.model[attr.attr]) { |
| | | head_styledef.form.model[attr.attr] = attr.value; |
| | | } |
| | | head_styledef.form.items.forEach(async (ele) => { |
| | | if (ele.name != "Layout") { |
| | | if (ele.fieldId == attr.attr) { |
| | | ele.value = attr.value; |
| | | ele.oldvalue = attr.value; |
| | | if (ele.name == "Input") { |
| | | if (attr.prompt) ele.placeholder = attr.prompt; |
| | | } |
| | | if (attr.enable !== undefined) { |
| | | if (attr.enable) ele.disabled = false; |
| | | else ele.disabled = true; |
| | | } |
| | | } |
| | | } else if (ele.name == "Layout") { |
| | | ele.setting.colList.forEach((col) => { |
| | | if (col) { |
| | | if (col.fieldId == attr.attr) { |
| | | col.value = attr.value; |
| | | col.oldvalue = attr.value; |
| | | if (col.name == "Input") { |
| | | if (attr.prompt) col.placeholder = attr.prompt; |
| | | } |
| | | if (attr.enable !== undefined) { |
| | | if (attr.enable) col.disabled = false; |
| | | else col.disabled = true; |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | }) |
| | | //判断表单里是否有返回字段,没有就装载到model里,点击确定提交的时候带上这些数据 |
| | | }) |
| | | console.log(head_styledef) |
| | | this.setData({ |
| | | head_styledef: head_styledef |
| | | }) |
| | | }, |
| | | onRadioBoxValue(e) { //绑定Model值 |
| | | 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); |
| | | } |
| | | } |
| | | //加载已码盘内容 |
| | | viewAceionContent(data) { |
| | | var $this = this; |
| | | if (JSON.stringify(data.content) == '{}') { |
| | | return; |
| | | } |
| | | var styleStr = JSON.stringify($this.detail1_styledef); |
| | | var detailStyle = JSON.parse(styleStr); |
| | | if (detailStyle.form) { |
| | | data.content.forEach(cont => { |
| | | detailStyle = JSON.parse(styleStr); |
| | | detailStyle.SelBut_Checked = data.checkbox ?? true; |
| | | |
| | | detailStyle.form.objId = cont.id; |
| | | detailStyle.form.htmlobjId = cont.id ? cont.id.replace(/-/g, |
| | | '') |
| | | .replace('{', '').replace('}', |
| | | '') : 'null'; |
| | | detailStyle.form.attrs = cont.attrs; |
| | | cont.attrs.forEach(attr => { |
| | | detailStyle.form.items.forEach(ele => { |
| | | if (ele.name != 'Layout') { |
| | | if (ele.fieldId == attr.attr) |
| | | ele.value = attr.value; |
| | | } else if (ele.name == 'Layout') { |
| | | ele.setting.colList.forEach( |
| | | col => { |
| | | if (col) { |
| | | if (col.fieldId == |
| | | attr.attr) |
| | | col.value = attr.value; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | //如果 clear = false 则不需要清除,根据id判断是否存在,不存在插入到页面,如果存在用新的属性覆盖 |
| | | if (data.clear == false) { |
| | | var isflag = true; |
| | | $this.detail1StyleDefList.forEach((style, index) => { |
| | | if (style.form.objId == detailStyle.form.objId) { |
| | | cont.attrs.forEach(attr => { |
| | | style.form.items.forEach(ele => { |
| | | if (ele.name != 'Layout') { |
| | | if (ele.fieldId == attr.attr) |
| | | ele.value = attr.value; |
| | | } else if (ele.name == 'Layout') { |
| | | ele.setting.colList.forEach( |
| | | col => { |
| | | if (col) { |
| | | if (col.fieldId == |
| | | attr |
| | | .attr) |
| | | col.value = |
| | | attr.value; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | isflag = false; |
| | | } |
| | | }); |
| | | if (isflag) $this.detail1StyleDefList.push(detailStyle); //待分拣 |
| | | } else { |
| | | $this.detail1StyleDefList.push(detailStyle); //待分拣 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | }, |
| | | |
| | | onModelValue(item) { |
| | | var attr = item.fieldId; |
| | | this.head_styledef.form.model[attr] = item.value; |
| | | }, |
| | | onDetail1EnterChange() {}, |
| | | //点中表单 |
| | | onPanelClick(value) { //点击面板高亮显示 |
| | |
| | | height: calc(100vh - 30rpx); |
| | | padding: 15rpx 0; |
| | | |
| | | .v-headStyle:first-child { |
| | | margin-top: 15rpx; |
| | | } |
| | | |
| | | .v-headStyle .txt_title { |
| | | font-size: 34rpx; |
| | | text-align: right; |
| | | display: inline-block; |
| | | vertical-align: 24rpx; |
| | | } |
| | | |
| | | .v-headStyle input { |
| | | display: inline-block; |
| | | /* border: 1px solid #d5d5d5; */ |
| | | /* width: 65%; */ |
| | | width: 85%; |
| | | height: 52rpx; |
| | | line-height: 34rpx; |
| | | background: #FFF; |
| | | border-radius: 0 !important; |
| | | color: #2d8cf0; |
| | | padding: 10rpx 8rpx 12rpx; |
| | | font-size: 34rpx; |
| | | font-family: inherit; |
| | | box-shadow: none !important; |
| | | transition-duration: 0.1s; |
| | | margin-top: 4rpx; |
| | | } |
| | | |
| | | .v-headStyle input::-webkit-input-placeholder { |
| | | font-size: 12rpx; |
| | | } |
| | | |
| | | .input-wrapper { |
| | | border: 1px solid #d5d5d5; |
| | | display: inline-block; |
| | | width: 65%; |
| | | line-height: 22rpx; |
| | | } |
| | | |
| | | [nvue] uni-view { |
| | | position: relative; |
| | | border: 0 solid #000; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .uni-input { |
| | | /* border: none; */ |
| | | } |
| | | |
| | | .uni-icon { |
| | | /* border: 1px solid red; */ |
| | | width: 30rpx; |
| | | padding: 10rpx 5rpx; |
| | | font-family: uniicons; |
| | | font-size: 40rpx; |
| | | font-weight: 400; |
| | | font-style: normal; |
| | | /* width: 48rpx; */ |
| | | height: 48rpx; |
| | | line-height: 48rpx; |
| | | color: #2d8cf0; |
| | | cursor: pointer; |
| | | display: inline-block; |
| | | vertical-align: 18rpx; |
| | | .v-headStyle { |
| | | width: 98%; |
| | | } |
| | | |
| | | .v-content { |
| | |
| | | width: 91%; |
| | | display: inline-block; |
| | | text-align: left; |
| | | |
| | | .uni-forms-item { |
| | | padding-bottom: 5rpx; |
| | | margin-bottom: 0; |
| | | |
| | | .uni-forms-item__label { |
| | | height: 20px !important; |
| | | padding: 0 10rpx 0 0 !important; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .dv-panel-buticon { |
| | |
| | | border-radius: 8rpx; |
| | | } |
| | | |
| | | .dv-panel .txt_title { |
| | | font-size: 34rpx; |
| | | text-align: right; |
| | | display: inline-block; |
| | | } |
| | | |
| | | .dv-panel input { |
| | | vertical-align: middle; |
| | | display: inline-block; |
| | | border: 2rpx solid #d5d5d5; |
| | | width: 68%; |
| | | height: 52rpx; |
| | | line-height: 34rpx; |
| | | background: #FFF; |
| | | border-radius: 14rpx !important; |
| | | color: #2d8cf0; |
| | | padding: 6rpx 8rpx 8rpx; |
| | | font-size: 32rpx; |
| | | font-family: inherit; |
| | | box-shadow: none !important; |
| | | transition-duration: 0.1s; |
| | | margin-top: 0rpx; |
| | | } |
| | | |
| | | .dv-panel input::-webkit-input-placeholder { |
| | | font-size: 10rpx; |
| | | } |
| | | |
| | | .dv-panel .form-item-span { |
| | | vertical-align: text-top; |
| | | color: #2d8cf0; |
| | | white-space: normal; |
| | | word-break: break-all; |
| | | display: inline-block; |
| | | width: calc(100% - 100px); |
| | | } |
| | | |
| | | .dv-panel .form-item-input { |
| | | |
| | | width: calc(100% - 100px); |
| | | } |
| | | |
| | | .dv-panel-button { |
| | | display: inline-block; |