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

青浦网站招营业员做一休一有个网站可以接单做设计的

青浦网站招营业员做一休一,有个网站可以接单做设计的,百度关键词推广怎么做,网站开发网页上传和网页发布submit组件#xff08;otherSubmit/axiosSubmit#xff09; 一、背景与简介 1、首先我们申请表提交#xff0c;分为【保存】提交与【其他】提交#xff1b; 1.1【保存】提交#xff0c;要求表单必须要有变更#xff0c;DataToJSON默认为dirty#xff08;只转换变更的…submit组件otherSubmit/axiosSubmit 一、背景与简介 1、首先我们申请表提交分为【保存】提交与【其他】提交 1.1【保存】提交要求表单必须要有变更DataToJSON默认为dirty只转换变更的数据包括本身无变更但级联有变更的数据推荐使用dataSet自身的submit 1.2【其他】提交要求表单没有变更有变更需要先进行保存操作否则提交后会刷新数据会导致编辑后的数据丢失例如提交、审批同意、审批拒绝、作废等一般有两种方案 使用数据源的自身的submit—— 操作更加简单但是需要更改dataSet._optionRul修改数据源transport配置中的URL和data提交数据data数据受到数据源的限制且提交时DataToJSON默认为dirty默认是保存行为提交还需要配置 DataSet 数据转化规则不适用于data数据与当前数据源关系不大的申请提交使用axios.post来提交—— 最大的特点就是 申请数据不受数据源的限制 2、本次针对上面的两种方案进行优化并抽离出单独的组件 2.1使用数据源的自身的submit —— otherSubmit 2.2使用axios.post来提交 —— axiosSubmit 二、基本用法 A. 使用数据源的自身的submit —— otherSubmit 有三个参数一是数据源二是提交接口的后缀数据源配置中需要设置支持该写法最后是组织提交数据的类型默认勾选该方法提交成功return true失败或者抛出异常 return false import { otherSubmit } from common/utils/comMethod;Modal.confirm({title: 提示,children: message,onOk: async () {const submitSuccess await otherSubmit(tableDS, hidden?hiddenViewFlag${isHidden ? 是 : 否});if (submitSuccess) { //* 请求成功后tableDS.unSelectAll(); //* 取消全选当前页tableDS.clearCachedSelected(); //* 清除缓存的选中记录}},});B. 使用axios.post来提交 —— axiosSubmit import { axiosSubmit } from common/utils/comMethod/axiosSubmit;const handleApprove (type) { //? 审批通过、审批拒绝触发const { selected [] } chainLineDS;if(!selected.length) {commonNotification(warning, intl.get(cice.common.massage.no.line).d(请勾选关联交易行信息));return;}const foreignChainLineIdList selected.map(selectedRecord selectedRecord.get(foreignChainLineId));const apiList api(); //* 获取接口列表axiosSubmit({headDS: chainBasicInfoDS,dataSetArr: [ chainLineDS ],// submitData: {foreignChainLineIds: foreignChainLineIdList.join(,)},url: apiList.updateApproveStatus ?approveStatus${type}foreignChainLineIds${foreignChainLineIdList.join(,)},refreshParam: { foreignChainId },}); }三、组件代码详情 A. 使用数据源的自身的submit —— otherSubmit 文件地址hzero-front/packages/ciec-front-common/src/utils/comMethod/index.tsx 每次提交修改_optionRul为接口名称后缀采用selectedSave默认组织勾选数据头信息需要设置默认勾选请求失败或者抛出异常时会将_optionRul置为undefined否则可能会影响之前的提交操作提交成功return true失败或者抛出异常 return false import { saveMassage } from common/utils/ciecUtils; import { DataSet } from choerodon-ui/pro;/*** 自定义dataToJSON的提交* param dataSet 数据源* param type dataToJSON的类型默认勾选提交* returns 返回submit()的返回值*/ const customSubmit async (dataSet: DataSet, type: any selected) {const oldJSON dataSet.dataToJSON;//ts-ignoredataSet.dataToJSON type;const backResult await dataSet.submit();dataSet.dataToJSON oldJSON;return backResult; };/*** 其他提交包括设置接口名称组织提示语自动刷新非保存提交* param dataSet 数据源* param optionRul 接口名称* param type dataToJSON的类型默认勾选提交* returns 接口是否调用成功*/ const otherSubmit async (dataSet: DataSet, optionRul: string, type: any selected) { //* 其他提交//ts-ignoredataSet._optionRul optionRul;try {const backValue await customSubmit(dataSet, type);if (saveMassage(backValue)) { //* 提交成功后刷新页面dataSet.query(dataSet.currentPage);//ts-ignoredataSet._optionRul undefined;return true;}} catch (error) {//ts-ignoredataSet._optionRul undefined;}return false; }export {customSubmit,otherSubmit, };B. 使用axios.post来提交 —— axiosSubmit 文件地址hzero-front/packages/ciec-front-common/src/utils/comMethod/axiosSubmit.tsx 必传参数数据源、接口URL、申请数据参数提交前进行校验 —— 可以校验是否为保存校验保存时需要有变更其他操作时不能有变更未保存要求无变更可以传入其他数据源集合一起进行校验校验通过后调用接口 —— 重要接口均post需要组织提交数据submitDataqueryString需要在头部拼接上submitData需要用toJSONData()来删除ignore的数据接口调用成功后 自动刷新 —— 可传入自动刷新的参数将自动刷新头信息以其关联的子信息采用PipelineWork保证同步执行操作提交成功return true失败或者抛出异常 return false import intl from utils/intl; import axios from axios; import { PipelineWork } from common/utils/utils; import { commonNotification, commonQuery } from common/utils/ciecUtils; import { commonValidateUnSave } from ./commonValidateUnSave; import { DataSet, } from choerodon-ui/pro; import { DataSetStatus } from choerodon-ui/dataset/data-set/enum;/*** 使用axios.post() 来模拟 tableDs.submit()* 1、提交前进行校验 —— 可以校验是否为保存校验保存时需要有变更其他操作时不能有变更未保存要求无变更* 2、校验通过后调用接口 —— 重要接口均post需要组织提交数据submitDataqueryString需要在头部拼接上submitData需要用toJSONData()来删除ignore的数据注意toJSONData()受 DataSet 的 dataToJSON 属性影响* 3、接口调用成功后 自动刷新 —— 可传入自动刷新的参数将自动刷新头信息以其关联的子信息* param params 功能各个步骤中需要的各类参数*/ interface axiosSubmitProp {//? 头信息 数据源headDS: DataSet;//? 需要 额外校验是否存在新增修改数据的数据源 集合dataSetArr?: DataSet[];//? axios的请求数据submitData?: any;//? axios的请求URLurl: string;//? 请求后自动刷新的参数refreshParam?: object;//? 是否保存校验保存时需要有变更其他操作时不能有变更未保存要求无变更isSave?: boolean; } export const axiosSubmit async (params: axiosSubmitProp) {const { headDS, dataSetArr [], submitData, url, refreshParam, isSave } params;// 校验是否有新增或修改const validateUnSave () {return commonValidateUnSave(headDS, dataSetArr, isSave);};// 调用接口const doSubmitPass async () {headDS.status DataSetStatus.submitting;// 使用try-catch是因为如果这个接口调用抛异常状态一直处于submitting就无法继续操作了try {const res: any await axios.post(url, submitData);headDS.status DataSetStatus.ready;if (res res.failed) {commonNotification(error, res.message || intl.get(cice.common.massage.notification.error).d(操作失败));return false;}commonNotification(success, intl.get(cice.common.massage.submit.success).d(操作成功));return true;} catch (error) {// 接口抛错时提示并重置数据源状态//ts-ignorecommonNotification(error, error.message || intl.get(cice.common.massage.notification.error).d(操作失败));headDS.status DataSetStatus.ready;return false;}};// 重新查询const refresh async () {await commonQuery(headDS, refreshParam);return true;};PipelineWork.init().put({ func: validateUnSave }).put({ func: doSubmitPass }).put({ func: refresh }).do(); }四、使用注意事项 A. 使用数据源的自身的submit —— otherSubmit 可以在请求成功之后做一些其他操作当提交表单信息时需要默认勾选头信息因post请求dataSet.setQueryParameter不生效需要将queryString拼接到接口后缀 B. 使用axios.post来提交 —— axiosSubmit 提交数据需要组织好后传入组件—— 需要用toJSONData()来删除ignore的数据最好能够把URL 放在同一的地方进行管理当前是放在数据源配置文件中返回一个api对象提交后会自动刷新页面需要传入头信息的请求参数
http://www.w-s-a.com/news/884355/

