This commit is contained in:
liupopo
2024-01-18 18:08:10 +08:00
parent beb8e140dd
commit d0413645f9
93 changed files with 3514 additions and 665 deletions

47
src/api/area.js Normal file
View File

@@ -0,0 +1,47 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/sys/SysArea/list',
method:'get',
params:params
})
}
export function createArea(data) {
return request({
url:'/sys/SysArea/create',
method:'post',
data:data
})
}
export function deleteArea(id) {
return request({
url:'/sys/SysArea/delete/'+id,
method:'get',
})
}
export function getArea(id) {
return request({
url:'/sys/SysArea/'+id,
method:'get',
})
}
export function updateArea(id,data) {
return request({
url:'/sys/SysArea/update/'+id,
method:'post',
data:data
})
}
export function fetchAreaListWithChildren(params) {
return request({
url:'/sys/SysArea/list/withChildren',
method:'get',
params:params
})
}

38
src/api/memberLevel.js Normal file
View File

@@ -0,0 +1,38 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/ums/UmsMemberLevel/list',
method:'get',
params:params
})
}
export function createMemberLevel(data) {
return request({
url:'/ums/UmsMemberLevel/create',
method:'post',
data:data
})
}
export function deleteMemberLevel(id) {
return request({
url:'/ums/UmsMemberLevel/delete/'+id,
method:'get',
})
}
export function getMemberLevel(id) {
return request({
url:'/ums/UmsMemberLevel/'+id,
method:'get',
})
}
export function updateMemberLevel(id,data) {
return request({
url:'/ums/UmsMemberLevel/update/'+id,
method:'post',
data:data
})
}

45
src/api/pms/Gifts.js Normal file
View File

@@ -0,0 +1,45 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/pms/PmsGifts/list',
method:'get',
params:params
})
}
export function createGifts(data) {
return request({
url:'/pms/PmsGifts/create',
method:'post',
data:data
})
}
export function deleteGifts(id) {
return request({
url:'/pms/PmsGifts/delete/'+id,
method:'get',
})
}
export function getGifts(id) {
return request({
url:'/pms/PmsGifts/'+id,
method:'get',
})
}
export function updateGifts(id,data) {
return request({
url:'/pms/PmsGifts/update/'+id,
method:'post',
data:data
})
}
export function updateShowStatus(params) {
return request({
url:'/pms/PmsGifts/update/updateShowStatus',
method:'post',
params:params
})
}

View File

@@ -0,0 +1,38 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/pms/PmsGiftsCategory/list',
method:'get',
params:params
})
}
export function createGiftsCategory(data) {
return request({
url:'/pms/PmsGiftsCategory/create',
method:'post',
data:data
})
}
export function deleteGiftsCategory(id) {
return request({
url:'/pms/PmsGiftsCategory/delete/'+id,
method:'get',
})
}
export function getGiftsCategory(id) {
return request({
url:'/pms/PmsGiftsCategory/'+id,
method:'get',
})
}
export function updateGiftsCategory(id,data) {
return request({
url:'/pms/PmsGiftsCategory/update/'+id,
method:'post',
data:data
})
}

68
src/api/pms/album.js Normal file
View File

@@ -0,0 +1,68 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/pms/PmsAlbum/list',
method: 'get',
params: params
})
}
export function categoryLists(params) {
return request({
url: '/pms/PmsAlbum/list',
method: 'get',
params: params
})
}
export function addCate(data) {
return request({
url: '/pms/PmsAlbum/create',
method: 'post',
data: data
})
}
export function deleteCategory(id) {
return request({
url: '/pms/PmsAlbum/delete/' + id,
method: 'get',
})
}
export function getAlbum(id) {
return request({
url: '/pms/PmsAlbum/' + id,
method: 'get',
})
}
export function updateAlbum(id, data) {
return request({
url: '/pms/PmsAlbum/update/' + id,
method: 'post',
data: data
})
}
export function categoods(params) {
return request({
url: '/pms/PmsAlbumPic/list',
method: 'get',
params: params
})
}
export function deleteImg(id) {
return request({
url: '/pms/PmsAlbumPic/delete/' + id,
method: 'get',
})
}

View File

@@ -0,0 +1,38 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/pms/PmsFeightTemplate/list',
method: 'get',
params: params
})
}
export function createFeightTemplate(data) {
return request({
url: '/pms/PmsFeightTemplate/create',
method: 'post',
data: data
})
}
export function deleteFeightTemplate(id) {
return request({
url: '/pms/PmsFeightTemplate/delete/' + id,
method: 'get',
})
}
export function getFeightTemplate(id) {
return request({
url: '/pms/PmsFeightTemplate/' + id,
method: 'get',
})
}
export function updateFeightTemplate(id, data) {
return request({
url: '/pms/PmsFeightTemplate/update/' + id,
method: 'post',
data: data
})
}

View File

@@ -0,0 +1,45 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/pms/PmsProductConsult/list',
method:'get',
params:params
})
}
export function createGifts(data) {
return request({
url:'/pms/PmsProductConsult/create',
method:'post',
data:data
})
}
export function deleteGifts(id) {
return request({
url:'/pms/PmsProductConsult/delete/'+id,
method:'get',
})
}
export function getGifts(id) {
return request({
url:'/pms/PmsProductConsult/'+id,
method:'get',
})
}
export function updateGifts(id,data) {
return request({
url:'/pms/PmsProductConsult/update/'+id,
method:'post',
data:data
})
}
export function updateShowStatus(params) {
return request({
url:'/pms/PmsProductConsult/update/updateShowStatus',
method:'post',
params:params
})
}

View File

@@ -0,0 +1,38 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/pms/smallNaviconCategory/list',
method:'get',
params:params
})
}
export function createSmallNaviconCategory(data) {
return request({
url:'/pms/smallNaviconCategory/create',
method:'post',
data:data
})
}
export function deleteSmallNaviconCategory(id) {
return request({
url:'/pms/smallNaviconCategory/delete/'+id,
method:'get',
})
}
export function getSmallNaviconCategory(id) {
return request({
url:'/pms/smallNaviconCategory/'+id,
method:'get',
})
}
export function updateSmallNaviconCategory(id,data) {
return request({
url:'/pms/smallNaviconCategory/update/'+id,
method:'post',
data:data
})
}

View File

@@ -0,0 +1,38 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/sys/adminDayStatics/list',
method: 'get',
params: params
})
}
export function createAdminDayStatics(data) {
return request({
url: '/sys/adminDayStatics/create',
method: 'post',
data: data
})
}
export function deleteAdminDayStatics(id) {
return request({
url: '/sys/adminDayStatics/delete/' + id,
method: 'get',
})
}
export function getAdminDayStatics(id) {
return request({
url: '/sys/adminDayStatics/' + id,
method: 'get',
})
}
export function updateAdminDayStatics(id, data) {
return request({
url: '/sys/adminDayStatics/update/' + id,
method: 'post',
data: data
})
}

46
src/api/sys/adminLog.js Normal file
View File

@@ -0,0 +1,46 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/sys/SysAdminLog/list',
method:'get',
params:params
})
}
export function logStatic(params) {
return request({
url:'/sys/SysAdminLog/logStatic',
method:'get',
params:params
})
}
export function createAdminLog(data) {
return request({
url:'/sys/SysAdminLog/create',
method:'post',
data:data
})
}
export function deleteAdminLog(id) {
return request({
url:'/sys/SysAdminLog/delete/'+id,
method:'get',
})
}
export function getAdminLog(id) {
return request({
url:'/sys/SysAdminLog/'+id,
method:'get',
})
}
export function updateAdminLog(id,data) {
return request({
url:'/sys/SysAdminLog/update/'+id,
method:'post',
data:data
})
}

26
src/api/sys/alipay.js Normal file
View File

@@ -0,0 +1,26 @@
import request from '@/utils/request'
// 支付
export function toAliPay(url, data) {
return request({
url: '/api/' + url,
data,
method: 'post'
})
}
export function get(id) {
return request({
url: '/api/aliPay/' + id,
method: 'get',
})
}
export function update( data) {
return request({
url: '/api/aliPay/update',
method: 'post',
data: data
})
}

