From b3937071fd649f9ffb63636f2dae2e9ab11b7b81 Mon Sep 17 00:00:00 2001 From: gjj <Ganjj@probim.com.cn> Date: Wed, 01 Nov 2023 15:24:00 +0800 Subject: [PATCH] 修改表单报错 --- src/views/clients/components/CRMCreateView.vue | 64 ++++++++++++++++++++++++++----- 1 files changed, 53 insertions(+), 11 deletions(-) diff --git a/src/views/clients/components/CRMCreateView.vue b/src/views/clients/components/CRMCreateView.vue index 485c212..56758c8 100644 --- a/src/views/clients/components/CRMCreateView.vue +++ b/src/views/clients/components/CRMCreateView.vue @@ -42,6 +42,7 @@ <!-- 员工 和部门 为多选(radio=false) relation 相关合同商机使用--> <template v-if="item.type === 'select'"> <el-select + :id="item.field" v-model="formInline[item.field]" filterable placeholder="请选择" @@ -56,6 +57,7 @@ </template> <template v-else-if="item.type === 'selectCheckout'"> <el-select + :id="item.field" v-model="formInline[item.field]" :popper-append-to-body="false" popper-class="select-popper-class" @@ -70,6 +72,7 @@ </template> <template slot-scope="scope" v-else-if="item.type === 'relationInput'"> <el-popover + :id="item.field" :offset="250" placement="right" popper-class="no-padding-popover" @@ -126,22 +129,28 @@ @current-change="handlePopCurrentChange"/> </div> </div> - <el-input slot="reference" class='relationInput' + <div slot="reference"> + <div class='relationText' :style="{color: customerChosed ? '#333' : '#c0c4cc'}"> {{customerChosed?customerChosed: '请点击选择客户'}} + </div> + <div class="redText el-form-item__error" v-if="isOpened1&&!customerChosed">请选择客户</div> + </div> + <!--<el-input slot="reference" class='relationInput' placeholder='请点击选择客户' - :disabled='true' v-model="customerChosed"></el-input> + :disabled='false' v-model="customerChosed" :id="item.field"></el-input>--> </el-popover> </template> <template v-else-if="item.type === 'radio'"> - <el-radio-group v-model="formInline[item.field]"> + <el-radio-group v-model="formInline[item.field]" :id="item.field"> <el-radio :label="1">男</el-radio> <el-radio :label="2">女</el-radio> </el-radio-group> </template> <template v-else-if="item.type === 'switch'"> - <el-switch v-model="formInline[item.field]" @change='getSwitch(item.field)'></el-switch> + <el-switch :id="item.field" v-model="formInline[item.field]" @change='getSwitch(item.field)'></el-switch> </template> <template v-else-if="item.type === 'inputPopover'"> <el-popover + :id="item.field" class='pop' :disabled="(action.type === 'update'&&crmType === 'customer') ||item.disabled" :offset="250" @@ -185,12 +194,18 @@ @click="setIndustry">确 定</el-button> </flexbox> </div> - <el-input slot="reference" :class="(action.type === 'update'&&crmType === 'customer')?'cn':'inputPopover'" placeholder='请点击选择行业' :disabled='true' v-model="formInline['radioInput']" ></el-input> + <div slot="reference"> + <div class='relationText' :style="{color: formInline['radioInput'] ? '#333' : '#c0c4cc'}"> {{formInline['radioInput']?formInline['radioInput']: '请点击选择行业'}} + </div> + <div class="redText el-form-item__error" v-if="isOpened&&!formInline['radioInput']">请选择行业</div> + </div> + <!--<el-input slot="reference" :class="(action.type === 'update'&&crmType === 'customer')?'cn':'inputPopover'" placeholder='请点击选择行业' :disabled='true' v-model="formInline['radioInput']" :id="item.field"></el-input>--> </el-popover> </template> <template v-else-if="item.type === 'cascaderSingle'"> <el-cascader + :id="item.field" ref="salesCas" placeholder="请选择销售员" :options="salesManList" @@ -206,6 +221,7 @@ <template v-else-if="item.type === 'doubleSelect'"> <div class='doubleSelect'> <el-select + :id="item.field" v-model="formInline[item.field]" filterable class='leftSelect' @@ -218,6 +234,7 @@ :value="index"/> </el-select> <el-select + :id="item.field" v-model="formInline[item.field]" filterable class='rightSelect' @@ -233,6 +250,7 @@ </template> <template v-else-if="item.type === 'file'"> <el-input + :id="item.field" v-model="file.name" :disabled="true" placeholder='请点击选择文件'/> @@ -241,7 +259,7 @@ @click="selectFile">选择文件</el-button> </template> <template v-else-if="item.type === 'radioList'"> - <el-radio-group v-model="formInline[item.field]" class='radioList' @change='getPropertyName'> + <el-radio-group v-model="formInline[item.field]" class='radioList' @change='getPropertyName' :id="item.field"> <el-radio v-for="(optionItem, index) in optionsList[item.field].list" :key="index" @@ -251,6 +269,7 @@ </template> <template v-else-if="item.type === 'date'"> <el-date-picker + :id="item.field" v-model="formInline[item.field]" style="width: 100%;" type="date" @@ -292,22 +311,22 @@ :disabled="item.disabled" :customerId="formInline['CustomerId']" @value-change="fieldValueChange"/> - <el-input placeholder="注册信息、合作伙伴、竞争对手、以及相关预算等" type="textarea" v-model="formInline[item.field]" v-else-if="item.type === 'textarea'" class='areaInput'> + <el-input placeholder="注册信息、合作伙伴、竞争对手、以及相关预算等" type="textarea" v-model="formInline[item.field]" v-else-if="item.type === 'textarea'" class='areaInput' :id="item.field"> </el-input> - <el-input placeholder="请输入" type="number" min='0' max='1000' v-model="formInline[item.field]" v-else-if="item.type === 'number'"> + <el-input placeholder="请输入" type="number" min='0' max='1000' v-model="formInline[item.field]" v-else-if="item.type === 'number'" :id="item.field"> </el-input> <el-tooltip effect="light" :disabled='!item.tips' :content="item.tips" placement="right" v-else-if="item.type === 'disInput'"> <el-input class='disInput' placeholder="自动生成" v-model="formInline[item.field]" - :disabled="item.disabled "/> + :disabled="item.disabled " :id="item.field"/> </el-tooltip> <el-tooltip effect="light" :disabled='!item.tips' :content="item.tips" placement="right" v-else> <el-input placeholder="请输入" v-model="formInline[item.field]" - :disabled="(action.type === 'update'&&item.field === 'CustomerName') || item.disabled"/> + :disabled="(action.type === 'update'&&item.field === 'CustomerName') || item.disabled" :id="item.field"/> </el-tooltip> <!--<component name='createcom' @@ -351,6 +370,7 @@ </div> </div> <el-input + :id="item.field" v-model="formInline[item.field]" :disabled="item.disabled "/> </el-form-item> @@ -839,7 +859,9 @@ isUserSelect: false, pushOptions: [], radioInput: '', - isClicked: false + isClicked: false, + isOpened: false, + isOpened1: false } }, computed: { @@ -1386,6 +1408,7 @@ hidenPopoverView () { document.querySelector('#app').click() this.formInline['radioInput'] = this.editData.Industry + this.isOpened = true // this.otherInput = '' // this.isOtherOpt = false }, @@ -1405,6 +1428,7 @@ setIndustry () { this.formInline['Industry'] = this.formInline['radioInput'] document.querySelector('#app').click() + this.isOpened = true }, // 根据自定义字段获取自定义字段规则 getcrmRulesAndModel (list) { @@ -1527,6 +1551,8 @@ // 保存数据 saveField (saveAndCreate, isDraft = false) { console.log(saveAndCreate) + this.isOpened = false + this.isOpened1 = false this.saveAndCreate = saveAndCreate console.log(this.formInline) if (this.crmType === 'business') { @@ -1811,6 +1837,7 @@ this.$emit('hiden-view') }, hidenRelationInput () { + this.isOpened1 = true this.popSearch = '' document.querySelector('#app').click() this.$emit('close', this.$el, this.data) @@ -2126,6 +2153,21 @@ color: #333 !important; cursor:pointer; } +.relationText{ + border: 1px solid #D9D9D9 !important; + cursor:pointer; + width: 100%; + height: 36px; + line-height: 36px; + padding: 0 8px; + background-color: #F7FAFF !important; + &:hover{ + border-color: #4D88FF !important; + } +} +.redText{ + width: 100%; +} .relationInput.el-input.is-disabled /deep/ .el-input__inner{ background-color: #fff !important; border-color: #D9D9D9 !important; -- Gitblit v1.9.3