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

做门户类网站多少钱京东网站建设

做门户类网站多少钱,京东网站建设,织梦本地做的网站内网访问不,科技网站建设公司这边记录我们公司后端做的导出接口和前端是如何对接的 这边的技术栈是#xff1a; 1#xff1a; react 2#xff1a; fetch 第一步#xff1a;简单封装--导出界面 import { DrawerForm } from ant-design/pro-components; import { CloseOutlined } f…这边记录我们公司后端做的导出接口和前端是如何对接的     这边的技术栈是                1 react  2 fetch 第一步简单封装--导出界面 import { DrawerForm } from ant-design/pro-components; import { CloseOutlined } from ant-design/icons; import { Col, Input, Row, Select, DatePicker, message, InputNumber, Card, Button } from antd import React, { useEffect, useState } from react; import { connect } from react-redux; import { DEPT_NAMESPACE } from /actions/dept; import { getCurrentUser } from /utils/authority; import { getDictBiz } from /utils/utils; import { DICT_BIZ_NAMESPACE } from /actions/dictbiz; import { clubSetMealSave, clubSetMealUpdate } from /services/club; import { list } from /services/menu;import style from ./common.less;const { TextArea } Input;function NewExp(props) {//show 是根据需要是否展示下方的弹窗//hang 是根据返回结果关闭弹窗//changeHange 是根据需要把参数返回出去//title 是弹窗的标题//Component 是触发弹窗的关键const { title, Component, changeHange, hang, show } props// 时间const [startDate, setStartDate] useState(null)const [startDate1, setStartDate1] useState(null)const [flag, setflag] useState(false)const submit async () {// 判断时间if (!show) {if (startDate ! null || startDate1 ! null) {// 时间比较大小if (startDate1 startDate) {return message.error(结束时间不能小于开始时间)}let data {d1: startDate,d2: startDate1,}changeHange(data)if (hang() 1) {setflag(false)setStartDate(null)setStartDate1(null)}}} else {changeHange()if (hang() 1) {setflag(false)setStartDate(null)setStartDate1(null)}}// if (res?.success) {// message.success(保存成功)// setflag(false)// changeupadte()// }}const onChange (date, dateString) {setStartDate(dateString)};const onChange1 (date, dateString) {setStartDate1(dateString)};return ({!show ?DrawerFormclassName{style.common}submitter{{resetButtonProps: { type: dashed },submitButtonProps: { style: { display: none } },resetButtonRender: (_, dom) null,// Button keysubmit typeprimary onClick{() { submit() }}保存/Buttonrender: (props, defaultDoms) {return [Button keyclean onClick{() { setflag(false) }}取消/Button,Button keyclose typeprimary onClick{() { submit(pass) }}下载/Button,]}}} drawerProps{{closeIcon: null,destroyOnClose: true,extra: CloseOutlined onClick{() setflag(false)} /}}visible{flag}onVisibleChange{(e) {setflag(e)}}width{440}onFinish{() submit()}title{span style{{color: #1F1F1F,fontSize: 18px,fontWeight: 600,height: 22px,lineHeight: 22px}}{title}/span}trigger{Component}div style{{ ...style0 }}div style{{ ...style1 }}导出开始时间/divDatePicker placeholder请选择开始时间 style{{ ...style2 }} onChange{onChange} //divdiv style{{ ...style0, margin: 20px 0 }}div style{{ ...style1, }}导出结束结束/divDatePicker placeholder请选择结束时间 style{{ ...style2 }} onChange{onChange1} //div/DrawerForm/:ButtononClick{() { submit(pass) }}typeprimary导出/Button/}/) } const style0 {display: flex,justifyContent: space-between,alignItems: center, } const style1 {width: 22% } const style2 {width: 76% } const mapStateToProps (state) {return {}; };export default connect(mapStateToProps)(NewExp)第二步封装请求导出js-----utils       import { stringify } from qs;//引入qs库export async function download(url, params) {// /api/blade-cust/custhubAppointment/export-customerconst urls /api/${url}?${stringify(params)};const response await fetch(urls, {method: GET,headers: {Authorization: ,Blade-Auth: Bearer ${getAccessToken()} //请求token,Content-Type: application/json //JSON形式----有时候也是具体什么时候用看需求 //responseType:blob,}});if (!response.ok) {throw new Error(HTTP error! status: ${response.status});}const blob await response.blob();const contentDisposition response.headers.get(content-disposition);const filename contentDisposition ? contentDisposition.split(filename)[1].replace(//g, ) : exported_data.csv;const urlBlob window.URL.createObjectURL(blob);const a document.createElement(a);if (a) { //创建了一个a 直接下载 a.href urlBlob;a.download filename;document.body.appendChild(a);a.click();a.remove();window.URL.revokeObjectURL(urlBlob);return true //这边是给我返回成功的状态}} 第三步导入封好的js---使用 import { download } from /utils/utilsconst hang () {return 1}const changeHange async (e) {try { //这个都是 参数---接口需要const startTime e.d1;const endTime e.d2;const type userRole;const bigType defaultvalue;const params1 {startTime,endTime,type,bigType};let d await download(blade-cust/custhubCustomer/export-customer, params1)if (d) {message.success(导出成功,请保存)hang()}} catch (error) {console.error(Export failed:, error);}}//导出显示组件NewExps title{导出}hang{hang}Component{Button typeprimary导出/Button}changeHange{changeHange}/NewExps 上方是不用打开新的页面---直接可以点击下载的  这个是打开新界面---代码奉献上---弹窗一个 直接会弹出对应的下载框 import { Upload, Switch, Button, Card, Col, Input, message, Modal, Row, Tree } from antd;Modal.confirm({title: 用户导出确认,content: 是否导出用户数据?,okText: 确定,okType: danger,cancelText: 取消,onOk() {const account params.account || ;const realName params.realName || ;window.open(/api/blade-system/user/export-user?Blade-Authbearer ${getAccessToken()}account${account}realName${realName});},onCancel() {},});
http://www.w-s-a.com/news/823131/