38
src/api/sys/dict.js Normal file
View File

@@ -0,0 +1,38 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/sys/SysDict/list',
method: 'get',
params: params
})
}
export function createDict(data) {
return request({
url: '/sys/SysDict/create',
method: 'post',
data: data
})
}
export function deleteDict(id) {
return request({
url: '/sys/SysDict/delete/' + id,
method: 'delete',
})
}
export function getDict(id) {
return request({
url: '/sys/SysDict/' + id,
method: 'get',
})
}
export function updateDict(id, data) {
return request({
url: '/sys/SysDict/update/' + id,
method: 'post',
data: data
})
}

24
src/api/sys/email.js Normal file
View File

@@ -0,0 +1,24 @@
import request from '@/utils/request'
export function get(id) {
return request({
url: '/sys/sysEmailConfig/' + id,
method: 'get'
})
}
export function update(data) {
return request({
url: '/sys/sysEmailConfig/update',
data,
method: 'post'
})
}
export function send(data) {
return request({
url: '/sys/sysEmailConfig/send',
data,
method: 'post'
})
}

31
src/api/sys/gen.js Normal file
View File

@@ -0,0 +1,31 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/gen/tables',
method:'get',
params:params
})
}
export function generator(data, tableName) {
return request({
url: '/gen?tableName=' + tableName,
data,
method: 'post'
})
}
export function get() {
return request({
url: 'gen/get',
method: 'get'
})
}
export function update(data) {
return request({
url: 'gen/update',
data,
method: 'post'
})
}

69
src/api/sys/job.js Normal file
View File

@@ -0,0 +1,69 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/sys/adminSysJob/list',
method: 'get',
params: params
})
}
export function fetchJobLogList(params) {
return request({
url: '/sys/adminSysJobLog/list',
method: 'get',
params: params
})
}
export function createJob(data) {
return request({
url: '/sys/adminSysJob/create',
method: 'post',
data: data
})
}
export function deleteJob(id) {
return request({
url: '/sys/adminSysJob/delete/' + id,
method: 'delete',
})
}
export function getJob(id) {
return request({
url: '/sys/adminSysJob/' + id,
method: 'get',
})
}
export function updateJob(id, data) {
return request({
url: '/sys/adminSysJob/update/' + id,
method: 'post',
data: data
})
}
export function changeStatus( data) {
return request({
url: '/sys/adminSysJob/changeStatus',
method: 'post',
data: data
})
}
export function run( data) {
return request({
url: '/sys/adminSysJob/run',
method: 'post',
data: data
})
}
export function checkCronExpressionIsValid( data) {
return request({
url: '/sys/adminSysJob/checkCronExpressionIsValid',
method: 'post',
data: data
})
}

View File

@@ -0,0 +1,38 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/sys/permissionCategory/list',
method:'get',
params:params
})
}
export function createPermissionCategory(data) {
return request({
url:'/sys/permissionCategory/create',
method:'post',
data:data
})
}
export function deletePermissionCategory(id) {
return request({
url:'/sys/permissionCategory/delete/'+id,
method:'get',
})
}
export function getPermissionCategory(id) {
return request({
url:'/sys/permissionCategory/'+id,
method:'get',
})
}
export function updatePermissionCategory(id,data) {
return request({
url:'/sys/permissionCategory/update/'+id,
method:'post',
data:data
})
}

52
src/api/sys/store.js Normal file
View File

@@ -0,0 +1,52 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/sys/sysStore/list',
method:'get',
params:params
})
}
export function setStoreId(id) {
return request({
url:'/sys/sysStore/setStoreId/'+id,
method:'get',
})
}
export function createStore(data) {
return request({
url:'/sys/sysStore/create',
method:'post',
data:data
})
}
export function deleteStore(id) {
return request({
url:'/sys/sysStore/delete/'+id,
method:'get',
})
}
export function getStore(id) {
return request({
url:'/sys/sysStore/'+id,
method:'get',
})
}
export function updateStore(id,data) {
return request({
url:'/sys/sysStore/update/'+id,
method:'post',
data:data
})
}
export function listBakCate(params) {
return request({
url:'/sys/sysStore/listBakCate',
method:'get',
params:params
})
}

38
src/api/sys/sysShop.js Normal file
View File

@@ -0,0 +1,38 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/sys/sysShop/list',
method: 'get',
params: params
})
}
export function createSysShop(data) {
return request({
url: '/sys/sysShop/create',
method: 'post',
data: data
})
}
export function deleteSysShop(id) {
return request({
url: '/sys/sysShop/delete/' + id,
method: 'get',
})
}
export function getSysShop(id) {
return request({
url: '/sys/sysShop/' + id,
method: 'get',
})
}
export function updateSysShop(id, data) {
return request({
url: '/sys/sysShop/update/' + id,
method: 'post',
data: data
})
}

57
src/api/sys/sysStore.js Normal file
View File

@@ -0,0 +1,57 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/sys/sysStore/list',
method: 'get',
params: params
})
}
export function createSysStore(data) {
return request({
url: '/sys/sysStore/create',
method: 'post',
data: data
})
}
export function deleteSysStore(id) {
return request({
url: '/sys/sysStore/delete/' + id,
method: 'get',
})
}
export function getSysStore(id) {
return request({
url: '/sys/sysStore/' + id,
method: 'get',
})
}
export function updateSysStore(id, data) {
return request({
url: '/sys/sysStore/update/' + id,
method: 'post',
data: data
})
}
export function updateShowStatus(data) {
return request({
url:'/sys/sysStore/update/showStatus',
method:'post',
data:data
})
}
export function audit(data) {
return request({
url:'/sys/sysStore/update/audit',
method:'post',
data:data
})
}
export function getCurrentStore() {
return request({
url: '/sys/sysStore/getCurrentStore',
method: 'get',
})
}

View File

@@ -0,0 +1,44 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/sys/sysStoreCash/list',
method: 'get',
params: params
})
}
export function createSysStoreCash(data) {
return request({
url: '/sys/sysStoreCash/create',
method: 'post',
data: data
})
}
export function deleteSysStoreCash(id) {
return request({
url: '/sys/sysStoreCash/delete/' + id,
method: 'get',
})
}
export function getSysStoreCash(id) {
return request({
url: '/sys/sysStoreCash/' + id,
method: 'get',
})
}
export function updateSysStoreCash(id, data) {
return request({
url: '/sys/sysStoreCash/update/' + id,
method: 'post',
data: data
})
}
export function audit(data) {
return request({
url:'/sys/sysStore/update/audit',
method:'post',
data:data
})
}

View File

@@ -0,0 +1,38 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/sys/sysStoreClass/list',
method: 'get',
params: params
})
}
export function createSysStoreClass(data) {
return request({
url: '/sys/sysStoreClass/create',
method: 'post',
data: data
})
}
export function deleteSysStoreClass(id) {
return request({
url: '/sys/sysStoreClass/delete/' + id,
method: 'get',
})
}
export function getSysStoreClass(id) {
return request({
url: '/sys/sysStoreClass/' + id,
method: 'get',
})
}
export function updateSysStoreClass(id, data) {
return request({
url: '/sys/sysStoreClass/update/' + id,
method: 'post',
data: data
})
}

View File

@@ -0,0 +1,38 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/sys/sysStoreComment/list',
method: 'get',
params: params
})
}
export function createSysStoreComment(data) {
return request({
url: '/sys/sysStoreComment/create',
method: 'post',
data: data
})
}
export function deleteSysStoreComment(id) {
return request({
url: '/sys/sysStoreComment/delete/' + id,
method: 'get',
})
}
export function getSysStoreComment(id) {
return request({
url: '/sys/sysStoreComment/' + id,
method: 'get',
})
}
export function updateSysStoreComment(id, data) {
return request({
url: '/sys/sysStoreComment/update/' + id,
method: 'post',
data: data
})
}

View File

