vue+element 模態(tài)框表格形式的可編輯表單實(shí)現(xiàn)
要實(shí)現(xiàn)的效果如下,初始化的時(shí)候,不可編輯,點(diǎn)擊編輯按鈕,編輯按鈕隱藏,取消編輯按鈕顯示;部分input輸入框變?yōu)榭删庉?br />
<el-dialog title="營銷單詳情" width="920px" @close="isEdit = false" class="dialog dialogAdd" custom-class="custom-dialog" :visible.sync="dialogEditVisible" :close-on-click-modal='false'> <el-form ref="editForm" style="margin-right: 20px;" :model="editForm" :inline="true" label-position="right" label-width="110px" size="mini"> <el-form-item label="工單號" prop="no"> <el-input v-model="editForm.no" disabled></el-input> </el-form-item> <el-form-item label="客戶姓名" prop="khxm"> <el-input v-model="editForm.khxm" :disabled="!isEdit || editForm.openId"></el-input> </el-form-item> <el-form-item label="聯(lián)系電話" prop="khdh"> <el-input v-model="editForm.khdh" :disabled="!isEdit || editForm.openId"></el-input> </el-form-item> <el-form-item label="客戶地址"> <el-input v-model="editForm.address" disabled></el-input> </el-form-item> <el-form-item label="營銷人員-工號"> <el-input v-model="editForm.yxry" disabled></el-input> </el-form-item> <el-form-item label="網(wǎng)格區(qū)域"> <el-input v-model="editForm.qywg" disabled></el-input> </el-form-item> <el-form-item label="業(yè)務(wù)類型" prop="ywlx"> <el-select v-model="editForm.ywlx" :disabled="!isEdit" placeholder=""> <el-option v-for="item in ywlxList" :key="item" :label="item" :value="item"></el-option> </el-select> </el-form-item> <el-form-item label="報(bào)裝寬帶兆數(shù)(M)" prop="kdzs" class="long-label"> <el-select v-model="editForm.kdzs" :disabled="!isEdit" placeholder=""> <el-option v-for="item in kdzsList" :key="item" :label="item" :value="item"></el-option> </el-select> </el-form-item> <el-form-item label="手機(jī)基礎(chǔ)套餐(最低消費(fèi))" class="long-label" prop="sjjctc" > <el-select v-model="editForm.sjjctc" :disabled="!isEdit" placeholder=""> <el-option v-for="item in sjtcList" :key="item" :label="item" :value="item"></el-option> </el-select> </el-form-item> <el-form-item label="業(yè)務(wù)受理單截屏"> <p><a class="text-base" @click="show">查看圖片</a></p> </el-form-item> <el-form-item label="下單時(shí)間" prop="createTime" > <el-input v-model="editForm.createTime" disabled></el-input> </el-form-item> <el-form-item label="備注" prop="remark"> <el-input v-model="editForm.remark" :disabled="!isEdit"></el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer" v-if="editForm.state != 3"> <el-button v-if="!isEdit" @click="isEdit = true" size="mini">編 輯</el-button> <el-button v-else @click="cancelEdit" size="mini">取消編輯</el-button> <el-button type="primary" @click="saveEdit" size="mini">保 存</el-button> </div> </el-dialog>
data中的數(shù)據(jù)
editForm: {}, // 新增表單 isEdit: false, // 是否編輯 dialogEditVisible: false, // 新增模態(tài)框 images: [], // 圖片信息 ywlxList: [], // 業(yè)務(wù)類型列表 kdzsList: ['50', '100', '200', '300'], // 報(bào)裝寬帶兆數(shù)列表 sjtcList: ['38', '58', '88', '98', '128', '138', '188'], // 手機(jī)基礎(chǔ)套餐列表
viewDetail(row){ console.log(row) this.editForm = this.deepClone(row) this.dialogEditVisible = true this.$post("/anapi/YxdController/getById", {id: row.id}, (data) => { this.editForm = data.yxd this.editForm.qywg = row.name1 + row.name2 + row.name3 + row.gridName this.editForm.address = row.name1 + row.name2 + row.name3 + row.gridName + row.xxdz this.editForm.yxry = row.yxCname + '-' + row.yxId this.currentItem = this.deepClone(this.editForm) let imgs = data.yxd.imgs || [] this.images = [] imgs.map(item => { this.images.push(this.config.httpHeadUrl + item) }) }) }, // 保存編輯 saveEdit(){ this.$refs.editForm.validate((valid) => { if (valid) { this.startLoading() this.$post("/api/YxdController/editYxd", this.editForm, (data) => { this.$message.success("修改成功!") this.dialogEditVisible = false this.getTableData(1) }) } }) }, // 取消編輯 cancelEdit(){ this.isEdit = false this.editForm = this.deepClone(this.currentItem) }, // 查看圖片 inited (viewer) { this.$viewer = viewer }, show () { if(!this.images.length){ this.$message.error("暫無圖片") return } this.$viewer.show() },
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Vue.js彈出模態(tài)框組件開發(fā)的示例代碼
- 利用vue實(shí)現(xiàn)模態(tài)框組件
- vue+element模態(tài)框中新增模態(tài)框和刪除功能
- vue實(shí)現(xiàn)模態(tài)框的通用寫法推薦
- vue.extend實(shí)現(xiàn)alert模態(tài)框彈窗組件
- 詳解如何用VUE寫一個(gè)多用模態(tài)框組件模版
- vue移動端模態(tài)框(可傳參)的實(shí)現(xiàn)
- 詳解vue父子組件關(guān)于模態(tài)框狀態(tài)的綁定方案
- Vue.extend 登錄注冊模態(tài)框的實(shí)現(xiàn)
- Vue?dialog模態(tài)框的封裝方法
相關(guān)文章
vue iview多張圖片大圖預(yù)覽、縮放翻轉(zhuǎn)
這篇文章主要為大家詳細(xì)介紹了vue iview多張圖片大圖預(yù)覽、縮放翻轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07vue中的v-show,v-if,v-bind的使用示例詳解
這篇文章主要介紹了vue中的v-show,v-if,v-bind的使用,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04vue+elementUI實(shí)現(xiàn)內(nèi)嵌table的方法示例
本文主要介紹了vue+elementUI實(shí)現(xiàn)內(nèi)嵌table的方法示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12Win11&Win10配置vue開發(fā)環(huán)境詳細(xì)圖文教程
目前前端三大框架(vue、react、angular)中vue是前端工程師經(jīng)常使用的,在使用之前需要搭建vue開發(fā)環(huán)境,這篇文章主要給大家介紹了關(guān)于Win11&Win10配置vue開發(fā)環(huán)境的相關(guān)資料,需要的朋友可以參考下2024-02-02vue-element-admin 全局loading加載等待
本文主要介紹了vue-element-admin 全局loading加載等待,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09npm install卡在“sill idealTree buildDeps“問題的兩種解
本文主要介紹了npm install卡在“sill idealTree buildDeps“問題的兩種解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-03-03vue的路由守衛(wèi)和keep-alive后生命周期詳解
這篇文章主要為大家詳細(xì)介紹了vue路由守衛(wèi)和keep-alive,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03vue+elementUI 復(fù)雜表單的驗(yàn)證、數(shù)據(jù)提交方案問題
這篇文章主要介紹了vue+elementUI 復(fù)雜表單的驗(yàn)證、數(shù)據(jù)提交方案,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06