(二十六)VueCli3.0全棧——添加按鈕和添加功能

1隆箩、修改fundlist该贾,把添加按鈕加上

2、新建dialog

3捌臊、Fundlist引入dialog

  • 引入(import)杨蛋,

  • 注冊(components),

  • 使用<Dialog></Dialog>

  • 給狀態(tài)

dialog:{
    show:false
}
  • 添加按鈕:
handleAdd(){
    this.dialog.show=true;
}
  • 組件綁定:<Dialog :dialog="dialog"></Dialog>

  • 關閉組件:給Dialog組件添加sync :visible.sync="dialog.show"

  • 注意:表單提交傳遞的是ref

4理澎、代碼

//Dialog.vue
<template>
  <div class="dialog">
    <el-dialog
      title="添加資金信息"
      :visible.sync="dialog.show"
      :close-on-click-modal="false"
      :close-on-press-escape="false"
      :modal-append-to-body="false"
    >
      <div class="form">
        <el-form  ref="form" :model="formData" :rules="rules" label-width="120px" style="margin:10px;width:auto;">
          <el-form-item label="收支類型:">
            <el-select v-model="formData.type" placeholder="收支類型:">
              <el-option
                v-for="(formtype,index) in format_type_list"
                :key="index"
                :label="formtype"
                :value="formtype"
              ></el-option>
            </el-select>
          </el-form-item>
          <el-form-item prop="describe" label="收支描述:">
            <el-input type="describe" v-model="formData.describe"></el-input>
          </el-form-item>
          <el-form-item prop="income" label="收入:">
            <el-input type="income" v-model="formData.income"></el-input>
          </el-form-item>
          <el-form-item prop="expend" label="支出:">
            <el-input type="expend" v-model="formData.expend"></el-input>
          </el-form-item>
          <el-form-item prop="cash" label="賬戶現(xiàn)金:">
            <el-input type="cash" v-model="formData.cash"></el-input>
          </el-form-item>
          <el-form-item prop="remark" label="備注:">
            <el-input type="textarea" v-model="formData.remark"></el-input>
          </el-form-item>
          <el-form-item class="text_right">
            <el-button @click="dialog.show=false">取消</el-button>
            <el-button type="primary" @click="onSubmit('form')">提交</el-button>
          </el-form-item>
        </el-form>
      </div>
    </el-dialog>
  </div>
</template>

<script>
export default {
  name: "dialog",
  data() {
    return {
      formData: {
        type: "",
        describe: "",
        income: "",
        expend: "",
        cash: "",
        remark: ""
        // id: ""
      },
      rules: {
        describe: [
          {
            requied: true,
            message: "收支描述不能為空",
            trigger: "blur"
          }
        ],
        income: [{ requied: true, message: "收入不能為空", trigger: "blur" }],
        expend: [{ requied: true, message: "支出不能為空", trigger: "blur" }],
        cash: [{ requied: true, message: "賬戶不能為空", trigger: "blur" }]
      },
      format_type_list: [
        "提現(xiàn)",
        "提現(xiàn)手續(xù)費",
        "充值",
        "優(yōu)惠券",
        "充值禮券",
        "轉(zhuǎn)賬"
      ]
    };
  },
  props: {
    dialog: Object
  },
  methods: {
      onSubmit(form){
          this.$refs[form].validate(valid=>{
              if(valid){
                  this.$axios.post("/api/profiles/add",this.formData)
                  .then(res=>{
                    //   添加成功
                    this.$message({
                        message:"數(shù)據(jù)添加成功",
                        type:'success'
                        })
                  });

                //   隱藏對話框
                this.dialog.show = false;

                // 自動刷新
                this.$emit('update');
              }
          })
      }

  }
};
</script>

<style>
</style>