@@ -0,0 +1,62 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/sys/sysStoreDepositLog/list',
method: 'get',
params: params
})
}
export function createSysStoreDepositLog(data) {
return request({
url: '/sys/sysStoreDepositLog/create',
method: 'post',
data: data
})
}
export function deleteSysStoreDepositLog(id) {
return request({
url: '/sys/sysStoreDepositLog/delete/' + id,
method: 'get',
})
}
export function getSysStoreDepositLog(id) {
return request({
url: '/sys/sysStoreDepositLog/' + id,
method: 'get',
})
}
export function updateSysStoreDepositLog(id, data) {
return request({
url: '/sys/sysStoreDepositLog/update/' + id,
method: 'post',
data: data
})
}
export function addStoreMoney(data) {
return request({
url: '/sys/sysStoreDepositLog/addStoreMoney',
method: 'post',
data: data
})
}
export function drawStoreMoney(data) {
return request({
url: '/sys/sysStoreDepositLog/drawStoreMoney',
method: 'post',
data: data
})
}
export function auditStoreMoney(data) {
return request({
url: '/sys/sysStoreDepositLog/auditStoreMoney',
method: 'post',
data: data
})
}

View File

@@ -0,0 +1,38 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/sys/sysStoreRank/list',
method: 'get',
params: params
})
}
export function createSysStoreRank(data) {
return request({
url: '/sys/sysStoreRank/create',
method: 'post',
data: data
})
}
export function deleteSysStoreRank(id) {
return request({
url: '/sys/sysStoreRank/delete/' + id,
method: 'get',
})
}
export function getSysStoreRank(id) {
return request({
url: '/sys/sysStoreRank/' + id,
method: 'get',
})
}
export function updateSysStoreRank(id, data) {
return request({
url: '/sys/sysStoreRank/update/' + id,
method: 'post',
data: data
})
}

38
src/api/sys/sysTest.js Normal file
View File

@@ -0,0 +1,38 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/sys/sysTest/list',
method: 'get',
params: params
})
}
export function createSysTest(data) {
return request({
url: '/sys/sysTest/create',
method: 'post',
data: data
})
}
export function deletes(id) {
return request({
url: '/sys/sysTest/delete/' + id,
method: 'delete',
})
}
export function getSysTest(id) {
return request({
url: '/sys/sysTest/' + id,
method: 'get',
})
}
export function updateSysTest(id, data) {
return request({
url: '/sys/sysTest/update/' + id,
method: 'post',
data: data
})
}

45
src/api/sys/webLog.js Normal file
View File

@@ -0,0 +1,45 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/sys/SysWebLog/list',
method:'get',
params:params
})
}
export function logStatic(params) {
return request({
url:'/sys/SysWebLog/logStatic',
method:'get',
params:params
})
}
export function createWebLog(data) {
return request({
url:'/sys/SysWebLog/create',
method:'post',
data:data
})
}
export function deleteWebLog(id) {
return request({
url:'/sys/SysWebLog/delete/'+id,
method:'get',
})
}
export function getWebLog(id) {
return request({
url:'/sys/SysWebLog/'+id,
method:'get',
})
}
export function updateWebLog(id,data) {
return request({
url:'/sys/SysWebLog/update/'+id,
method:'post',
data:data
})
}

View File

@@ -0,0 +1,15 @@
import request from '@/utils/request'
export function getOrderSetting(id) {
return request({
url:'/ums/SysAppletSet/'+id,
method:'get',
})
}
export function updateOrderSetting(id,data) {
return request({
url:'/ums/SysAppletSet/update/'+id,
method:'post',
data:data
})
}

View File

@@ -0,0 +1,15 @@
import request from '@/utils/request'
export function getOrderSetting(id) {
return request({
url:'/ums/UmsIntegrationConsumeSetting/'+id,
method:'get',
})
}
export function updateOrderSetting(id,data) {
return request({
url:'/ums/UmsIntegrationConsumeSetting/update/'+id,
method:'post',
data:data
})
}

81
src/api/ums/member.js Normal file
View File

@@ -0,0 +1,81 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/ums/UmsMember/list',
method:'get',
params:params
})
}
export function createMember(data) {
return request({
url:'/ums/UmsMember/create',
method:'post',
data:data
})
}
export function updateShowStatus(data) {
return request({
url:'/ums/UmsMember/update/showStatus',
method:'post',
data:data
})
}
export function updateFactoryStatus(data) {
return request({
url:'/ums/UmsMember/update/factoryStatus',
method:'post',
data:data
})
}
export function deleteMember(id) {
return request({
url:'/ums/UmsMember/delete/'+id,
method:'get',
})
}
export function getMember(id) {
return request({
url:'/ums/UmsMember/'+id,
method:'get',
})
}
export function updateMember(data) {
return request({
url:'/ums/UmsMember/update',
method:'post',
data:data
})
}
export function updateMemberOrderInfo() {
return request({
url:'/ums/UmsMember/updateMemberOrderInfo',
method:'post'
})
}
export function fetchBlanceList(id) {
return request({
url:'/ums/UmsMember/fetchBlanceList/'+id,
method:'get',
})
}
export function handleEditBlance(data) {
return request({
url:'/ums/UmsMember/handleEditBlance',
method:'post',
data:data
})
}
export function handleEditIntegration(data) {
return request({
url:'/ums/UmsMember/handleEditIntegration',
method:'post',
data:data
})
}

View File

@@ -0,0 +1,7 @@
import request from '@/utils/request'
export function fetchList() {
return request({
url:'/ums/UmsMemberReceiveAddress/list',
method:'get'
})
}

View File

@@ -0,0 +1,38 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/ums/UmsMemberBlanceLog/list',
method:'get',
params:params
})
}
export function createMemberBlanceLog(data) {
return request({
url:'/ums/UmsMemberBlanceLog/create',
method:'post',
data:data
})
}
export function deleteMemberBlanceLog(id) {
return request({
url:'/ums/UmsMemberBlanceLog/delete/'+id,
method:'get',
})
}
export function getMemberBlanceLog(id) {
return request({
url:'/ums/UmsMemberBlanceLog/'+id,
method:'get',
})
}
export function updateMemberBlanceLog(id,data) {
return request({
url:'/ums/UmsMemberBlanceLog/update/'+id,
method:'post',
data:data
})
}

View File

@@ -0,0 +1,38 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/ums/UmsIntegrationChangeHistory/list',
method:'get',
params:params
})
}
export function createMemberBlanceLog(data) {
return request({
url:'/ums/UmsIntegrationChangeHistory/create',
method:'post',
data:data
})
}
export function deleteMemberBlanceLog(id) {
return request({
url:'/ums/UmsIntegrationChangeHistory/delete/'+id,
method:'get',
})
}
export function getMemberBlanceLog(id) {
return request({
url:'/ums/UmsIntegrationChangeHistory/'+id,
method:'get',
})
}
export function updateMemberBlanceLog(id,data) {
return request({
url:'/ums/UmsIntegrationChangeHistory/update/'+id,
method:'post',
data:data
})
}

38
src/api/ums/school.js Normal file
View File

@@ -0,0 +1,38 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/sys/SysSchool/list',
method:'get',
params:params
})
}
export function createSchool(data) {
return request({
url:'/sys/SysSchool/create',
method:'post',
data:data
})
}
export function deleteSchool(id) {
return request({
url:'/sys/SysSchool/delete/'+id,
method:'get',
})
}
export function getSchool(id) {
return request({
url:'/sys/SysSchool/'+id,
method:'get',
})
}
export function updateSchool(id,data) {
return request({
url:'/sys/SysSchool/update/'+id,
method:'post',
data:data
})
}

23
src/api/ums/sysMessage.js Normal file
View File

@@ -0,0 +1,23 @@
import request from '@/utils/request'
export function sendToOne(data) {
return request({
url:'/ums/sysMessage/sendToOne',
method:'post',
data:data
})
}
export function sendToAll(data) {
return request({
url:'/ums/sysMessage/sendToAll',
method:'post',
data:data
})
}
export function sendToSelect(data) {
return request({
url:'/ums/sysMessage/sendToSelect',
method:'post',
data:data
})
}

View File