相关文章:

  • 如何做网站编辑 沒技术济南企业做网站推广网站
  • 网站模板 百科北京中高风险地区最新名单最新
  • 高校网站建设前言做公众号的公司是什么公司
  • 网站备案怎么登陆短视频培训学校
  • 百度图片点击变网站是怎么做的北京市建设工程质量监督站网站
  • 在线建站模板重庆网站建设大概需要多少钱
  • 建设网站公司电话号码wordpress 即时通讯
  • 网站设计用的技术拓者吧室内设计网app
  • 河北seo优化_网络建设营销_网站推广服务 - 河北邢台seo网站建设运行情况报告
  • 建设银行内部网站6画册设计是什么
  • 网站建设什么价格网站下拉菜单怎么做
  • flash型网站微信公众号运营策划
  • 想建设个网站怎么赚钱国外学校网站设计
  • 网站设计网页设计系统没有安装wordpress
  • 建网站做哪方面公司百度官网优化
  • 山西网站seo网站采集信息怎么做
  • 同江佳木斯网站建设seo学徒培训
  • 淘宝不能发布网站源码做商品怀化网站制作建设
  • 买空间哪个网站好做我的世界背景图的网站
  • 南京哪里做网站wordpress 增加子目录
  • 刚做的网站搜全名查不到网站很难被百度收录
  • 网站建设与管理期末做网站买空间用共享ip
  • 网络合同怎么签有效南京seo公司哪家
  • 厦门建设网官方网站上海网络网站建
  • 网站制作西安郑州网站建设动态
  • 外贸网站免费推广温州做网站技术员
  • 武冈 网站建设做网站能收回吗
  • 网站做前端把网站扒下来以后怎么做
  • 网站模板素材下载手机做任务佣金的网站
  • 机关网站建设考核测评总结做网站sqlserver排序