父组件列表页面

<!-- 危化品库管理 -->
<template><div><!-- 添加 --><div class="right add" @click="add"></div><!-- 搜索 --><div class="searchPart"><div class="search_row"><el-form :inline="true" :model="form" :rules="rules" ref="elform"><el-form-item label="危化品名称:" prop="dangerousname"><div><input type="text" @keyup.enter="handleFilter" v-model.trim="listQuery.dangerousname" class="search_input"></div></el-form-item><el-form-item label="CAS号:" prop="cascode"><div><input type="text" @keyup.enter="handleFilter" v-model.trim="listQuery.cascode" class="search_input"></div></el-form-item><el-form-item label="危化品类型:" prop="dicDangeroustype"><el-select placeholder="请选择危化品类型" size="mini" v-model="listQuery.dicDangeroustype" @change="handleFilter"><el-option v-for="item in localWord.category" :key="item.code" :label="item.codename" :value="item.code"></el-option></el-select></el-form-item><el-form-item label="别名:" prop="othername"><div><input type="text" @keyup.enter="handleFilter" v-model.trim="listQuery.othername" class="search_input"></div></el-form-item><el-form-item><el-button size="mini" type="primary" icon="el-icon-search" @click="handleFilter">查询</el-button><el-button size="mini" type="primary" icon="el-icon-download" @click="exportData">导出</el-button></el-form-item></el-form></div></div><!-- table列表展示 --><el-row><el-table :data="girdData" highlight-current-row :max-height="gridTableMaxHeight" :header-cell-style="{background:'rgb(212, 232, 255)',color:'rgba(0, 0, 0, 0.85)'}" border style="width: 100%" @selection-change="handleSelectionChange"><el-table-column type="selection" width="55"></el-table-column><el-table-column property="serialNumber" label="序号" min-width="35" align="center"><template slot-scope="scope"><span>{{scope.$index+(listQuery.page - 1) * listQuery.rows + 1}}</span></template></el-table-column><el-table-column property="dangerousname" label="危化品名称" min-width="140"></el-table-column><el-table-column sortable label="CAS号"  property="cascode" min-width="120"></el-table-column><el-table-column label="别名" property="othername" min-width="120"></el-table-column><el-table-column label="危化品类型" property="dicDangeroustypeStr" min-width="140"></el-table-column><el-table-column label="英文名称" property="englishname" min-width="120"></el-table-column><el-table-column label="分子式" property="molecularFormula" min-width="120"></el-table-column><el-table-column label="熔点" property="meltingPoint" min-width="120"></el-table-column><el-table-column label="密度" property="theDensityOf" min-width="120"></el-table-column><el-table-column label="溶解性" property="solubility" min-width="120"></el-table-column><el-table-column label="操作" width="140" align="center" fixed="right"><template slot-scope="scope"><el-button type="text" size="small" @click="editCheckBtn(scope.$index, scope.row, 'edit')"><span class="icons edit_icon"></span></el-button><el-button type="text" size="small" @click="editCheckBtn(scope.$index, scope.row, 'check')"><span class="icons check_icon"></span></el-button><el-button type="text" size="small" @click="del(scope.$index, scope.row)"><span class="icons delete_icon"></span></el-button></template></el-table-column></el-table></el-row><!-- 分页 --><el-row type="flex" justify="end" style="padding:20px" class="page"><el-pagination v-show="total>0" background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.page" :page-sizes="[10, 20, 30]" :page-size="listQuery.rows" layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination></el-row><router-view></router-view></div>
</template>
<script>import download from 'js-file-download'import moment from 'moment'import DChemStoreManagementAPI from "@/api/DChemStoreManagementAPI";export default {data() {return {// 查询条件listQuery: {page: 1, //当前第几页rows: 10, //每页显示多少条pkEntid: "1",dangerousname: "",cascode: "",dicDangeroustype: "",othername: ""},total: null, //共多少条数据girdData: [],// 字典查询localWord: {},multipleSelection: [],multipleSelectionIdArr: [],gridTableMaxHeight: document.body.clientHeight - 310,rules: {},form: {dangerousname: "",cascode: "",othername: "",dicDangeroustype: "",dicDangeroustypeStr: "",toxicity: "",environmentalparameter: "",englishname: "",molecularFormula: "",molecularWeight: "",meltingPoint: "",theDensityOf: "",solubility: "",purpose: "",dangerousinfo: "",testmethod: "",eliminationmethod: ""}};},watch: {"listQuery.dicDangeroustypeStr"(v) {}},methods: {handleSizeChange(val) {this.listQuery.rows = val;this.initTable();},handleCurrentChange(val) {this.listQuery.page = val;this.initTable();},handleFilter() {this.listQuery.page = 1;this.initTable();},initTable() {DChemStoreManagementAPI.getList(this.listQuery).then(data => {this.total = data.data.total;this.girdData = data.data.rows;this.multipleSelectionIdArr = data.data.rows.map(item=>{return item.pkDangerid})});},exportData () {DChemStoreManagementAPI.exportData(this.listQuery).then((data)=>{if(this.listQuery) {download(data, `危化品名称${moment(new Date().getTime()).format('YYYYMMDDHHmmss')}.xls`)this.$message({type: "success",message: "导出成功!"});}})},handleSelectionChange(row) {this.multipleSelection = row.map(item=>{return item.pkDangerid})},add() {this.$router.push({name: "dchemstoremanagementform",query: { status: "add" }});},del(index, row) {this.$confirm("此操作将永久删除该选项, 是否继续?", "提示", {confirmButtonText: "确定",cancelButtonText: "取消",type: "warning"}).then(() => {DChemStoreManagementAPI.del(row.pkDangerid).then(()=>{this.initTable();});this.$message({type: "success",message: "删除成功!"});}).catch(function(response) {});},editCheckBtn(index, row, typeBtn) {this.$router.push({name: "dchemstoremanagementform",query: {status: typeBtn,pkDangerid: row.pkDangerid}});}},created(){DChemStoreManagementAPI.getSelect().then(data => {this.localWord = data;this.localWord.category.unshift({code: "",codeenname: "all",codename: "全部"});});},mounted() {this.initTable();let that = this;window.onresize = () => {return (() => {that.gridTableMaxHeight = document.body.clientHeight - 310;})();};}};</script>    

子组件 增改查页面

<template>
<div><el-dialog :title="`危化品库管理 - ${formTitle}`" :visible="true" :lock-scrol="true" width="780px" @close="closeDlg" center><el-row :gutter="24"><el-col :span="24"><el-form status-icon :model="form" :inline="true" :rules="rules" ref="elform" label-width="140px"><el-row :gutter="0"><el-col :span="12"><el-form-item label="危化品名称:" prop="dangerousname"><el-input size="small" v-model="form.dangerousname" placeholder="请输入危化品名称" v-if="status=='add'|| status=='edit'"></el-input><span v-else>{{form.dangerousname}}</span></el-form-item></el-col><el-col :span="12"><el-form-item label="CAS号:" prop="cascode"><el-input size="small" v-model="form.cascode" placeholder="请输入CAS号" v-if="status=='add'|| status=='edit'"></el-input><span v-else>{{form.cascode}}</span></el-form-item></el-col></el-row><el-row :gutter="0"><el-col :span="12"><el-form-item label="别名:" prop="othername"><el-input size="small" v-model="form.othername" placeholder="请输入别名" v-if="status=='add'|| status=='edit'"></el-input><span v-else>{{form.othername}}</span></el-form-item></el-col><el-col :span="12"><el-form-item label="危化品类型:" prop="dicDangeroustype"><el-select placeholder="请选择危化品类型" size="small" v-model="form.dicDangeroustype" v-if="status=='add'|| status=='edit'"><el-option v-for="item in localWord.category" :key="item.code" :label="item.codename" :value="item.pkCodenum"></el-option></el-select><span v-else>{{form.dicDangeroustypeStr}}</span></el-form-item></el-col></el-row><el-row :gutter="0"><el-col :span="12"><el-form-item label="毒性:" prop="toxicity"><el-input size="small" v-model="form.toxicity" placeholder="请输入毒性" v-if="status=='add'|| status=='edit'"></el-input><span v-else>{{form.toxicity}}</span></el-form-item></el-col><el-col :span="12"><el-form-item label="环境参数:" prop="environmentalparameter"><el-input size="small" v-model="form.environmentalparameter" placeholder="请输入环境参数" v-if="status=='add'|| status=='edit'"></el-input><span v-else>{{form.environmentalparameter}}</span></el-form-item></el-col></el-row><el-row :gutter="0"><el-col :span="12"><el-form-item label="英文名称:" prop="englishname"><el-input size="small" v-model="form.englishname" placeholder="请输入英文名称" v-if="status=='add'|| status=='edit'"></el-input><span v-else>{{form.englishname}}</span></el-form-item></el-col><el-col :span="12"><el-form-item label="分子式:" prop="molecularFormula"><el-input size="small" v-model="form.molecularFormula" placeholder="请输入分子式" v-if="status=='add'|| status=='edit'"></el-input><span v-else>{{form.molecularFormula}}</span></el-form-item></el-col></el-row><el-row :gutter="0"><el-col :span="12"><el-form-item label="分子量:" prop="molecularWeight"><el-input size="small" v-model="form.molecularWeight" placeholder="请输入分子量" v-if="status=='add'|| status=='edit'"></el-input><span v-else>{{form.molecularWeight}}</span></el-form-item></el-col><el-col :span="12"><el-form-item label="熔点:" prop="meltingPoint"><el-input size="small" v-model="form.meltingPoint" placeholder="请输入熔点" v-if="status=='add'|| status=='edit'"></el-input><span v-else>{{form.meltingPoint}}</span></el-form-item></el-col></el-row><el-row :gutter="0"><el-col :span="12"><el-form-item label="密度:" prop="theDensityOf"><el-input size="small" v-model="form.theDensityOf" placeholder="请输入密度" v-if="status=='add'|| status=='edit'"></el-input><span v-else>{{form.theDensityOf}}</span></el-form-item></el-col><el-col :span="12"><el-form-item label="溶解性:" prop="solubility"><el-input size="small" v-model="form.solubility" placeholder="请输入溶解性" v-if="status=='add'|| status=='edit'"></el-input><span v-else>{{form.solubility}}</span></el-form-item></el-col></el-row><el-row :gutter="24"><el-col :span="24"><el-form-item label="用途:" prop="purpose"><el-input size="small" type="textarea" class="special-530" :autosize="{ minRows: 3}" v-model="form.purpose" placeholder="请输入用途信息" v-if="status=='add'|| status=='edit'"></el-input><el-input size="small" type="textarea" resize="none" class="readonly special-530" :autosize="{ minRows: 1}" v-model="form.purpose" placeholder="请输入用途信息" v-else readonly></el-input><!-- <span v-else>{{form.purpose}}</span> --></el-form-item></el-col></el-row><el-row :gutter="24"><el-col :span="24"><el-form-item label="环境危害:" prop="dangerousinfo"><el-input size="small" type="textarea" class="special-530" :autosize="{ minRows: 3}" v-model="form.dangerousinfo" placeholder="请输入环境危害信息" v-if="status=='add'|| status=='edit'"></el-input><span v-else>{{form.dangerousinfo}}</span></el-form-item></el-col></el-row><el-row :gutter="24"><el-col :span="24"><el-form-item label="检测方法:" prop="testmethod"><el-input size="small" type="textarea" class="special-530" :autosize="{ minRows: 3}" v-model="form.testmethod" placeholder="请输入检测方法信息" v-if="status=='add'|| status=='edit'"></el-input><span v-else>{{form.testmethod}}</span></el-form-item></el-col></el-row><el-row :gutter="24"><el-col :span="24"><el-form-item label="控制消除方法:" prop="eliminationmethod"><el-input size="small" type="textarea" class="special-530" :autosize="{ minRows: 3}" v-model="form.eliminationmethod" placeholder="请输入控制消除方法信息" v-if="status=='add'|| status=='edit'"></el-input><span v-else>{{form.eliminationmethod}}</span></el-form-item></el-col></el-row><el-row :gutter="24"><el-col :span="24"><el-form-item label="危险特性:" prop="characteristic"><el-input size="small" type="textarea" class="special-530" :autosize="{ minRows: 3}" v-model="form.characteristic" placeholder="请输入危险特性信息" v-if="status=='add'|| status=='edit'"></el-input><span v-else>{{form.characteristic}}</span></el-form-item></el-col></el-row><el-row :gutter="24" class="text-center"><el-col :span="24"><el-form-item v-if="status=='add'|| status=='edit'"><el-button type="primary" size="small" @click="onSubmit">保存</el-button><el-button @click="closeDlg" size="small">取消</el-button></el-form-item><el-form-item v-else><el-button type="primary" size="small" @click="closeDlg">关闭</el-button></el-form-item></el-col></el-row></el-form></el-col></el-row></el-dialog></div>
</template>
<script>
import { mapGetters } from "vuex";
import { validatorRules } from "@/comman/validator";
import DChemStoreManagementAPI from "@/api/DChemStoreManagementAPI";
export default {data() {return {formTitle: '添加',status: this.$route.query.status,localWord: {},form: {pkEntid: "",dangerousname: "",cascode: "",othername: "",dicDangeroustype: "",dicDangeroustypeStr: "",toxicity: "",environmentalparameter: "",englishname: "",molecularFormula: "",molecularWeight: "",meltingPoint: "",theDensityOf: "",solubility: "",purpose: "",dangerousinfo: "",testmethod: "",eliminationmethod: ""},rules: {dangerousname: [{required: true,message: "请输入危化品名称",trigger: "blur"},validatorRules.shortRules],cascode: [{required: true,message: "请输入CAS号",trigger: "blur"},validatorRules.shortRules],othername: [{required: true,message: "请输入别名",trigger: "blur"},validatorRules.shortRules],dicDangeroustype: [{required: true,message: "请输入危化品类型",trigger: "blur"}],toxicity: [{required: true,message: "请输入毒性",trigger: "blur"},validatorRules.shortRules],environmentalparameter: [{required: true,message: "请输入环境参数",trigger: "blur"},validatorRules.shortRules],englishname: [{required: true,message: "请输入英文名称",trigger: "blur"},validatorRules.shortRules],molecularFormula: [{required: true,message: "请输入分子式",trigger: "blur"},validatorRules.shortRules],molecularWeight: [{required: true,message: "请输入分子量",trigger: "blur"},validatorRules.shortRules],meltingPoint: [{required: true,message: "请输入熔点",trigger: "blur"},validatorRules.shortRules],theDensityOf: [{required: true,message: "请输入密度",trigger: "blur"},validatorRules.shortRules],solubility: [{required: true,message: "请输入溶解性",trigger: "blur"},{ min: 0, max: 30, message: '长度在 0 到 30 个字符', trigger: 'blur' }// validatorRules.shortRules],purpose: [{required: true,message: "请输入用途",trigger: "blur"},{ min: 0, max: 200, message: '长度在 0 到 200 个字符', trigger: 'blur' }],dangerousinfo: [{required: true,message: "请输入环境危害",trigger: "blur"},{ min: 0, max: 200, message: '长度在 0 到 200 个字符', trigger: 'blur' }],testmethod: [{required: true,message: "请输入检测方法",trigger: "blur"},{ min: 0, max: 200, message: '长度在 0 到 200 个字符', trigger: 'blur' }],eliminationmethod: [{required: true,message: "请输入控制消除方法",trigger: "blur"},{ min: 0, max: 200, message: '长度在 0 到 200 个字符', trigger: 'blur' }],characteristic: [{required: true,message: "请输入危险特性",trigger: "blur"},{ min: 0, max: 200, message: '长度在 0 到 200 个字符', trigger: 'blur' }]}};},beforeRouteEnter(to, from, next) {DChemStoreManagementAPI.getSelect().then(data => {next(vm => {console.log(data);vm.localWord = data;});});},methods: {onSubmit() {this.$refs["elform"].validate(valid => {if (valid) {DChemStoreManagementAPI.add(this.form).then(data => {this.$parent.initTable();this.$router.back();});} else {return false;}});},closeDlg() {this.$router.back();}},mounted() {var that = this;if(this.status == 'edit') {this.formTitle = '修改'} else if(this.status == 'check') {this.formTitle = '详情'}if (this.$route.query.pkDangerid) {DChemStoreManagementAPI.getById(this.$route.query.pkDangerid).then(obj => {that.form = obj.data;// that.form.dicDangeroustype = obj.data.dicDangeroustype.toString();});}}
};
</script>

API

import axios from "axios";
import qs from "qs";let DChemStoreManagementAPI = {getList(params) {return axios.get("...", {params});},add(params){return axios({method: "post",url: ".../save",data: qs.stringify(params)})},getSelect(params) {return axios("...", {params})},getById(id) {return axios.get("...?id="+ id, {});},del(id) {return axios.delete("...?id=" + id, {});},exportData(params) {return axios.get("...", {responseType: 'arraybuffer',params});},deleteFile(params) {return axios.delete("...", {params: {filePath: params.filepath}});}
};export default DChemStoreManagementAPI;

以上便是模块的增删改查内容,至于上传模块,没有过多的解释,上传用的是封装过的组件,代码太多,不便复制,不过有下载功能^_^,这也是一点小小的总结。

一个完整的增删改查模块(以我们的项目‘危化品库管理’模块为例)相关推荐

  1. Android(安卓)订餐APP(Sqlite数据库,完整的增删改查)

     Android(安卓)订餐APP(Sqlite数据库,完整的增删改查) 一.背景 首先说说项目的背景,基于地铁口鸡蛋饼的一个小项目,APP中固定设置的鸡蛋饼搭配,顾客也可以自己搭配 二.开发环境 A ...

  2. 用ssm写一个web的增删改查

    用ssm写一个web的增删改查 如果不想自己写的话,这里有完整的项目连接 链接:https://pan.baidu.com/s/1YnAyGy7Hpxoyma5sqGFX8Q 密码:lwdh 项目结构 ...

  3. AJAX面试题:一个页面实现增删改查(ASP.NET实现)

    [下载] 很多asp.net程序员面试的时候都遇到过用ajax效果实现一个页面的增删改查.这几个例子分别用纯JS,JQUERY及JSON实现.希望对大家有些帮助. 这里面的例子表格内容的刷新是直接返回 ...

  4. 使用JDBC来实现一个简单的增删改查

    使用jdbc来实现一个简单的增删改查 package com.database;import java.sql.Connection; import java.sql.PreparedStatemen ...

  5. vs2019实现asp.net对SQL Server完整的增删改查

    vs2019实现asp.net对SQL Server完整的增删改查 项目文件目录 img文件夹存放项目需要的图片,本人的数据表是student,当然,完成以下操作还需要成功连接数据库. 数据库连接详解 ...

  6. vue结合php增删改查实例,从vue基础开始创建一个简单的增删改查的实例

    1.安装vue-clicnpm install vue-cli -g  --执行全局安装 2.创建一个webpack的基础项目:命令:vue init webpack myproject; 以下是项目 ...

  7. 5分钟做一个php的增删改查案例

    增删改查案例 PHP基础入门完成了,自己做了一个签到系统,用于可活动考勤,班级考勤等,主要是在校园中自己有时候需要使用,最近刚好学了PHP+MySQL的知识,于是自己构建了一个简单的考勤签到系统.这个 ...

  8. egg 完整实例 增删改查MongoDB,websocket

    项目地址 github.com/richard1015- 技术栈 eggjs.MongoDB.swagger.websocket.Amap 演示地址: 前台 school.zhuzhida.vip A ...

  9. MySQL基本增删改查以及搭配node在项目中的操作

    目录 一.数据库简单介绍 二.进一步了解MySQL 三.安装MySQL并配置 四.使用SQL语句管理数据库 1.SQL语言中的注释 2.SELECT查询语句 3.INSERT INTO插入语句 4.U ...

最新文章

  1. 如何搞定分库后数据冗余
  2. 前端技术周刊 2019-02-26:前端代码保护
  3. .NET中判断国内IP和国外IP
  4. WebService入门详解
  5. 真实临床“生态”下实效性研究的挑战和意义
  6. Android官方开发文档Training系列课程中文版:后台加载数据之处理CursorLoader的查询结果
  7. 计算机网络项目——最小网元设计(阶段四)
  8. 面试官:Redis中的缓冲区了解吗
  9. java 树形菜单遍历_java实现遍历树形菜单方法——service层
  10. 启动SQL Server 时自动执行存储过程
  11. 威纶和s7200通讯线_威纶触摸屏如何与西门子PLC进行通信,教你两种方法吧!
  12. java版本的在线OJ项目
  13. html5模板md风格,使用CSS3 制作一个material-design 风格登录界面实例
  14. Matlab学习10-图像处理之傅里叶变换
  15. AS4120原厂单节 2A 开关型锂离子电池充电芯片
  16. 线性电阻软件的伏安特性曲线测试,线性电阻和非线性电阻的伏安特性曲线
  17. Code Review: Rietveld平台的搭建和Rietveld的使用。
  18. 基于Android的办公自动化系统APP设计与实现
  19. Android开发 SpannableString开发详解
  20. Linux安装软件提示MD5不同,如何在Debian/Ubuntu Linux中校验已安装软件包的MD5和?

热门文章

  1. matlab小车运动轨迹增量式PID控制
  2. ESP32S2片外PSRAM的使用
  3. 物联卡需要实名认证吗?物联网卡实名认证有什么用?
  4. Spring Cloud 如何统一异常处理?写得太好了!
  5. android手游自动按键,天涯明月刀手游自动弹奏按键精灵使用详细教学 安卓ios使用教程...
  6. 基于Unity的VR迷宫游戏项目技术分享
  7. dve 二维数组信号 显示波形_VCS-DVE
  8. 静态HTML网页设计作品 仿唯品会购物商城(5页) HTML+CSS+JavaScript 学生DW网页设计作业成品 商城网站设计
  9. 小程序源码:升级版手机检测微信工具
  10. Python爬虫报错 ImportError: cannot import name Morsel