@@ -0,0 +1,83 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/ums/sysMessageTask/list',
method: 'get',
params: params
})
}
export function createMessageTask(data) {
return request({
url: '/ums/sysMessageTask/create',
method: 'post',
data: data
})
}
export function deleteMessageTask(id) {
return request({
url: '/ums/sysMessageTask/delete/' + id,
method: 'get',
})
}
export function updateShowStatus(data) {
return request({
url: '/ums/sysMessageTask/update/showStatus',
method: 'post',
data: data
})
}
export function updateFactoryStatus(data) {
return request({
url: '/ums/sysMessageTask/update/factoryStatus',
method: 'post',
data: data
})
}
export function getMember(id) {
return request({
url: '/ums/sysMessageTask/' + id,
method: 'get',
})
}
export function updateMember(data) {
return request({
url: '/ums/sysMessageTask/update',
method: 'post',
data: data
})
}
export function updateMemberOrderInfo() {
return request({
url: '/ums/sysMessageTask/updateMemberOrderInfo',
method: 'post'
})
}
export function fetchBlanceList(id) {
return request({
url: '/ums/sysMessageTask/fetchBlanceList/' + id,
method: 'get',
})
}
export function handleEditBlance(data) {
return request({
url: '/ums/sysMessageTask/handleEditBlance',
method: 'post',
data: data
})
}
export function handleEditIntegration(data) {
return request({
url: '/ums/sysMessageTask/handleEditIntegration',
method: 'post',
data: data
})
}

View File

@@ -0,0 +1,44 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url: '/ums/UmsMemberTag/list',
method: 'get',
params: params
})
}
export function createUmsMemberTag(data) {
return request({
url: '/ums/UmsMemberTag/create',
method: 'post',
data: data
})
}
export function deleteUmsMemberTag(id) {
return request({
url: '/ums/UmsMemberTag/delete/' + id,
method: 'get',
})
}
export function getUmsMemberTag(id) {
return request({
url: '/ums/UmsMemberTag/' + id,
method: 'get',
})
}
export function updateUmsMemberTag(id, data) {
return request({
url: '/ums/UmsMemberTag/update/' + id,
method: 'post',
data: data
})
}
export function updateShowStatus(data) {
return request({
url:'/ums/UmsMemberTag/update/showStatus',
method:'post',
data:data
})
}

View File

