当前位置: 首页 > news >正文

东莞官方网站建设网站备案号填写

东莞官方网站建设,网站备案号填写,2022年热点营销案例,厦门本地企业网站建设我是歌谣 放弃很容易 但是坚持一定很酷 微信公众号关注前端小歌谣 获取前端学习知识 1设计需求 封装一个弹框组件 直接调用接口 2技术栈 ant designreact 设计第一步 绘制样式 ModalmaskClosable{false}visible{visible}title{签收协议}onOk{this.handleSignFor}onCancel… 我是歌谣 放弃很容易 但是坚持一定很酷 微信公众号关注前端小歌谣 获取前端学习知识 1设计需求 封装一个弹框组件 直接调用接口 2技术栈 ant designreact 设计第一步 绘制样式 ModalmaskClosable{false}visible{visible}title{签收协议}onOk{this.handleSignFor}onCancel{() this.onOpenOrClose(false)}width{800}destroyOnCloseForm{...formItemLayout}// className{styles}style{{ paddingTop: 0px }}wrapperCol{{ span: 16 }}Form.Item label签收结果{getFieldDecorator(signInResult, {initialValue: ResultQsList.length 0 ?ResultQsList[1].key : ,rules: [{ required: true, message: 请选择签收结果 }],})(Radio.Group{ResultQsList.map((item) {return (Radio value{item.key} key{item.key}{item.value}/Radio);})}/Radio.Group)}/Form.ItemForm.Item label甲方名称{getFieldDecorator(firstPartyName, {rules: [{ required: true, message: 甲方名称不能为空 }],})(Select style{{ width: 100% }}{test.map((item) (Select.Option key{item.key} value{item.key}{item.value}/Select.Option))}/Select)}/Form.ItemForm.Item label乙方名称{getFieldDecorator(secondPartyName, {rules: [{ required: true, message: 乙方名称不能为空 }],})(Select style{{ width: 100% }}{test.map((item) (Select.Option key{item.key} value{item.key}{item.value}/Select.Option))}/Select)}/Form.ItemForm.Item label归档编号{getFieldDecorator(archivedEncode, {initialValue: 1,rules: [{ required: true, message: 请输入归档编号 }],})(InputNumberformatter{(value) HZ ${value}}style{{ width: 100% }}placeholder请输入onChange{this.handleArchivedEncode}/)}/Form.Item{/* 控制验证的规则 */}Form.Item label原因{getFieldDecorator(signInResson,form.getFieldsValue().signStatus QS_TESHU ||form.getFieldsValue().signStatus JS_TESHU? {initialValue: ,rules: [{ required: true, message: 请填写原因 }],}: { rules: [{ message: 请填写原因 }] })(Select style{{ width: 100% }}{ResultYyList.map((item) (Select.Option key{item.key} value{item.key}{item.value}/Select.Option))}/Select)}/Form.ItemForm.Item label备注div{getFieldDecorator(signInRemark, { rules: [{ message: 请填写备注}] })(TextArea allowClear placeholder请填写备注 autoSize{{ minRows: 3}} /)}/div/Form.Item/Form/Modal 这样就渲染了如图所示的样式 设计点二 当正常签收的时候原因为非必填 其他两种情况为必填 形成效果正常签收的时候原因为非必填 其他两种情况为必填 3设计思路 这样就形成了判断 这个时候 后台接口是要传code handleSignFor () {//获取到所有的form表单的值const formData this.props.form.getFieldsValue();console.log(formData, formData);//参数拼接const param {...formData,code: this.state.code,archivedEncode: HZ${formData.archivedEncode},};console.log(param);this.props.dispatch({type: agreement/signIn,payload: param,callback: (res) {if (res.returnCode 0) {message.success(协议签收成功);this.onOpenOrClose(false);this.props.getContractList(); //重新获取数据}},});}; 这段代码 进行接口调用 4设计思路 父子组件调用 SignForModalonRef{(ref) {this.SignForModal ref;}}getContractList{this.getCourseList}/ 签收的时候直接onref调用子组件的方法 //签收handleSignFor (row, isBatch) {this.SignForModal.onOpenOrClose(true, row);}; 所以 封装总代码 import React, { Component } from react; import { connect } from dva; import { Modal, Form, Input, Row, Col, Radio, Button,message, InputNumber, Select } from antd; import { formItemLayout } from /common/config; import { QS_TESHU, JS_TESHU } from ./data.js; // import styles from ./../../index.less; import { CONTRACT_CHECKPASS, CONTRACT_CHECKNOT } from /utils/dictionaryInterface; const { TextArea } Input; //修改数据请求 接口调用请求 Form.create() connect(({ agreement, menu, loading }) ({menu,agreement, })) class SignForModal extends Component {//控制弹窗的开启state { visible: false, code: };componentDidMount() {this.props.onRef this.props.onRef(this);//父组件通过onRef访问子组件的方法这里要写上这句话否则无法访问}//显示或隐藏modalonOpenOrClose (show, row) {this.setState({ visible: show });show this.setState({ code: row.code });};handleArchivedEncode (value) {};//点击确定handleSignFor () {//获取到所有的form表单的值const formData this.props.form.getFieldsValue();console.log(formData, formData);//参数拼接const param {...formData,code: this.state.code,archivedEncode: HZ${formData.archivedEncode},};console.log(param);this.props.dispatch({type: agreement/signIn,payload: param,callback: (res) {if (res.returnCode 0) {message.success(协议签收成功);this.onOpenOrClose(false);this.props.getContractList(); //重新获取数据}},});};render() {const test [{ key: 1, value: 公司 }];const { visible } this.state;const {agreement: { ResultQsList [], ResultYyList [] },// contractList: { contractCollectionStatusList, contractSettlementStatusList, checkStatusList },form,form: { getFieldDecorator },} this.props;return (ModalmaskClosable{false}visible{visible}title{签收协议}onOk{this.handleSignFor}onCancel{() this.onOpenOrClose(false)}width{800}destroyOnCloseForm{...formItemLayout}// className{styles}style{{ paddingTop: 0px }}wrapperCol{{ span: 16 }}Form.Item label签收结果{getFieldDecorator(signInResult, {initialValue: ResultQsList.length 0 ? ResultQsList[1].key : ,rules: [{ required: true, message: 请选择签收结果 }],})(Radio.Group{ResultQsList.map((item) {return (Radio value{item.key} key{item.key}{item.value}/Radio);})}/Radio.Group)}/Form.ItemForm.Item label甲方名称{getFieldDecorator(firstPartyName, {rules: [{ required: true, message: 甲方名称不能为空 }],})(Select style{{ width: 100% }}{test.map((item) (Select.Option key{item.key} value{item.key}{item.value}/Select.Option))}/Select)}/Form.ItemForm.Item label乙方名称{getFieldDecorator(secondPartyName, {rules: [{ required: true, message: 乙方名称不能为空 }],})(Select style{{ width: 100% }}{test.map((item) (Select.Option key{item.key} value{item.key}{item.value}/Select.Option))}/Select)}/Form.ItemForm.Item label归档编号{getFieldDecorator(archivedEncode, {initialValue: 1,rules: [{ required: true, message: 请输入归档编号 }],})(InputNumberformatter{(value) HZ ${value}}style{{ width: 100% }}placeholder请输入onChange{this.handleArchivedEncode}/)}/Form.Item{/* 控制验证的规则 */}Form.Item label原因{getFieldDecorator(signInResson,form.getFieldsValue().signInResult QS_TESHU ||form.getFieldsValue().signInResult JS_TESHU? {initialValue: ,rules: [{ required: true, message: 请填写原因 }],}: { rules: [{ message: 请填写原因 }] })(Select style{{ width: 100% }}{ResultYyList.map((item) (Select.Option key{item.key} value{item.key}{item.value}/Select.Option))}/Select)}/Form.ItemForm.Item label备注div{getFieldDecorator(signInRemark,{ rules: [{ message: 请填写备注 }] })(TextArea allowClear placeholder 请填写备注 autoSize{{ minRows: 3 }} /)}/div/Form.Item/Form/Modal);} }export default SignForModal;我是歌谣 所以总的实现了一个父子传值 子组件给个方法回调给父getContractList 回调用来重新刷新列表 直接onref调用组件的方法进行处理数据 状态判断外部定义一个data.js引入 控制是否必填 接口调用参数直接拼接使用 秒呀
http://www.pierceye.com/news/191032/

