diff --git a/package.json b/package.json
index df16301d..af61000b 100644
--- a/package.json
+++ b/package.json
@@ -66,6 +66,7 @@
"react-refresh": "^0.8.3",
"react-router-dom": "^5.3.0",
"react-validate-framework": "^0.15.6",
+ "react-window": "^1.8.6",
"resolve": "1.18.1",
"resolve-url-loader": "^3.1.2",
"sass-loader": "^10.0.5",
diff --git a/src/assets/api.js b/src/assets/api.js
index b48d986c..1f9f7e09 100644
--- a/src/assets/api.js
+++ b/src/assets/api.js
@@ -1,926 +1,857 @@
-import {Notify} from "zent"
+import { Notify } from "zent";
// export const baseurl = 'https://marketapi.1688sup.com'
-window.baseurl = 'https://marketapi.1688sup.com';
-const Version = "v1.1.0"
-let baseurl="";
-if (process.env.NODE_ENV == "test"||process.env.NODE_ENV == "development") { // 测试环境
- baseurl = "http://192.168.6.75"
- window.baseurl = 'http://192.168.6.75';
+window.baseurl = "https://marketapi.1688sup.com";
+const Version = "v1.1.0";
+let baseurl = "";
+if (process.env.NODE_ENV == "test" || process.env.NODE_ENV == "development") {
+ // 测试环境
+ baseurl = "http://192.168.6.75";
+ window.baseurl = "http://192.168.6.75";
+}
+if (process.env.NODE_ENV == "production") {
+ // 生成环境
+ baseurl = "https://marketapi.1688sup.com";
}
-if (process.env.NODE_ENV == "production") { // 生成环境
- baseurl = "https://marketapi.1688sup.com"
-}
// export let HOST = host;
// export let API_URL = api_url;
-
// export const baseurl = window.baseurl
-
-
const upload = (method, url, params, responseType) => {
- let obj = {
- method: method,
- headers: new Headers({
- 'authorization': sessionStorage.getItem("authorization"),
- 'Version':Version
- }),
- body: params,
- }
- let http = fetch(url, obj).then(res =>{
- if(res.status==200){
-
- return res.json()
- }else{
- switch (res.status) {
- // 401: 未登录
- case 401:
- res.json().then(response =>{
- if(response.code==403){
- Notify.clear();
- Notify.error(response.message);
- setTimeout(() => {
- window.location.href='/';
-
-
- }, 2000)
- }else if(response.code==401){
- Notify.clear();
- Notify.error(response.message);
- }
- }
- ).catch();
-
- break;
- }
- }
- } );
- return http.then(response => response).catch(error => console.error('Error:', error));
- }
-
- const derive = (method, url, params, responseType) => {
- var obj = {
- responseType: 'blob',
- headers: new Headers({
- 'authorization': sessionStorage.getItem("authorization"),
- 'Version':Version
- })
- };
- if (method == "get") {
- if (params) {
- let paramsArray = [];
- //拼接参数
- Object.keys(params).forEach(key => paramsArray.push(key + '=' + params[key]))
- if (url.search(/\?/) === -1) {
- url += '?' + paramsArray.join('&')
- } else {
- url += '&' + paramsArray.join('&')
- }
- }
- }
- let http = fetch(url, obj).then(res =>{
- if(res.status==200){
- return res.blob()
- }else{
- switch (res.status) {
- // 401: 未登录
- case 401:
- res.json().then(response =>{
- if(response.code==403){
- Notify.clear();
- Notify.error(response.message);
- setTimeout(() => {
- window.location.href='/';
- }, 2000)
- }else if(response.code==401){
- Notify.clear();
- Notify.error(response.message);
- }
- }
- ).catch();
- break;
- }
- }
- } );
- return http.then(response => response).catch(error => console.error('Error:', error));
- }
-
-
-
-
-
-
+ let obj = {
+ method: method,
+ headers: new Headers({
+ authorization: sessionStorage.getItem("authorization"),
+ Version: Version,
+ }),
+ body: params,
+ };
+ let http = fetch(url, obj).then((res) => {
+ if (res.status == 200) {
+ return res.json();
+ } else {
+ switch (res.status) {
+ // 401: 未登录
+ case 401:
+ res
+ .json()
+ .then((response) => {
+ if (response.code == 403) {
+ Notify.clear();
+ Notify.error(response.message);
+ setTimeout(() => {
+ window.location.href = "/";
+ }, 2000);
+ } else if (response.code == 401) {
+ Notify.clear();
+ Notify.error(response.message);
+ }
+ })
+ .catch();
- const getData = (method, url, params, responseType) => {
- var obj = null;
- if (method == "get") {
- obj = {
- headers: new Headers({
- 'authorization': sessionStorage.getItem("authorization"),
- 'Version':Version
- })
- }
- if (params) {
- let paramsArray = [];
- //拼接参数
- Object.keys(params).forEach(key => paramsArray.push(key + '=' + params[key]))
- if (url.search(/\?/) === -1) {
- url += '?' + paramsArray.join('&')
- } else {
- url += '&' + paramsArray.join('&')
- }
- }
- }
-
-
-
-
- let http = fetch(url, obj).then(res =>{
- window.timeshow=res.headers.get('Date-Time');
- if(res.status==200){
-
- console.log("当前返回",res.body)
-
-
- return res.text()
-
- }else{
- switch (res.status) {
- // 401: 未登录
- case 401:
- res.json().then(response =>{
- if(response.code==403){
- Notify.clear();
- Notify.error(response.message);
- setTimeout(() => {
- window.location.href='/';
- }, 2000)
- }else if(response.code==401){
- Notify.clear();
- Notify.error(response.message);
- }
- }
- ).catch();
-
- break;
- }
- }
- } );
- return http.then(response =>response).catch(error => console.error('Error:', error));
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
+ break;
+ }
+ }
+ });
+ return http
+ .then((response) => response)
+ .catch((error) => console.error("Error:", error));
+};
+
+const derive = (method, url, params, responseType) => {
+ var obj = {
+ responseType: "blob",
+ headers: new Headers({
+ authorization: sessionStorage.getItem("authorization"),
+ Version: Version,
+ }),
+ };
+ if (method == "get") {
+ if (params) {
+ let paramsArray = [];
+ //拼接参数
+ Object.keys(params).forEach((key) =>
+ paramsArray.push(key + "=" + params[key])
+ );
+ if (url.search(/\?/) === -1) {
+ url += "?" + paramsArray.join("&");
+ } else {
+ url += "&" + paramsArray.join("&");
+ }
+ }
+ }
+ let http = fetch(url, obj).then((res) => {
+ if (res.status == 200) {
+ return res.blob();
+ } else {
+ switch (res.status) {
+ // 401: 未登录
+ case 401:
+ res
+ .json()
+ .then((response) => {
+ if (response.code == 403) {
+ Notify.clear();
+ Notify.error(response.message);
+ setTimeout(() => {
+ window.location.href = "/";
+ }, 2000);
+ } else if (response.code == 401) {
+ Notify.clear();
+ Notify.error(response.message);
+ }
+ })
+ .catch();
+ break;
+ }
+ }
+ });
+ return http
+ .then((response) => response)
+ .catch((error) => console.error("Error:", error));
+};
+
+const getData = (method, url, params, responseType) => {
+ var obj = null;
+ if (method == "get") {
+ obj = {
+ headers: new Headers({
+ authorization: sessionStorage.getItem("authorization"),
+ Version: Version,
+ }),
+ };
+ if (params) {
+ let paramsArray = [];
+ //拼接参数
+ Object.keys(params).forEach((key) =>
+ paramsArray.push(key + "=" + params[key])
+ );
+ if (url.search(/\?/) === -1) {
+ url += "?" + paramsArray.join("&");
+ } else {
+ url += "&" + paramsArray.join("&");
+ }
+ }
+ }
+
+ let http = fetch(url, obj).then((res) => {
+ window.timeshow = res.headers.get("Date-Time");
+ if (res.status == 200) {
+ console.log("当前返回", res.body);
+
+ return res.text();
+ } else {
+ switch (res.status) {
+ // 401: 未登录
+ case 401:
+ res
+ .json()
+ .then((response) => {
+ if (response.code == 403) {
+ Notify.clear();
+ Notify.error(response.message);
+ setTimeout(() => {
+ window.location.href = "/";
+ }, 2000);
+ } else if (response.code == 401) {
+ Notify.clear();
+ Notify.error(response.message);
+ }
+ })
+ .catch();
+
+ break;
+ }
+ }
+ });
+ return http
+ .then((response) => response)
+ .catch((error) => console.error("Error:", error));
+};
const req = (method, url, params, responseType) => {
- var obj = null;
- if (method == "get") {
- obj = {
- headers: new Headers({
- 'authorization': sessionStorage.getItem("authorization"),
- 'Version':Version
- })
- }
- if (params) {
- let paramsArray = [];
- //拼接参数
- Object.keys(params).forEach(key => paramsArray.push(key + '=' + params[key]))
- if (url.search(/\?/) === -1) {
- url += '?' + paramsArray.join('&')
- } else {
- url += '&' + paramsArray.join('&')
- }
- }
- }
- if(method == "login")
- {
- obj = {
- method: "post",
- body: JSON.stringify(params),
- headers: new Headers({
- 'Content-Type': 'application/json',
- 'Version':Version
- })
- }
-
- }
-
- if (method == "post" || method == "put" || method == "delete") {
- obj = {
- method: method,
- body: JSON.stringify(params),
- headers: new Headers({
- 'Content-Type': 'application/json',
- 'authorization': sessionStorage.getItem("authorization"),
- 'Version':Version
- })
- }
- }
-
+ var obj = null;
+ if (method == "get") {
+ obj = {
+ headers: new Headers({
+ authorization: sessionStorage.getItem("authorization"),
+ Version: Version,
+ }),
+ };
+ if (params) {
+ let paramsArray = [];
+ //拼接参数
+ Object.keys(params).forEach((key) =>
+ paramsArray.push(key + "=" + params[key])
+ );
+ if (url.search(/\?/) === -1) {
+ url += "?" + paramsArray.join("&");
+ } else {
+ url += "&" + paramsArray.join("&");
+ }
+ }
+ }
+ if (method == "login") {
+ obj = {
+ method: "post",
+ body: JSON.stringify(params),
+ headers: new Headers({
+ "Content-Type": "application/json",
+ Version: Version,
+ }),
+ };
+ }
+ if (method == "post" || method == "put" || method == "delete") {
+ obj = {
+ method: method,
+ body: JSON.stringify(params),
+ headers: new Headers({
+ "Content-Type": "application/json",
+ authorization: sessionStorage.getItem("authorization"),
+ Version: Version,
+ }),
+ };
+ }
-
-
- let http = fetch(url, obj).then(res =>{
- window.timeshow=res.headers.get('Date-Time');
- if(res.status==200){
-
- console.log("当前返回",res.body)
-
-
- return res.json()
-
- }else{
- switch (res.status) {
- // 401: 未登录
- case 401:
- res.json().then(response =>{
- if(response.code==403){
- Notify.clear();
- Notify.error(response.message);
- setTimeout(() => {
- window.location.href='/';
- }, 2000)
- }else if(response.code==401){
- Notify.clear();
- Notify.error(response.message);
- }
- }
- ).catch();
-
- break;
- }
- }
- } );
- return http.then(response =>response).catch(error => console.error('Error:', error));
-}
+ let http = fetch(url, obj).then((res) => {
+ window.timeshow = res.headers.get("Date-Time");
+ if (res.status == 200) {
+ console.log("当前返回", res.body);
+
+ return res.json();
+ } else {
+ switch (res.status) {
+ // 401: 未登录
+ case 401:
+ res
+ .json()
+ .then((response) => {
+ if (response.code == 403) {
+ Notify.clear();
+ Notify.error(response.message);
+ setTimeout(() => {
+ window.location.href = "/";
+ }, 2000);
+ } else if (response.code == 401) {
+ Notify.clear();
+ Notify.error(response.message);
+ }
+ })
+ .catch();
+
+ break;
+ }
+ }
+ });
+ return http
+ .then((response) => response)
+ .catch((error) => console.error("Error:", error));
+};
export const handelResponse = (res, cb, errCb) => {
- if (res&&res.code == 200) {
- cb(res.data, res.message)
- } else {
- if (res&&typeof errCb == 'function') {
- Notify.clear();
- // Notify.error(res.message);
- errCb(res.message)
- }
- }
-}
+ if (res && res.code == 200) {
+ cb(res.data, res.message);
+ } else {
+ if (res && typeof errCb == "function") {
+ Notify.clear();
+ // Notify.error(res.message);
+ errCb(res.message);
+ }
+ }
+};
//营销计划列表
export const getPlanList = (params) => {
- return req('get', baseurl + "/plan", params)
-}
+ return req("get", baseurl + "/plan", params);
+};
//获取key批次列表
export const getKeyList = (params) => {
- return req('get', baseurl + "/keys", params)
-}
+ return req("get", baseurl + "/keys", params);
+};
//获取分销商下拉菜单
export const getReSellerOption = (params) => {
- return req('get', baseurl + "/reseller/choice", params)
-}
-
-
-
-
-
-
+ return req("get", baseurl + "/reseller/choice", params);
+};
//新建营销计划
export const addPlanStep = (id, params) => {
- let str = id ? "/"+id :""
- if(str)
- {
- return req('put',baseurl + "/plan/step" + str, params)
- }
- return req('post', baseurl + "/plan/step" + str, params)
-}
+ let str = id ? "/" + id : "";
+ if (str) {
+ return req("put", baseurl + "/plan/step" + str, params);
+ }
+ return req("post", baseurl + "/plan/step" + str, params);
+};
//获取营销计划草稿信息
export const getDraftInfo = (id, params) => {
- return req('get', baseurl + "/plan/draft/" + id, params)
-}
+ return req("get", baseurl + "/plan/draft/" + id, params);
+};
//启用停用 营销计划
export const startOrStopPlan = (id, params) => {
- return req('put', baseurl + "/plan/status/" + id, params)
-}
+ return req("put", baseurl + "/plan/status/" + id, params);
+};
//创建key批次信息
export const addKeysBatchInfo = (id, params) => {
- return req('post', baseurl + "/plan/" + id + "/keys", params)
-}
-
+ return req("post", baseurl + "/plan/" + id + "/keys", params);
+};
//编辑修改
export const putPlanStep = (id, params) => {
- return req('put', baseurl + "/plan/edit/"+id,params)
-}
-
-
+ return req("put", baseurl + "/plan/edit/" + id, params);
+};
//获取key批次信息
export const getKeysBatchInfo = (id, params) => {
- return req('get', baseurl + "/keys", params)
-}
+ return req("get", baseurl + "/keys", params);
+};
//启用停用key批次信息
export const startOrStopKeybatch = (id, params) => {
- return req('put', baseurl + "/keys/status/" + id, params)
-}
+ return req("put", baseurl + "/keys/status/" + id, params);
+};
//获取key批次详细信息
export const getKeyBatchDetail = (id, params) => {
- return req('get', baseurl + "/keys/" + id, params)
-}
-
+ return req("get", baseurl + "/keys/" + id, params);
+};
//更新key批次详细信息
export const putKeyBatchDetail = (id, params) => {
- return req('put', baseurl + "/keys/" + id, params)
-}
+ return req("put", baseurl + "/keys/" + id, params);
+};
//发送key批次压缩包和压缩包密码
export const planSend = (id, params) => {
- return req('put', baseurl + "/plan/send/" + id, params)
-}
+ return req("put", baseurl + "/plan/send/" + id, params);
+};
//是否已经发送过邮件
export const planIsSend = (id) => {
- return req('get', baseurl + "/plan/is_send/" + id)
-}
-
-
-
-
+ return req("get", baseurl + "/plan/is_send/" + id);
+};
//重新修改手机号邮箱
export const planReceive = (id, params) => {
- return req('put', baseurl + "/plan/receive/" + id, params)
-}
-
-
+ return req("put", baseurl + "/plan/receive/" + id, params);
+};
//重新发送key批次压缩包和压缩包密码
export const planResend = (id, params) => {
- return req('put', baseurl + "/plan/resend/" + id, params)
-}
-
+ return req("put", baseurl + "/plan/resend/" + id, params);
+};
export const keysIsSend = (id, params) => {
- return req('get', baseurl + "/keys/is_send/" + id, params)
-}
+ return req("get", baseurl + "/keys/is_send/" + id, params);
+};
//作废key批次
export const cancelKey = (id, params) => {
- return req('put', baseurl + "/keys/cancel/" + id, params)
-}
-
-
+ return req("put", baseurl + "/keys/cancel/" + id, params);
+};
//发送密钥邮件
export const postKeyEmail = (id, params) => {
- return req('put', baseurl + "/keys/send/" + id, params)
-}
+ return req("put", baseurl + "/keys/send/" + id, params);
+};
//修改密钥邮件
export const putKeyEmail = (id, params) => {
- return req('put', baseurl + "/keys/receive/" + id, params)
-}
+ return req("put", baseurl + "/keys/receive/" + id, params);
+};
export const resKeyEmail = (id, params) => {
- return req('put', baseurl + "/keys/resend/" + id, params)
-}
-
-
+ return req("put", baseurl + "/keys/resend/" + id, params);
+};
// 兑换码管理
//兑换码管理列表
export const getCodesList = (params) => {
- return getData('get', baseurl + "/codes", params)
-}
+ return getData("get", baseurl + "/codes", params);
+};
//获取兑换码明细
export const getCodesDetail = (id) => {
- return req('get', baseurl + "/codes/"+id)
-}
+ return req("get", baseurl + "/codes/" + id);
+};
//修改兑换码批次
-export const putCodesBatch = (id,params) => {
- return req('put', baseurl + "/codes/edit/"+id,params)
-}
-
-
-
-
+export const putCodesBatch = (id, params) => {
+ return req("put", baseurl + "/codes/edit/" + id, params);
+};
//更新兑换码
-export const putCodes = (id,params) => {
- return req('put', baseurl + "/codes/"+id,params)
-}
+export const putCodes = (id, params) => {
+ return req("put", baseurl + "/codes/" + id, params);
+};
//作废本批次兑换码
export const delCode = (id) => {
- return req('delete', baseurl + "/codes/discard/"+id)
-}
+ return req("delete", baseurl + "/codes/discard/" + id);
+};
//作废本批次兑换码
-export const putCodeStatus = (id,params) => {
- return req('put', baseurl + "/codes/status/"+id,params)
-}
-
-
+export const putCodeStatus = (id, params) => {
+ return req("put", baseurl + "/codes/status/" + id, params);
+};
//兑换码商品列表
export const getCodeProductList = (params) => {
- return req('get', baseurl + "/codes/products",params)
-}
-
+ return req("get", baseurl + "/codes/products", params);
+};
//删除商品库存信息
-export const delCodeProduct = (batch_id,id) => {
- return req('delete', baseurl + "/codes/products/"+batch_id+"/"+id)
-}
+export const delCodeProduct = (batch_id, id) => {
+ return req("delete", baseurl + "/codes/products/" + batch_id + "/" + id);
+};
//更新单个商品信息
-export const putCodeProduct = (batch_id,id,params) => {
- return req('put', baseurl + "/codes/products/"+batch_id+"/"+id,params)
-}
+export const putCodeProduct = (batch_id, id, params) => {
+ return req("put", baseurl + "/codes/products/" + batch_id + "/" + id, params);
+};
//获取商品库存明细
-export const getCodeProduct = (batch_id,id) => {
- return req('get', baseurl + "/codes/products/"+batch_id+"/"+id)
-}
-
+export const getCodeProduct = (batch_id, id) => {
+ return req("get", baseurl + "/codes/products/" + batch_id + "/" + id);
+};
//获取商品库存明细
-export const getIsRequireApproval = (id,data) => {
- return req('post', baseurl + "/codes/"+id+"/is_require_approval",data)
-}
-
-
-
-
-
-
+export const getIsRequireApproval = (id, data) => {
+ return req("post", baseurl + "/codes/" + id + "/is_require_approval", data);
+};
// //蓝色兄弟映射商品
export const getProductInfoSelect = (params) => {
- return req('get', baseurl + "/product/market/products",params)
-}
+ return req("get", baseurl + "/product/market/products", params);
+};
// 上传
-export const uploadImg= (params) => {
- return upload('post', baseurl + "/upload/simple",params)
-}
-
-
-
-
+export const uploadImg = (params) => {
+ return upload("post", baseurl + "/upload/simple", params);
+};
// 订单管理
//订单管理列表
export const getOrderList = (params) => {
- return req('get', baseurl + "/order", params)
-}
+ return req("get", baseurl + "/order", params);
+};
//订单管理详情
export const getOrderDetails = (id) => {
- return req('get', baseurl + "/order/"+id)
-}
+ return req("get", baseurl + "/order/" + id);
+};
//订单导出
export const getOrderExport = (params) => {
- return derive('get', baseurl + "/order/export",params)
-}
+ return derive("get", baseurl + "/order/export", params);
+};
//订单改为成功
export const putOrderSuccess = (id) => {
- return req('put', baseurl + "/order/success/"+id)
-}
+ return req("put", baseurl + "/order/success/" + id);
+};
//订单日志
-export const getOrderLog = (orderId,params) => {
- return req('get', baseurl + "/order/"+orderId+"/log", params)
-}
-
+export const getOrderLog = (orderId, params) => {
+ return req("get", baseurl + "/order/" + orderId + "/log", params);
+};
//订单作废
export const putOrderCancel = (id) => {
- return req('put', baseurl + "/order/cancel/"+id)
-}
-
+ return req("put", baseurl + "/order/cancel/" + id);
+};
// 分销商管理
//分销商管理列表
export const getResellerList = (params) => {
- return req('get', baseurl + "/reseller", params)
-}
+ return req("get", baseurl + "/reseller", params);
+};
//新建分销商异步校验分销商名称是否重复
-export const getExistName = (name) => {
- return req('get', baseurl + "/reseller/exist_name/"+name)
-}
+export const getExistName = (name) => {
+ return req("get", baseurl + "/reseller/exist_name/" + name);
+};
//编辑分销商异步校验分销商名称是否重复
-export const geteditExistName = (name,params) => {
- return req('get', baseurl + "/reseller/exist_name/"+name,params)
-}
+export const geteditExistName = (name, params) => {
+ return req("get", baseurl + "/reseller/exist_name/" + name, params);
+};
//新建分销商异步校验分销商登陆账号是否重复
-export const getExistAccount = (name) => {
- return req('get', baseurl + "/reseller/exist_account/"+name)
-}
+export const getExistAccount = (name) => {
+ return req("get", baseurl + "/reseller/exist_account/" + name);
+};
//编辑分销商异步校验分销商登陆账号是否重复
-export const geteditExistAccount = (name,params) => {
- return req('get', baseurl + "/reseller/exist_account/"+name,params)
-}
+export const geteditExistAccount = (name, params) => {
+ return req("get", baseurl + "/reseller/exist_account/" + name, params);
+};
//新建分销商-销售人员
-export const getPersonnel = () => {
- return req('get', baseurl + "/auth/admin/all")
-}
+export const getPersonnel = () => {
+ return req("get", baseurl + "/auth/admin/all");
+};
//新建分销商-签约公司
-export const getCompany = () => {
- return req('get', baseurl + "/auth/company/all")
-}
+export const getCompany = () => {
+ return req("get", baseurl + "/auth/company/all");
+};
//删除分销商
export const delReseller = (id) => {
- return req('delete', baseurl + "/reseller/"+id)
-}
+ return req("delete", baseurl + "/reseller/" + id);
+};
//修改分销商状态
-export const putResellerStatus = (id,data) => {
- return req('put', baseurl + "/reseller/status/"+id,data)
-}
+export const putResellerStatus = (id, data) => {
+ return req("put", baseurl + "/reseller/status/" + id, data);
+};
//新建分销商
export const postCreateReseller = (data) => {
- return req('post', baseurl + "/reseller/create",data)
-}
+ return req("post", baseurl + "/reseller/create", data);
+};
//获取分销商详情
export const getReseller = (id) => {
- return req('get', baseurl + "/reseller/"+id)
-}
+ return req("get", baseurl + "/reseller/" + id);
+};
//编辑分销商
-export const putResellerInfo = (id,data) => {
- return req('put', baseurl + "/reseller/"+id,data)
-}
+export const putResellerInfo = (id, data) => {
+ return req("put", baseurl + "/reseller/" + id, data);
+};
//重置分销商密码
-export const putResellerPwd = (id,data) => {
- return req('put', baseurl + "/reseller/password/"+id,data)
-}
+export const putResellerPwd = (id, data) => {
+ return req("put", baseurl + "/reseller/password/" + id, data);
+};
//重置分销商密码
export const getResellerSelect = (data) => {
- return req('get', baseurl + "/reseller/exist_account/name",data)
-}
-
-
+ return req("get", baseurl + "/reseller/exist_account/name", data);
+};
// 账号管理
//账号管理列表
export const getAccountList = (params) => {
- return req('get', baseurl + "/auth/admin", params)
-}
+ return req("get", baseurl + "/auth/admin", params);
+};
//修改账号状态
-export const putAccountStatus = (id,params) => {
- return req('put', baseurl + "/auth/admin/status/"+id,params)
-}
+export const putAccountStatus = (id, params) => {
+ return req("put", baseurl + "/auth/admin/status/" + id, params);
+};
// 删除账号
export const delAccount = (id) => {
- return req('delete', baseurl + "/auth/admin/"+id)
-}
+ return req("delete", baseurl + "/auth/admin/" + id);
+};
// 重置账号密码
-export const putModifypwd = (id,data) => {
- return req('put', baseurl + "/auth/admin/password/"+id,data)
-}
+export const putModifypwd = (id, data) => {
+ return req("put", baseurl + "/auth/admin/password/" + id, data);
+};
//添加账号-获取部门
-export const getDepartment = (params) => {
- return req('get', baseurl + "/auth/department",params)
-}
+export const getDepartment = (params) => {
+ return req("get", baseurl + "/auth/department", params);
+};
//添加账号-获取岗位
-export const getDepartmentJob = (params) => {
- return req('get', baseurl + "/auth/departmentJob",params)
-}
+export const getDepartmentJob = (params) => {
+ return req("get", baseurl + "/auth/departmentJob", params);
+};
//添加账号-获取角色
-export const getRole = (params) => {
- return req('get', baseurl + "/auth/adminRole",params)
-}
+export const getRole = (params) => {
+ return req("get", baseurl + "/auth/adminRole", params);
+};
//添加账号-新增账号
-export const postAddAcc = (params) => {
- return req('post', baseurl + "/auth/admin",params)
-}
+export const postAddAcc = (params) => {
+ return req("post", baseurl + "/auth/admin", params);
+};
//添加账号-编辑账号
-export const putAddAcc = (id,params) => {
- return req('put', baseurl + "/auth/admin/"+id,params)
-}
+export const putAddAcc = (id, params) => {
+ return req("put", baseurl + "/auth/admin/" + id, params);
+};
//子账号
//获取子账号权限
-export const getsubAccount = (id) => {
- return req('get', baseurl + "/auth/admin/adminRoleRules/"+id)
-}
+export const getsubAccount = (id) => {
+ return req("get", baseurl + "/auth/admin/adminRoleRules/" + id);
+};
//新增子账号
-export const postAddSubAcc = (params) => {
- return req('post', baseurl + "/auth/admin/createSon",params)
-}
+export const postAddSubAcc = (params) => {
+ return req("post", baseurl + "/auth/admin/createSon", params);
+};
//修改子账号
-export const putAddSubAcc = (id,data) => {
- return req('put', baseurl + "/auth/admin/editSon/"+id,data)
-}
+export const putAddSubAcc = (id, data) => {
+ return req("put", baseurl + "/auth/admin/editSon/" + id, data);
+};
//子账号列表
export const getSubAccList = (params) => {
- return req('get', baseurl + "/auth/admin/sonIndex", params)
-}
+ return req("get", baseurl + "/auth/admin/sonIndex", params);
+};
//获取指定账号下的子账号列表
-export const getsubAppoint = (id,params) => {
- return req('get', baseurl + "/auth/admin/accountSonIndex/"+id,params)
-}
+export const getsubAppoint = (id, params) => {
+ return req("get", baseurl + "/auth/admin/accountSonIndex/" + id, params);
+};
// 数据迁移获取角色下主账号(平级)
export const getLevelSubList = (id) => {
- return req('get', baseurl + "/auth/admin/roleAccounts/"+id)
-}
+ return req("get", baseurl + "/auth/admin/roleAccounts/" + id);
+};
//主账号数据向下迁移
-export const putAcctransfer = (data) => {
- return req('put', baseurl + "/auth/admin/downMigration",data)
-}
+export const putAcctransfer = (data) => {
+ return req("put", baseurl + "/auth/admin/downMigration", data);
+};
// 主账号数据平行迁移
-export const putequalMigration = (data) => {
- return req('put', baseurl + "/auth/admin/equalMigration",data)
-}
-
+export const putequalMigration = (data) => {
+ return req("put", baseurl + "/auth/admin/equalMigration", data);
+};
// 角色管理
//角色管理列表
export const getRoleList = (params) => {
- return req('get', baseurl + "/auth/adminRole", params)
-}
+ return req("get", baseurl + "/auth/adminRole", params);
+};
//角色获取权限列表
export const getMenuList = (params) => {
- return req('get', baseurl + "/auth/menu/tree", params)
-}
+ return req("get", baseurl + "/auth/menu/tree", params);
+};
//角色删除
export const delRole = (id) => {
- return req('delete', baseurl + "/auth/adminRole/"+id)
-}
+ return req("delete", baseurl + "/auth/adminRole/" + id);
+};
//角色添加
export const postRole = (data) => {
- return req('post', baseurl + "/auth/adminRole",data)
-}
+ return req("post", baseurl + "/auth/adminRole", data);
+};
//角色编辑
-export const putEditRole = (id,data) => {
- return req('put', baseurl + "/auth/adminRole/"+id,data)
-}
-
-
+export const putEditRole = (id, data) => {
+ return req("put", baseurl + "/auth/adminRole/" + id, data);
+};
//岗位列表
//新建公司
export const postCompany = (data) => {
- return req('post', baseurl + "/auth/company",data)
-}
+ return req("post", baseurl + "/auth/company", data);
+};
//删除公司
export const delCompany = (id) => {
- return req('delete', baseurl + "/auth/company/"+id)
-}
+ return req("delete", baseurl + "/auth/company/" + id);
+};
//编辑公司
-export const postCompanyEdit = (id,data) => {
- return req('put', baseurl + "/auth/company/"+id,data)
-}
-
+export const postCompanyEdit = (id, data) => {
+ return req("put", baseurl + "/auth/company/" + id, data);
+};
//新建部门
export const postDepartment = (data) => {
- return req('post', baseurl + "/auth/department",data)
-}
+ return req("post", baseurl + "/auth/department", data);
+};
//删除部门
export const delDepartment = (id) => {
- return req('delete', baseurl + "/auth/department/"+id)
-}
+ return req("delete", baseurl + "/auth/department/" + id);
+};
//编辑部门
-export const postDepartmentEdit = (id,data) => {
- return req('put', baseurl + "/auth/department/"+id,data)
-}
+export const postDepartmentEdit = (id, data) => {
+ return req("put", baseurl + "/auth/department/" + id, data);
+};
//新建岗位
export const postDepartmentJob = (data) => {
- return req('post', baseurl + "/auth/departmentJob",data)
-}
+ return req("post", baseurl + "/auth/departmentJob", data);
+};
//删除岗位
export const delDepartmentJob = (id) => {
- return req('delete', baseurl + "/auth/departmentJob/"+id)
-}
+ return req("delete", baseurl + "/auth/departmentJob/" + id);
+};
//编辑岗位
-export const postDepartmentJobEdit = (id,data) => {
- return req('put', baseurl + "/auth/departmentJob/"+id,data)
-}
+export const postDepartmentJobEdit = (id, data) => {
+ return req("put", baseurl + "/auth/departmentJob/" + id, data);
+};
//枚举
export const getAllEnum = (data) => {
- return req('get', baseurl + "/enum",data)
-
-}
-
+ return req("get", baseurl + "/enum", data);
+};
//菜单维护
//新建菜单
export const postCreateMenu = (data) => {
- return req('post', baseurl + "/auth/menu",data)
-}
+ return req("post", baseurl + "/auth/menu", data);
+};
//编辑菜单
-export const putmodifyMenu = (id,data) => {
- return req('put', baseurl + "/auth/menu/"+id,data)
-}
+export const putmodifyMenu = (id, data) => {
+ return req("put", baseurl + "/auth/menu/" + id, data);
+};
//删除菜单
export const delMenu = (id) => {
- return req('delete', baseurl + "/auth/menu/"+id)
-}
+ return req("delete", baseurl + "/auth/menu/" + id);
+};
//添加定制化模板
-export const postThemecustom= (data) => {
- return upload('post', baseurl + "/plan/theme/custom",data)
-}
-
+export const postThemecustom = (data) => {
+ return upload("post", baseurl + "/plan/theme/custom", data);
+};
//添加定制化模板
-export const copyThemecustom= (id,data) => {
- return upload('put', baseurl + "/plan/theme/clone/"+id,data)
-}
-
-
-
+export const copyThemecustom = (id, data) => {
+ return upload("put", baseurl + "/plan/theme/clone/" + id, data);
+};
//登录
export const postLogin = (data) => {
- return req('login', baseurl + "/auth/login", data)
-}
+ return req("login", baseurl + "/auth/login", data);
+};
// logout退出登录
//连续输入三次,需验证码校验
export const getVerify = (params) => {
- return req('post', baseurl + "/auth/login/verify", params)
-}
+ return req("post", baseurl + "/auth/login/verify", params);
+};
//获取用户信息接口
-export const getUserinfo= (params) => {
- return req('get', baseurl + "/auth/admin/userinfo",params)
-}
+export const getUserinfo = (params) => {
+ return req("get", baseurl + "/auth/admin/userinfo", params);
+};
//设置登录密码
export const putmodifySelf = (data) => {
- return req('put', baseurl + "/auth/admin/setPassword",data)
-}
+ return req("put", baseurl + "/auth/admin/setPassword", data);
+};
//验证码登录发送验证码
export const postsendLoginCode = (data) => {
- return req('post', baseurl + "/sms/sendLoginCode",data)
-}
+ return req("post", baseurl + "/sms/sendLoginCode", data);
+};
// 短信验证码登录
export const postLoginCode = (data) => {
- return req('post', baseurl + "/auth/login/mobile",data)
-}
+ return req("post", baseurl + "/auth/login/mobile", data);
+};
// {
// "mobile": "15184345039",
// "code": "04593"
// }
-
//获取落地页下拉菜单
export const getThemeSel = (id) => {
- return req('get', baseurl + "/plan/choice_theme")
-}
+ return req("get", baseurl + "/plan/choice_theme");
+};
//获取落地页列表
export const getThemeList = (data) => {
- return req('get', baseurl + "/plan/plan_theme",data)
-}
+ return req("get", baseurl + "/plan/plan_theme", data);
+};
//删除落地页
-export const delTheme= (id) => {
- return req('delete', baseurl + "/plan/theme/"+id)
-}
+export const delTheme = (id) => {
+ return req("delete", baseurl + "/plan/theme/" + id);
+};
//编辑模板
-export const putMyTheme= (id,data) => {
- return req('put', baseurl + "/plan/theme/"+id,data)
-}
-
-export const getThemeChoice= (data) => {
- return req('get', baseurl + "/plan/theme/choice",data)
-}
+export const putMyTheme = (id, data) => {
+ return req("put", baseurl + "/plan/theme/" + id, data);
+};
+export const getThemeChoice = (data) => {
+ return req("get", baseurl + "/plan/theme/choice", data);
+};
//新增落地页模板
-export const addTheme= (data) => {
- return req('post', baseurl + "/plan/theme",data)
-}
+export const addTheme = (data) => {
+ return req("post", baseurl + "/plan/theme", data);
+};
//编辑落地页模板
-export const putTheme= (id,data) => {
- return req('put', baseurl + "/plan/plan_theme/"+id,data)
-}
+export const putTheme = (id, data) => {
+ return req("put", baseurl + "/plan/plan_theme/" + id, data);
+};
//我的模板列表查询
-export const getTheme= (data) => {
- return req('get', baseurl + "/plan/theme",data)
-}
+export const getTheme = (data) => {
+ return req("get", baseurl + "/plan/theme", data);
+};
//克隆落地页模板
-export const cloneTheme= (data) => {
- return req('put', baseurl + "/plan/theme/clone",data)
-}
+export const cloneTheme = (data) => {
+ return req("put", baseurl + "/plan/theme/clone", data);
+};
//获取系统模板
-export const getSystemTemplate= (data) => {
- return req('get', baseurl + "/plan/theme/system",data)
-}
-
+export const getSystemTemplate = (data) => {
+ return req("get", baseurl + "/plan/theme/system", data);
+};
//编辑系统模板
-export const putSystemTemplate= (id,data) => {
- return req('put', baseurl + "/plan/theme/system/"+id,data)
-}
+export const putSystemTemplate = (id, data) => {
+ return req("put", baseurl + "/plan/theme/system/" + id, data);
+};
//新增系统模板
export const addSystemTemplate = (data) => {
- return req('post', baseurl + "/plan/theme/system",data)
-}
+ return req("post", baseurl + "/plan/theme/system", data);
+};
//删除系统模板
-export const delSystemTemplate= (id) => {
- return req('delete', baseurl + "/plan/theme/system/"+id)
-}
+export const delSystemTemplate = (id) => {
+ return req("delete", baseurl + "/plan/theme/system/" + id);
+};
//获取系统模板分类
-export const getThemeType= () => {
- return req('get', baseurl + "/plan/theme/getThemeType")
-}
-
+export const getThemeType = () => {
+ return req("get", baseurl + "/plan/theme/getThemeType");
+};
//key码列表
-export const getkeyDetailList= (id,data) => {
- return req('get', baseurl + "/key/"+id,data)
-}
-
+export const getkeyDetailList = (id, data) => {
+ return req("get", baseurl + "/key/" + id, data);
+};
//提交审核
-export const approvals= (id,data) => {
- return req('post', baseurl + "/plan/"+id+"/approvals",data)
-}
+export const approvals = (id, data) => {
+ return req("post", baseurl + "/plan/" + id + "/approvals", data);
+};
+export const getApprovalsInfo = (id, data) => {
+ return req(
+ "get",
+ baseurl + "/approvals/" + id + "/market_approval_data",
+ data
+ );
+};
-export const getApprovalsInfo= (id,data) => {
- return req('get', baseurl + "/approvals/"+id+"/market_approval_data",data)
-}
+export const terminateApprovals = (id, data) => {
+ return req("put", baseurl + "/approvals/" + id + "/terminate", data);
+};
-
-export const terminateApprovals= (id,data) => {
- return req('put', baseurl + "/approvals/"+id+"/terminate",data)
-}
-
-
-export const getApprovalsStatus= (id,data) => {
- return req('get', baseurl + "/approvals/"+id+"/status")
-}
+export const getApprovalsStatus = (id, data) => {
+ return req("get", baseurl + "/approvals/" + id + "/status");
+};
//作废
-export const keyBatchCancel= (data) => {
- return req('put', baseurl + "/key/batch_cancel",data)
-}
+export const keyBatchCancel = (data) => {
+ return req("put", baseurl + "/key/batch_cancel", data);
+};
//作废
-export const keyCancel= (data) => {
- return req('put', baseurl + "/key/cancel",data)
-}
+export const keyCancel = (data) => {
+ return req("put", baseurl + "/key/cancel", data);
+};
//标记使用
-export const keyBatchUsage= (data) => {
- return req('put', baseurl + "/key/batch_usage",data)
-}
+export const keyBatchUsage = (data) => {
+ return req("put", baseurl + "/key/batch_usage", data);
+};
//标记使用
-export const keyUsage= (data) => {
- return req('put', baseurl + "/key/usage",data)
-}
-//获取日志
-export const getKeyLog= (data) => {
- return req('get', baseurl + "/key/log/list",data)
-}
+export const keyUsage = (data) => {
+ return req("put", baseurl + "/key/usage", data);
+};
+//获取日志
+export const getKeyLog = (data) => {
+ return req("get", baseurl + "/key/log/list", data);
+};
//白名单数据校验
-export const getAccessVerification= (data) => {
- return req('post',baseurl + "/keys/mobileAccessVerification",data)
-}
+export const getAccessVerification = (data) => {
+ return req("post", baseurl + "/keys/mobileAccessVerification", data);
+};
//计划作废
-export const planCancel= (id) => {
- return req('put',baseurl + "/plan/cancel/"+id)
-}
+export const planCancel = (id) => {
+ return req("put", baseurl + "/plan/cancel/" + id);
+};
//key审批
-export const keyApproval =(plan_id,key_id,data) => {
- return req('post',baseurl + "/plan/"+plan_id+"/keys/"+key_id+"/approval",data)
-}
-
-
-export const keyEditApproval =(key_id,data) => {
- return req('post',baseurl + "/keys/"+key_id+"/approval",data)
-}
+export const keyApproval = (plan_id, key_id, data) => {
+ return req(
+ "post",
+ baseurl + "/plan/" + plan_id + "/keys/" + key_id + "/approval",
+ data
+ );
+};
+export const keyEditApproval = (key_id, data) => {
+ return req("post", baseurl + "/keys/" + key_id + "/approval", data);
+};
// logout退出登录
//退出登录接口
export const postLogOut = (data) => {
- return req('get', baseurl + "/auth/logout", data)
-}
+ return req("get", baseurl + "/auth/logout", data);
+};
-export {
- req
-}
+// 请求分销商
+export const getDirectList = (data) => {
+ return req("get", baseurl + "/reseller/direct", data);
+};
+
+export { req };
diff --git a/src/components/UseLazyLoadingSelect/index.js b/src/components/UseLazyLoadingSelect/index.js
new file mode 100644
index 00000000..5f8d5278
--- /dev/null
+++ b/src/components/UseLazyLoadingSelect/index.js
@@ -0,0 +1,80 @@
+import { useState } from "react";
+import { Select, InfiniteScroller, InlineLoading } from "zent";
+import "./style.less";
+const UseLazyLoadingSelect = ({
+ options,
+ clearable = false,
+ placeholder = "请输入",
+ value,
+ onChange,
+ width,
+ onChangePage,
+}) => {
+ let firstOpen = true;
+ const [loading, setLoading] = useState(true);
+ const [open, onOpenChange] = useState(false);
+
+ // 处理浮层打开
+ const handleOpenChange = (isOpen) => {
+ onOpenChange(isOpen);
+ // 首次打开浮层加载数据
+ if (isOpen && firstOpen) {
+ firstOpen = false;
+ setLoading(true);
+ setTimeout(() => {
+ setLoading(false);
+ }, 2000);
+ }
+ };
+
+ // 滚动加载
+ const loadMore = (closeLoading) => {
+ setTimeout(() => {
+ onChangePage(closeLoading);
+ }, 2000);
+ };
+
+ // 渲染 opt
+ const renderOptionList = (optionList, renderOption) => {
+ return (
+
是否新增[{formInfo.name}]分销商?
):(是否修改[{formInfo.name}]分销商信息?
), - onConfirm:()=>{ - //提交接口 - let data=_.cloneDeep(formInfo); - if(_this.refs.disbutorForm.state.headImg){ - data.head_img=_this.refs.disbutorForm.state.headImg; - } - data.salesman_id=formInfo.salesman_id.key; - data.salesman_name=formInfo.salesman_id.text; - data.company_id=formInfo.company_id.key; - data.company_name=formInfo.company_id.text; - data.identity_type=formInfo.identity_type.key; - let phoneList=[formInfo.contact_phone]; - phoneList.push(data.phone1); - phoneList.push(data.phone2); - phoneList.push(data.phone3); - phoneList.push(data.phone4); - let phoneArr=phoneList.filter(o=>o); - data.contact_phone=phoneArr.join(','); - let emilList=[formInfo.contact_email]; - emilList.push(data.email1); - emilList.push(data.email2); - emilList.push(data.email3); - emilList.push(data.email4); - let emailArr=emilList.filter(o=>o); - data.contact_email=emailArr.join(','); - delete data.phone1; - delete data.phone2; - delete data.phone3; - delete data.phone4; - delete data.email1; - delete data.email2; - delete data.email3; - delete data.email4; - if(_this.state.enumer==0){ - postCreateReseller(data).then(res=>{ - handelResponse(res,(response,msg)=>{ - Notify.clear(); - Notify.success(msg); - setTimeout(()=>{ - // window.history.back() - window.location.replace('#/home/distributor-list'); - },1000); - },(err)=>{ - Notify.error(err); - }) - }).catch(err=>{ - }); - }else{//编辑 - let id=_this.refs.disbutorForm.state.id; - delete data.account; - delete data.password; - data.head=_this.state.headImg; - putResellerInfo(id,data).then(res=>{ - handelResponse(res,(response,msg)=>{ - Notify.clear(); - Notify.success(msg); - setTimeout(()=>{ - // window.history.back() - window.location.replace('#/home/distributor-list'); - },1000); - },(err)=>{ - Notify.error(err) - }) - }).catch(err=>{ - }); - } - }, - onCancel: this.onCancel, - className:'questModal', - parentComponent: this - }); - }else{ - Notify.clear(); - Notify.error('请完善表单数据'); - } + let formInfo = this.refs.disbutorForm.state.model; + let _this = this; + if (valiform) { + //取消二次弹出框 + Sweetalert.confirm({ + type: "warning", + closeBtn: true, + title: "确认操作", + content: + _this.state.enumer == 0 ? ( ++ 是否新增[{formInfo.name}]分销商? +
+ ) : ( ++ 是否修改[{formInfo.name}]分销商信息? +
+ ), + onConfirm: () => { + //提交接口 + let data = _.cloneDeep(formInfo); + if (_this.refs.disbutorForm.state.headImg) { + data.head_img = _this.refs.disbutorForm.state.headImg; + } + data.salesman_id = formInfo.salesman_id.key; + data.salesman_name = formInfo.salesman_id.text; + data.company_id = formInfo.company_id.key; + data.company_name = formInfo.company_id.text; + data.identity_type = formInfo.identity_type.key; + let phoneList = [formInfo.contact_phone]; + phoneList.push(data.phone1); + phoneList.push(data.phone2); + phoneList.push(data.phone3); + phoneList.push(data.phone4); + let phoneArr = phoneList.filter((o) => o); + data.contact_phone = phoneArr.join(","); + let emilList = [formInfo.contact_email]; + emilList.push(data.email1); + emilList.push(data.email2); + emilList.push(data.email3); + emilList.push(data.email4); + let emailArr = emilList.filter((o) => o); + data.contact_email = emailArr.join(","); + delete data.phone1; + delete data.phone2; + delete data.phone3; + delete data.phone4; + delete data.email1; + delete data.email2; + delete data.email3; + delete data.email4; + if (_this.state.enumer == 0) { + postCreateReseller(data) + .then((res) => { + handelResponse( + res, + (response, msg) => { + Notify.clear(); + Notify.success(msg); + setTimeout(() => { + // window.history.back() + window.location.replace("#/home/distributor-list"); + }, 1000); + }, + (err) => { + Notify.error(err); + } + ); + }) + .catch((err) => {}); + } else { + //编辑 + let id = _this.refs.disbutorForm.state.id; + delete data.account; + delete data.password; + data.head = _this.state.headImg; + putResellerInfo(id, data) + .then((res) => { + handelResponse( + res, + (response, msg) => { + Notify.clear(); + Notify.success(msg); + setTimeout(() => { + // window.history.back() + window.location.replace("#/home/distributor-list"); + }, 1000); + }, + (err) => { + Notify.error(err); + } + ); + }) + .catch((err) => {}); + } + }, + onCancel: this.onCancel, + className: "questModal", + parentComponent: this, + }); + } else { + Notify.clear(); + Notify.error("请完善表单数据"); + } } - componentWillMount(){ - let pagetitle=JSON.parse(sessionStorage.getItem('breaknav'))[0].pagetitle; - let enumer=pagetitle.includes('新建')?0:1; - this.setState({pagetitle:pagetitle+'分销商',enumer}); - + componentWillMount() { + let pagetitle = JSON.parse(sessionStorage.getItem("breaknav"))[0].pagetitle; + let enumer = pagetitle.includes("新建") ? 0 : 1; + this.setState({ pagetitle: pagetitle + "分销商", enumer }); } - cancel(){ - //取消二次弹出框 - Sweetalert.confirm({ - type:'warning', - closeBtn:true, - title:'确认操作', - content:是否取消本次操作?
, - onConfirm:()=>{ - // window.history.back() - window.location.replace('#/home/distributor-list'); - }, - onCancel: this.onCancel, - className:'questModal', - parentComponent: this - }); + cancel() { + //取消二次弹出框 + Sweetalert.confirm({ + type: "warning", + closeBtn: true, + title: "确认操作", + content:是否取消本次操作?
, + onConfirm: () => { + // window.history.back() + window.location.replace("#/home/distributor-list"); + }, + onCancel: this.onCancel, + className: "questModal", + parentComponent: this, + }); } - render(){ + render() { const { current, pageSize } = this.state; - return( + return (