//FundList.vue
<template>
  <div class="fillContainer">
    <!-- 添加按鈕 -->
    <div>
      <el-form :inline="true" ref="add_data">
        <el-form-item class="btnRight">
          <el-button type="primary" size="small" icon="view" @click="handleAdd()">添加</el-button>
        </el-form-item>
      </el-form>
    </div>

    <div class="table_container">
      <el-table
        v-if="tableData.length>0"
        :data="tableData"
        style="width: 100%"
        max-height="450"
        border
      >
        <el-table-column type="index" label="序號" width="70" align="center"></el-table-column>
        <el-table-column prop="date" label="創(chuàng)建時間" width="200" align="center">
          <template slot-scope="scope">
            <i class="el-icon-time"></i>
            <span style="margin-left: 10px">{{ scope.row.date }}</span>
          </template>
        </el-table-column>
        <el-table-column prop="type" label="收支類型" width="120" align="center"></el-table-column>
        <el-table-column prop="describe" label="收支描述" width="160" align="center"></el-table-column>
        <el-table-column prop="income" label="收入" width="150" align="center">
          <template slot-scope="scope">
            <span style="color:#00d053">{{scope.row.income}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="expend" label="支出" width="150" align="center">
          <template slot-scope="scope">
            <span style="color:#f56767">{{scope.row.expend}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="cash" label="賬戶現(xiàn)金" width="150" align="center">
          <template slot-scope="scope">
            <span style="color:#4db3ff">{{scope.row.cash}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="remark" label="備注" width="180" align="center"></el-table-column>
        <el-table-column label="操作" align="center" width="180" fixed="right" prop="operation">
          <template slot-scope="scope">
            <el-button
              type="warning"
              icon="edit"
              size="small"
              @click="handleEdit(scope.$index, scope.row)"
            >編輯</el-button>
            <el-button
              size="small"
              type="danger"
              icon="delete"
              @click="handleDelete(scope.$index, scope.row)"
            >刪除</el-button>
          </template>
        </el-table-column>
      </el-table>
    </div>
    <Dialog :dialog="dialog" @update="this.getProfile"></Dialog>
  </div>
</template>

<script>
import Dialog from '../components/Dialog'
export default {
  name: "fundlist",
  data() {
    return {
      tableData: [],
      dialog:{
          show:false
      }
    };
  },
  created() {
    this.getProfile();
  },
  methods: {
    getProfile() {
      // 獲取表格數(shù)據(jù)
      this.$axios
        .get("/api/profiles")
        .then(res => {
          this.tableData = res.data;
        })
        .catch(err => console.log(err));
    },
    handleEdit(index, row) {
      console.log(123);
    },
    handleDelete(index, row) {
      console.log(456);
    },
    handleAdd(){
        this.dialog.show=true;
    }
  },
  components: {
        Dialog
  }
};
</script>

<style scoped>
.fillContainer {
  width: 100%;
  height: 100%;
  padding: 16px;
  box-sizing: border-box;
}
.btnRight{
    float: right;
}
</style>

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末逞力,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子糠爬,更是在濱河造成了極大的恐慌寇荧,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,080評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件执隧,死亡現(xiàn)場離奇詭異揩抡,居然都是意外死亡户侥,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評論 3 385
  • 文/潘曉璐 我一進店門捅膘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人滚粟,你說我怎么就攤上這事寻仗。” “怎么了凡壤?”我有些...
    開封第一講書人閱讀 157,630評論 0 348
  • 文/不壞的土叔 我叫張陵署尤,是天一觀的道長。 經(jīng)常有香客問我亚侠,道長曹体,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,554評論 1 284
  • 正文 為了忘掉前任硝烂,我火速辦了婚禮箕别,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘滞谢。我一直安慰自己串稀,他們只是感情好,可當我...
    茶點故事閱讀 65,662評論 6 386
  • 文/花漫 我一把揭開白布狮杨。 她就那樣靜靜地躺著母截,像睡著了一般。 火紅的嫁衣襯著肌膚如雪橄教。 梳的紋絲不亂的頭發(fā)上清寇,一...
    開封第一講書人閱讀 49,856評論 1 290
  • 那天,我揣著相機與錄音护蝶,去河邊找鬼华烟。 笑死,一個胖子當著我的面吹牛持灰,可吹牛的內(nèi)容都是我干的垦江。 我是一名探鬼主播,決...
    沈念sama閱讀 39,014評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼搅方,長吁一口氣:“原來是場噩夢啊……” “哼比吭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起姨涡,我...
    開封第一講書人閱讀 37,752評論 0 268
  • 序言:老撾萬榮一對情侶失蹤衩藤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后涛漂,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赏表,經(jīng)...
    沈念sama閱讀 44,212評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡检诗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,541評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了瓢剿。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逢慌。...
    茶點故事閱讀 38,687評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖间狂,靈堂內(nèi)的尸體忽然破棺而出攻泼,到底是詐尸還是另有隱情,我是刑警寧澤鉴象,帶...
    沈念sama閱讀 34,347評論 4 331
  • 正文 年R本政府宣布忙菠,位于F島的核電站,受9級特大地震影響纺弊,放射性物質(zhì)發(fā)生泄漏牛欢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,973評論 3 315
  • 文/蒙蒙 一淆游、第九天 我趴在偏房一處隱蔽的房頂上張望傍睹。 院中可真熱鬧,春花似錦犹菱、人聲如沸焰望。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽熊赖。三九已至,卻和暖如春虑椎,著一層夾襖步出監(jiān)牢的瞬間震鹉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評論 1 266
  • 我被黑心中介騙來泰國打工捆姜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留传趾,地道東北人。 一個月前我還...
    沈念sama閱讀 46,406評論 2 360
  • 正文 我出身青樓泥技,卻偏偏與公主長得像浆兰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子珊豹,可洞房花燭夜當晚...
    茶點故事閱讀 43,576評論 2 349

推薦閱讀更多精彩內(nèi)容