@@ -0,0 +1,133 @@
<template>
<div class="upload-container">
<el-button
icon="el-icon-upload"
size="mini"
:style="{background:color,borderColor:color}"
type="primary"
@click=" dialogVisible=true"
>上传图片
</el-button>
<el-dialog append-to-body :visible.sync="dialogVisible">
<el-upload
class="editor-slide-upload"
:action="uploadAction"
:headers="accessToken"
:data="dataObj"
:multiple="true"
:file-list="fileList"
:show-file-list="true"
list-type="picture-card"
:on-remove="handleRemove"
:on-success="handleSuccess"
:before-upload="beforeUpload"
>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="handleSubmit"> </el-button>
</el-dialog>
</div>
</template>
<script>
import { policy } from '@/api/oss'
import { getStorage } from '@/utils/auth.js'
export default {
name: 'EditorSlideUpload',
props: {
color: {
type: String,
default: '#1890ff'
}
},
data() {
return {
uploadAction: process.env.VUE_APP_BASE_API + '/file/upload',
accessToken: null,
dialogVisible: false,
listObj: {},
fileList: [],
dataObj: {
policy: '',
signature: '',
key: '',
ossaccessKeyId: '',
dir: '',
host: ''
}
}
},
created() {
this.accessToken = {
token: getStorage()
}
},
methods: {
checkAllSuccess() {
return Object.keys(this.listObj).every(item => this.listObj[item].hasSuccess)
},
handleSubmit() {
const arr = Object.keys(this.listObj).map(v => this.listObj[v])
if (!this.checkAllSuccess()) {
this.$message('请等待所有图片上传成功 或 出现了网络问题,请刷新页面重新上传!')
return
}
console.log(arr)
this.$emit('successCBK', arr)
this.listObj = {}
this.fileList = []
this.dialogVisible = false
},
handleSuccess(response, file) {
const uid = file.uid
const objKeyArr = Object.keys(this.listObj)
for (let i = 0, len = objKeyArr.length; i < len; i++) {
if (this.listObj[objKeyArr[i]].uid === uid) {
// this.listObj[objKeyArr[i]].url = this.dataObj.host + '/' + this.dataObj.dir + '/' + file.name
this.listObj[objKeyArr[i]].url = response.data.fullUrl
this.listObj[objKeyArr[i]].hasSuccess = true
return
}
}
},
handleRemove(file) {
const uid = file.uid
const objKeyArr = Object.keys(this.listObj)
for (let i = 0, len = objKeyArr.length; i < len; i++) {
if (this.listObj[objKeyArr[i]].uid === uid) {
delete this.listObj[objKeyArr[i]]
return
}
}
},
beforeUpload(file) {
// const _self = this
// const fileName = file.uid;
// this.listObj[fileName] = {};
// return new Promise((resolve, reject) => {
// policy().then(response => {
// _self.dataObj.policy = response.data.policy;
// _self.dataObj.signature = response.data.signature;
// _self.dataObj.ossaccessKeyId = response.data.accessKeyId;
// _self.dataObj.key = response.data.dir + '/${filename}';
// _self.dataObj.dir = response.data.dir;
// _self.dataObj.host = response.data.host;
// _self.listObj[fileName] = {hasSuccess: false, uid: file.uid, width: this.width, height: this.height};
// resolve(true)
// }).catch(err => {
// console.log(err)
// reject(false)
// })
// })
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.upload-container .editor-slide-upload{
margin-bottom: 20px;
}
</style>

View File

@@ -0,0 +1,163 @@
<template>
<div class="tinymce-container editor-container">
<textarea :id="tinymceId" class="tinymce-textarea" />
<div class="editor-custom-btn-container">
<editorImage color="#1890ff" class="editor-upload-btn" @successCBK="imageSuccessCBK" />
</div>
</div>
</template>
<script>
import editorImage from './components/editorImage'
import './zh_CN'
const plugins = [
`advlist anchor autolink autosave code codesample colorpicker colorpicker
contextmenu directionality emoticons fullscreen hr image imagetools importcss insertdatetime
legacyoutput link lists media nonbreaking noneditable pagebreak paste preview print save searchreplace
spellchecker tabfocus table template textcolor textpattern visualblocks visualchars wordcount`
]
const toolbar = [
`bold italic underline strikethrough alignleft aligncenter
alignright outdent indent blockquote undo redo removeformat`,
`hr bullist numlist link image charmap preview anchor pagebreak
fullscreen insertdatetime media table forecolor backcolor`
]
export default {
name: 'Tinymce',
components: { editorImage },
props: {
id: {
type: String
},
value: {
type: String,
default: ''
},
toolbar: {
type: Array,
required: false,
default() {
return []
}
},
menubar: {
default: 'file edit insert view format table'
},
height: {
type: Number,
required: false,
default: 360
},
width: {
type: Number,
required: false,
default: 720
}
},
data() {
return {
hasChange: false,
hasInit: false,
tinymceId: this.id || 'vue-tinymce-' + +new Date()
}
},
watch: {
value(val) {
if (!this.hasChange && this.hasInit) {
this.$nextTick(() => window.tinymce.get(this.tinymceId).setContent(val))
}
}
},
mounted() {
this.initTinymce()
},
activated() {
this.initTinymce()
},
deactivated() {
this.destroyTinymce()
},
destroyed() {
this.destroyTinymce()
},
methods: {
initTinymce() {
const _this = this
window.tinymce.init({
selector: `#${this.tinymceId}`,
width: this.width,
height: this.height,
language: 'zh_CN',
body_class: 'panel-body ',
object_resizing: false,
toolbar: this.toolbar.length > 0 ? this.toolbar : toolbar,
menubar: false,
plugins: plugins,
end_container_on_empty_block: true,
powerpaste_word_import: 'clean',
code_dialog_height: 450,
code_dialog_width: 1000,
advlist_bullet_styles: 'square',
advlist_number_styles: 'default',
imagetools_cors_hosts: ['www.tinymce.com', 'codepen.io'],
default_link_target: '_blank',
link_title: false,
init_instance_callback: editor => {
if (_this.value) {
editor.setContent(_this.value)
}
_this.hasInit = true
editor.on('NodeChange Change KeyUp SetContent', () => {
this.hasChange = true
this.$emit('input', editor.getContent())
})
}
})
},
destroyTinymce() {
if (window.tinymce.get(this.tinymceId)) {
window.tinymce.get(this.tinymceId).destroy()
}
},
setContent(value) {
window.tinymce.get(this.tinymceId).setContent(value)
},
getContent() {
window.tinymce.get(this.tinymceId).getContent()
},
imageSuccessCBK(arr) {
const _this = this
arr.forEach(v => {
window.tinymce.get(_this.tinymceId).insertContent(`<img class="wscnph" src="${v.url}" >`)
})
}
}
}
</script>
<style scoped>
.tinymce-container {
position: relative;
}
.tinymce-container >>> .mce-fullscreen {
z-index: 10000;
}
.tinymce-textarea {
visibility: hidden;
z-index: -1;
}
.editor-custom-btn-container {
position: absolute;
right: 10px;
top: 2px;
/*z-index: 2005;*/
}
.editor-upload-btn {
display: inline-block;
}
</style>

View File

@@ -0,0 +1,230 @@
tinymce.addI18n('zh_CN',{
"Cut": "\u526a\u5207",
"Heading 5": "\u6807\u98985",
"Header 2": "\u6807\u98982",
"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u4f60\u7684\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u5bf9\u526a\u8d34\u677f\u7684\u8bbf\u95ee\uff0c\u8bf7\u4f7f\u7528Ctrl+X\/C\/V\u952e\u8fdb\u884c\u590d\u5236\u7c98\u8d34\u3002",
"Heading 4": "\u6807\u98984",
"Div": "Div\u533a\u5757",
"Heading 2": "\u6807\u98982",
"Paste": "\u7c98\u8d34",
"Close": "\u5173\u95ed",
"Font Family": "\u5b57\u4f53",
"Pre": "\u9884\u683c\u5f0f\u6587\u672c",
"Align right": "\u53f3\u5bf9\u9f50",
"New document": "\u65b0\u6587\u6863",
"Blockquote": "\u5f15\u7528",
"Numbered list": "\u7f16\u53f7\u5217\u8868",
"Heading 1": "\u6807\u98981",
"Headings": "\u6807\u9898",
"Increase indent": "\u589e\u52a0\u7f29\u8fdb",
"Formats": "\u683c\u5f0f",
"Headers": "\u6807\u9898",
"Select all": "\u5168\u9009",
"Header 3": "\u6807\u98983",
"Blocks": "\u533a\u5757",
"Undo": "\u64a4\u6d88",
"Strikethrough": "\u5220\u9664\u7ebf",
"Bullet list": "\u9879\u76ee\u7b26\u53f7",
"Header 1": "\u6807\u98981",
"Superscript": "\u4e0a\u6807",
"Clear formatting": "\u6e05\u9664\u683c\u5f0f",
"Font Sizes": "\u5b57\u53f7",
"Subscript": "\u4e0b\u6807",
"Header 6": "\u6807\u98986",
"Redo": "\u91cd\u590d",
"Paragraph": "\u6bb5\u843d",
"Ok": "\u786e\u5b9a",
"Bold": "\u7c97\u4f53",
"Code": "\u4ee3\u7801",
"Italic": "\u659c\u4f53",
"Align center": "\u5c45\u4e2d",
"Header 5": "\u6807\u98985",
"Heading 6": "\u6807\u98986",
"Heading 3": "\u6807\u98983",
"Decrease indent": "\u51cf\u5c11\u7f29\u8fdb",
"Header 4": "\u6807\u98984",
"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u5f53\u524d\u4e3a\u7eaf\u6587\u672c\u7c98\u8d34\u6a21\u5f0f\uff0c\u518d\u6b21\u70b9\u51fb\u53ef\u4ee5\u56de\u5230\u666e\u901a\u7c98\u8d34\u6a21\u5f0f\u3002",
"Underline": "\u4e0b\u5212\u7ebf",
"Cancel": "\u53d6\u6d88",
"Justify": "\u4e24\u7aef\u5bf9\u9f50",
"Inline": "\u6587\u672c",
"Copy": "\u590d\u5236",
"Align left": "\u5de6\u5bf9\u9f50",
"Visual aids": "\u7f51\u683c\u7ebf",
"Lower Greek": "\u5c0f\u5199\u5e0c\u814a\u5b57\u6bcd",
"Square": "\u65b9\u5757",
"Default": "\u9ed8\u8ba4",
"Lower Alpha": "\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd",
"Circle": "\u7a7a\u5fc3\u5706",
"Disc": "\u5b9e\u5fc3\u5706",
"Upper Alpha": "\u5927\u5199\u82f1\u6587\u5b57\u6bcd",
"Upper Roman": "\u5927\u5199\u7f57\u9a6c\u5b57\u6bcd",
"Lower Roman": "\u5c0f\u5199\u7f57\u9a6c\u5b57\u6bcd",
"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "\u6807\u8bc6\u7b26\u5e94\u8be5\u4ee5\u5b57\u6bcd\u5f00\u5934\uff0c\u540e\u8ddf\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u7834\u6298\u53f7\u3001\u70b9\u3001\u5192\u53f7\u6216\u4e0b\u5212\u7ebf\u3002",
"Name": "\u540d\u79f0",
"Anchor": "\u951a\u70b9",
"Id": "\u6807\u8bc6\u7b26",
"You have unsaved changes are you sure you want to navigate away?": "\u4f60\u8fd8\u6709\u6587\u6863\u5c1a\u672a\u4fdd\u5b58\uff0c\u786e\u5b9a\u8981\u79bb\u5f00\uff1f",
"Restore last draft": "\u6062\u590d\u4e0a\u6b21\u7684\u8349\u7a3f",
"Special character": "\u7279\u6b8a\u7b26\u53f7",
"Source code": "\u6e90\u4ee3\u7801",
"Language": "\u8bed\u8a00",
"Insert\/Edit code sample": "\u63d2\u5165\/\u7f16\u8f91\u4ee3\u7801\u793a\u4f8b",
"B": "B",
"R": "R",
"G": "G",
"Color": "\u989c\u8272",
"Right to left": "\u4ece\u53f3\u5230\u5de6",
"Left to right": "\u4ece\u5de6\u5230\u53f3",
"Emoticons": "\u8868\u60c5",
"Robots": "\u673a\u5668\u4eba",
"Document properties": "\u6587\u6863\u5c5e\u6027",
"Title": "\u6807\u9898",
"Keywords": "\u5173\u952e\u8bcd",
"Encoding": "\u7f16\u7801",
"Description": "\u63cf\u8ff0",
"Author": "\u4f5c\u8005",
"Fullscreen": "\u5168\u5c4f",
"Horizontal line": "\u6c34\u5e73\u5206\u5272\u7ebf",
"Horizontal space": "\u6c34\u5e73\u8fb9\u8ddd",
"Insert\/edit image": "\u63d2\u5165\/\u7f16\u8f91\u56fe\u7247",
"General": "\u666e\u901a",
"Advanced": "\u9ad8\u7ea7",
"Source": "\u5730\u5740",
"Border": "\u8fb9\u6846",
"Constrain proportions": "\u4fdd\u6301\u7eb5\u6a2a\u6bd4",
"Vertical space": "\u5782\u76f4\u8fb9\u8ddd",
"Image description": "\u56fe\u7247\u63cf\u8ff0",
"Style": "\u6837\u5f0f",
"Dimensions": "\u5927\u5c0f",
"Insert image": "\u63d2\u5165\u56fe\u7247",
"Image": "\u56fe\u7247",
"Zoom in": "\u653e\u5927",
"Contrast": "\u5bf9\u6bd4\u5ea6",
"Back": "\u540e\u9000",
"Gamma": "\u4f3d\u9a6c\u503c",
"Flip horizontally": "\u6c34\u5e73\u7ffb\u8f6c",
"Resize": "\u8c03\u6574\u5927\u5c0f",
"Sharpen": "\u9510\u5316",
"Zoom out": "\u7f29\u5c0f",
"Image options": "\u56fe\u7247\u9009\u9879",
"Apply": "\u5e94\u7528",
"Brightness": "\u4eae\u5ea6",
"Rotate clockwise": "\u987a\u65f6\u9488\u65cb\u8f6c",
"Rotate counterclockwise": "\u9006\u65f6\u9488\u65cb\u8f6c",
"Edit image": "\u7f16\u8f91\u56fe\u7247",
"Color levels": "\u989c\u8272\u5c42\u6b21",
"Crop": "\u88c1\u526a",
"Orientation": "\u65b9\u5411",
"Flip vertically": "\u5782\u76f4\u7ffb\u8f6c",
"Invert": "\u53cd\u8f6c",
"Date\/time": "\u65e5\u671f\/\u65f6\u95f4",
"Insert date\/time": "\u63d2\u5165\u65e5\u671f\/\u65f6\u95f4",
"Remove link": "\u5220\u9664\u94fe\u63a5",
"Url": "\u5730\u5740",
"Text to display": "\u663e\u793a\u6587\u5b57",
"Anchors": "\u951a\u70b9",
"Insert link": "\u63d2\u5165\u94fe\u63a5",
"Link": "\u94fe\u63a5",
"New window": "\u5728\u65b0\u7a97\u53e3\u6253\u5f00",
"None": "\u65e0",
"The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u5c5e\u4e8e\u5916\u90e8\u94fe\u63a5\uff0c\u9700\u8981\u52a0\u4e0ahttp:\/\/:\u524d\u7f00\u5417\uff1f",
"Paste or type a link": "\u7c98\u8d34\u6216\u8f93\u5165\u94fe\u63a5",
"Target": "\u6253\u5f00\u65b9\u5f0f",
"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u4e3a\u90ae\u4ef6\u5730\u5740\uff0c\u9700\u8981\u52a0\u4e0amailto:\u524d\u7f00\u5417\uff1f",
"Insert\/edit link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5",
"Insert\/edit video": "\u63d2\u5165\/\u7f16\u8f91\u89c6\u9891",
"Media": "\u5a92\u4f53",
"Alternative source": "\u955c\u50cf",
"Paste your embed code below:": "\u5c06\u5185\u5d4c\u4ee3\u7801\u7c98\u8d34\u5728\u4e0b\u9762:",
"Insert video": "\u63d2\u5165\u89c6\u9891",
"Poster": "\u5c01\u9762",
"Insert\/edit media": "\u63d2\u5165\/\u7f16\u8f91\u5a92\u4f53",
"Embed": "\u5185\u5d4c",
"Nonbreaking space": "\u4e0d\u95f4\u65ad\u7a7a\u683c",
"Page break": "\u5206\u9875\u7b26",
"Paste as text": "\u7c98\u8d34\u4e3a\u6587\u672c",
"Preview": "\u9884\u89c8",
"Print": "\u6253\u5370",
"Save": "\u4fdd\u5b58",
"Could not find the specified string.": "\u672a\u627e\u5230\u641c\u7d22\u5185\u5bb9.",
"Replace": "\u66ff\u6362",
"Next": "\u4e0b\u4e00\u4e2a",
"Whole words": "\u5168\u5b57\u5339\u914d",
"Find and replace": "\u67e5\u627e\u548c\u66ff\u6362",
"Replace with": "\u66ff\u6362\u4e3a",
"Find": "\u67e5\u627e",
"Replace all": "\u5168\u90e8\u66ff\u6362",
"Match case": "\u533a\u5206\u5927\u5c0f\u5199",
"Prev": "\u4e0a\u4e00\u4e2a",
"Spellcheck": "\u62fc\u5199\u68c0\u67e5",
"Finish": "\u5b8c\u6210",
"Ignore all": "\u5168\u90e8\u5ffd\u7565",
"Ignore": "\u5ffd\u7565",
"Add to Dictionary": "\u6dfb\u52a0\u5230\u5b57\u5178",
"Insert row before": "\u5728\u4e0a\u65b9\u63d2\u5165",
"Rows": "\u884c",
"Height": "\u9ad8",
"Paste row after": "\u7c98\u8d34\u5230\u4e0b\u65b9",
"Alignment": "\u5bf9\u9f50\u65b9\u5f0f",
"Border color": "\u8fb9\u6846\u989c\u8272",
"Column group": "\u5217\u7ec4",
"Row": "\u884c",
"Insert column before": "\u5728\u5de6\u4fa7\u63d2\u5165",
"Split cell": "\u62c6\u5206\u5355\u5143\u683c",
"Cell padding": "\u5355\u5143\u683c\u5185\u8fb9\u8ddd",
"Cell spacing": "\u5355\u5143\u683c\u5916\u95f4\u8ddd",
"Row type": "\u884c\u7c7b\u578b",
"Insert table": "\u63d2\u5165\u8868\u683c",
"Body": "\u8868\u4f53",
"Caption": "\u6807\u9898",
"Footer": "\u8868\u5c3e",
"Delete row": "\u5220\u9664\u884c",
"Paste row before": "\u7c98\u8d34\u5230\u4e0a\u65b9",
"Scope": "\u8303\u56f4",
"Delete table": "\u5220\u9664\u8868\u683c",
"H Align": "\u6c34\u5e73\u5bf9\u9f50",
"Top": "\u9876\u90e8\u5bf9\u9f50",
"Header cell": "\u8868\u5934\u5355\u5143\u683c",
"Column": "\u5217",
"Row group": "\u884c\u7ec4",
"Cell": "\u5355\u5143\u683c",
"Middle": "\u5782\u76f4\u5c45\u4e2d",
"Cell type": "\u5355\u5143\u683c\u7c7b\u578b",
"Copy row": "\u590d\u5236\u884c",
"Row properties": "\u884c\u5c5e\u6027",
"Table properties": "\u8868\u683c\u5c5e\u6027",
"Bottom": "\u5e95\u90e8\u5bf9\u9f50",
"V Align": "\u5782\u76f4\u5bf9\u9f50",
"Header": "\u8868\u5934",
"Right": "\u53f3\u5bf9\u9f50",
"Insert column after": "\u5728\u53f3\u4fa7\u63d2\u5165",
"Cols": "\u5217",
"Insert row after": "\u5728\u4e0b\u65b9\u63d2\u5165",
"Width": "\u5bbd",
"Cell properties": "\u5355\u5143\u683c\u5c5e\u6027",
"Left": "\u5de6\u5bf9\u9f50",
"Cut row": "\u526a\u5207\u884c",
"Delete column": "\u5220\u9664\u5217",
"Center": "\u5c45\u4e2d",
"Merge cells": "\u5408\u5e76\u5355\u5143\u683c",
"Insert template": "\u63d2\u5165\u6a21\u677f",
"Templates": "\u6a21\u677f",
"Background color": "\u80cc\u666f\u8272",
"Custom...": "\u81ea\u5b9a\u4e49...",
"Custom color": "\u81ea\u5b9a\u4e49\u989c\u8272",
"No color": "\u65e0",
"Text color": "\u6587\u5b57\u989c\u8272",
"Table of Contents": "\u5185\u5bb9\u5217\u8868",
"Show blocks": "\u663e\u793a\u533a\u5757\u8fb9\u6846",
"Show invisible characters": "\u663e\u793a\u4e0d\u53ef\u89c1\u5b57\u7b26",
"Words: {0}": "\u5b57\u6570\uff1a{0}",
"Insert": "\u63d2\u5165",
"File": "\u6587\u4ef6",
"Edit": "\u7f16\u8f91",
"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u5728\u7f16\u8f91\u533a\u6309ALT-F9\u6253\u5f00\u83dc\u5355\uff0c\u6309ALT-F10\u6253\u5f00\u5de5\u5177\u680f\uff0c\u6309ALT-0\u67e5\u770b\u5e2e\u52a9",
"Tools": "\u5de5\u5177",
"View": "\u89c6\u56fe",
"Table": "\u8868\u683c",
"Format": "\u683c\u5f0f"
});

View File

@@ -86,7 +86,7 @@
this.dialogVisible = true
},
beforeUpload(file) {
const _self = this
// const _self = this
// return new Promise((resolve, reject) => {
// policy().then(response => {
// _self.dataObj.policy = response.data.policy;
@@ -103,8 +103,6 @@
// })
},
handleUploadSuccess(res, file) {
console.log('LLLLL', res)
console.log('FFFFF', file)
this.showFileList = true
this.fileList.pop()
// this.fileList.push({ name: file.name, url: this.dataObj.host + '/' + this.dataObj.dir + '/' + file.name })

View File

@@ -71,7 +71,16 @@
},
name: '/pms/product',
path: '/pms/product'
}, {
},
{
path: '/pms/addProduct',
name: '/pms/addProduct',
component: 'addProduct',
meta: {
title: '添加商品',
icon: 'el-icon-help'
}
}, {
alwaysShow: true,
component: 'brand',
meta: {

View File

@@ -81,6 +81,33 @@ export const constantRoutes = [{
title: '商品列表',
icon: 'product-list'
}
},
{
path: 'addProduct',
name: 'addProduct',
component: () => import('@/views/pms/product/add'),
meta: {
title: '添加商品',
icon: 'product-add'
}
}, {
path: 'updateProduct',
name: 'updateProduct',
component: () => import('@/views/pms/product/update'),
meta: {
title: '修改商品',
icon: 'product-add'
},
hidden: true
}, {
path: 'productRecycle',
name: 'productRecycle',
component: () => import('@/views/pms/product/index'),
meta: {
title: '商品回收站',
icon: 'product-recycle'
},
hidden: true
},{
path: 'brand',
component: () =>

View File

@@ -0,0 +1,12 @@
<template> 
<product-detail :is-edit='false'></product-detail>
</template>
<script>
import ProductDetail from './components/ProductDetail'
export default {
name: 'addProduct',
components: { ProductDetail }
}
</script>
<style>
</style>

View File

@@ -1,10 +1,14 @@
<template> 
<product-detail :is-edit='false'></product-detail>
<template>
<div class="main-content">
<product-detail :is-edit="false" />
</div>
</template>
<script>
import ProductDetail from './components/ProductDetail'
export default {
name: 'addProduct',
name: 'AddProduct',
components: { ProductDetail }
}
</script>

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,7 @@
<template> 
<div class="main-content">
<product-detail :is-edit='true'></product-detail>
</div>
</template>
<script>
import ProductDetail from './components/ProductDetail'

View File

@@ -1,36 +1,38 @@
<template>
<el-card class="form-container" shadow="never">
<el-form :model="productAttr" :rules="rules" ref="productAttrFrom" label-width="150px">
<el-form-item label="属性名称:" prop="name">
<el-input v-model="productAttr.name"></el-input>
</el-form-item>
<el-form-item label="商品类型:">
<el-select v-model="productAttr.productAttributeCategoryId" placeholder="请选择">
<el-option
v-for="item in productAttrCateList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="类型:">
<el-radio-group v-model="productAttr.type">
<el-radio :label="1">属性</el-radio>
<el-radio :label="0">规格</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit('productAttrFrom')">提交</el-button>
<el-button v-if="!isEdit" @click="resetForm('productAttrFrom')">重置</el-button>
</el-form-item>
</el-form>
</el-card>
<div class="main-content">
<el-card class="form-container" shadow="never">
<el-form ref="productAttrFrom" :model="productAttr" :rules="rules" label-width="150px">
<el-form-item label="属性名称:" prop="name">
<el-input v-model="productAttr.name" />
</el-form-item>
<el-form-item label="商品类型:">
<el-select v-model="productAttr.productAttributeCategoryId" placeholder="请选择">
<el-option
v-for="item in productAttrCateList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="类型:">
<el-radio-group v-model="productAttr.type">
<el-radio :label="1">属性</el-radio>
<el-radio :label="0">规格</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit('productAttrFrom')">提交</el-button>
<el-button v-if="!isEdit" @click="resetForm('productAttrFrom')">重置</el-button>
</el-form-item>
</el-form>
</el-card>
</div>
</template>
<script>
import {fetchList} from '@/api/productAttrCate'
import {createProductAttr,getProductAttr,updateProductAttr} from '@/api/productAttr'
import { fetchList } from '@/api/productAttrCate'
import { createProductAttr, getProductAttr, updateProductAttr } from '@/api/productAttr'
const defaultProductAttr = {
filterType: 0,
@@ -44,9 +46,9 @@
selectType: 0,
sort: 0,
type: 0
};
}
export default {
name: "ProductAttrDetail",
name: 'ProductAttrDetail',
props: {
isEdit: {
type: Boolean,
@@ -58,42 +60,42 @@
productAttr: Object.assign({}, defaultProductAttr),
rules: {
name: [
{required: true, message: '请输入属性名称', trigger: 'blur'},
{min: 2, max: 140, message: '长度在 2 到 140 个字符', trigger: 'blur'}
{ required: true, message: '请输入属性名称', trigger: 'blur' },
{ min: 2, max: 140, message: '长度在 2 到 140 个字符', trigger: 'blur' }
]
},
productAttrCateList: null,
inputListFormat:null
inputListFormat: null
}
},
watch: {
inputListFormat: function(newValue, oldValue) {
newValue = newValue.replace(/\n/g, ',')
this.productAttr.inputList = newValue
}
},
created() {
if(this.isEdit){
if (this.isEdit) {
getProductAttr(this.$route.query.id).then(response => {
this.productAttr = response.data;
this.inputListFormat = this.productAttr.inputList.replace(/,/g,'\n');
});
}else{
this.resetProductAttr();
}
this.getCateList();
},
watch:{
inputListFormat: function (newValue, oldValue) {
newValue = newValue.replace(/\n/g,',');
this.productAttr.inputList = newValue;
this.productAttr = response.data
this.inputListFormat = this.productAttr.inputList.replace(/,/g, '\n')
})
} else {
this.resetProductAttr()
}
this.getCateList()
},
methods: {
getCateList() {
let listQuery = {pageNum: 1, pageSize: 100};
const listQuery = { pageNum: 1, pageSize: 100 }
fetchList(listQuery).then(response => {
this.productAttrCateList = response.data.records;
});
this.productAttrCateList = response.data.records
})
},
resetProductAttr() {
this.productAttr = Object.assign({}, defaultProductAttr);
this.productAttr.productAttributeCategoryId = Number(this.$route.query.cid);
this.productAttr.type = Number(this.$route.query.type);
this.productAttr = Object.assign({}, defaultProductAttr)
this.productAttr.productAttributeCategoryId = Number(this.$route.query.cid)
this.productAttr.type = Number(this.$route.query.type)
},
onSubmit(formName) {
this.$refs[formName].validate((valid) => {
@@ -103,42 +105,41 @@
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
if(this.isEdit){
updateProductAttr(this.$route.query.id,this.productAttr).then(response=>{
if (this.isEdit) {
updateProductAttr(this.$route.query.id, this.productAttr).then(response => {
this.$message({
message: '修改成功',
type: 'success',
duration: 1000
});
this.$router.back();
});
}else{
createProductAttr(this.productAttr).then(response=>{
})
this.$router.back()
})
} else {
createProductAttr(this.productAttr).then(response => {
this.$message({
message: '提交成功',
type: 'success',
duration: 1000
});
this.resetForm('productAttrFrom');
});
})
this.resetForm('productAttrFrom')
})
}
});
})
} else {
this.$message({
message: '验证失败',
type: 'error',
duration: 1000
});
return false;
})
return false
}
});
})
},
resetForm(formName) {
this.$refs[formName].resetFields();
this.resetProductAttr();
this.$refs[formName].resetFields()
this.resetProductAttr()
}
},
}
}
</script>