相关文章:

  • 婚恋网站建设分析网站建设硬件需求
  • 北京做网站电话wordpress如何换图片
  • 电影网站做cpa深圳信息网
  • 单县网站建设优化大师电脑版官网
  • 番禺区住房和建设局物业网站浦东新区网站设计
  • 外贸网站外包WordPress仿牌
  • 如何设计网站logohtml5开发
  • 金坛建设银行总行网站网站开发费用如何记账
  • 贵阳企业网站设计制作湛江知名网站建设电话
  • 网站建设安全性高清效果图网站
  • 上海网站排名推广黄山公司做网站
  • 全国网站建设公司实力排名单页面网站建设
  • 网站建设方案 规划wordpress 要备案吗
  • 一个完整的网站 技术网站建设中 敬请期待.
  • 如何建一个公司的网站网上怎么推广公司产品
  • 十大旅游电子商务网站影楼网站制作
  • 深圳网站建设代理商网业打开慢的原因
  • 旅游网站经营模式在屈臣氏做网站运营
  • 做管理信息的网站com域名查询
  • 免费推广网站推荐外贸推广平台哪个好
  • 腾宁科技做网站399元全包企业校园网站建设
  • 海外医疗兼职网站建设公司取名字大全免费
  • 龙口市规划建设局网站vi设计和品牌设计的区别
  • 企业网站的总体设计网站建设评审验收会议主持词
  • 网站建设完成推广响应式网站设计开发
  • 电商网站用php做的吗网站开发流程可规划为那三个阶段
  • flash网站怎么做音乐停止深圳网站建设金瓷网络
  • 哪个网站可以做房产信息群发怎么做国内网站吗
  • 微商城网站建设公司的价格卖磁铁的网站怎么做的
  • 免费做做网站手机平台软件开发