update
This commit is contained in:
parent
4b17ea4c90
commit
f2fa634ea4
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ant-design-pro",
|
||||
"version": "4.5.73",
|
||||
"version": "4.5.75",
|
||||
"private": true,
|
||||
"description": "An out-of-box UI solution for enterprise applications",
|
||||
"scripts": {
|
||||
|
||||
@ -84,7 +84,7 @@
|
||||
const tableName = getreqstr('tablename');
|
||||
const tableType = getreqstr('tabletype');
|
||||
const readonly = getreqstr('readonly') ? true : false;
|
||||
const actions = 'https://api.eshangtech.com/EShangApiMain'
|
||||
const actions = 'https://eshangtech.com:18900/EShangApiMain'
|
||||
let uploadRef = ref(null)
|
||||
let showPreviewRef = ref(null)
|
||||
let filename = ref('')
|
||||
|
||||
@ -24,6 +24,7 @@ const configAiModal = ({ onRef, configType, interfaceName, parentFormRef }: Deta
|
||||
const [selectedModalOrderRowKeys, setSelectedModalOrderRowKeys] = useState<any>()
|
||||
// 勾选的行的详情数据
|
||||
const [selectModalRowList, setSelectModalRowList] = useState<any>()
|
||||
const [childRowKeys, setChildRowKeys] = useState<any>()
|
||||
|
||||
const columns: any = [
|
||||
{
|
||||
@ -31,25 +32,15 @@ const configAiModal = ({ onRef, configType, interfaceName, parentFormRef }: Deta
|
||||
dataIndex: 'title',
|
||||
readonly: true,
|
||||
},
|
||||
{
|
||||
title: '字段类型',
|
||||
dataIndex: 'dataType',
|
||||
readonly: true,
|
||||
},
|
||||
{
|
||||
title: '字段说明',
|
||||
dataIndex: 'content',
|
||||
},
|
||||
// {
|
||||
// title: '操作',
|
||||
// valueType: 'option',
|
||||
// width: 200,
|
||||
// render: (text, record, _, action) => {
|
||||
// return <a
|
||||
// key="editable"
|
||||
// onClick={() => {
|
||||
// action?.startEditable?.(record.id);
|
||||
// }}
|
||||
// >
|
||||
// 编辑
|
||||
// </a>
|
||||
// }
|
||||
// }
|
||||
]
|
||||
|
||||
useEffect(() => {
|
||||
@ -62,89 +53,101 @@ const configAiModal = ({ onRef, configType, interfaceName, parentFormRef }: Deta
|
||||
|
||||
if (configType === 1) {
|
||||
let list: any = obj && obj.req && obj.req.length > 0 ? obj.req : []
|
||||
let keyList: any = []
|
||||
let disableList: any = []
|
||||
let disableDetail: any = []
|
||||
|
||||
let uniqueIdCounter = 0;
|
||||
const listWithIds = list.map((item: any) => {
|
||||
const id = `${item.title}-${uniqueIdCounter++}`;
|
||||
return { ...item, id: id };
|
||||
});
|
||||
|
||||
let keyList: any = [] // Will store IDs for editableKeys
|
||||
let disableList: any = [] // Will store IDs for selected items
|
||||
let disableDetail: any = [] // Will store actual item objects for selected items
|
||||
let defaultObj: any = formDetail?.PARAM_FIELD ? JSON.parse(formDetail?.PARAM_FIELD) : ''
|
||||
console.log('defaultObj', defaultObj);
|
||||
|
||||
// disableList 为默认勾选起来的字段
|
||||
// 有两种 一种是必填项 那么默认勾选好的 一种是之前的勾选记录
|
||||
if (list && list.length > 0) {
|
||||
list.forEach((item: any) => {
|
||||
keyList.push(item.title)
|
||||
// Populate keyList, initial disableList based on isRequired
|
||||
if (listWithIds && listWithIds.length > 0) {
|
||||
listWithIds.forEach((item: any) => {
|
||||
keyList.push(item.id) // Use item.id for editableKeys
|
||||
if (item.isRequired) {
|
||||
disableList.push(item.title)
|
||||
disableList.push(item.id) // Use item.id for selection
|
||||
disableDetail.push(item)
|
||||
}
|
||||
})
|
||||
}
|
||||
console.log('disableList', disableList);
|
||||
|
||||
|
||||
// Handle default selections from formDetail
|
||||
if (defaultObj) {
|
||||
for (let key in defaultObj) {
|
||||
list.forEach((item: any) => {
|
||||
if (item.title === key) {
|
||||
item.content = defaultObj[key]
|
||||
}
|
||||
})
|
||||
if (disableList.indexOf(key) === -1) {
|
||||
list.forEach((item: any) => {
|
||||
if (item.title === key) {
|
||||
disableList.push(item.title)
|
||||
disableDetail.push(item)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
listWithIds.forEach((item: any) => {
|
||||
if (defaultObj[item.title]) { // Check if this item's title exists in defaultObj
|
||||
item.content = defaultObj[item.title]; // Update content
|
||||
|
||||
// If not already in disableList (e.g., from isRequired), add it
|
||||
if (disableList.indexOf(item.id) === -1) {
|
||||
disableList.push(item.id);
|
||||
disableDetail.push(item);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
setSelectedModalOrderRowKeys(disableList) // disableList now contains IDs
|
||||
setSelectModalRowList(disableDetail) // disableDetail now contains objects with IDs
|
||||
setEditableKeys(keyList) // keyList now contains IDs
|
||||
setTableData(listWithIds) // tableData now contains objects with IDs
|
||||
|
||||
setSelectedModalOrderRowKeys(disableList)
|
||||
setSelectModalRowList(disableDetail)
|
||||
setEditableKeys(keyList)
|
||||
setTableData(list)
|
||||
} else if (configType === 2) {
|
||||
let list: any = obj && obj.data && obj.data.length > 0 ? obj.data : ''
|
||||
let keyList: any = []
|
||||
let list: any = obj?.data && obj.data.length > 0 ? obj.data : [];
|
||||
|
||||
let uniqueIdCounter = 0;
|
||||
const listWithIds = list.map((item: any) => {
|
||||
const parentId = `${item.title}-${uniqueIdCounter++}`;
|
||||
const newItem = { ...item, id: parentId };
|
||||
if (newItem.children) {
|
||||
newItem.children = newItem.children.map((child: any) => {
|
||||
const childId = `${child.title}-${uniqueIdCounter++}`;
|
||||
return { ...child, id: childId };
|
||||
});
|
||||
}
|
||||
return newItem;
|
||||
});
|
||||
|
||||
let disableList: any = []
|
||||
let disableDetail: any = []
|
||||
let defaultObj: any = formDetail?.RESPONSE_FIELD ? JSON.parse(formDetail?.RESPONSE_FIELD) : ''
|
||||
console.log('defaultObj', defaultObj);
|
||||
|
||||
|
||||
if (list && list.length > 0) {
|
||||
list.forEach((item: any) => {
|
||||
keyList.push(item.title)
|
||||
if (item.isRequired) {
|
||||
disableList.push(item.title)
|
||||
disableDetail.push(item)
|
||||
const childrenKeys: any[] = [];
|
||||
if (listWithIds && listWithIds.length > 0) {
|
||||
listWithIds.forEach((item: any) => {
|
||||
if (item.children && item.children.length > 0) {
|
||||
item.children.forEach((child: any) => {
|
||||
childrenKeys.push(child.id);
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
setChildRowKeys(childrenKeys);
|
||||
|
||||
if (defaultObj) {
|
||||
for (let key in defaultObj) {
|
||||
list.forEach((item: any) => {
|
||||
if (item.title === key) {
|
||||
item.content = defaultObj[key]
|
||||
const allRowsWithIds = listWithIds.flatMap((item: any) => [item, ...(item.children || [])]);
|
||||
for (const key in defaultObj) {
|
||||
const matchingRows = allRowsWithIds.filter((row: any) => row.title === key);
|
||||
matchingRows.forEach((row: any) => {
|
||||
row.content = defaultObj[key];
|
||||
if (disableList.indexOf(row.id) === -1) {
|
||||
disableList.push(row.id);
|
||||
disableDetail.push(row);
|
||||
}
|
||||
})
|
||||
if (disableList.indexOf(key) === -1) {
|
||||
list.forEach((item: any) => {
|
||||
if (item.title === key) {
|
||||
disableList.push(item.title)
|
||||
disableDetail.push(item)
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
setSelectedModalOrderRowKeys(disableList)
|
||||
setSelectModalRowList(disableDetail)
|
||||
setEditableKeys(keyList)
|
||||
setTableData(list)
|
||||
setEditableKeys(listWithIds.map((item: any) => item.id))
|
||||
setTableData(listWithIds)
|
||||
}
|
||||
}
|
||||
}, [])
|
||||
@ -156,9 +159,7 @@ const configAiModal = ({ onRef, configType, interfaceName, parentFormRef }: Deta
|
||||
return (
|
||||
<div>
|
||||
<EditableProTable
|
||||
rowKey={(record: any) => {
|
||||
return `${record?.title}`
|
||||
}}
|
||||
rowKey={'id'}
|
||||
className={"configAiModalTable"}
|
||||
actionRef={actionRef}
|
||||
formRef={formRef}
|
||||
@ -181,7 +182,7 @@ const configAiModal = ({ onRef, configType, interfaceName, parentFormRef }: Deta
|
||||
let detailList: any = []
|
||||
if (recordList && recordList.length > 0 && selectedModalOrderRowKeys && selectedModalOrderRowKeys.length > 0) {
|
||||
recordList.forEach((item: any) => {
|
||||
if (selectedModalOrderRowKeys.indexOf(item.title) !== -1) {
|
||||
if (selectedModalOrderRowKeys.indexOf(item.id) !== -1) { // Changed item.title to item.id
|
||||
detailList.push(item)
|
||||
}
|
||||
})
|
||||
@ -194,13 +195,48 @@ const configAiModal = ({ onRef, configType, interfaceName, parentFormRef }: Deta
|
||||
type: 'checkbox',
|
||||
selectedRowKeys: selectedModalOrderRowKeys,
|
||||
onChange: (selectedRowKeys: any, selectedRows: any) => {
|
||||
console.log('selectedRowKeys', selectedRowKeys);
|
||||
console.log('selectedRows', selectedRows);
|
||||
setSelectModalRowList(selectedRows)
|
||||
setSelectedModalOrderRowKeys(selectedRowKeys)
|
||||
const newSelectedKeys = new Set(selectedRowKeys);
|
||||
const oldSelectedKeys = new Set(selectedModalOrderRowKeys || []);
|
||||
|
||||
// Only apply parent-child logic for configType === 2
|
||||
if (configType === 2) {
|
||||
tableData.forEach((parent: any) => {
|
||||
if (parent.children) {
|
||||
const parentKey = parent.id;
|
||||
const childKeys = parent.children.map((child: any) => child.id);
|
||||
|
||||
// if parent was just selected
|
||||
if (newSelectedKeys.has(parentKey) && !oldSelectedKeys.has(parentKey)) {
|
||||
childKeys.forEach((key: any) => newSelectedKeys.add(key));
|
||||
}
|
||||
|
||||
// if parent was just deselected
|
||||
if (!newSelectedKeys.has(parentKey) && oldSelectedKeys.has(parentKey)) {
|
||||
childKeys.forEach((key: any) => newSelectedKeys.delete(key));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const finalKeys = Array.from(newSelectedKeys);
|
||||
|
||||
const allRowsForSelection: any[] = [];
|
||||
if (tableData) {
|
||||
tableData.forEach((item: any) => {
|
||||
allRowsForSelection.push(item);
|
||||
if (item.children) {
|
||||
allRowsForSelection.push(...item.children);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const finalRows = allRowsForSelection.filter((row: any) => newSelectedKeys.has(row.id));
|
||||
|
||||
setSelectModalRowList(finalRows);
|
||||
setSelectedModalOrderRowKeys(finalKeys);
|
||||
},
|
||||
getCheckboxProps: (record: any) => ({
|
||||
disabled: record.isRequired,
|
||||
disabled: (configType === 2 && childRowKeys && childRowKeys.includes(record.id)), // Only disable children for configType 2
|
||||
}),
|
||||
}}
|
||||
recordCreatorProps={false}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -644,7 +644,7 @@ export const handleSetPublicLog = (obj: any) => {
|
||||
let browserVersion = session.get("browserVersion")
|
||||
if (obj.desc && obj.desc.length > 0) {
|
||||
obj.desc.forEach((item: any) => {
|
||||
item.url = 'https://api.eshangtech.com' + item.url
|
||||
item.url = 'https://eshangtech.com:18900' + item.url
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -59,7 +59,7 @@ const errorHandler = (error: { response: Response }): Response => {
|
||||
const request = extend({
|
||||
errorHandler, // default error handling
|
||||
// prefix: '/EShangApiMain',// 开发
|
||||
prefix: 'https://api.eshangtech.com/EShangApiMain', // 正式
|
||||
prefix: 'https://eshangtech.com:18900/EShangApiMain', // 正式
|
||||
headers: {
|
||||
token: '',
|
||||
ProvinceCode: '',
|
||||
@ -189,7 +189,7 @@ request.interceptors.response.use((response, option) => {
|
||||
// USER_ID: userbeHaviObj.currentUser.ID,
|
||||
// USER_NAME: userbeHaviObj.currentUser.Name,
|
||||
// BEHAVIORRECORD_TYPE: "2000", // 1000 浏览页面 2000 行为记录
|
||||
// BEHAVIORRECORD_EXPLAIN: `在页面${nowMenu.name}调用接口${userbeHaviObj.url.split('https://api.eshangtech.com')[1]}`,
|
||||
// BEHAVIORRECORD_EXPLAIN: `在页面${nowMenu.name}调用接口${userbeHaviObj.url.split('https://eshangtech.com:18900')[1]}`,
|
||||
// BEHAVIORRECORD_TIME: moment(new Date(userbeHaviObj.startTime)).format('YYYY-MM-DD HH:mm:ss'),
|
||||
// BEHAVIORRECORD_ROUT: nowMenu.pathname,
|
||||
// BEHAVIORRECORD_ROUTNAME: nowMenu.name,
|
||||
@ -207,7 +207,7 @@ request.interceptors.response.use((response, option) => {
|
||||
// OPERATING_SYSTEM: systemBasin
|
||||
// }
|
||||
// console.log('reqreqreqreqreq', req);
|
||||
// // fetch('https://api.eshangtech.com/EShangApiMain/Platform/SynchroBEHAVIORRECORD', {
|
||||
// // fetch('https://eshangtech.com:18900/EShangApiMain/Platform/SynchroBEHAVIORRECORD', {
|
||||
// // method: 'POST',
|
||||
// // headers: {
|
||||
// // 'Content-Type': 'application/json',
|
||||
|
||||
@ -189,7 +189,7 @@ request.interceptors.response.use((response, option) => {
|
||||
// USER_ID: userbeHaviObj.currentUser.ID,
|
||||
// USER_NAME: userbeHaviObj.currentUser.Name,
|
||||
// BEHAVIORRECORD_TYPE: "2000", // 1000 浏览页面 2000 行为记录
|
||||
// BEHAVIORRECORD_EXPLAIN: `在页面${nowMenu.name}调用接口${userbeHaviObj.url.split('https://api.eshangtech.com')[1]}`,
|
||||
// BEHAVIORRECORD_EXPLAIN: `在页面${nowMenu.name}调用接口${userbeHaviObj.url.split('https://eshangtech.com:18900')[1]}`,
|
||||
// BEHAVIORRECORD_TIME: moment(new Date(userbeHaviObj.startTime)).format('YYYY-MM-DD HH:mm:ss'),
|
||||
// BEHAVIORRECORD_ROUT: nowMenu.pathname,
|
||||
// BEHAVIORRECORD_ROUTNAME: nowMenu.name,
|
||||
@ -207,7 +207,7 @@ request.interceptors.response.use((response, option) => {
|
||||
// OPERATING_SYSTEM: systemBasin
|
||||
// }
|
||||
// console.log('reqreqreqreqreq', req);
|
||||
// // fetch('https://api.eshangtech.com/EShangApiMain/Platform/SynchroBEHAVIORRECORD', {
|
||||
// // fetch('https://eshangtech.com:18900/EShangApiMain/Platform/SynchroBEHAVIORRECORD', {
|
||||
// // method: 'POST',
|
||||
// // headers: {
|
||||
// // 'Content-Type': 'application/json',
|
||||
|
||||
@ -57,7 +57,7 @@ const errorHandler = (error: { response: Response }): Response => {
|
||||
const request = extend({
|
||||
errorHandler, // default error handling
|
||||
// prefix: '/EShangApiMain',// 开发
|
||||
prefix: 'https://api.eshangtech.com/CommercialApi', // 正式
|
||||
prefix: 'https://eshangtech.com:18900/CommercialApi', // 正式
|
||||
headers: {
|
||||
token: '',
|
||||
ProvinceCode: '',
|
||||
|
||||
@ -57,7 +57,7 @@ const errorHandler = (error: { response: Response }): Response => {
|
||||
const request = extend({
|
||||
errorHandler, // default error handling
|
||||
// prefix: '/EShangApiMain',// 开发
|
||||
prefix: 'https://api.eshangtech.com/EshangApiDashboard', // 正式
|
||||
prefix: 'https://eshangtech.com:18900/EshangApiDashboard', // 正式
|
||||
headers: {
|
||||
token: '',
|
||||
ProvinceCode: '',
|
||||
@ -85,18 +85,18 @@ request.interceptors.request.use((url, opt) => {
|
||||
}
|
||||
}
|
||||
if ((url.indexOf('Synchro') > -1 || url.indexOf('Save') > -1) &&
|
||||
url.indexOf('Picture/SaveImgFile') === -1 ) {
|
||||
// 添加操作人和业主单位信息
|
||||
options.data = {
|
||||
...options.data,
|
||||
STAFF_ID: currentUser.ID,
|
||||
STAFF_NAME: currentUser.Name,
|
||||
OWNERUNIT_ID: options.data.OWNERUNIT_ID || currentUser.OwnerUnitId,
|
||||
OWNERUNIT_NAME: options.data.OWNERUNIT_NAME || currentUser.ProvinceUnit,
|
||||
PROVINCE_CODE: options.data.PROVINCE_CODE || currentUser.ProvinceCode,
|
||||
url.indexOf('Picture/SaveImgFile') === -1) {
|
||||
// 添加操作人和业主单位信息
|
||||
options.data = {
|
||||
...options.data,
|
||||
STAFF_ID: currentUser.ID,
|
||||
STAFF_NAME: currentUser.Name,
|
||||
OWNERUNIT_ID: options.data.OWNERUNIT_ID || currentUser.OwnerUnitId,
|
||||
OWNERUNIT_NAME: options.data.OWNERUNIT_NAME || currentUser.ProvinceUnit,
|
||||
PROVINCE_CODE: options.data.PROVINCE_CODE || currentUser.ProvinceCode,
|
||||
|
||||
OPERATE_DATE: moment().format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
OPERATE_DATE: moment().format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
if (currentUser?.UserPattern === 2000) {
|
||||
options.data = {
|
||||
...options.data,
|
||||
|
||||
@ -52,7 +52,7 @@ const errorHandler = (error: { response: Response }): Response => {
|
||||
const requestEncryption = extend({
|
||||
errorHandler, // default error handling
|
||||
// prefix: '/EShangApiMain',// 开发
|
||||
prefix: 'https://api.eshangtech.com/MemberApi', // 正式
|
||||
prefix: 'https://eshangtech.com:18900/MemberApi', // 正式
|
||||
headers: {
|
||||
token: '',
|
||||
ProvinceCode: '',
|
||||
|
||||
@ -183,7 +183,7 @@ request.interceptors.response.use((response, option) => {
|
||||
// USER_ID: userbeHaviObj.currentUser.ID,
|
||||
// USER_NAME: userbeHaviObj.currentUser.Name,
|
||||
// BEHAVIORRECORD_TYPE: "2000", // 1000 浏览页面 2000 行为记录
|
||||
// BEHAVIORRECORD_EXPLAIN: `在页面${nowMenu.name}调用接口${userbeHaviObj.url.split('https://api.eshangtech.com')[1]}`,
|
||||
// BEHAVIORRECORD_EXPLAIN: `在页面${nowMenu.name}调用接口${userbeHaviObj.url.split('https://eshangtech.com:18900')[1]}`,
|
||||
// BEHAVIORRECORD_TIME: moment(new Date(userbeHaviObj.startTime)).format('YYYY-MM-DD HH:mm:ss'),
|
||||
// BEHAVIORRECORD_ROUT: nowMenu.pathname,
|
||||
// BEHAVIORRECORD_ROUTNAME: nowMenu.name,
|
||||
@ -201,7 +201,7 @@ request.interceptors.response.use((response, option) => {
|
||||
// OPERATING_SYSTEM: systemBasin
|
||||
// }
|
||||
// console.log('reqreqreqreqreq', req);
|
||||
// // fetch('https://api.eshangtech.com/EShangApiMain/Platform/SynchroBEHAVIORRECORD', {
|
||||
// // fetch('https://eshangtech.com:18900/EShangApiMain/Platform/SynchroBEHAVIORRECORD', {
|
||||
// // method: 'POST',
|
||||
// // headers: {
|
||||
// // 'Content-Type': 'application/json',
|
||||
|
||||
@ -183,7 +183,7 @@ request.interceptors.response.use((response, option) => {
|
||||
// USER_ID: userbeHaviObj.currentUser.ID,
|
||||
// USER_NAME: userbeHaviObj.currentUser.Name,
|
||||
// BEHAVIORRECORD_TYPE: "2000", // 1000 浏览页面 2000 行为记录
|
||||
// BEHAVIORRECORD_EXPLAIN: `在页面${nowMenu.name}调用接口${userbeHaviObj.url.split('https://api.eshangtech.com')[1]}`,
|
||||
// BEHAVIORRECORD_EXPLAIN: `在页面${nowMenu.name}调用接口${userbeHaviObj.url.split('https://eshangtech.com:18900')[1]}`,
|
||||
// BEHAVIORRECORD_TIME: moment(new Date(userbeHaviObj.startTime)).format('YYYY-MM-DD HH:mm:ss'),
|
||||
// BEHAVIORRECORD_ROUT: nowMenu.pathname,
|
||||
// BEHAVIORRECORD_ROUTNAME: nowMenu.name,
|
||||
@ -201,7 +201,7 @@ request.interceptors.response.use((response, option) => {
|
||||
// OPERATING_SYSTEM: systemBasin
|
||||
// }
|
||||
// console.log('reqreqreqreqreq', req);
|
||||
// // fetch('https://api.eshangtech.com/EShangApiMain/Platform/SynchroBEHAVIORRECORD', {
|
||||
// // fetch('https://eshangtech.com:18900/EShangApiMain/Platform/SynchroBEHAVIORRECORD', {
|
||||
// // method: 'POST',
|
||||
// // headers: {
|
||||
// // 'Content-Type': 'application/json',
|
||||
|
||||
@ -59,9 +59,9 @@ const requestTest = extend({
|
||||
// prefix: '/EShangApiMain',// 开发
|
||||
|
||||
// 'http://192.168.56.1/EShangApiMain'
|
||||
// "https://api.eshangtech.com/EShangApiMain" // 正式
|
||||
// "https://eshangtech.com:18900/EShangApiMain" // 正式
|
||||
// "http://192.168.56.1/EShangApiMain"
|
||||
prefix: "https://api.eshangtech.com/EShangApiMain", // 正式
|
||||
prefix: "https://eshangtech.com:18900/EShangApiMain", // 正式
|
||||
// prefix: "http://10.104.1.186:8080", // 正式
|
||||
headers: {
|
||||
token: '',
|
||||
|
||||
@ -57,7 +57,7 @@ const errorHandler = (error: { response: Response }): Response => {
|
||||
const request = extend({
|
||||
errorHandler, // default error handling
|
||||
// prefix: '/EShangApiMain',// 开发
|
||||
prefix: 'https://api.eshangtech.com/', // 正式
|
||||
prefix: 'https://eshangtech.com:18900/', // 正式
|
||||
headers: {
|
||||
token: '',
|
||||
ProvinceCode: '',
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// 由 scripts/writeVersion.js 自动生成
|
||||
export const VERSION = "4.5.73";
|
||||
export const GIT_HASH = "dde90fb";
|
||||
export const BUILD_TIME = "2025-12-03T10:27:22.507Z";
|
||||
export const VERSION = "4.5.75";
|
||||
export const GIT_HASH = "4b17ea4";
|
||||
export const BUILD_TIME = "2025-12-05T03:57:31.975Z";
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user