View File

@@ -1,28 +1,31 @@
<template> 
<template>
<div class="app-container">
<el-card class="operate-container" shadow="never">
<i class="el-icon-tickets" style="margin-top: 5px"></i>
<span style="margin-top: 5px">数据列表</span>
<!-- <el-button
<div class="main-content">
<el-card class="operate-container" shadow="never">
<i class="el-icon-tickets" style="margin-top: 5px" />
<span style="margin-top: 5px">数据列表</span>
<!-- <el-button
class="btn-add"
@click="addProductAttrCate()"
size="mini">
添加
</el-button> -->
</el-card>
<div class="table-container">
<el-table ref="productAttrCateTable"
style="width: 100%"
:data="list"
v-loading="listLoading"
border>
<el-table-column label="编号" width="100" align="center">
<template slot-scope="scope">{{scope.row.id}}</template>
</el-table-column>
<el-table-column label="类型名称" align="center">
<template slot-scope="scope">{{scope.row.name}}</template>
</el-table-column>
<!-- <el-table-column label="属性数量" width="200" align="center">
</el-card>
<div class="table-container">
<el-table
ref="productAttrCateTable"
v-loading="listLoading"
style="width: 100%"
:data="list"
border
>
<el-table-column label="编号" width="100" align="center">
<template slot-scope="scope">{{ scope.row.id }}</template>
</el-table-column>
<el-table-column label="类型名称" align="center">
<template slot-scope="scope">{{ scope.row.name }}</template>
</el-table-column>
<!-- <el-table-column label="属性数量" width="200" align="center">
<template slot-scope="scope">{{scope.row.attributeCount==null?0:scope.row.attributeCount}}</template>
</el-table-column>
<el-table-column label="参数数量" width="200" align="center">
@@ -53,58 +56,60 @@
</el-button>
</template>
</el-table-column> -->
</el-table>
</div>
<div class="pagination-container">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
layout="total, sizes,prev, pager, next,jumper"
:page-size="listQuery.pageSize"
:page-sizes="[5,10,15]"
:current-page.sync="listQuery.pageNum"
:total="total">
</el-pagination>
</div>
<el-dialog
:title="dialogTitle"
:visible.sync="dialogVisible"
width="30%">
<el-form ref="productAttrCatForm":model="productAttrCate" :rules="rules" label-width="120px">
<el-form-item label="类型名称" prop="name">
<el-input v-model="productAttrCate.name" auto-complete="off"></el-input>
</el-form-item>
<el-form-item label="分类图标:">
<single-upload v-model="productAttrCate.pic"></single-upload>
</el-form-item>
</el-table>
</div>
<div class="pagination-container">
<el-pagination
background
layout="total, sizes,prev, pager, next,jumper"
:page-size="listQuery.pageSize"
:page-sizes="[5,10,15]"
:current-page.sync="listQuery.pageNum"
:total="total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</div>
<el-dialog
:title="dialogTitle"
:visible.sync="dialogVisible"
width="30%"
>
<el-form ref="productAttrCatForm":model="productAttrCate" :rules="rules" label-width="120px">
<el-form-item label="类型名称" prop="name">
<el-input v-model="productAttrCate.name" auto-complete="off" />
</el-form-item>
<el-form-item label="分类图标:">
<single-upload v-model="productAttrCate.pic" />
</el-form-item>
<el-form-item label="列表样式:">
<el-radio-group v-model="productAttrCate.style">
<el-radio :label="1">一列一个</el-radio>
<el-radio :label="2">一列两个</el-radio>
<el-radio :label="3">一列3个</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="是否展示首页:">
<el-radio-group v-model="productAttrCate.showIndex">
<el-radio :label="1">展示</el-radio>
<el-radio :label="2">不展示</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="handleConfirm('productAttrCatForm')"> </el-button>
</span>
</el-dialog>
<el-radio-group v-model="productAttrCate.style">
<el-radio :label="1">一列一个</el-radio>
<el-radio :label="2">一列两个</el-radio>
<el-radio :label="3">一列3个</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="是否展示首页:">
<el-radio-group v-model="productAttrCate.showIndex">
<el-radio :label="1">展示</el-radio>
<el-radio :label="2">不展示</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="handleConfirm('productAttrCatForm')"> </el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<script>
import {fetchList,createProductAttrCate,deleteProductAttrCate,updateProductAttrCate} from '@/api/productAttrCate'
import SingleUpload from '@/components/Upload/singleUpload';
import { fetchList, createProductAttrCate, deleteProductAttrCate, updateProductAttrCate } from '@/api/productAttrCate'
import SingleUpload from '@/components/Upload/singleUpload'
export default {
name: 'productAttrCateList',
components: {SingleUpload},
name: 'ProductAttrCateList',
components: { SingleUpload },
data() {
return {
list: null,
@@ -115,10 +120,10 @@
pageSize: 5
},
dialogVisible: false,
dialogTitle:'',
productAttrCate:{
name:'',
id:null
dialogTitle: '',
productAttrCate: {
name: '',
id: null
},
rules: {
name: [
@@ -128,29 +133,29 @@
}
},
created() {
this.getList();
this.getList()
},
methods: {
getList() {
this.listLoading = true;
this.listLoading = true
fetchList(this.listQuery).then(response => {
this.listLoading = false;
this.list = response.data.records;
this.total = response.data.total;
});
this.listLoading = false
this.list = response.data.records
this.total = response.data.total
})
},
addProductAttrCate() {
this.dialogVisible = true;
this.dialogTitle = "添加类型";
this.dialogVisible = true
this.dialogTitle = '添加类型'
},
handleSizeChange(val) {
this.listQuery.pageNum = 1;
this.listQuery.pageSize = val;
this.getList();
this.listQuery.pageNum = 1
this.listQuery.pageSize = val
this.getList()
},
handleCurrentChange(val) {
this.listQuery.pageNum = val;
this.getList();
this.listQuery.pageNum = val
this.getList()
},
handleDelete(index, row) {
this.$confirm('是否要删除该品牌', '提示', {
@@ -158,62 +163,62 @@
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteProductAttrCate(row.id).then(response=>{
deleteProductAttrCate(row.id).then(response => {
this.$message({
message: '删除成功',
type: 'success',
duration:1000
});
this.getList();
});
});
duration: 1000
})
this.getList()
})
})
},
handleUpdate(index, row) {
this.dialogVisible = true;
this.dialogTitle = "编辑类型";
this.productAttrCate.name = row.name;
this.productAttrCate.id = row.id;
this.dialogVisible = true
this.dialogTitle = '编辑类型'
this.productAttrCate.name = row.name
this.productAttrCate.id = row.id
},
getAttrList(index, row) {
this.$router.push({path: '/pms/productAttrList',query:{cid:row.id,cname:row.name,type:0}})
this.$router.push({ path: '/pms/productAttrList', query: { cid: row.id, cname: row.name, type: 0 }})
},
getParamList(index, row) {
this.$router.push({path: '/pms/productAttrList',query:{cid:row.id,cname:row.name,type:1}})
this.$router.push({ path: '/pms/productAttrList', query: { cid: row.id, cname: row.name, type: 1 }})
},
handleConfirm(formName){
handleConfirm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
let data = new URLSearchParams();
data.append("name",this.productAttrCate.name);
data.append("style",this.productAttrCate.style);
data.append("showIndex",this.productAttrCate.showIndex);
data.append("pic",this.productAttrCate.pic);
if(this.dialogTitle==="添加类型"){
createProductAttrCate(data).then(response=>{
const data = new URLSearchParams()
data.append('name', this.productAttrCate.name)
data.append('style', this.productAttrCate.style)
data.append('showIndex', this.productAttrCate.showIndex)
data.append('pic', this.productAttrCate.pic)
if (this.dialogTitle === '添加类型') {
createProductAttrCate(data).then(response => {
this.$message({
message: '添加成功',
type: 'success',
duration:1000
});
this.dialogVisible = false;
this.getList();
});
}else{
updateProductAttrCate(this.productAttrCate.id,data).then(response=>{
duration: 1000
})
this.dialogVisible = false
this.getList()
})
} else {
updateProductAttrCate(this.productAttrCate.id, data).then(response => {
this.$message({
message: '修改成功',
type: 'success',
duration:1000
});
this.dialogVisible = false;
this.getList();
});
duration: 1000
})
this.dialogVisible = false
this.getList()
})
}
} else {
console.log('error submit!!');
return false;
console.log('error submit!!')
return false
}
});
})
}
}
}
@@ -221,4 +226,3 @@ data.append("pic",this.productAttrCate.pic);
<style rel="stylesheet/scss" lang="scss" scoped>
</style>