相关文章:

  • 网站建设要解决哪些方面的事项临海外发加工网
  • 甜品店网站开发背景江宁区住房建设局网站
  • asp.net网站开发视频教程找能做网站的
  • 租房合同范本下载word东莞网络优化
  • 做网站需要会写代码6net快速建站
  • 克拉玛依 网站建设红圈工程项目管理软件
  • 北京网站ui设计公司共青城网站建设公司
  • 电子商务网站设计说明书开发一个网站
  • 网站制作长沙怎么做淘客手机网站
  • 五路居网站建设wordpress php允许上传文件大小
  • 旅游网站的设计代码下列哪些不属于企业网站建设基本原则
  • 房屋租赁网站开发意义做男鞋的网站
  • 网站负责人可以备案北京建设部网站 信息中心
  • 网站建设分录怎么开四川省城乡住房建设部网站首页
  • 刘家窑网站建设公司如何在网络上推广产品
  • 全球建站东莞市的网站公司哪家好
  • 地方网站发展怎么做链接推广产品
  • 上海制造网站公司网站优化做网站优化
  • vs2012做网站wordpress 页眉
  • 北网站建设重庆建设工程查询网站
  • 给我做网站的人老是给我留点尾巴太原本地网站搭建公司
  • 静态页面网站站标代码写进到静态页面了 怎么不显示呢?自助建站网
  • 免费在线代理网站微信会员卡管理系统
  • 和动物做的网站吗做网站销售怎么样
  • 宝塔面板做织梦网站深圳龙华大浪做网站公司
  • 阿里云建网站费用上海网站建设觉策动力
  • 电子商务网站的建设与维护方法h5第三方收款平台
  • 网站建设所需人力设计广告网站
  • php网站发送邮件动态倒计时网站模板
  • 温州建设网站制作wordpress调用文章简介