Compare commits

...

5 Commits
master ... dev

Author SHA1 Message Date
张雄 4e07c0c780 zx
2 years ago
张雄 a333210877 zx
2 years ago
张雄 3911642222 zx
2 years ago
张雄 17fcc41a74 zx
2 years ago
张雄 af2abce52a zx
2 years ago

@ -1,3 +1,3 @@
NODE_ENV = 'development' NODE_ENV = 'development'
VUE_APP_URL = 'http://121.41.26.225:8002/admin' VUE_APP_URL = 'https://saas.kaidalai.cn/api/merchant'
VUE_APP_STATIC = 'https://saas.kaidalai.cn/resource/admin' VUE_APP_STATIC = 'https://saas.kaidalai.cn/resource/merchant/'

@ -1,3 +1,3 @@
NODE_ENV = 'production' NODE_ENV = 'production'
VUE_APP_URL = 'https://saas.kaidalai.cn/api/admin' VUE_APP_URL = 'https://saas.kaidalai.cn/api/merchant'
VUE_APP_STATIC = 'https://saas.kaidalai.cn/resource' VUE_APP_STATIC = 'https://saas.kaidalai.cn/resource/merchant/'

@ -1,2 +1 @@
未开发功能:缴费计划、账单管理(暂无接口,暂无图),工单管理(暂无接口) 小蜜蜂商户端
bug详见3.12问题单

Binary file not shown.

@ -7,6 +7,8 @@
"lint": "vue-cli-service lint" "lint": "vue-cli-service lint"
}, },
"dependencies": { "dependencies": {
"@wangeditor/editor": "^5.1.1",
"@wangeditor/editor-for-vue": "^1.0.1",
"ant-design-vue": "^1.7.8", "ant-design-vue": "^1.7.8",
"axios": "^0.24.0", "axios": "^0.24.0",
"core-js": "^3.6.5", "core-js": "^3.6.5",

@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>智慧小区后台管理系统</title> <title>智慧商城后台管理系统</title>
</head> </head>
<body> <body>
<noscript> <noscript>

@ -10,7 +10,6 @@
<a-config-provider :locale="locale"> <a-config-provider :locale="locale">
<div id="app"> <div id="app">
<router-view v-if="isRouterAlive"></router-view> <router-view v-if="isRouterAlive"></router-view>
<alarmModal></alarmModal>
</div> </div>
</a-config-provider> </a-config-provider>
</template> </template>

@ -0,0 +1,37 @@
import httpService from "@/request"
// 账号-查询所有商品
export function getGoodsList(params) {
return httpService({
url: `/user/goods/list`,
method: 'get',
params: params,
})
}
// 账号-添加商品
export function addGood(params) {
return httpService({
url: `/user/goods/insert`,
method: 'post',
data: params,
})
}
// 批量删除物品
export function delGoods(params) {
return httpService({
url: `/user/goods/delete`,
method: 'post',
data: params,
})
}
// 上下架
export function isShelf(params) {
return httpService({
url: `/user/goods/isShelf`,
method: 'get',
params: params,
})
}

@ -1,180 +0,0 @@
import httpService from "@/request"
// 工单
// list
export function name(params) {
return httpService({
url: ` `,
method: 'get/post',
data: params,
})
}
// 所有的工单类型
export function getAllWorkOrderType(params) {
return httpService({
url: `/user/workOrderType/list`,
method: 'get',
params: params,
})
}
// 添加工单类型
export function AddWorkOrderType(params) {
return httpService({
url: `/user/workOrderType/insert`,
method: 'post',
data: params,
})
}
// 修改工单类型
export function EditWorkOrderType(params) {
return httpService({
url: `/user/workOrderType/update`,
method: 'POST',
data: params,
})
}
// 删除工单类型
export function DelWorkOrderType(params) {
return httpService({
url: `/user/workOrderType/delete`,
method: 'POST',
data: params,
})
}
// 所有的工单信息
export function getAllWorkOrder(params) {
return httpService({
url: `/user/workOrder/list`,
method: 'get',
params: params,
})
}
// 查询后台工单详情
export function getDetail(params) {
return httpService({
url: `/user/workOrder/detail`,
method: 'get',
params: params,
})
}
// 添加工单信息
export function addWorkOrder(params) {
return httpService({
url: `/user/workOrder/insert`,
method: 'post',
data: params,
})
}
// 取消后台工单信息
export function cancelWorkOrder(params) {
return httpService({
url: `/user/workOrder/cancel`,
method: 'post',
data: params,
})
}
// 加入工单池
export function joinTicketPool(params) {
return httpService({
url: `/user/workOrder/joinTicketPool`,
method: 'get',
params: params,
})
}
// 转移至待分配
export function moveToAssignment(params) {
return httpService({
url: `/user/workOrder/moveToAssignment`,
method: 'get',
params: params,
})
}
// 指派人员
export function designate(params) {
return httpService({
url: `/user/workOrder/designate`,
method: 'post',
data: params,
})
}
// 转派人员
export function updateDesignate(params) {
return httpService({
url: `/user/workOrder/updateDesignate`,
method: 'post',
data: params,
})
}
// 工单处理
export function process(params) {
return httpService({
url: `/user/workOrder/process`,
method: 'get',
params: params,
})
}
// 完成工单
export function finish(params) {
return httpService({
url: `/user/workOrder/finish`,
method: 'post',
data: params,
})
}
// 确认工单
export function confirm(params) {
return httpService({
url: `/user/workOrder/confirm`,
method: 'get',
params: params,
})
}
// 工单结算账单
export function workOrderCostList(params) {
return httpService({
url: `/user/workOrder/workOrderCostList`,
method: 'get',
params: params,
})
}
// 结算工单
export function settlement(params) {
return httpService({
url: `/user/workOrder/settlement`,
method: 'post',
data: params,
})
}
// 汇报
export function report(params) {
return httpService({
url: `/user/workOrder/report`,
method: 'post',
data: params,
})
}
// 查询工单记录
export function orderSchedule(params) {
return httpService({
url: `/user/workOrder/orderSchedule`,
method: 'get',
params: params,
})
}

@ -1,91 +0,0 @@
import httpService from "@/request"
// 组织
// 所有的组织架构
export function departmentList(params) {
return httpService({
url: `/user/department/list`,
method: 'get',
data: params,
})
}
// 添加组织
export function departmentInsert(params) {
return httpService({
url: `/user/department/insert`,
method: 'post',
data: params,
})
}
// 组织删除
export function departmentDel(params) {
return httpService({
url: `/user/department/delete`,
method: 'post',
data: params,
})
}
// 组织修改
export function departmentUpdate(params) {
return httpService({
url: `/user/department/update`,
method: 'post',
data: params,
})
}
// 组织员工
export function findToUser(params) {
return httpService({
url: `/user/department/findToUser`,
method: 'GET',
params: params,
})
}
// 新增员工
export function insertManageUser(params) {
return httpService({
url: `/user/manageUser/insertManageUser`,
method: 'post',
data: params,
})
}
// 上传身份证照片
export function uploadManageUserIdCard(params) {
return httpService({
url: `/user/upload/uploadManageUserIdCard`,
method: 'post',
data: params,
})
}
// 员工info
export function manageUserInfo(params) {
return httpService({
url: `/user/manageUser/findById`,
method: 'GET',
params: params,
})
}
// 员工edit
export function EditManageUser(params) {
return httpService({
url: `/user/manageUser/update`,
method: 'post',
data: params,
})
}
// 员工开启关闭
export function userEnable(params) {
return httpService({
url: `/user/manageUser/isEnable`,
method: 'GET',
params: params,
})
}
// 重置密码
export function rePassword(params) {
return httpService({
url: `/user/manageUser/rePassword`,
method: 'post',
data: params,
})
}

@ -1,182 +0,0 @@
import httpService from "@/request"
// 房产 楼栋
// 楼栋列表
export function buildingList(params) {
return httpService({
url: `/user/building/list`,
method: 'get',
params: params,
})
}
// 楼栋新增
export function buildInsert(params) {
return httpService({
url: `/user/building/insert`,
method: 'post',
data: params,
})
}
// 楼栋详情
export function buildInfo(params) {
return httpService({
url: `/user/building/findById`,
method: 'get',
params: params,
})
}
// 楼栋修改
export function buildUpdate(params) {
return httpService({
url: `/user/building/updateBuilding`,
method: 'post',
data: params,
})
}
// 楼栋删除
export function buildingDel(params) {
return httpService({
url: `/user/building/deleteBuilding`,
method: 'post',
data: params,
})
}
// 全部楼栋
export function allBuilding(params) {
return httpService({
url: `/user/building/findAllBuilding`,
method: 'get',
params: params,
})
}
// 楼栋查单元
export function findByBuildingId(params) {
return httpService({
url: `/user/unit/findByBuildingId`,
method: 'get',
params: params,
})
}
/**
* 单元
* list update del
*/
export function unitAdd(params) {
return httpService({
url: `/user/unit/insertUnit`,
method: 'post',
data: params,
})
}
export function unitUpdate(params) {
return httpService({
url: `/user/unit/updateUnit`,
method: 'post',
data: params,
})
}
export function unitDel(params) {
return httpService({
url: `/user/unit/deleteUnit`,
method: 'post',
data: params,
})
}
// 房屋
// 房屋列表
export function houseList(params) {
return httpService({
url: `/user/estate/list`,
method: 'get',
params: params,
})
}
// 房屋新增
export function houseInsert(params) {
return httpService({
url: `/user/estate/insert`,
method: 'post',
data: params,
})
}
// 房屋修改
export function houseInfo(params) {
return httpService({
url: `/user/estate/findById`,
method: 'get',
params: params,
})
}
// 房屋修改
export function houseUpdate(params) {
return httpService({
url: `/user/estate/update`,
method: 'post',
data: params,
})
}
// 房屋删除
export function houseDel(params) {
return httpService({
url: `/user/estate/delete`,
method: 'post',
data: params,
})
}
// 房屋租赁切换
export function isEnableLease(params) {
return httpService({
url: `/user/estate/isEnableLease`,
method: 'get',
params: params,
})
}
// 房屋设置 房屋类型
export function estateType(params) {
return httpService({
url: `/user/estateType/list`,
method: 'get',
params: params,
})
}
// 类型新增
export function estateTypeInsert(params) {
return httpService({
url: `/user/estateType/insert`,
method: 'post',
data: params,
})
}
// 类型修改
export function estateTypeUpdate(params) {
return httpService({
url: `/user/estateType/update`,
method: 'post',
data: params,
})
}
// 类型删除
export function estateTypeDel(params) {
return httpService({
url: `/user/estateType/delete`,
method: 'post',
data: params,
})
}
// 房屋列表级联
export function estate(params) {
return httpService({
url: `/user/estate/findEstateCascade`,
method: 'get',
params: params,
})
}
// 房屋列表级联
export function findEstateCascade(params) {
return httpService({
url: `/user/estate/findEstateCascade`,
method: 'get',
params: params,
})
}

@ -1,46 +0,0 @@
import httpService from "@/request"
// 查询所有的违禁关键字
export function getForbiddenList(params) {
return httpService({
url: `/user/prohibitedKeywords/list`,
method: 'get',
params: params,
})
}
// 添加违禁字
export function addForbidden(params) {
return httpService({
url: `/user/prohibitedKeywords/insert`,
method: 'post',
data: params,
})
}
// 删除违禁字
export function deleteForbidden(params) {
return httpService({
url: `/user/prohibitedKeywords/delete`,
method: 'post',
data: params,
})
}
// 根据id查询违禁字
export function findForbidden(params) {
return httpService({
url: `/user/prohibitedKeywords/findById`,
method: 'get',
params: params,
})
}
// 修改违禁字
export function updateForbidden(params) {
return httpService({
url: `/user/prohibitedKeywords/update`,
method: 'post',
data: params,
})
}

@ -1,97 +0,0 @@
import httpService from "@/request"
/**
*
* 住户
* @param {*} params
* @returns
*
* 住户列表
*/
export function residentList(params) {
return httpService({
url: `/user/resident/list`,
method: 'get',
params: params,
})
}
// 新增住户
export function residentInsert(params) {
return httpService({
url: `/user/resident/insert`,
method: 'post',
data: params,
})
}
// 修改住户
export function residentUpdate(params) {
return httpService({
url: `/user/resident/update`,
method: 'post',
data: params,
})
}
export function residentInfo(params) {
return httpService({
url: `/user/resident/findById`,
method: 'get',
params: params,
})
}
// 迁出
export function moveOut(params) {
return httpService({
url: `/user/resident/moveOut`,
method: 'post',
data: params,
})
}
// 迁入
export function moveIn(params) {
return httpService({
url: `/user/resident/moveIn`,
method: 'post',
data: params,
})
}
// 根据房屋查租户
export function findTenantByEstateId(params) {
return httpService({
url: `/user/resident/findTenantByEstateId`,
method: 'get',
params: params,
})
}
// 根据房屋查业主
export function findOwnerByEstateId(params) {
return httpService({
url: `/user/resident/findOwnerByEstateId`,
method: 'get',
params: params,
})
}
// 住户详情
export function residentDetail(params) {
return httpService({
url: `/user/resident/findDetail`,
method: 'get',
params: params,
})
}
// 住户审核
// 审核列表
export function reviewList(params) {
return httpService({
url: `/user/review/list`,
method: 'get',
params: params,
})
}
// 审核通过 不通过
export function review(params) {
return httpService({
url: `/user/review/review`,
method: 'post',
data: params,
})
}

@ -1,88 +0,0 @@
import httpService from "@/request"
// 权限 角色
// 角色列表
export function getrolelist(params) {
return httpService({
url: `/user/role/list`,
method: 'get',
data: params,
})
}
// 新增角色
export function roleInsert(params) {
return httpService({
url: `/user/role/insert`,
method: 'post',
data: params,
})
}
// 编辑角色
export function roleUpdate(params) {
return httpService({
url: `/user/role/update`,
method: 'post',
data: params,
})
}
// 分配角色
export function assignRoles(params) {
return httpService({
url: `/user/role/assignRoles`,
method: 'post',
data: params,
})
}
// 删除角色
export function roleDel(params) {
return httpService({
url: `user/role/delete`,
method: 'post',
data: params,
})
}
// 角色-----员工列表
export function listByRole(params) {
return httpService({
url: `/user/role/listByRole`,
method: 'GET',
params: params,
})
}
// 查询当前角色下的所有的菜单权限信息 roleId
export function FindAllMenus(params) {
return httpService({
url: `/user/jurisdiction/findAllMenus`,
method: 'GET',
params: params,
})
}
export function changeMenuShow(params) {
return httpService({
url: `/user/jurisdiction/isShowMenus`,
method: 'post',
data: params,
})
}
export function getActions(params) {
return httpService({
url: `/user/jurisdiction/findOperationByMId`,
method: 'get',
params: params,
})
}
export function changeActions(params) {
return httpService({
url: `/user/jurisdiction/isCheckOperation`,
method: 'post',
data: params,
})
}
// 当前用户菜单
export function getMenu(params) {
return httpService({
url: `/user/manageUser/findAllMenusByUser`,
method: 'GET',
params: params,
})
}

@ -1,22 +1,23 @@
import httpService from "@/request" import httpService from "@/request"
// 发送验证码 // 注册-发送验证码
export function sendTelCode(params) { export function sendTelCode(params) {
return httpService({ return httpService({
url: `/sendTelCode`, url: `/sendTelRegisterCode`,
method: 'post', method: 'post',
data: params, data: params,
}) })
} }
// 登录 // 注册-注册账户
export function loginTel(params) { export function register(params) {
return httpService({ return httpService({
url: `/loginTelCode`, url: `/register`,
method: 'post', method: 'post',
data: params, data: params,
}) })
} }
// 密码登录
// 登录-密码登录
export function loginPWD(params) { export function loginPWD(params) {
return httpService({ return httpService({
url: `/loginPWD`, url: `/loginPWD`,
@ -24,20 +25,27 @@ export function loginPWD(params) {
data: params, data: params,
}) })
} }
// 退出登录 // 登录-发送验证码
export function quit(params) { export function loginSendCode(params) {
return httpService({ return httpService({
url: `/user/quit`, url: `/sendTelCode`,
method: 'post', method: 'post',
data: params, data: params,
}) })
} }
// 登录-验证码登录
// 获取用户信息 export function loginTC(params) {
export function userInfo(params) {
return httpService({ return httpService({
url: `/user/manageUser/userInfo`, url: `/loginTelCode`,
method: 'get', method: 'post',
params data: params,
}) })
} }
// 登录-退出登录
export function quit(params) {
return httpService({
url: `/user/quit`,
method: 'post',
data: params,
})
}

@ -1,53 +0,0 @@
import httpService from "@/request"
// 活动列表
export function activityList(params) {
return httpService({
url: `/user/activity/list`,
method: 'get',
params: params,
})
}
export function organizerSelect(params) {
return httpService({
url: `/user/activityOrganizer/allList`,
method: 'get',
params: params,
})
}
// 报名人
export function registrationList(params) {
return httpService({
url: `/user/activity/registrationList`,
method: 'get',
params: params,
})
}
export function activityInfo(params) {
return httpService({
url: `/user/activity/findById`,
method: 'get',
params: params,
})
}
export function activityInsert(params) {
return httpService({
url: `/user/activity/insert`,
method: 'post',
data: params,
})
}
export function activityUpdate(params) {
return httpService({
url: `/user/activity/update`,
method: 'post',
data: params,
})
}
export function activityDel(params) {
return httpService({
url: `/user/activity/delete`,
method: 'post',
data: params,
})
}

@ -1,38 +0,0 @@
import httpService from "@/request"
// 主办方列表
export function organizerList(params) {
return httpService({
url: `/user/activityOrganizer/list`,
method: 'get',
params: params,
})
}
export function organizerInfo(params) {
return httpService({
url: `/user/activityOrganizer/findById`,
method: 'get',
params: params,
})
}
export function organizerInsert(params) {
return httpService({
url: `/user/activityOrganizer/insert`,
method: 'post',
data: params,
})
}
export function organizerUpdate(params) {
return httpService({
url: `/user/activityOrganizer/update`,
method: 'post',
data: params,
})
}
export function organizerDel(params) {
return httpService({
url: `/user/activityOrganizer/delete`,
method: 'post',
data: params,
})
}

@ -1,38 +0,0 @@
import httpService from "@/request"
// 公告列表
export function announcementList(params) {
return httpService({
url: `/user/announcement/list`,
method: 'get',
params: params,
})
}
export function announcementInfo(params) {
return httpService({
url: `/user/announcement/findById`,
method: 'get',
params: params,
})
}
export function announcementInsert(params) {
return httpService({
url: `/user/announcement/insert`,
method: 'post',
data: params,
})
}
export function announcementDel(params) {
return httpService({
url: `/user/announcement/delete`,
method: 'post',
data: params,
})
}
export function announcementUpdate(params) {
return httpService({
url: `/user/announcement/update`,
method: 'post',
data: params,
})
}

@ -1,55 +0,0 @@
import httpService from "@/request"
// 查询所有的社区介绍信息
export function getCommunityList(params) {
return httpService({
url: `/user/communityIntroduction/list`,
method: 'get',
params: params,
})
}
// 添加社区介绍信息
export function AddCommunityIntro(params) {
return httpService({
url: `/user/communityIntroduction/insert`,
method: 'post',
data: params,
})
}
// 根据社区介绍主键Id查询社区介绍信息
export function findCommunityIntro(params) {
return httpService({
url: `/user/communityIntroduction/findById`,
method: 'get',
params: params,
})
}
// 修改社区介绍信息
export function updateCommunityIntro(params) {
return httpService({
url: `/user/communityIntroduction/update`,
method: 'post',
data: params,
})
}
// 删除社区介绍信息
export function delCommunityIntro(params) {
return httpService({
url: `/user/communityIntroduction/delete`,
method: 'post',
data: params,
})
}
// 启用社区介绍信息
export function enableCommunityIntro(params) {
return httpService({
url: `/user/communityIntroduction/enable`,
method: 'get',
params: params,
})
}

@ -1,84 +0,0 @@
import httpService from "@/request"
///类型
// 查询所有业委会类型信息
export function getComList(params) {
return httpService({
url: `/user/industryCommitteeType/list`,
method: 'get',
params: params,
})
}
// 添加业委会类型
export function addComType(params) {
return httpService({
url: `/user/industryCommitteeType/insert`,
method: 'post',
data: params,
})
}
// 修改业委会类型
export function updateComType(params) {
return httpService({
url: `/user/industryCommitteeType/update`,
method: 'post',
data: params,
})
}
// 删除业委会类型
export function delComType(params) {
return httpService({
url: `/user/industryCommitteeType/delete`,
method: 'get',
params: params,
})
}
///信息
// 查询所有业委会信息
export function getIndustryCommitteeList(params) {
return httpService({
url: `/user/industryCommittee/list`,
method: 'get',
params: params,
})
}
// 添加业委会信息
export function addIndustryCom(params) {
return httpService({
url: `/user/industryCommittee/insert`,
method: 'post',
data: params,
})
}
// 删除业委会信息
export function delIndustryCom(params) {
return httpService({
url: `/user/industryCommittee/delete`,
method: 'post',
data: params,
})
}
// 根据业委会主键id查询业委会信息
export function findIndustryCom(params) {
return httpService({
url: `/user/industryCommittee/findById`,
method: 'get',
params: params,
})
}
// 根据业委会主键id查询业委会信息
export function updateIndustryCom(params) {
return httpService({
url: `/user/industryCommittee/update`,
method: 'post',
data: params,
})
}

@ -1,57 +0,0 @@
import httpService from "@/request"
// 动态列表
export function dynamicList(params) {
return httpService({
url: `/user/dynamic/list`,
method: 'get',
params: params,
})
}
export function dynamicInfo(params) {
return httpService({
url: `/user/dynamic/findById`,
method: 'get',
params: params,
})
}
// 删除
export function dynamicDel(params) {
return httpService({
url: `/user/dynamic/delete`,
method: 'post',
data: params,
})
}
// 恢复
export function dynamicRecover(params) {
return httpService({
url: `/user/dynamic/recover`,
method: 'post',
data: params,
})
}
// 评论list
export function commentList(params) {
return httpService({
url: `/user/comment/list`,
method: 'get',
params: params,
})
}
// 删除
export function commentDel(params) {
return httpService({
url: `/user/comment/delete`,
method: 'post',
data: params,
})
}
// 恢复
export function commentRecover(params) {
return httpService({
url: `/user/comment/recover`,
method: 'post',
data: params,
})
}

@ -1,42 +0,0 @@
import httpService from "@/request"
// 话题列表
export function topicList(params) {
return httpService({
url: `/user/topic/list`,
method: 'get',
params: params,
})
}
// 话题新增
export function topicInsert(params) {
return httpService({
url: `/user/topic/insert`,
method: 'post',
data: params,
})
}
// 话题信息
export function topicInfo(params) {
return httpService({
url: `/user/topic/findById`,
method: 'get',
params: params,
})
}
// 话题修改
export function topicUpdate(params) {
return httpService({
url: `/user/topic/update`,
method: 'post',
data: params,
})
}
// 话题删除
export function topicDelete(params) {
return httpService({
url: `/user/topic/delete`,
method: 'post',
data: params,
})
}

@ -1,112 +0,0 @@
import httpService from "@/request"
//分类
// 查询所有的设施/设备分类
export function getFacilitiesList(params) {
return httpService({
url: `/user/facilitiesCategory/list`,
method: 'get',
params: params,
})
}
// 添加设施/设备分类信息
export function addFacility(params) {
return httpService({
url: `/user/facilitiesCategory/insert`,
method: 'post',
data: params,
})
}
// 批量删除设施/设备分类
export function delFacility(params) {
return httpService({
url: `/user/facilitiesCategory/delete`,
method: 'post',
data: params,
})
}
// 根据设施/设备分类主键id查询设施/设备分类信息
export function findFacility(params) {
return httpService({
url: `/user/facilitiesCategory/findById`,
method: 'get',
params: params,
})
}
// 修改设施分类信息(不允许修改设施分类类型)
export function updateFacility(params) {
return httpService({
url: `/user/facilitiesCategory/update`,
method: 'post',
data: params,
})
}
//管理
// 查询所有的设施/设备管理
export function facilityInfoList(params) {
return httpService({
url: `/user/facilitiesManage/list`,
method: 'get',
params: params,
})
}
// 添加设施/设备信息
export function addFacilityInfo(params) {
return httpService({
url: `/user/facilitiesManage/insert`,
method: 'post',
data: params,
})
}
// 根据设施/设备主键id查询设施/设备信息
export function findFacilityInfo(params) {
return httpService({
url: `/user/facilitiesManage/findById`,
method: 'get',
params: params,
})
}
// 根据设施/设备主键id查询设施/设备情况list记录
export function findRecordList(params) {
return httpService({
url: `/user/facilitiesManage/situationList`,
method: 'get',
params: params,
})
}
// 修改设施/设备信息
export function updateFacilityInfo(params) {
return httpService({
url: `/user/facilitiesManage/update`,
method: 'post',
data: params,
})
}
// 批量删除设施/设备信息
export function delFacilityInfo(params) {
return httpService({
url: `/user/facilitiesManage/delete`,
method: 'post',
data: params,
})
}
//预约
//查询所有的设施设备预约
export function getFacilitiesReserve(params) {
return httpService({
url: `/user/facilitiesReserve/list`,
method: 'get',
params: params,
})
}

@ -1,59 +0,0 @@
import httpService from "@/request"
export function planList(params) {
return httpService({
url: `/user/inspectionPlan/list`,
method: 'get',
params: params,
})
}
export function planisEnable(params) {
return httpService({
url: `/user/inspectionPlan/isEnable`,
method: 'get',
params: params,
})
}
export function routeSelect(params) {
return httpService({
url: `/user/inspectionRoute/allList`,
method: 'get',
params: params,
})
}
export function planInfo(params) {
return httpService({
url: `/user/inspectionPlan/findById`,
method: 'get',
params: params,
})
}
export function planInsert(params) {
return httpService({
url: `/user/inspectionPlan/insert`,
method: 'post',
data: params,
})
}
export function planDel(params) {
return httpService({
url: `/user/inspectionPlan/delete`,
method: 'post',
data: params,
})
}
export function planUpdate(params) {
return httpService({
url: `/user/inspectionPlan/update`,
method: 'post',
data: params,
})
}
// 巡检记录
export function inspectionExecute(params) {
return httpService({
url: `/user/inspectionExecute/list`,
method: 'get',
params: params,
})
}

@ -1,39 +0,0 @@
import httpService from "@/request"
// 巡检点
// list
export function pointList(params) {
return httpService({
url: `/user/inspectionPoint/list`,
method: 'get',
params: params,
})
}
export function pointInfo(params) {
return httpService({
url: `/user/inspectionPoint/findById`,
method: 'get',
params: params,
})
}
export function pointInsert(params) {
return httpService({
url: `/user/inspectionPoint/insert`,
method: 'post',
data: params,
})
}
export function pointDel(params) {
return httpService({
url: `/user/inspectionPoint/delete`,
method: 'post',
data: params,
})
}
export function pointUpdate(params) {
return httpService({
url: `/user/inspectionPoint/update`,
method: 'post',
data: params,
})
}

@ -1,54 +0,0 @@
import httpService from "@/request"
// 路线
export function routeList(params) {
return httpService({
url: `/user/inspectionRoute/list`,
method: 'get',
params: params,
})
}
export function routeisEnable(params) {
return httpService({
url: `/user/inspectionRoute/isEnable`,
method: 'get',
params: params,
})
}
export function pointSelect(params) {
return httpService({
url: `/user/inspectionPoint/allList`,
method: 'get',
params: params,
})
}
export function routeInfo(params) {
return httpService({
url: `/user/inspectionRoute/findById`,
method: 'get',
params: params,
})
}
export function routeInsert(params) {
return httpService({
url: `/user/inspectionRoute/insert`,
method: 'post',
data: params,
})
}
export function routeDel(params) {
return httpService({
url: `/user/inspectionRoute/delete`,
method: 'post',
data: params,
})
}
export function routeUpdate(params) {
return httpService({
url: `/user/inspectionRoute/update`,
method: 'post',
data: params,
})
}

@ -1,45 +0,0 @@
import httpService from "@/request"
// 资讯
export function newsList(params) {
return httpService({
url: `/user/information/list`,
method: 'get',
params: params,
})
}
export function newsInfo(params) {
return httpService({
url: `/user/information/findById`,
method: 'get',
params: params,
})
}
export function itemSelect(params) {
return httpService({
url: `/user/informationCategory/allList`,
method: 'get',
params: params,
})
}
export function newsUpdate(params) {
return httpService({
url: `/user/information/update`,
method: 'post',
data: params,
})
}
export function newsDel(params) {
return httpService({
url: `/user/information/delete`,
method: 'post',
data: params,
})
}
export function newsInsert(params) {
return httpService({
url: `/user/information/insert`,
method: 'post',
data: params,
})
}

@ -1,31 +0,0 @@
import httpService from "@/request"
// 资讯分类
export function newsItemList(params) {
return httpService({
url: `/user/informationCategory/list`,
method: 'get',
params: params,
})
}
export function newsItemUpdate(params) {
return httpService({
url: `/user/informationCategory/update`,
method: 'post',
data: params,
})
}
export function newsItemDel(params) {
return httpService({
url: `/user/informationCategory/delete`,
method: 'post',
data: params,
})
}
export function newsItemInsert(params) {
return httpService({
url: `/user/informationCategory/insert`,
method: 'post',
data: params,
})
}

@ -1,46 +0,0 @@
import httpService from "@/request"
// 查询所有的咨询建议/投诉表扬
export function getAdviceList(params) {
return httpService({
url: `/user/advice/list`,
method: 'get',
params: params,
})
}
// 查询今日咨询建议/投诉表扬数量
export function getTodayAdvice(params) {
return httpService({
url: `/user/advice/findTodayAdviceNum`,
method: 'get',
params: params,
})
}
// 批量删除咨询建议/投诉表扬
export function delAdvice(params) {
return httpService({
url: `/user/advice/delete`,
method: 'post',
data: params,
})
}
// 根据id查询咨询建议/投诉表扬
export function adviceDetail(params) {
return httpService({
url: `/user/advice/findById`,
method: 'get',
params: params,
})
}
// 回复咨询建议/投诉表扬
export function replyDetail(params) {
return httpService({
url: `/user/advice/reply`,
method: 'post',
data: params,
})
}

@ -1,73 +0,0 @@
import httpService from "@/request"
// 查询所有问卷调查信息
export function getQuestionList(params) {
return httpService({
url: `/user/questionnaire/list`,
method: 'get',
params: params,
})
}
// 添加问卷调查表信息
export function addQuestion(params) {
return httpService({
url: `/user/questionnaire/insert`,
method: 'post',
data: params,
})
}
// 更新问卷调查表信息
export function updateQuestion(params) {
return httpService({
url: `/user/questionnaire/update`,
method: 'post',
data: params,
})
}
// 删除问卷调查信息
export function delQuestion(params) {
return httpService({
url: `/user/questionnaire/delete`,
method: 'post',
data: params,
})
}
// 发布下架问卷调查
export function releaseQuestion(params) {
return httpService({
url: `/user/questionnaire/isRelease`,
method: 'get',
params: params,
})
}
// 根据问卷调查主键ID查询问卷调查信息
export function findQuestion(params) {
return httpService({
url: `/user/questionnaire/findById`,
method: 'get',
params: params,
})
}
// 根据问卷调查主键id查询报表分析信息
export function getReport(params) {
return httpService({
url: `/user/questionnaire/reportAnalysis`,
method: 'get',
params: params,
})
}
// 根据题目主键id查询开放题内容信息列表
export function getAnswerList(params) {
return httpService({
url: `/user/questionnaire/shortAnswerList`,
method: 'get',
params: params,
})
}

@ -1,100 +0,0 @@
import httpService from "@/request"
// 查询所有便民电话信息
export function getPhoneList(params) {
return httpService({
url: `/user/conveniencePhone/list`,
method: 'get',
params: params,
})
}
// 添加便民电话信息
export function addPhone(params) {
return httpService({
url: `/user/conveniencePhone/insert`,
method: 'post',
data: params,
})
}
// 根据便民电话主键id查询便民电话信息
export function findPhone(params) {
return httpService({
url: `/user/conveniencePhone/findById`,
method: 'get',
params: params,
})
}
// 修改便民电话信息
export function updatePhone(params) {
return httpService({
url: `/user/conveniencePhone/update`,
method: 'post',
data: params,
})
}
// 定时检查信息
export function reminderInfo(params) {
return httpService({
url: `/user/conveniencePhone/reminderInfo`,
method: 'get',
params: params,
})
}
// 更新定时检查信息
export function updateReminder(params) {
return httpService({
url: `/user/conveniencePhone/updateReminder`,
method: 'post',
data: params,
})
}
// 批量删除便民电话
export function delPhone(params) {
return httpService({
url: `/user/conveniencePhone/delete`,
method: 'post',
data: params,
})
}
// 查询所有的便民电话类型
export function getPhontTypeList(params) {
return httpService({
url: `/user/conveniencePhoneType/list`,
method: 'get',
params: params,
})
}
// 添加便民电话类型
export function addPhontType(params) {
return httpService({
url: `/user/conveniencePhoneType/insert`,
method: 'post',
data: params,
})
}
// 修改便民电话类型
export function updatePhontType(params) {
return httpService({
url: `/user/conveniencePhoneType/update`,
method: 'post',
data: params,
})
}
// 删除便民电话类型
export function delPhontType(params) {
return httpService({
url: `/user/conveniencePhoneType/delete`,
method: 'get',
params: params,
})
}

@ -1,35 +0,0 @@
import httpService from "@/request"
// 轮播图列表
export function swiperList(params) {
return httpService({
url: `/user/homepageCarousel/list`,
method: 'get',
params: params,
})
}
// 删除
export function swiperDel(params) {
return httpService({
url: `/user/homepageCarousel/delete`,
method: 'get',
params: params,
})
}
// 新增
export function swiperInsert(params) {
return httpService({
url: `/user/homepageCarousel/insert`,
method: 'post',
data: params,
})
}
// 修改
export function swiperUpdate(params) {
return httpService({
url: `/user/homepageCarousel/update`,
method: 'post',
data: params,
})
}

@ -1,58 +0,0 @@
import httpService from "@/request"
// 任务列表
export function taskList(params) {
return httpService({
url: `/user/taskRelease/list`,
method: 'get',
params: params,
})
}
// 置顶
export function topTask(params) {
return httpService({
url: `/user/taskRelease/topTask`,
method: 'get',
params: params,
})
}
// 取消
export function cancelTask(params) {
return httpService({
url: `/user/taskRelease/cancel`,
method: 'get',
params: params,
})
}
// 撤回
export function withdrawTask(params) {
return httpService({
url: `/user/taskRelease/withdraw`,
method: 'get',
params: params,
})
}
// 确认
export function confirmTask(params) {
return httpService({
url: `/user/taskRelease/confirm`,
method: 'get',
params: params,
})
}
// 获取任务设置
export function getSetting(params) {
return httpService({
url: `/user/settingTaskRelease/getSetting`,
method: 'get',
params: params,
})
}
// 保存任务设置
export function Setting(params) {
return httpService({
url: `/user/settingTaskRelease/setting`,
method: 'post',
data: params,
})
}

@ -1,82 +0,0 @@
import httpService from "@/request"
// 查询所有投票信息
export function getVoteList(params) {
return httpService({
url: `/user/vote/list`,
method: 'get',
params: params,
})
}
// 添加投票信息
export function addVote(params) {
return httpService({
url: `/user/vote/insert`,
method: 'post',
data: params,
})
}
// 删除投票信息
export function deleteVote(params) {
return httpService({
url: `/user/vote/delete`,
method: 'post',
data: params,
})
}
// 根据投票主键id查询投票信息
export function findVote(params) {
return httpService({
url: `/user/vote/findById`,
method: 'get',
params: params,
})
}
// 修改投票信息
export function updateVote(params) {
return httpService({
url: `/user/vote/update`,
method: 'post',
data: params,
})
}
// 发布下架投票
export function releaseVote(params) {
return httpService({
url: `/user/vote/isRelease`,
method: 'get',
params: params,
})
}
// 查询候选项信息(详情页面)
export function getCandidateList(params) {
return httpService({
url: `/user/vote/findCandidateList`,
method: 'get',
params: params,
})
}
// 查询候选人被投票信息(详情页面)
export function getPersonalList(params) {
return httpService({
url: `/user/vote/findPersonnelList`,
method: 'get',
params: params,
})
}
// 即将开始的投票个数
export function getTodayVote(params) {
return httpService({
url: `/user/vote/countVoteExpectedStart`,
method: 'get',
params: params,
})
}

@ -1,46 +0,0 @@
import httpService from "@/request"
// 后台账单list
export function getBillList(params) {
return httpService({
url: `/user/bill/billList`,
method: 'post',
data: params,
})
}
// 账单废除
export function abolition(params) {
return httpService({
url: `/user/bill/abolition`,
method: 'get',
params: params,
})
}
// 账单恢复
export function recover(params) {
return httpService({
url: `/user/bill/recover`,
method: 'get',
params: params,
})
}
// 账单线下支付
export function offlinePayments(params) {
return httpService({
url: `/user/bill/offlinePayments`,
method: 'post',
data: params,
})
}
// 根据账单主键id查询账单订单
export function findBillOrderList(params) {
return httpService({
url: `/user/bill/findBillOrderList`,
method: 'get',
params: params,
})
}

@ -1,24 +0,0 @@
import httpService from "@/request"
// 收费标准列表
export function bindList(params) {
return httpService({
url: `/user/chargesBind/list`,
method: 'post',
data: params,
})
}
export function bind(params) {
return httpService({
url: `/user/chargesBind/bind`,
method: 'post',
data: params,
})
}
export function unbind(params) {
return httpService({
url: `/user/chargesBind/unbind`,
method: 'post',
data: params,
})
}

@ -1,38 +0,0 @@
import httpService from "@/request"
// 收费标准列表
export function chargesList(params) {
return httpService({
url: `/user/charges/list`,
method: 'get',
params: params,
})
}
export function chargesInfo(params) {
return httpService({
url: `/user/charges/findById`,
method: 'get',
params: params,
})
}
export function chargesInsert(params) {
return httpService({
url: `/user/charges/insert`,
method: 'post',
data: params,
})
}
export function chargesUpdate(params) {
return httpService({
url: `/user/charges/update`,
method: 'post',
data: params,
})
}
export function chargesDel(params) {
return httpService({
url: `/user/charges/delete`,
method: 'post',
data: params,
})
}

@ -1,100 +0,0 @@
import httpService from "@/request"
// 手动生成后台账单
export function manuallyGenerateBills(params) {
return httpService({
url: `/user/bill/manuallyGenerateBills`,
method: 'post',
data: params,
})
}
// 自动生成后台账单计划
export function autoGenerateBills(params) {
return httpService({
url: `/user/billAuto/autoGenerateBills`,
method: 'post',
data: params,
})
}
// 后台自动生成账单List
export function billAutoList(params) {
return httpService({
url: `/user/billAuto/billAutoList`,
method: 'get',
params: params,
})
}
// 删除后台自动生成账单计划
export function deleteAutoGenerateBills(params) {
return httpService({
url: `/user/billAuto/deleteAutoGenerateBills`,
method: 'post',
data: params,
})
}
// 生成后台账单自动扣费计划
export function autoDeductionBills(params) {
return httpService({
url: `/user/billAutoDeduction/autoDeductionBills`,
method: 'post',
data: params,
})
}
// 后台自动扣费账单list
export function getAutoDeductionBills(params) {
return httpService({
url: `/user/billAutoDeduction/list`,
method: 'get',
params: params,
})
}
// 删除后台自动扣费账单计划
export function deleteAutoDeductionBills(params) {
return httpService({
url: `/user/billAutoDeduction/deleteAutoDeductionBills`,
method: 'post',
data: params,
})
}
// 根据账单自动生成主键id获取账单自动生成信息
export function findByIdByBillAutoId(params) {
return httpService({
url: `/user/billAuto/findByIdByBillAutoId`,
method: 'get',
params: params,
})
}
// 根据账单自动扣费主键id获取账单自动扣费信息
export function findById(params) {
return httpService({
url: `/user/billAutoDeduction/findById`,
method: 'get',
params: params,
})
}
// 修改自动生成后台账单计划
export function updateAutoGenerateBills(params) {
return httpService({
url: `/user/billAuto/updateAutoGenerateBills`,
method: 'post',
data: params,
})
}
// 修改自动扣费后台账单计划
export function updateAutoDeductionBills(params) {
return httpService({
url: `/user/billAutoDeduction/updateAutoDeductionBills`,
method: 'post',
data: params,
})
}

@ -1,24 +0,0 @@
import httpService from "@/request"
// 预缴列表
export function prepaymentList(params) {
return httpService({
url: `/user/prepayment/list`,
method: 'get',
params: params,
})
}
export function rechargeList(params) {
return httpService({
url: `/user/prepayment/rechargeList`,
method: 'get',
params: params,
})
}
export function recharge(params) {
return httpService({
url: `/user/prepayment/recharge`,
method: 'post',
data: params,
})
}

@ -0,0 +1,82 @@
import httpService from "@/request"
// 账户-获取个人信息
export function userInfo(params) {
return httpService({
url: `/user/getUserInfo`,
method: 'get',
params: params,
})
}
// 经营类目列表
export function merchantList(params) {
return httpService({
url: `/user/authentication/MerchantCategoryFindAll`,
method: 'get',
params: params,
})
}
// 城市列表
export function getCityList(params) {
return httpService({
url: `/city/allCity`,
method: 'get',
params: params,
})
}
// 添加店铺
export function addShop(params) {
return httpService({
url: `/user/authentication/subjectAuthenticationPre`,
method: 'post',
data: params,
})
}
// 根据店铺主键id查询店铺信息
export function getShopDetail(params) {
return httpService({
url: `/user/shop/detail`,
method: 'get',
params: params,
})
}
// 根据店铺主键id查询主体信息
export function getCertiDetail(params) {
return httpService({
url: `/user/authentication/authenticationFBI`,
method: 'get',
params: params,
})
}
// 修改主体认证
export function updateCertification(params) {
return httpService({
url: `/user/authentication/updateSubjectAuthentication`,
method: 'post',
data: params,
})
}
// 查询所有的商品分类(级联)
export function getItemCategory(params) {
return httpService({
url: `/user/goods/findAllGoodsCategory`,
method: 'get',
params: params,
})
}
// 店铺认证(已废弃)
// export function subjectAuthentication(params) {
// return httpService({
// url: `/user/authentication/subjectAuthentication`,
// method: 'post',
// data: params,
// })
// }

@ -1,32 +0,0 @@
import httpService from "@/request"
// 商品
// 品牌
export function brandList(params) {
return httpService({
url: `/user/shopBrand/list`,
method: 'get',
params: params,
})
}
export function brandInsert(params) {
return httpService({
url: `/user/shopBrand/insert`,
method: 'post',
data: params,
})
}
export function brandDel(params) {
return httpService({
url: `/user/shopBrand/delete`,
method: 'post',
data: params,
})
}
export function brandUpdate(params) {
return httpService({
url: `/user/shopBrand/update`,
method: 'post',
data: params,
})
}

@ -1,46 +0,0 @@
import httpService from "@/request"
// 商品
// 品牌
export function cateList(params) {
return httpService({
url: `/user/shopCategory/listAll`,
method: 'get',
params: params,
})
}
export function cateShow(params) {
return httpService({
url: `/user/shopCategory/isShow`,
method: 'get',
params: params,
})
}
export function cateInfo(params) {
return httpService({
url: `/user/shopCategory/listByParentId`,
method: 'get',
params: params,
})
}
export function cateUpdate(params) {
return httpService({
url: `/user/shopCategory/updateCategory`,
method: 'post',
data: params,
})
}
export function cateInsert(params) {
return httpService({
url: `/user/shopCategory/insert`,
method: 'post',
data: params,
})
}
export function cateDel(params) {
return httpService({
url: `/user/shopCategory/delete`,
method: 'post',
data: params,
})
}

@ -1,120 +0,0 @@
import httpService from "@/request"
// 商品
// list
export function shopPushList(params) {
return httpService({
url: `/user/shop/shopPushList`,
method: 'get',
params: params,
})
}
export function jcookGoodsList(params) {
return httpService({
url: `/user/shop/jcookGoodsList`,
method: 'get',
params: params,
})
}
export function offShelf(params) {
return httpService({
url: `/user/shop/offShelf`,
method: 'post',
data: params,
})
}
export function onShelf(params) {
return httpService({
url: `/user/shop/onShelf`,
method: 'post',
data: params,
})
}
export function jcookGoodsBatchPush(params) {
return httpService({
url: `/user/shop/jcookGoodsBatchPush`,
method: 'post',
data: params,
})
}
export function jcookGoodsPush(params) {
return httpService({
url: `/user/shop/jcookGoodsPush`,
method: 'post',
data: params,
})
}
export function goodsEdit(params) {
return httpService({
url: `/user/shop/update`,
method: 'post',
data: params,
})
}
export function goodsInfo(params) {
return httpService({
url: `/user/shop/findById`,
method: 'get',
params: params,
})
}
// 分类
export function cateSelect(params) {
return httpService({
url: `/user/shopCategory/listAll`,
method: 'get',
params: params,
})
}
// 店铺
export function shopSelect(params) {
return httpService({
url: `/user/shopShop/allList`,
method: 'get',
params: params,
})
}
// 供应商
export function vendorSelect(params) {
return httpService({
url: `/user/shopVendor/allList`,
method: 'get',
params: params,
})
}
// 品牌
export function brandSelect(params) {
return httpService({
url: `/user/shopBrand/allList`,
method: 'get',
params: params,
})
}
//开启/关闭积分兑换
export function isEnableRedeem(params) {
return httpService({
url: `/user/pointsGoods/isEnableRedeem`,
method: 'get',
params: params,
})
}
//查询所有积分商品
export function getPointList(params) {
return httpService({
url: `/user/pointsGoods/list`,
method: 'get',
params: params,
})
}
//设置积分
export function settingPoints(params) {
return httpService({
url: `/user/pointsGoods/settingPoints`,
method: 'post',
data: params,
})
}

@ -1,36 +0,0 @@
import httpService from "@/request"
// 订单
// list
export function orderList(params) {
return httpService({
url: `/user/shopOrder/list`,
method: 'get',
params: params,
})
}
// 订单详情
export function orderInfo(params) {
return httpService({
url: `/user/shopOrder/findDetail`,
method: 'get',
params: params,
})
}
// 取消订单
export function shopOrderCancel(params) {
return httpService({
url: `/user/shopOrder/cancel`,
method: 'get',
params: params,
})
}
// 根据ID查询订单记录
export function getOrderRecord(params) {
return httpService({
url: `/user/shopOrder/orderRecord`,
method: 'get',
params: params,
})
}

@ -1,18 +0,0 @@
import httpService from "@/request"
// 获取任务设置
export function getSetting(params) {
return httpService({
url: `/user/pointsSetting/earnPointsSettingInfo`,
method: 'get',
params: params,
})
}
// 保存任务设置
export function Setting(params) {
return httpService({
url: `/user/pointsSetting/savePintsSetting`,
method: 'post',
data: params,
})
}

@ -1,32 +0,0 @@
import httpService from "@/request"
// 商品
// 店铺
export function shopList(params) {
return httpService({
url: `/user/shopShop/list`,
method: 'get',
params: params,
})
}
export function shopInsert(params) {
return httpService({
url: `/user/shopShop/insert`,
method: 'post',
data: params,
})
}
export function shopDel(params) {
return httpService({
url: `/user/shopShop/delete`,
method: 'post',
data: params,
})
}
export function shopUpdate(params) {
return httpService({
url: `/user/shopShop/update`,
method: 'post',
data: params,
})
}

@ -1,32 +0,0 @@
import httpService from "@/request"
// 商品
// 轮播图
export function swiperList(params) {
return httpService({
url: `/user/shopRotation/findRotationList`,
method: 'get',
params: params,
})
}
export function swiperDel(params) {
return httpService({
url: `/user/shopRotation/delete`,
method: 'get',
params: params,
})
}
export function swiperUpdate(params) {
return httpService({
url: `/user/shopRotation/update`,
method: 'post',
data: params,
})
}
export function swiperInsert(params) {
return httpService({
url: `/user/shopRotation/insert`,
method: 'post',
data: params,
})
}

@ -1,32 +0,0 @@
import httpService from "@/request"
// 商品
// 供应商
export function vendorList(params) {
return httpService({
url: `/user/shopVendor/list`,
method: 'get',
params: params,
})
}
export function vendorInsert(params) {
return httpService({
url: `/user/shopVendor/insert`,
method: 'post',
data: params,
})
}
export function vendorDel(params) {
return httpService({
url: `/user/shopVendor/delete`,
method: 'post',
data: params,
})
}
export function vendorUpdate(params) {
return httpService({
url: `/user/shopVendor/update`,
method: 'post',
data: params,
})
}

@ -0,0 +1,10 @@
import httpService from "@/request"
// 账号-查询所有店铺
export function getAllShop(params) {
return httpService({
url: `/user/shop/list`,
method: 'get',
params: params,
})
}

@ -1,126 +0,0 @@
<template>
<a-modal :visible="visible" title="警报">
<div class="warning-area">
<a-descriptions :column="1">
<a-descriptions-item label="报警类型">{{alarmData.type}}</a-descriptions-item>
<a-descriptions-item label="报警号">{{alarmData.alarmNo}}</a-descriptions-item>
<a-descriptions-item label="报警人手机号">{{alarmData.deviceNo}}</a-descriptions-item>
<a-descriptions-item label="报警人名称">{{alarmData.deviceName}}</a-descriptions-item>
<a-descriptions-item label="报警时间">{{alarmData.time}}</a-descriptions-item>
<a-descriptions-item label="报警内容">{{alarmData.alarmContent}}</a-descriptions-item>
</a-descriptions>
</div>
<a-checkbox v-model="alarmCheck" @change="checkChange"></a-checkbox>
<template slot="footer">
<a-button type="danger" @click="confirm" :disabled="confirmDisabled">确定</a-button>
</template>
</a-modal>
</template>
<script>
import store from "@/store";
export default {
data() {
return {
//
visible: false,
alarmCheck: false,
confirmDisabled: true,
//
websock: null,
infoText: '',
showInfo: false,
lockReconnect: false,
alarmBox: [],
alarmBG: ['', 'bgCC6966', 'bg969696', 'bgCC6966 ', 'bg969696', 'bgCC6966', 'bgCC6966', 'bgCC6966'],
alarmTime: 0,
timer: null, //
myAudio: null, //
alarmType: ['', '超限报警', '超限预警', '断电报警 ', '离线报警', '设备异常', '上线通知', '来电通知'],
time1: null, //
//
alarmData: {
model: '',
communityCode: '',
alarmType: undefined,
alarmNo: '',
deviceNo: '',
deviceName: '',
time: '',
alarmContent: ''
}
}
},
mounted() {
this.initWebSocket()
},
methods: {
//
initWebSocket: function() {
let communityCode = store.getters.getCommunityCode;
let nickName = store.getters.getUserInfo.userName;
let userId = store.getters.getUserInfo.id;
let url = 'wss://saas.kaidalai.cn/websocket/manage/'+ communityCode +'/'+ nickName + '/' + userId;
this.websock = new WebSocket(url)
this.websock.onopen = this.websocketOnopen
this.websock.onerror = this.websocketOnerror
this.websock.onmessage = this.websocketOnmessage
this.websock.onclose = this.websocketOnclose
},
websocketOnopen: function () {
console.log('页面WebSocket连接成功')
//
// this.heartCheck.reset().start()
},
//
websocketOnerror: function (e) {
console.log('WebSocket连接发生错误', e)
this.reconnect()
},
//
websocketOnmessage: function (e) {
// console.log('----------');
// console.log(e.data)
let data = JSON.stringify(e.data);
this.alarmData = JSON.parse(data);
if(this.alarmData.alarmType) {
this.visible = true;
}
},
websocketOnclose: function (e) {
// console.log('connection closed (' + e.code + ')')
// this.reconnect()
},
//
reconnect() {
let context = this
if (context.lockReconnect) return
context.lockReconnect = true
//
clearTimeout(this.time1);
this.time1 = setTimeout(function () {
// console.info('...')
context.initWebSocket()
context.lockReconnect = false
}, 5000)
},
/////////
//
checkChange() {
if(this.alarmCheck == true) {
this.confirmDisabled = false;
} else {
this.confirmDisabled = true;
}
},
confirm() {
this.visible = false
}
}
}
</script>
<style lang="less">
</style>

@ -50,7 +50,7 @@ export default {
previewVisible: false, previewVisible: false,
previewImage: "", previewImage: "",
uploadHeaders: { uploadHeaders: {
"manage-login-token": store.getters.getToken, "merchant-login-token": store.getters.getToken,
}, },
}; };
}, },

@ -18,20 +18,18 @@ import router from "@/permission";
// Vue.prototype.$moment = moment // Vue.prototype.$moment = moment
const communityCode = store.getters.getCommunityCode; const communityCode = store.getters.getCommunityCode;
Vue.prototype.$baseUrl = process.env.VUE_APP_URL + communityCode + '/manage' Vue.prototype.$baseUrl = process.env.VUE_APP_URL + communityCode + '/merchant'
Vue.config.productionTip = false Vue.config.productionTip = false
import commonTable from './components/table' import commonTable from './components/table'
import commonUpload from './components/upload/index.vue' import commonUpload from './components/upload/index.vue'
import allCity from './components/allCity/index.vue' import allCity from './components/allCity/index.vue'
import searchForm from './components/searchForm/index.vue' import searchForm from './components/searchForm/index.vue'
import alarmModal from './components/alarmModal/index.vue'
// 注册组件 // 注册组件
Vue.component('commonTable', commonTable) Vue.component('commonTable', commonTable)
Vue.component('commonUpload', commonUpload) Vue.component('commonUpload', commonUpload)
Vue.component('allCity', allCity) Vue.component('allCity', allCity)
Vue.component('searchForm', searchForm) Vue.component('searchForm', searchForm)
Vue.component('alarmModal', alarmModal)
new Vue({ new Vue({
render: h => h(App), render: h => h(App),

@ -12,10 +12,10 @@ export default {
install(Vue) { install(Vue) {
Vue.mixin({ Vue.mixin({
computed: { computed: {
...mapGetters(['getToken','getCommunityCode','getSelectedKeys', 'getOpenKeys','getCity','getUserInfo']) ...mapGetters(['getToken','getCommunityCode','getSelectedKeys', 'getOpenKeys','getCity','getUserInfo','getShopInfo'])
}, },
methods: { methods: {
...mapActions(['setToken','setCommunityCode','setSelectedKeys', 'setOpenKeys','setCity','setUserInfo']) ...mapActions(['setToken','setCommunityCode','setSelectedKeys', 'setOpenKeys','setCity','setUserInfo','setShopInfo'])
} }
}) })
} }

@ -3,7 +3,7 @@ import "nprogress/nprogress.css"
import router from "@/router" import router from "@/router"
import store from '@/store' import store from '@/store'
const whitePath = [ '/login','/rule','/yszc','/fromPlatform'] const whitePath = [ '/login','/rule','/yszc']
// 判断登录 // 判断登录
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
NProgress.start() NProgress.start()

@ -26,7 +26,7 @@ function filterRequestData(obj) {
//创建axios的实例 //创建axios的实例
const httpService = axios.create({ const httpService = axios.create({
baseURL: process.env.VUE_APP_URL ,// TODO:具体的配置可以根据项目情况而来 baseURL: process.env.VUE_APP_URL ,// TODO:具体的配置可以根据项目情况而来
timeout: 5000 timeout: 10000
}) })
//axios的拦截--request //axios的拦截--request
@ -35,9 +35,9 @@ httpService.interceptors.request.use(config => {
const rqData = filterRequestData(config.data); const rqData = filterRequestData(config.data);
// post 'Content-Type' === 'application/x-www-form-urlencoded' // post 'Content-Type' === 'application/x-www-form-urlencoded'
config.headers['Content-Type'] = "application/json"; config.headers['Content-Type'] = "application/json";
config.headers['manage-login-token'] = store.getters.getToken; config.headers['merchant-login-token'] = store.getters.getToken;
// config.headers['device-type'] = "web"; // config.headers['device-type'] = "web";
config.baseURL = process.env.VUE_APP_URL + store.getters.getCommunityCode + '/manage' config.baseURL = process.env.VUE_APP_URL
if(config.method === 'post') { if(config.method === 'post') {
config.data = rqData; config.data = rqData;
} else { } else {

@ -1,148 +0,0 @@
export default [
// {
// path: '/Console',
// name: "Console",
// title: "控制台",
// hide: false,
// icon: 'container',
// component: resolve => require(['@/views/Basic/Console'], resolve),
// meta: {title: '控制台'}
// },
{
path: '/Employee',
name: "Employee",
title: "员工管理",
icon: 'team',
hide: false,
component: resolve => require(['@/views/Basic/Employee'], resolve),
meta: {title: '员工管理'}
},
{
path: '/authority',
name: "Authority",
title: "权限管理",
icon: 'appstore',
hide: false,
component: resolve => require(['@/views/Basic/Authority'], resolve),
meta: {title: '权限管理'},
// children: [
// {
// path: '/Authority/_details',
// name: "Authority_details",
// title: "账单管理-详情",
// icon: 'profile',
// hide: true,
// component: resolve => require(['@/views/Basic/Authority/_details'], resolve),
// meta: {title: '账单管理-详情'},
// }
// ]
},
{
path: '/EstateInfo',
name: "EstateInfo",
title: "小区信息",
icon: 'home',
hide: false,
component: resolve => require(['@/views/Basic/EstateInfo'], resolve),
redirect: '/EstateInfo/BuildingManage',
meta: {title: '小区信息'},
children: [
{
path: '/EstateInfo/BuildingManage',
name: "BuildingManage",
title: "楼栋管理",
hide: false,
component: resolve => require(['@/views/Basic/EstateInfo/_buildingManage'], resolve),
meta: {title: '楼栋管理'},
},
{
path: '/EstateInfo/HouseManage',
name: "HouseManage",
title: "房屋管理",
hide: false,
component: resolve => require(['@/views/Basic/EstateInfo/_houseManage'], resolve),
meta: {title: '房屋管理'},
},
{
path: '/EstateInfo/HouseHoldInfo',
name: "HouseHoldInfo",
title: "住户信息",
hide: false,
component: resolve => require(['@/views/Basic/EstateInfo/_houseHoldInfo'], resolve),
meta: {title: '住户信息'},
},
{
path: '/EstateInfo/HouseHoldAudit',
name: "HouseHoldAudit",
title: "住户审核",
hide: false,
component: resolve => require(['@/views/Basic/EstateInfo/_houseHoldAudit'], resolve),
meta: {title: '住户审核'},
},
]
},
{
path: '/Workorder',
name: "Workorder",
title: "工单管理",
icon: 'solution',
hide: false,
component: resolve => require(['@/views/Basic/WorkOrder'], resolve),
meta: {title: '工单管理'}
},
{
path: '/Forbidden',
name: "Forbidden",
title: "违禁字管理",
icon: 'stop',
hide: false,
component: resolve => require(['@/views/Basic/Forbidden'], resolve),
meta: {title: '违禁字管理'}
},
// {
// path: '/attendance',
// name: "Attendance",
// title: "考勤管理",
// icon: 'reconciliation',
// hide: false,
// redirect: '/attendance/record',
// component: resolve => require(['@/views/Basic/Attendance'], resolve),
// meta: {title: '考勤管理'},
// children: [
// {
// path: '/attendance/record',
// name: "Attendance_record",
// title: "考勤记录",
// hide: false,
// component: resolve => require(['@/views/Basic/Attendance/_record'], resolve),
// meta: {title: '考勤记录'},
// },
// {
// path: '/attendance/application',
// name: "Attendance_application",
// title: "申请记录",
// hide: false,
// component: resolve => require(['@/views/Basic/Attendance/application'], resolve),
// meta: {title: '申请记录'},
// },
// {
// path: '/attendance/attendanceteam',
// name: "Attendance_attendanceteam",
// title: "考勤小组",
// hide: false,
// component: resolve => require(['@/views/Basic/Attendance/_attendanceteam'], resolve),
// meta: {title: '考勤小组'},
// },
// {
// path: '/attendance/scheduling',
// name: "Attendance_scheduling",
// title: "排班计划",
// hide: false,
// component: resolve => require(['@/views/Basic/Attendance/_scheduling'], resolve),
// meta: {title: '排班计划'},
// },
// ]
// }
]

@ -23,66 +23,18 @@ Vue.use(Router);
// console.log(files(key).default,files); // console.log(files(key).default,files);
// }) // })
import Layout from "@/views/Layout" import Layout from "@/views/Layout"
import basic from "./basic" // 基础功能 import intShop from "./intShop" // 智慧商城
import payment from "./payment" // 缴费管理
import shop from "./shop" // 智慧商城
import operation from "./operation" // 运营管理
import setting from "./setting" // 设置
const router = [ const router = [
{ {
path: "/", path: "/",
name: "basic", name: "shop",
title: "基础", title: "基础",
component: Layout, component: Layout,
redirect: '/Employee', redirect: '/WorkBench',
meta: {title: '首页'}, meta: {title: '首页'},
children: [ children: [
...basic, ...intShop,
]
},
{
path: "/shop",
name: "shop",
title: "智慧商城",
component: Layout,
redirect: '/GoodsManage/GoodsList',
meta: {title: '智慧商城'},
children: [
...shop,
]
},
{
path: "/payment",
name: "payment",
title: "缴费管理",
component: Layout,
redirect: '/ChargeStandardManage',
meta: {title: '缴费管理'},
children: [
...payment,
]
},
{
path: "/operation",
name: "operation",
title: "运营管理",
component: Layout,
redirect: '/clientSet',
meta: {title: '运营管理'},
children: [
...operation,
]
},
{
path: "/setting",
name: "setting",
title: "设置",
component: Layout,
redirect: '/basicSet',
meta: {title: '设置'},
children: [
...setting,
] ]
}, },
{ {
@ -97,18 +49,18 @@ const router = [
title: "隐私政策", title: "隐私政策",
component: resolve => require(['@/views/Yszc'], resolve) component: resolve => require(['@/views/Yszc'], resolve)
}, },
{
path: "/fromPlatform",
name: "fromPlatform",
title: "跳转登录",
component: resolve => require(['@/views/FromPlatform'], resolve)
},
{ {
path: "/login", path: "/login",
name: "Login", name: "Login",
title: "登录", title: "登录",
component: resolve => require(['@/views/Login'], resolve) component: resolve => require(['@/views/Login'], resolve)
} },
{
path: "/shopChoose",
name: "ShopChoose",
title: "选择店铺",
component: resolve => require(['@/views/ShopChoose'], resolve)
},
] ]
export default new Router({ export default new Router({

@ -0,0 +1,119 @@
/*
* @Author: your name
* @Date: 2021-11-24 14:50:31
* @LastEditTime: 2021-11-24 14:50:31
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /LittleBeeSaas/src/router/smartMall.js
*/
export default [
{
path: '/WorkBench',
name: "WorkBench",
title: "工作台",
hide: false,
icon: 'container',
component: resolve => require(['@/views/IntShop/WorkBench'], resolve),
meta: {title: '工作台'}
},
{
path: '/Item',
name: "Item",
title: "商品",
icon: 'home',
hide: false,
component: resolve => require(['@/views/IntShop/Item'], resolve),
redirect: '/Item/ItemList',
meta: {title: '商品管理'},
children: [
{
path: '/Item/ItemList',
name: "ItemList",
title: "商品列表",
hide: false,
component: resolve => require(['@/views/IntShop/Item/_itemList'], resolve),
meta: {title: '商品列表'},
},
{
path: '/Item/TypeList',
name: "TypeList",
title: "类目参数",
hide: false,
component: resolve => require(['@/views/IntShop/Item/_typeList'], resolve),
meta: {title: '类目参数'},
},
{
path: '/Item/AddItem',
name: "AddItem",
title: "添加商品",
hide: true,
component: resolve => require(['@/views/IntShop/Item/_addItem'], resolve),
meta: {title: '添加商品'},
},
{
path: '/Item/AddType',
name: "AddType",
title: "添加参数",
hide: true,
component: resolve => require(['@/views/IntShop/Item/_addType'], resolve),
meta: {title: '添加参数'},
},
]
},
{
path: '/Order',
name: "Order",
title: "订单",
icon: 'container',
hide: false,
component: resolve => require(['@/views/IntShop/Order'], resolve),
redirect: '/Order/OrderList',
meta: {title: '订单'},
children: [
{
path: '/Order/OrderList',
name: "OrderList",
title: "订单列表",
hide: false,
component: resolve => require(['@/views/IntShop/Order/_orderList'], resolve),
meta: {title: '订单列表'},
},
{
path: '/Order/OrderDetail',
name: "OrderDetail",
title: "订单详情",
hide: true,
component: resolve => require(['@/views/IntShop/Order/_orderDetail'], resolve),
meta: {title: '订单详情'},
},
]
},
{
path: '/Setting',
name: "Setting",
title: "设置",
icon: 'home',
hide: false,
component: resolve => require(['@/views/IntShop/Setting'], resolve),
redirect: '/Setting/ShopInfo',
meta: {title: '设置'},
children: [
{
path: '/Setting/ShopInfo',
name: "ShopInfo",
title: "店铺信息",
hide: false,
component: resolve => require(['@/views/IntShop/Setting/_shopInfo'], resolve),
meta: {title: '店铺信息'},
},
{
path: '/Setting/Certification',
name: "Certification",
title: "主体认证",
hide: true,
component: resolve => require(['@/views/IntShop/Setting/_certification'], resolve),
meta: {title: '主体认证'},
},
]
},
]

@ -1,306 +0,0 @@
/*
* @Author: your name
* @Date: 2021-11-24 14:52:24
* @LastEditTime: 2021-11-24 14:52:24
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /LittleBeeSaas/src/router/operation.js
*/
export default [
{
path: '/ClientSet',
name: "ClientSet",
title: "用户端设置",
icon: 'setting',
hide: false,
component: resolve => require(['@/views/Operation/clientSet'], resolve),
meta: {title: '用户端设置'},
},
{
path: '/InspectionManage',
name: "InspectionManage",
title: "巡检管理",
icon: 'retweet',
hide: false,
component: resolve => require(['@/views/Operation/InspectionManage'], resolve),
redirect: '/InspectionManage/InspectionPoint',
meta: {title: '巡检管理'},
children: [
{
path: '/InspectionManage/InspectionPoint',
name: "InspectionPoint",
title: "巡检点",
hide: false,
component: resolve => require(['@/views/Operation/InspectionManage/_inspectionPoint'], resolve),
meta: {title: '巡检点'},
},
{
path: '/InspectionManage/InspectionRoute',
name: "InspectionRoute",
title: "巡检路线",
hide: false,
component: resolve => require(['@/views/Operation/InspectionManage/_inspectionRoute'], resolve),
meta: {title: '巡检路线'},
},
{
path: '/InspectionManage/InspectionPlan',
name: "InspectionPlan",
title: "巡检计划",
hide: false,
component: resolve => require(['@/views/Operation/InspectionManage/_inspectionPlan'], resolve),
meta: {title: '巡检计划'},
},
{
path: '/InspectionManage/InspectionExecute',
name: "InspectionExecute",
title: "巡检记录",
hide: false,
component: resolve => require(['@/views/Operation/InspectionManage/_inspectionExecute/index.vue'], resolve),
meta: {title: '巡检记录'},
},
]
},
{
path: '/Activity',
name: "Activity",
title: "活动",
icon: 'notification',
hide: false,
component: resolve => require(['@/views/Operation/Activity'], resolve),
redirect: '/Activity/ActivityManage',
meta: {title: '活动'},
children: [
{
path: '/Activity/ActivityManage',
name: "ActivityManage",
title: "活动管理",
hide: false,
component: resolve => require(['@/views/Operation/Activity/_activityManage'], resolve),
meta: {title: '活动管理'},
},
{
path: '/Activity/Organizers',
name: "Organizers",
title: "活动主办方",
hide: false,
component: resolve => require(['@/views/Operation/Activity/_organizers'], resolve),
meta: {title: '活动主办方'},
},
]
},
{
path: '/Announcement',
name: "Announcement",
title: "公告",
icon: 'file-search',
hide: false,
component: resolve => require(['@/views/Operation/Announcement'], resolve),
meta: {title: '公告'},
},
{
path: '/News',
name: "News",
title: "资讯",
icon: 'global',
hide: false,
component: resolve => require(['@/views/Operation/News'], resolve),
redirect: '/News/',
meta: {title: '资讯'},
children: [
{
path: '/News/NewsManage',
name: "NewsManage",
title: "资讯管理",
hide: false,
component: resolve => require(['@/views/Operation/News/_newsManage'], resolve),
meta: {title: '资讯管理'},
},
{
path: '/News/NewsItem',
name: "NewsItem",
title: "资讯分类",
hide: false,
component: resolve => require(['@/views/Operation/News/_newsItem'], resolve),
meta: {title: '资讯分类'},
},
]
},
{
path: '/TaskManage',
name: "TaskManage",
title: "任务",
icon: 'form',
hide: false,
component: resolve => require(['@/views/Operation/TaskManage'], resolve),
redirect: '/TaskManage/TaskList',
meta: {title: '任务'},
children: [
{
path: '/TaskManage/TaskList',
name: "TaskList",
title: "任务管理",
hide: false,
component: resolve => require(['@/views/Operation/TaskManage/_taskList'], resolve),
meta: {title: '任务管理'},
},
{
path: '/TaskManage/TaskSet',
name: "TaskSet",
title: "任务设置",
hide: false,
component: resolve => require(['@/views/Operation/TaskManage/_taskSet'], resolve),
meta: {title: '任务设置'},
},
]
},
{
path: '/BBS',
name: "BBS",
title: "社区",
icon: 'home',
hide: false,
component: resolve => require(['@/views/Operation/BBS'], resolve),
redirect: '/BBS/Dynamic',
meta: {title: '社区'},
children: [
{
path: '/BBS/Dynamic',
name: "Dynamic",
title: "社区动态",
hide: false,
component: resolve => require(['@/views/Operation/BBS/_dynamic'], resolve),
meta: {title: '社区动态'},
},
{
path: '/BBS/DynamicDetail',
name: "DynamicDetail",
title: "社区动态详情",
hide: true,
component: resolve => require(['@/views/Operation/BBS/_dynamic/detail'], resolve),
meta: {title: '社区动态详情'},
},
{
path: '/BBS/Topic',
name: "Topic",
title: "社区话题",
hide: false,
component: resolve => require(['@/views/Operation/BBS/_topic'], resolve),
meta: {title: '社区话题'},
},
]
},
{
path: '/Recommand',
name: "Recommand",
title: "建议咨询",
icon: 'question-circle',
hide: false,
component: resolve => require(['@/views/Operation/Recommand'], resolve),
meta: {title: '建议咨询'},
},
{
path: '/Suggestion',
name: "Suggestion",
title: "便民电话",
icon: 'phone',
hide: false,
component: resolve => require(['@/views/Operation/Suggestion'], resolve),
meta: {title: '便民电话'},
},
{
path: '/CommunityIntro',
name: "CommunityIntro",
title: "社区介绍",
icon: 'snippets',
hide: false,
component: resolve => require(['@/views/Operation/CommunityIntro'], resolve),
meta: {title: '社区介绍'},
},
{
path: '/Facility',
name: "Facility",
title: "设施设备",
icon: 'solution',
hide: false,
component: resolve => require(['@/views/Operation/Facility'], resolve),
redirect: '/Facility/FacilityType',
meta: {title: '设施设备'},
children: [
{
path: '/Facility/FacilityType',
name: "FacilityType",
title: "设施设备分类",
hide: false,
component: resolve => require(['@/views/Operation/Facility/_facilityType'], resolve),
meta: {title: '设施设备分类'},
},
{
path: '/Facility/FacilityInfo',
name: "FacilityInfo",
title: "设施设备管理",
hide: false,
component: resolve => require(['@/views/Operation/Facility/_facilityInfo'], resolve),
meta: {title: '设施设备管理'},
},
{
path: '/Facility/FacilityPreOrder',
name: "FacilityPreOrder",
title: "预约管理",
hide: false,
component: resolve => require(['@/views/Operation/Facility/_facilityPreOrder'], resolve),
meta: {title: '预约管理'},
}
]
},
{
path: '/Commission',
name: "Commission",
title: "业委会",
icon: 'cluster',
hide: false,
component: resolve => require(['@/views/Operation/Commission'], resolve),
meta: {title: '业委会'},
},
{
path: '/Scroll',
name: "Scroll",
title: "问卷调查",
icon: 'container',
hide: false,
component: resolve => require(['@/views/Operation/Scroll'], resolve),
meta: {title: '问卷调查'},
},
{
path: '/Scroll/addScroll',
name: "addScroll",
title: "新增问卷调查",
hide: true,
component: resolve => require(['@/views/Operation/Scroll/addScroll'], resolve),
meta: {title: '新增问卷调查'},
},
{
path: '/Scroll/editScroll',
name: "editScroll",
title: "编辑问卷调查",
hide: true,
component: resolve => require(['@/views/Operation/Scroll/editScroll'], resolve),
meta: {title: '编辑问卷调查'},
},
{
path: '/Scroll/analyze',
name: "analyze",
title: "问卷调查报表分析",
hide: true,
component: resolve => require(['@/views/Operation/Scroll/analyze'], resolve),
meta: {title: '问卷调查报表分析'},
},
{
path: '/Vote',
name: "Vote",
title: "投票管理",
icon: 'bar-chart',
hide: false,
component: resolve => require(['@/views/Operation/Vote'], resolve),
meta: {title: '投票管理'},
},
]

@ -1,106 +0,0 @@
/*
* @Author: your name
* @Date: 2021-11-24 14:48:01
* @LastEditTime: 2021-11-24 14:48:02
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /LittleBeeSaas/src/router/payment.js
*/
export default [
{
path: '/ChargeStandardManage',
name: "ChargeStandardManage",
title: "收费标准管理",
icon: 'form',
hide: false,
component: resolve => require(['@/views/Payment/ChargeStandardManage'], resolve),
meta: {title: '收费标准管理'},
},
{
path: '/ChargeStandardBind',
name: "ChargeStandardBind",
title: "收费标准绑定",
icon: 'sliders',
hide: false,
component: resolve => require(['@/views/Payment/ChargeStandardBind'], resolve),
meta: {title: '收费标准绑定'},
},
{
path: '/PrepayManage',
name: "PrepayManage",
title: "预缴管理",
icon: 'book',
hide: false,
component: resolve => require(['@/views/Payment/PrepayManage'], resolve),
meta: {title: '预缴管理'},
},
{
path: '/PayPlan',
name: "PayPlan",
title: "缴费计划",
icon: 'transaction',
hide: false,
component: resolve => require(['@/views/Payment/PayPlan'], resolve),
meta: {title: '缴费计划'},
},
{
path: '/BillManage',
name: "BillManage",
title: "账单管理",
icon: 'audit',
hide: false,
component: resolve => require(['@/views/Payment/BillManage'], resolve),
redirect: '/Payment/ActivityManage',
meta: {title: '账单管理'},
children: [
{
path: '/BillManage/PayInfo',
name: "PayInfo",
title: "账单明细",
hide: false,
component: resolve => require(['@/views/Payment/BillManage/_payInfo'], resolve),
meta: {title: '账单明细'},
},
{
path: '/BillManage/PayList',
name: "PayList",
title: "缴费明细",
hide: true,
component: resolve => require(['@/views/Payment/BillManage/_payList'], resolve),
meta: {title: '缴费明细'},
},
{
path: '/BillManage/OweList',
name: "OweList",
title: "欠费明细",
hide: true,
component: resolve => require(['@/views/Payment/BillManage/_oweList'], resolve),
meta: {title: '欠费明细'},
},
{
path: '/BillManage/PayRateReport',
name: "PayRateReport",
title: "收缴率报表",
hide: true,
component: resolve => require(['@/views/Payment/BillManage/_payRateReport'], resolve),
meta: {title: '收缴率报表'},
},
{
path: '/BillManage/RefundRecord',
name: "RefundRecord",
title: "退款记录",
hide: true,
component: resolve => require(['@/views/Payment/BillManage/_refundRecord'], resolve),
meta: {title: '退款记录'},
},
{
path: '/BillManage/BillNotice',
name: "BillNotice",
title: "账单通知",
hide: true,
component: resolve => require(['@/views/Payment/BillManage/_billNotice'], resolve),
meta: {title: '账单通知'},
},
]
},
]

@ -1,11 +0,0 @@
export default [
{
path: '/basicSet',
name: "basicSet",
title: "基础设置",
hide: false,
icon: 'container',
component: resolve => require(['@/views/Set/basicSet'], resolve),
meta: {title: '基础设置'}
},
]

@ -1,124 +0,0 @@
/*
* @Author: your name
* @Date: 2021-11-24 14:50:31
* @LastEditTime: 2021-11-24 14:50:31
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /LittleBeeSaas/src/router/smartMall.js
*/
export default [
{
path: '/GoodsManage',
name: "GoodsManage",
title: "商品管理",
icon: 'home',
hide: false,
component: resolve => require(['@/views/Shop/GoodsManage'], resolve),
redirect: '/GoodsManage/GoodsList',
meta: {title: '商品管理'},
children: [
{
path: '/GoodsManage/GoodsList',
name: "GoodsList",
title: "商品列表",
hide: false,
component: resolve => require(['@/views/Shop/GoodsManage/_goodsList'], resolve),
meta: {title: '商品列表'},
},
{
path: '/GoodsManage/PointGoods',
name: "PointGoods",
title: "兑换商品设置",
hide: false,
component: resolve => require(['@/views/Shop/GoodsManage/_pointGoods'], resolve),
meta: {title: '兑换商品设置'},
},
{
path: '/GoodsManage/JcookList',
name: "JcookList",
title: "jcook商品库",
hide: false,
component: resolve => require(['@/views/Shop/GoodsManage/_jcookList'], resolve),
meta: {title: 'jcook商品库'},
},
{
path: '/GoodsManage/GoodsCate',
name: "GoodsCate",
title: "商品分类",
hide: false,
component: resolve => require(['@/views/Shop/GoodsManage/_goodsCate'], resolve),
meta: {title: '商品分类'},
},
// {
// path: '/GoodsManage/GoodsCate',
// name: "GoodsCate",
// title: "商品审核",
// hide: false,
// component: resolve => require(['@/views/Shop/GoodsManage/_goodsCate'], resolve),
// meta: {title: '商品分类'},
// },
{
path: '/GoodsManage/Brand',
name: "Brand",
title: "品牌资质",
hide: false,
component: resolve => require(['@/views/Shop/GoodsManage/_brand'], resolve),
meta: {title: '品牌资质'},
},
]
},
{
path: '/OrderManage',
name: "OrderManage",
title: "订单列表",
hide: false,
icon: 'container',
component: resolve => require(['@/views/Shop/OrderManage'], resolve),
meta: {title: '订单列表'}
},
{
path: '/OrderDetail',
name: "OrderDetail",
title: "订单详情",
hide: true,
icon: 'container',
component: resolve => require(['@/views/Shop/OrderManage/depend/detail'], resolve),
meta: {title: '订单详情'}
},
{
path: '/SupplierManage',
name: "SupplierManage",
title: "供应商管理",
hide: false,
icon: 'contacts',
component: resolve => require(['@/views/Shop/SupplierManage'], resolve),
meta: {title: '供应商管理'}
},
{
path: '/StoreManage',
name: "StoreManage",
title: "店铺管理",
hide: false,
icon: 'shop',
component: resolve => require(['@/views/Shop/StoreManage'], resolve),
meta: {title: '店铺管理'}
},
{
path: '/SwiperManage',
name: "SwiperManage",
title: "商城轮播图管理",
hide: false,
icon: 'bars',
component: resolve => require(['@/views/Shop/SwiperManage'], resolve),
meta: {title: '商城轮播图管理'}
},
{
path: '/ScoreSetting',
name: "ScoreSetting",
title: "积分设置",
hide: false,
icon: 'crown',
component: resolve => require(['@/views/Shop/ScoreSetting'], resolve),
meta: {title: '积分设置'}
},
]

@ -25,6 +25,9 @@ const actions = {
setUserInfo: ({commit}, log) => { setUserInfo: ({commit}, log) => {
commit('setUserInfo', log) commit('setUserInfo', log)
}, },
setShopInfo: ({commit}, log) => {
commit('setShopInfo', log)
},
} }
export default actions export default actions

@ -24,7 +24,10 @@ const getters = {
}, },
getUserInfo(state) { getUserInfo(state) {
return state.userInfo return state.userInfo
} },
getShopInfo(state) {
return state.shopInfo
},
} }
export default getters export default getters

@ -32,6 +32,11 @@ const mutations = {
state.userInfo = log state.userInfo = log
let str = JSON.stringify(log); let str = JSON.stringify(log);
sessionStorage.setItem('userInfo', str); sessionStorage.setItem('userInfo', str);
},
setShopInfo (state, log) {
state.shopInfo = log
let str = JSON.stringify(log);
sessionStorage.setItem('shopInfo', str);
} }
} }

@ -13,5 +13,6 @@ const state = {
communityCode: sessionStorage.getItem('communityCode') || "", communityCode: sessionStorage.getItem('communityCode') || "",
cityList:[], cityList:[],
userInfo: JSON.parse(sessionStorage.getItem('userInfo')) || {}, userInfo: JSON.parse(sessionStorage.getItem('userInfo')) || {},
shopInfo: JSON.parse(sessionStorage.getItem('shopInfo')) || {},
} }
export default state export default state

@ -14,6 +14,11 @@
background: #fff; background: #fff;
} }
.info {
padding : 13px;
background: #F9F9F9;
}
.cardTitle { .cardTitle {
border-left : 8px solid #205FBD; border-left : 8px solid #205FBD;
padding-left : 10px; padding-left : 10px;
@ -32,7 +37,7 @@
margin: 24px; margin: 24px;
} }
.action { .action {
margin-top: -50px; margin-left: 24px;
} }
.search-box { .search-box {
margin: 20px; margin: 20px;

@ -7,16 +7,10 @@ export default {
Vue.prototype.$axios = axios Vue.prototype.$axios = axios
Vue.prototype.qs = qs Vue.prototype.qs = qs
// 上传 // 上传
Vue.prototype.$upload = process.env.VUE_APP_URL + store.getters.getCommunityCode + '/manage/user/upload/uploadImg' Vue.prototype.$upload = process.env.VUE_APP_URL + '/user/upload/uploadImg'
// 上传员工/房屋/住户/单元/楼栋EXCEL
Vue.prototype.$excelUpload = process.env.VUE_APP_URL + store.getters.getCommunityCode + '/manage/user/importExcel/importManageUserExcel'
Vue.prototype.$houseUpload = process.env.VUE_APP_URL + store.getters.getCommunityCode + '/manage/user/importExcel/importEstateExcel'
Vue.prototype.$residentUpload = process.env.VUE_APP_URL + store.getters.getCommunityCode + '/manage/user/importExcel/importResidentExcel'
Vue.prototype.$unitUpload = process.env.VUE_APP_URL + store.getters.getCommunityCode + '/manage/user/importExcel/importUnitExcel'
Vue.prototype.$buildingUpload = process.env.VUE_APP_URL + store.getters.getCommunityCode + '/manage/user/importExcel/importBuildingExcel'
// 静态地址 // 静态地址
Vue.prototype.$ImgUrl = (src) => { Vue.prototype.$ImgUrl = (src) => {
return process.env.VUE_APP_STATIC + store.getters.getCommunityCode + '/' + src return process.env.VUE_APP_STATIC + '/' + src
} }
// 时间格式化 // 时间格式化
Vue.prototype.formatDate = (time, fmt) => { Vue.prototype.formatDate = (time, fmt) => {

@ -213,5 +213,5 @@ export const options = {
}; };
import store from "@/store"; import store from "@/store";
export const uploadHeaders = { export const uploadHeaders = {
"manage-login-token": store.getters.getToken, "merchant-login-token": store.getters.getToken,
}; };

@ -284,7 +284,7 @@ export default {
type: "add", type: "add",
// //
uploadHeaders: { uploadHeaders: {
"manage-login-token": store.getters.getToken, "merchant-login-token": store.getters.getToken,
} }
}; };
}, },

@ -140,5 +140,5 @@ export const unitColumns = [
] ]
import store from "@/store"; import store from "@/store";
export const uploadHeaders = { export const uploadHeaders = {
"manage-login-token": store.getters.getToken, "merchant-login-token": store.getters.getToken,
} }

@ -88,7 +88,7 @@ export default {
editId:undefined, editId:undefined,
// //
uploadHeaders: { uploadHeaders: {
"manage-login-token": store.getters.getToken, "merchant-login-token": store.getters.getToken,
} }
}; };
}, },

@ -95,5 +95,5 @@ export const options = {
// 请求头 // 请求头
import store from "@/store"; import store from "@/store";
export const uploadHeaders = { export const uploadHeaders = {
"manage-login-token": store.getters.getToken, "merchant-login-token": store.getters.getToken,
} }

@ -309,7 +309,7 @@ export default {
}, },
// //
uploadHeaders: { uploadHeaders: {
"manage-login-token": store.getters.getToken, "merchant-login-token": store.getters.getToken,
} }
}; };
}, },

@ -65,5 +65,5 @@ export const rules = {
// 请求头 // 请求头
import store from "@/store"; import store from "@/store";
export const uploadHeaders = { export const uploadHeaders = {
"manage-login-token": store.getters.getToken, "merchant-login-token": store.getters.getToken,
} }

@ -234,7 +234,7 @@ export default {
}, },
// //
uploadHeaders: { uploadHeaders: {
"manage-login-token": store.getters.getToken, "merchant-login-token": store.getters.getToken,
}, },
fileList: [] fileList: []
}; };

@ -80,7 +80,7 @@
import store from "@/store"; import store from "@/store";
import {finish} from "@/api/basic/Workorder"; import {finish} from "@/api/basic/Workorder";
const uploadHeaders = { const uploadHeaders = {
"manage-login-token": store.getters.getToken, "merchant-login-token": store.getters.getToken,
} }
function getBase64(file) { function getBase64(file) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {

@ -94,5 +94,5 @@ export const options = {
// 请求头 // 请求头
import store from "@/store"; import store from "@/store";
export const uploadHeaders = { export const uploadHeaders = {
"manage-login-token": store.getters.getToken, "merchant-login-token": store.getters.getToken,
} }

@ -0,0 +1,47 @@
export const columns1 = [
{
title: "认证材料",
dataIndex: "mat",
width: "40%",
},
{
title: "详情",
dataIndex: "detail",
width: "60%",
scopedSlots: { customRender: "detail" },
},
];
export const tableData3 = [
{
mat: '法定代表人证件照正反面照片、法定代表人手持证件照',
detail: true,
},
];
export const tableData1 = [
{
mat: '统一社会信用代码证',
detail: '-',
},
{
mat: '法定证件照正反面照片、法人手持证件照',
detail: true,
},
{
mat: '门店门头照片、门店内景照片、收银台照片',
detail: '无实体门店的商家可提供线上店铺首页、管理后台、商品照片',
},
];
export const tableData2 = [
{
mat: '统一社会信用代码证',
detail: '-',
},
{
mat: '法定证件照正反面照片、法人手持证件照',
detail: true,
},
{
mat: '门店门头照片、门店内景照片、收银台照片',
detail: '无实体门店的商家可提供线上店铺首页、管理后台、商品照片',
},
]

@ -0,0 +1,197 @@
<template>
<div>
<div class="step">
<div class="cardTitle">添加商品</div>
<div class="step2-item">
<a-tabs v-model="activeTab">
<a-tab-pane :key="1" tab="基本信息">
<h3 style="padding: 15px">商品信息</h3>
<a-form-model style="margin-left: 12px" :labelCol="{span: 3}" :wrapperCol="{span: 6}">
<a-form-model-item label="商品照片">
<commonUpload
:fileList="fileList"
@handleChange="handleChange"
></commonUpload>
</a-form-model-item>
<a-form-model-item label="商品名称">
<a-input v-model="form.name"></a-input>
</a-form-model-item>
<a-form-model-item label="商品类目">
<a-cascader :options="typeData" @change="typeChange" placeholder="请选择"
style="width: 312px" :field-names="{ label: 'name', value: 'id', children: 'categoryVoList' }">
</a-cascader>
</a-form-model-item>
</a-form-model>
<h3 style="padding: 15px">价格信息</h3>
<a-form-model style="margin-left: 12px" :labelCol="{span: 3}" :wrapperCol="{span: 5}">
<a-form-model-item label="价格">
¥ <a-input-number :min="0" :step="0.1" v-model="form.sellPrice"></a-input-number>
</a-form-model-item>
<a-form-model-item label="划线价">
¥ <a-input-number :min="0" :step="0.1" v-model="form.discountPrice"></a-input-number>
</a-form-model-item>
<a-form-model-item label="库存扣减方式">
付款减库存
</a-form-model-item>
<a-form-model-item label="库存">
<a-input-number :min="0" v-model="form.stock"></a-input-number>
</a-form-model-item>
</a-form-model>
<h3 style="padding: 15px">物流信息</h3>
<a-form-model style="margin-left: 12px" :labelCol="{span: 3}" :wrapperCol="{span: 6}">
<a-form-model-item label="配送方式">
<a-radio-group v-model="form.distributionType">
<!-- <a-radio :value="1">快递发货</a-radio> -->
<a-radio :value="1">到店自提</a-radio>
</a-radio-group>
</a-form-model-item>
<a-form-model-item label="选择城市">
<a-cascader style="width: 55%" :options="cityList" placeholder="请选择"
:field-names="{ label: 'name', value: 'id', children: 'cityList', }"
></a-cascader>
</a-form-model-item>
<a-form-model-item label="自提地址">
<a-input v-model="form.selfLiftingAddress"></a-input>
</a-form-model-item>
</a-form-model>
</a-tab-pane>
<a-tab-pane :key="2" tab="商品详情">
<h3 style="padding: 15px">商品详情</h3>
<div style="border: 1px solid #ccc;width: 75%">
<Toolbar
style="border-bottom: 1px solid #ccc"
:editor="editor"
:defaultConfig="toolbarConfig"
mode="simple"
/>
<Editor
style="height: 500px; overflow-y: hidden;"
v-model="form.details"
:defaultConfig="editorConfig"
mode="simple"
@onCreated="onCreated"
/>
</div>
</a-tab-pane>
</a-tabs>
</div>
</div>
<div style="height: 100px"></div>
<div class="footer">
<a-button style="margin-left: 24px" type="primary" @click="submit"></a-button>
</div>
</div>
</template>
<script>
import { Editor, Toolbar } from '@wangeditor/editor-for-vue'
import { getCityList, getItemCategory } from "@/api/public"
import { addGood } from "@/api/Item"
import { columns1,tableData1,tableData2,tableData3 } from "./depend/config"
export default {
name: 'certification',
components: { Editor, Toolbar },
data() {
return {
activeTab: 1,
isChecked: false,
columns1: columns1,
tableData1: tableData1,
tableData2: tableData2,
tableData3: tableData3,
fileList: [],
cityList: [],
typeData: [],
form: {
shopId: undefined,
goodsImgUrls: [],
name: '',
categoryId: undefined,
sellPrice: 0.0,
discountPrice: 0.0,
stockType: 1,
stock: 0,
distributionType: 1,
selfLiftingCity: undefined,
selfLiftingAddress: '',
details: '<p>请输入内容</p>'
},
//
editor: null,
toolbarConfig: { },
editorConfig: { placeholder: '请输入内容...' },
}
},
created() {
this.form.shopId = this.getShopInfo.id;
this.getApi();
},
beforeDestroy() {
const editor = this.editor
if (editor == null) return
editor.destroy() //
},
methods: {
getApi() {
getCityList().then(res => {
let data = res.data;
this.cityList = data;
});
getItemCategory().then(res => {
this.typeData = res.data;
})
},
onCreated(editor) {
this.editor = Object.seal(editor) // Object.seal()
},
submit() {
addGood(this.form).then(res => {
if(res.code == 200) {
this.$message.success(res.msg)
this.$router.push({name:'ItemList'});
} else {
this.$message.error(res.msg)
}
})
},
handleChange(data) {
this.fileList = data;
this.form.goodsImgUrls = [];
data.forEach(ele => {
if(ele.status == 'done') {
this.form.goodsImgUrls.push(ele.response.data)
}
})
},
typeChange(value) {
this.form.categoryId = value[2];
},
}
}
</script>
<style src="@wangeditor/editor/dist/css/style.css"></style>
<style lang="less">
.step {
.step-item {
padding: 32px 32px 0px 32px;
.step-item-title {
font-family: 'PingFang SC';
font-style: normal;
font-weight: 500;
font-size: 20px;
line-height: 28px;
text-transform: uppercase;
color: #333333;
}
}
.step2-item {
padding: 16px
}
}
.card-item {
background: #ECECEC;
margin-top: 16px;
width: 40%;
}
</style>

@ -0,0 +1,75 @@
<template>
<div>
<div class="step">
<div class="cardTitle">新增参数项</div>
<div class="step2-item">
<a-form-model style="margin-left: 12px" :labelCol="{span: 2}" :wrapperCol="{span: 5}">
<a-form-model-item label="参数项名称">
<a-input></a-input>
</a-form-model-item>
<a-form-model-item label="所属类目">
<a-select></a-select>
</a-form-model-item>
<a-form-model-item label="参数值">
<div style="display:flex">
<a-select></a-select>
<a-button>添加参数</a-button>
</div>
</a-form-model-item>
</a-form-model>
</div>
</div>
<div style="height: 100px"></div>
<div class="footer">
<a-button style="margin-left: 24px" type="primary" @click="submit"></a-button>
</div>
</div>
</template>
<script>
export default {
name: 'certification',
data() {
return {
form: {
},
}
},
methods: {
onCreated(editor) {
this.editor = Object.seal(editor) // Object.seal()
},
submit() {
this.$message.success('新建成功')
this.$router.push({name:'TypeList'});
}
}
}
</script>
<style src="@wangeditor/editor/dist/css/style.css"></style>
<style lang="less">
.step {
.step-item {
padding: 32px 32px 0px 32px;
.step-item-title {
font-family: 'PingFang SC';
font-style: normal;
font-weight: 500;
font-size: 20px;
line-height: 28px;
text-transform: uppercase;
color: #333333;
}
}
.step2-item {
padding: 16px
}
}
.card-item {
background: #ECECEC;
margin-top: 16px;
width: 40%;
}
</style>

@ -0,0 +1,100 @@
export const columns = [
{
title: "商品状态",
width: "6%",
dataIndex: "status",
customRender: function (status) {
switch (status) {
case 2:
return '已下架'
case 1:
return '上架中'
default:
break;
}
}
},
{
title: "商品编号",
width: "11%",
dataIndex: "code",
},
{
title: "商品图片",
width: "8%",
dataIndex: "imgList",
scopedSlots: { customRender: "mainPhoto"}
},
{
title: "商品名称",
width: "9%",
dataIndex: "name",
},
{
title: "所属分类",
width: "14%",
dataIndex: "categoryNamePath",
},
{
title: "售卖价(元)",
width: "8%",
dataIndex: "sellPrice",
},
{
title: "库存",
width: "8%",
dataIndex: "stock",
},
{
title: "销量",
width: "7%",
dataIndex: "salesVolume",
},
{
title: "创建时间",
width: "10%",
dataIndex: "createDate",
customRender: function (createDate) {
let date = new Date(createDate).toLocaleString();
return date
}
},
{
title: "操作",
dataIndex: "action",
key: "action",
width: "250",
fixed: "right",
scopedSlots: { customRender: "action" },
},
]
export const formItem = [
{
type: 'input',
label:'sku编码',
prop:'skuId',
placeholder:'请输入'
},
{
type: 'input',
label:'商品名称',
prop:'skuName',
placeholder:'请输入'
},
// {
// type: 'select',
// label:'上架状态',
// prop:'status',
// placeholder:'请选择',
// option:[{ id: false,name:'下架'},{ id: true,name:'上架'}],
// },
]
export const pagination = {
current: 1,
total: 0,
pageSize: 100,
showTotal: (total) => `${total}`,
pageSizeOptions: ['10','50','100','200'],
showSizeChanger: true,
showQuickJumper: true,
}

@ -0,0 +1,28 @@
export const form = {
id:undefined,
status:undefined,
skuName:undefined,
shopId:undefined,
vendorId:undefined,
brandId:undefined,
categoryFirstId:undefined,
categorySecondId:undefined,
categoryThirdId:undefined,
sellPrice:undefined,
discountPrice:undefined,
}
export const rules = {
skuName:[{required:true,message:'请输入',trigger:'blur'}],
shopId:[{required:true,message:'请选择',trigger:'change'}],
status:[{required:true,message:'请选择',trigger:'change'}],
vendorId:[{required:true,message:'请选择',trigger:'change'}],
brandId: [{ required: true, message: '请选择', trigger: 'change' }],
sellPrice:[{required:true,message:'请输入',trigger:'blur'}],
discountPrice:[{required:true,message:'请输入',trigger:'blur'}],
}
export const options = {
cate:[],
shop: [],
vendor: [],
brand: [],
}

@ -0,0 +1,200 @@
<template>
<div>
<a-drawer
title="jcook商品上架推送"
:width="720"
:visible="show"
:body-style="{ paddingBottom: '60px' }"
@close="addClose"
>
<div class="drawer-content">
基本信息
<a-divider></a-divider>
<a-form-model
ref="ruleForm"
:model="form"
:rules="rules"
layout="vertical"
>
<a-row>
<a-col :span="12">
<a-form-model-item prop="status" label="上架状态">
<a-switch v-model="form.status"></a-switch
></a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item
prop="skuName"
label="商品名称"
>
<a-input v-model="form.skuName" placeholder="请输入商品名称" style='width:60%'></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item
prop="shopId"
label="店铺"
>
<a-select v-model="form.shopId" placeholder="请选择店铺" style='width:60%'>
<a-select-option v-for="item in options.shop" :key="item.id" :value="item.id">{{item.name}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item
prop="vendorId"
label="供应商"
>
<a-select v-model="form.vendorId" placeholder="请选择供应商" style='width:60%'>
<a-select-option v-for="item in options.vendor" :key="item.id" :value="item.id">{{item.name}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item
prop="brandId"
label="品牌"
>
<a-select v-model="form.brandId" placeholder="请选择品牌" style='width:60%'>
<a-select-option v-for="item in options.brand" :key="item.id" :value="item.id">{{item.name}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item prop="cateValue" label="商品分类">
<a-cascader
v-model="cateValue"
:options="options.cate"
placeholder="请选择分类"
:field-names="{
label: 'name',
value: 'id',
children: 'shopCategoryVoList',
}"
@change="change"
style="width: 60%"
></a-cascader> </a-form-model-item
></a-col>
<a-col :span="12">
<a-form-model-item prop="sellPrice" label="售卖价">
<a-input v-model="form.sellPrice" style="width: 60%"></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item prop="discountPrice" label="划线价">
<a-input
v-model="form.discountPrice"
style="width: 60%"
></a-input> </a-form-model-item
></a-col>
</a-row>
</a-form-model>
</div>
<div class="drawer-footer">
<a-button :style="{ marginRight: '8px' }" @click="addClose">
关闭
</a-button>
<a-button type="primary" @click="submit"> </a-button>
</div>
</a-drawer>
</div>
</template>
<script>
import { form, rules, options } from "./form.js";
import {
cateSelect,
shopSelect,
vendorSelect,
brandSelect,
goodsEdit,
goodsInfo,
} from "@/api/shop/goods/index.js";
export default {
props: {
show: {
type: Boolean,
default: false,
},
goodsId: Number,
},
data() {
return {
form,
rules,
options,
fileList: [],
cateValue: [],
};
},
mounted() {
},
methods: {
getItem() {
//
Promise.all([
cateSelect(),
shopSelect(),
vendorSelect(),
brandSelect(),
]).then((res) => {
this.options.cate = res[0].data;
this.options.shop = res[1].data;
this.options.vendor = res[2].data;
this.options.brand = res[3].data;
});
},
addClose() {
this.$refs.ruleForm.resetFields();
this.form.categoryFirstId = undefined;
this.form.categorySecondId = undefined;
this.form.categoryThirdId = undefined;
this.cateValue = [];
this.$emit("addClose");
},
success() {
this.$emit("success");
this.addClose();
},
change(data) {
// console.log(data);
this.form.categoryFirstId = data[0];
this.form.categorySecondId = data[1];
this.form.categoryThirdId = data[2];
},
submit() {
this.$refs.ruleForm.validate(async (valid) => {
if (valid) {
let res = await goodsEdit(this.form);
if (res.code === 200) {
this.$message.success(res.msg);
this.success();
} else {
this.$message.error(res.msg);
}
}
});
},
},
watch: {
goodsId: {
handler(val) {
if (val !== null) {
this.form.id = val;
goodsInfo({ appGoodsPushId: val }).then((res) => {
this.form = res.data;
this.cateValue[0] = res.data.categoryFirstId
this.cateValue[1] = res.data.categorySecondId
this.cateValue[2] = res.data.categoryThirdId
// console.log(this.cateValue);
});
}
},
immediate: true,
},
},
};
</script>
<style></style>

@ -0,0 +1,243 @@
<template>
<div>
<div class="cardTitle">
<span>商品列表</span>
</div>
<div class="search-box">
<a-row>
<a-col :span="24">
<a-space size="large">
<a-form-model layout="inline">
<a-form-model-item label="商品类目">
<a-cascader v-model="casVal" :options="typeData" @change="typeChange" placeholder="请选择"
style="width: 312px" :field-names="{ label: 'name', value: 'id', children: 'categoryVoList' }">
</a-cascader>
</a-form-model-item>
<a-form-model-item label="店铺名称">
<a-select v-model="form.shopId" style="width: 200px">
<a-select-option v-for="item in shopData" :key="item.id" :value="item.id">
{{item.name}}
</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item label="商品名称">
<a-input v-model="form.name" style="width: 200px"></a-input>
</a-form-model-item>
<a-form-model-item label="商品编号">
<a-input v-model="form.code" style="width: 200px"></a-input>
</a-form-model-item>
<a-form-model-item label="创建时间">
<a-range-picker style="width: 312px"></a-range-picker>
</a-form-model-item>
<a-form-model-item>
<a-button type="primary" @click='getData'> </a-button>
<a-button @click='reset' style="margin-left:24px"> </a-button>
</a-form-model-item>
</a-form-model>
</a-space>
</a-col>
</a-row>
</div>
<a-radio-group style="padding: 24px" v-model="form.status" @change="getData" buttonStyle="solid">
<a-radio-button :value="undefined">全部</a-radio-button>
<a-radio-button :value="1">上架中</a-radio-button>
<a-radio-button :value="2">已下架</a-radio-button>
</a-radio-group>
<div style="margin-left: 24px">
<a-button @click="goAdd" type="primary" ghost><a-icon type="plus" />添加商品</a-button>
</div>
<a-table
style="padding: 24px"
:columns="columns"
:data-source="tableData"
:pagination="pagination"
:scroll="{ x: 2000 }"
@change="handleTableChange"
:loading="loading"
:row-selection="{
selectedRowKeys: selectedRowKeys,
onChange: selectionChoosed,
}"
:row-key="
(record, index) => {
return record.id;
}
"
>
<span slot="action" slot-scope="text, row">
<a-space>
<a v-if="row.status == 2" class="ant-dropdown-link" @click="shelf(row.id,row.status)"></a>
<a v-if="row.status == 1" class="ant-dropdown-link" @click="shelf(row.id,row.status)"></a>
<a class="ant-dropdown-link" @click="edit(row.id)"></a>
</a-space>
</span>
<span slot="mainPhoto" slot-scope="text, row">
<img v-for="(item,index) in row.imgList" :src="'https://saas.kaidalai.cn/resource/merchant/'+item.url" :key="index" class="table-img" />
</span>
</a-table>
<div class="action">
<a-dropdown :disabled="!hasSelected">
<a-menu slot="overlay" @click="handleMenuClick">
<!-- <a-menu-item key="on"> 批量上架 </a-menu-item>
<a-menu-item key="off"> 批量下架 </a-menu-item> -->
<a-menu-item key="del"> 批量删除 </a-menu-item>
</a-menu>
<a-button> 批量操作 <a-icon type="down" /> </a-button>
</a-dropdown>
<span style="margin-left: 8px">
<template v-if="hasSelected">
{{ `已选择 ${selectedRowKeys.length}` }}
</template>
</span>
</div>
</div>
</template>
<script>
import { getItemCategory } from "@/api/public"
import { getGoodsList, delGoods, isShelf } from "@/api/Item"
import { columns, pagination, formItem } from "./depend/config.js";
import { getAllShop } from "@/api/shopChoose"
export default {
data() {
return {
form: {
status: undefined,
shopId: undefined,
code: '',
categoryId: undefined,
name: '',
createDateStart: '',
createDateEnd: ''
},
drawer: {
show: false,
},
loading: false,
typeData: [],
casVal: [],
shopData: [],
columns,
goodsId:null,
pagination,
formItem,
tableData: [],
selectedRowKeys: [],
};
},
mounted() {
this.form.shopId = this.getShopInfo.id;
this.getApi();
this.getData();
},
methods: {
getApi() {
getItemCategory().then(res => {
this.typeData = res.data;
});
getAllShop({pageNum:1,size:100}).then(res => {
this.shopData = res.data.rows;
})
},
getData() {
let obj = Object.assign(this.form, {pageNum: this.pagination.current,size: this.pagination.pageSize})
getGoodsList(obj).then(res => {
this.tableData = res.data.rows;
this.pagination.total = res.data.total;
})
},
reset() {
this.getData()
},
selectionChoosed(data) {
this.selectedRowKeys = data;
},
handleTableChange(pagination) {
const pager = { ...this.pagination };
pager.current = pagination.current;
pager.pageSize = pagination.pageSize;
this.pagination = pager;
this.selectedRowKeys = [];
this.getData();
},
edit(id) {
this.goodsId = id;
this.drawer.show = true;
},
//
shelf(ids,status) {
this.$confirm({
title: status==1?'是否下架':'是否上架',
icon: "delete",
onOk: async () => {
let res = await isShelf({ merchantGoodsId: ids ,shopId: this.getShopInfo.id});
if (res.code === 200) {
this.$message.success(res.msg);
this.getData();
} else {
this.$message.error(res.msg);
}
},
});
},
multiDel(ids) {
this.$confirm({
title: "是否删除",
icon: "delete",
onOk: async () => {
let res = await delGoods({ ids: ids ,shopId: this.getShopInfo.id});
if (res.code === 200) {
this.$message.success(res.msg);
this.getData();
} else {
this.$message.error(res.msg);
}
},
});
},
handleMenuClick(data) {
if (data.key === "on") {
this.onSell(this.selectedRowKeys);
} else if (data.key === "off") {
this.offSell(this.selectedRowKeys);
} else if (data.key === "del") {
this.multiDel(this.selectedRowKeys);
}
},
addClose() {
this.drawer.show = false;
this.goodsId = null;
},
//
changePoingGood(val) {
isEnableRedeem({appGoodsPushId: val.id}).then(res => {
if (res.code === 200) {
this.$message.success(res.msg);
this.getData();
} else {
this.$message.error(res.msg);
}
})
},
typeChange(value) {
this.form.categoryId = value[2];
},
//
goAdd() {
this.$router.push({name:'AddItem'});
}
},
computed: {
hasSelected() {
return this.selectedRowKeys.length > 0;
},
},
};
</script>
<style lang="less" scoped>
.table-img {
width: 40px;
height: 40px;
}
</style>

@ -0,0 +1,136 @@
export const columns = [
{
title: "商品状态",
width: "6%",
dataIndex: "status",
customRender: function (status) {
switch (status) {
case false:
return '已下架'
case true:
return '上架中'
default:
break;
}
}
},
{
title: "商品名称",
width: "11%",
dataIndex: "skuName",
},
{
title: "主图url",
width: "4%",
dataIndex: "mainPhoto",
scopedSlots: { customRender: "mainPhoto"}
},
{
title: "积分兑换",
width: "5%",
dataIndex: "isPointsGoods",
scopedSlots: { customRender: "point"}
},
{
title: "sku编码",
width: "10%",
dataIndex: "skuId",
},
{
title: "商品类型",
width: "4%",
dataIndex: "mallType",
customRender: function (mallType) {
switch (mallType) {
case 1:
return 'Jcook'
break;
default:
break;
}
}
},
{
title: "店铺名",
width: "7%",
dataIndex: "shopName",
},
{
title: "品牌名",
width: "7%",
dataIndex: "brandName",
},
{
title: "供应商名",
width: "7%",
dataIndex: "vendorName",
},
{
title: "一级分类名称",
width: "6%",
dataIndex: "categoryFirstName",
},
{
title: "二级分类名称",
width: "6%",
dataIndex: "categorySecondName",
},
{
title: "三级分类名称",
width: "6%",
dataIndex: "categoryThirdName",
},
{
title: "售卖价",
width: "4%",
dataIndex: "sellPrice",
},
{
title: "折扣价",
width: "4%",
dataIndex: "discountPrice",
},
{
title: "浏览量",
width: "5%",
dataIndex: "viewsNum",
},
{
title: "操作",
dataIndex: "action",
key: "action",
width: "250",
fixed: "right",
scopedSlots: { customRender: "action" },
},
]
export const formItem = [
{
type: 'input',
label:'sku编码',
prop:'skuId',
placeholder:'请输入'
},
{
type: 'input',
label:'商品名称',
prop:'skuName',
placeholder:'请输入'
},
// {
// type: 'select',
// label:'上架状态',
// prop:'status',
// placeholder:'请选择',
// option:[{ id: false,name:'下架'},{ id: true,name:'上架'}],
// },
]
export const pagination = {
current: 1,
total: 0,
pageSize: 100,
showTotal: (total) => `${total}`,
pageSizeOptions: ['10','50','100','200'],
showSizeChanger: true,
showQuickJumper: true,
}

@ -0,0 +1,28 @@
export const form = {
id:undefined,
status:undefined,
skuName:undefined,
shopId:undefined,
vendorId:undefined,
brandId:undefined,
categoryFirstId:undefined,
categorySecondId:undefined,
categoryThirdId:undefined,
sellPrice:undefined,
discountPrice:undefined,
}
export const rules = {
skuName:[{required:true,message:'请输入',trigger:'blur'}],
shopId:[{required:true,message:'请选择',trigger:'change'}],
status:[{required:true,message:'请选择',trigger:'change'}],
vendorId:[{required:true,message:'请选择',trigger:'change'}],
brandId: [{ required: true, message: '请选择', trigger: 'change' }],
sellPrice:[{required:true,message:'请输入',trigger:'blur'}],
discountPrice:[{required:true,message:'请输入',trigger:'blur'}],
}
export const options = {
cate:[],
shop: [],
vendor: [],
brand: [],
}

@ -0,0 +1,200 @@
<template>
<div>
<a-drawer
title="jcook商品上架推送"
:width="720"
:visible="show"
:body-style="{ paddingBottom: '60px' }"
@close="addClose"
>
<div class="drawer-content">
基本信息
<a-divider></a-divider>
<a-form-model
ref="ruleForm"
:model="form"
:rules="rules"
layout="vertical"
>
<a-row>
<a-col :span="12">
<a-form-model-item prop="status" label="上架状态">
<a-switch v-model="form.status"></a-switch
></a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item
prop="skuName"
label="商品名称"
>
<a-input v-model="form.skuName" placeholder="请输入商品名称" style='width:60%'></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item
prop="shopId"
label="店铺"
>
<a-select v-model="form.shopId" placeholder="请选择店铺" style='width:60%'>
<a-select-option v-for="item in options.shop" :key="item.id" :value="item.id">{{item.name}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item
prop="vendorId"
label="供应商"
>
<a-select v-model="form.vendorId" placeholder="请选择供应商" style='width:60%'>
<a-select-option v-for="item in options.vendor" :key="item.id" :value="item.id">{{item.name}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item
prop="brandId"
label="品牌"
>
<a-select v-model="form.brandId" placeholder="请选择品牌" style='width:60%'>
<a-select-option v-for="item in options.brand" :key="item.id" :value="item.id">{{item.name}}</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item prop="cateValue" label="商品分类">
<a-cascader
v-model="cateValue"
:options="options.cate"
placeholder="请选择分类"
:field-names="{
label: 'name',
value: 'id',
children: 'shopCategoryVoList',
}"
@change="change"
style="width: 60%"
></a-cascader> </a-form-model-item
></a-col>
<a-col :span="12">
<a-form-model-item prop="sellPrice" label="售卖价">
<a-input v-model="form.sellPrice" style="width: 60%"></a-input>
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item prop="discountPrice" label="划线价">
<a-input
v-model="form.discountPrice"
style="width: 60%"
></a-input> </a-form-model-item
></a-col>
</a-row>
</a-form-model>
</div>
<div class="drawer-footer">
<a-button :style="{ marginRight: '8px' }" @click="addClose">
关闭
</a-button>
<a-button type="primary" @click="submit"> </a-button>
</div>
</a-drawer>
</div>
</template>
<script>
import { form, rules, options } from "./form.js";
import {
cateSelect,
shopSelect,
vendorSelect,
brandSelect,
goodsEdit,
goodsInfo,
} from "@/api/shop/goods/index.js";
export default {
props: {
show: {
type: Boolean,
default: false,
},
goodsId: Number,
},
data() {
return {
form,
rules,
options,
fileList: [],
cateValue: [],
};
},
mounted() {
},
methods: {
getItem() {
//
Promise.all([
cateSelect(),
shopSelect(),
vendorSelect(),
brandSelect(),
]).then((res) => {
this.options.cate = res[0].data;
this.options.shop = res[1].data;
this.options.vendor = res[2].data;
this.options.brand = res[3].data;
});
},
addClose() {
this.$refs.ruleForm.resetFields();
this.form.categoryFirstId = undefined;
this.form.categorySecondId = undefined;
this.form.categoryThirdId = undefined;
this.cateValue = [];
this.$emit("addClose");
},
success() {
this.$emit("success");
this.addClose();
},
change(data) {
// console.log(data);
this.form.categoryFirstId = data[0];
this.form.categorySecondId = data[1];
this.form.categoryThirdId = data[2];
},
submit() {
this.$refs.ruleForm.validate(async (valid) => {
if (valid) {
let res = await goodsEdit(this.form);
if (res.code === 200) {
this.$message.success(res.msg);
this.success();
} else {
this.$message.error(res.msg);
}
}
});
},
},
watch: {
goodsId: {
handler(val) {
if (val !== null) {
this.form.id = val;
goodsInfo({ appGoodsPushId: val }).then((res) => {
this.form = res.data;
this.cateValue[0] = res.data.categoryFirstId
this.cateValue[1] = res.data.categorySecondId
this.cateValue[2] = res.data.categoryThirdId
// console.log(this.cateValue);
});
}
},
immediate: true,
},
},
};
</script>
<style></style>

@ -0,0 +1,195 @@
<template>
<div>
<div class="cardTitle">
<span>商品列表</span>
</div>
<!-- <div class="search-box">
</div> -->
<div style="padding: 24px">
<a-button @click="goAdd" type="primary" ghost><a-icon type="plus" />新建参数</a-button>
</div>
<a-table
style="padding: 0px 24px 24px 24px"
:columns="columns"
:data-source="tableData"
:pagination="pagination"
:scroll="{ x: 2400 }"
@change="handleTableChange"
:row-selection="{
selectedRowKeys: selectedRowKeys,
onChange: selectionChoosed,
}"
:row-key="
(record, index) => {
return record.id;
}
"
>
<template slot="point" slot-scope="text,row">
<a-switch
checked-children="开"
un-checked-children="关"
:checked="row.isPointsGoods"
@change="changePoingGood(row)"
></a-switch>
</template>
<span slot="action" slot-scope="text, row">
<a-space>
<a class="ant-dropdown-link" @click="onSell([row.id])"></a>
<a class="ant-dropdown-link" @click="offSell([row.id])"></a>
<a class="ant-dropdown-link" @click="edit(row.id)"></a>
</a-space>
</span>
<span slot="mainPhoto" slot-scope="text, row">
<img :src="row.mainPhoto" class="table-img" alt="" />
</span>
</a-table>
<div class="action">
<a-dropdown :disabled="!hasSelected">
<a-menu slot="overlay" @click="handleMenuClick">
<a-menu-item key="on"> 批量上架 </a-menu-item>
<a-menu-item key="off"> 批量下架 </a-menu-item>
</a-menu>
<a-button> 批量操作 <a-icon type="down" /> </a-button>
</a-dropdown>
<span style="margin-left: 8px">
<template v-if="hasSelected">
{{ `已选择 ${selectedRowKeys.length}` }}
</template>
</span>
</div>
</div>
</template>
<script>
import { columns, pagination, formItem } from "./depend/config.js";
export default {
data() {
return {
form: {
status: undefined
},
drawer: {
show: false,
},
searchForm: {
},
typeData: [],
casVal: [],
columns,
goodsId:null,
pagination,
formItem,
tableData: [],
selectedRowKeys: [],
};
},
mounted() {
},
methods: {
getApi() {
},
getData() {
},
reset() {
this.getData()
},
selectionChoosed(data) {
this.selectedRowKeys = data;
},
handleTableChange(pagination) {
const pager = { ...this.pagination };
pager.current = pagination.current;
pager.pageSize = pagination.pageSize;
this.pagination = pager;
this.selectedRowKeys = [];
this.getData();
},
edit(id) {
this.goodsId = id;
this.drawer.show = true;
},
onSell(ids) {
this.$confirm({
title: "是否上架",
icon: "caret-up",
onOk: async () => {
let res = await onShelf({ ids: ids });
if (res.code === 200) {
this.$message.success(res.msg);
this.getData();
} else {
this.$message.error(res.msg);
}
},
});
},
offSell(ids) {
this.$confirm({
title: "是否下架",
icon: "caret-down",
onOk: async () => {
let res = await offShelf({ ids: ids });
if (res.code === 200) {
this.$message.success(res.msg);
this.getData();
} else {
this.$message.error(res.msg);
}
},
});
},
handleMenuClick(data) {
if (data.key === "on") {
this.onSell(this.selectedRowKeys);
} else if (data.key === "off") {
this.offSell(this.selectedRowKeys);
}
},
addClose() {
this.drawer.show = false;
this.goodsId = null;
},
success() {
this.getData();
},
//
changePoingGood(val) {
isEnableRedeem({appGoodsPushId: val.id}).then(res => {
if (res.code === 200) {
this.$message.success(res.msg);
this.getData();
} else {
this.$message.error(res.msg);
}
})
},
typeChange(value) {
this.searchForm.categoryFirstId = value[0];
this.searchForm.categorySecondId = value[1];
this.searchForm.categoryThirdId = value[2];
},
//
goAdd() {
this.$router.push({name:'AddType'});
}
},
computed: {
hasSelected() {
return this.selectedRowKeys.length > 0;
},
},
};
</script>
<style lang="less" scoped>
.table-img {
width: 40px;
height: 40px;
}
</style>

@ -1,5 +1,5 @@
<template> <template>
<div>test</div> <router-view></router-view>
</template> </template>
<script> <script>

@ -0,0 +1,79 @@
/**
* 配置
* 表格列
*/
export const detailColumns = [
{
title: "商品",
dataIndex: "skuName",
width: "18%",
scopedSlots: { customRender: "skuName"}
},
{
title: "商品来源",
dataIndex: "kind",
width: "15%",
customRender:function(kind){
switch (kind) {
case 0:
return '未知'
case 1:
return '自营'
case 2:
return '其他'
default:
break;
}
}
},
{
title: "商品单价",
dataIndex: "sellPrice",
width: "10%",
customRender:function(sellPrice){
return '¥'+sellPrice
}
},
{
title: "数量",
dataIndex: "num",
width: "10%",
},
{
title: "订单总金额",
width: "15%",
customRender:function(data){
return '¥'+data.sellPrice*data.num
}
},
{
title: "实收款",
dataIndex: "payPrice",
width: "15%",
customRender:function(payPrice){
return '¥'+payPrice
}
},
{
title: "售后状态",
dataIndex: "status",
width: "240",
fixed: 'right'
},
]
// 搜索项
export const searchForm = {
code: "",
jcookCode: '',
tradeStatus:undefined
}
// 分页
export const pagination = {
current: 1,
total: 0,
pageSize: 10,
showTotal: (total) => `${total}`,
showSizeChanger: true,
showQuickJumper: true,
}

@ -0,0 +1,257 @@
<template>
<div>
<a-space class="top-content" size="large">
<span class="back-btn" @click='back'><a-icon type="left" style='margin-right:10px' />返回</span>
<span>订单号dd20220613132233241</span>
<span>下单时间2022/06/13 13:22:33</span>
<span>支付宝支付</span>
</a-space>
<a-card class="gray-content">
<a-row>
<a-col :span="8">
<div class="tradeStatus">
等待商家发货{{infoData.tradeStatus|tradeStatus}}
</div>
<!-- <div style='margin-top:10px'>29 内如果买家未付款订单将会自动取消</div> -->
<div style='margin-top:10px'>买家已付款至小蜜蜂待结算账户请尽快发货否则买家有权申请退款</div>
<a-space style='margin-top:20px' size='large'>
<a>确认发货</a>
<a @click="cancelShow = true">取消订单</a>
</a-space>
</a-col>
<a-col :span="16" style="padding:20px">
<a-steps :current="1">
<a-step title="待付款">
<template slot="description">
2022/06/13 13:23:19
</template>
</a-step>
<a-step title="待发货">
<template slot="description">
</template>
</a-step>
<a-step title="已完成">
<template slot="description">
</template>
</a-step>
</a-steps>
</a-col>
</a-row>
</a-card>
<a-card class="white-content">
<div>
<span class="box">
<a-descriptions title="买家信息" :column="1">
<a-descriptions-item label="买家">
{{infoData.payName}}
</a-descriptions-item>
<a-descriptions-item label="账号">
{{infoData.account}}
</a-descriptions-item>
<a-descriptions-item label="留言">
{{infoData.remake}}
</a-descriptions-item>
</a-descriptions>
</span>
<span class="box">
<a-descriptions title="收货人信息" :column="1">
<a-descriptions-item label="收货人">
{{infoData.receiverName}}
</a-descriptions-item>
<a-descriptions-item label="联系方式">
{{infoData.receiverTel}}
</a-descriptions-item>
<a-descriptions-item label="收货地址">
{{infoData.addressDetail}}
</a-descriptions-item>
</a-descriptions>
</span>
<span class="box">
<a-descriptions title="付款信息" :column="1">
<a-descriptions-item label="实付金额">
{{'¥'+112}}
</a-descriptions-item>
<a-descriptions-item label="付款方式">
支付宝
</a-descriptions-item>
<a-descriptions-item label="付款时间">
{{infoData.createDate}}
</a-descriptions-item>
</a-descriptions>
</span>
<span class="box">
<a-descriptions title="配送信息" :column="1">
<a-descriptions-item label="配送方式">
快递
</a-descriptions-item>
<a-descriptions-item label="配送公司">
顺丰
</a-descriptions-item>
<a-descriptions-item label="配送单号">
76845423
</a-descriptions-item>
<a-descriptions-item label="物流状态">
无物流状态
</a-descriptions-item>
</a-descriptions>
</span>
</div>
</a-card>
<a-table class='white-content' :columns="detailColumns" :pagination="false" :data-source='skuList' :rowKey="(record,index)=>index">
<span slot="skuName" slot-scope="text, row">
<img :src="row.mainPhoto" class="table-img" alt="">
<span>{{row.skuName}}</span>
</span>
</a-table>
<a-card class="gray-content right">
<a-descriptions :column="1">
<a-descriptions-item label="商品总价">
{{'¥'+100}}
</a-descriptions-item>
<a-descriptions-item label="运费">
{{'¥'+12}}
</a-descriptions-item>
</a-descriptions>
<span style='color:#000000D9;font-size:20px;line-height:28px;font-weight:500'>实付款</span>
<span style='color:#CF1322;font-size:20px;line-height:26px;font-weight:500;font-style: normal;'>{{'¥'+112}}</span>
</a-card>
<a-modal title="取消订单" :visible="cancelShow" @ok="cancelConfirm" @cancel="cancelShow = false" >
<div>
<a-select placeholder='请选择原因' v-model="cancelReason" style="width:200px">
<a-select-option :value="1">无法联系上卖家</a-select-option>
<a-select-option :value="2">买家误拍或者重拍了</a-select-option>
<a-select-option :value="3">买家无诚意完成交易</a-select-option>
<a-select-option :value="4">已通过银行线下汇款</a-select-option>
<a-select-option :value="5">已通过同城见面交易</a-select-option>
<a-select-option :value="6">已通过货到付款交易</a-select-option>
<a-select-option :value="7">已通过网上银行直接汇款</a-select-option>
<a-select-option :value="8">已经缺货无法交易</a-select-option>
</a-select>
</div>
</a-modal>
</div>
</template>
<script>
import { detailColumns } from './config'
export default {
data(){
return{
infoData:{},
skuList:[],
recordList: [],
detailColumns,
cancelShow: false,
cancelReason: undefined
}
},
created() {
// if(this.$route.params.id){
// this.getInfo(this.$route.params.id)
// }
},
filters: {
tradeStatus: function (value) {
switch (value) {
// (0.,1.退,
// 2.,3.退4.,5.,
// 6.,7.8.9.10.,11.)
case 0:
return '交易创建并等待买家付款'
case 1:
return '交易关闭'
case 2:
return '待发货'
case 3:
return '交易结束'
case 4:
return '待收货'
case 5:
return '订单完成'
case 6:
return '申请取消'
case 7:
return '申请拒收'
case 8:
return '取消订单失败'
case 9:
return '取消订单成功'
case 10:
return '发生拆单'
case 11:
return '售后换新'
default:
break;
}
},
},
methods:{
getInfo(id){
orderInfo({orderId:id}).then(res=>{
this.infoData = res.data
this.skuList = res.data.skuList
})
getOrderRecord({orderId:id}).then(res => {
let data = res.data
this.recordList = data
})
},
back(){
this.$router.go(-1)
},
cancelConfirm() {
this.cancelShow = false
}
}
}
</script>
<style lang="less" scoped>
.top-content{
padding-left:13px ;
padding-bottom:20px ;
padding-top: 5px;
font-size: 14px;
border-bottom: 1px solid #e8e8e8;
width: 100%;
}
.gray-content{
width:95%;
background:#00000005;
margin:auto;
margin-top: 20px;
margin-bottom: 20px;
border-radius: 8px;
.tradeStatus{
color: #000000D9;
font-weight: 500;
font-size: 20px;
}
}
.white-content{
width:95%;
margin:auto;
margin-bottom: 20px;
margin-top: 20px;
border-radius: 8px;
}
.box{
width: 25%;
display: inline-block;
margin: auto;
vertical-align:top;
padding-left: 20px;
padding-right: 20px;
}
.table-img{
width: 40px;
height: 40px;
display: inline;
}
.right{
text-align: right;
padding-right: 20px;
}
</style>

@ -0,0 +1,148 @@
export const columns = [
{
title: "订单状态",
dataIndex: "status",
width: "8%",
customRender: function (status) {
switch (status) {
case 0: return '待付款'
case 1: return '待发货'
case 2: return '待收货'
case 3: return '交易完成'
default: break;
}
}
},
{
title: "商品编号",
dataIndex: "code",
width: "10%",
},
{
title: "商品",
dataIndex: "itemName",
width: "10%",
},
{
title: "所属分类",
dataIndex: "type",
width: "7%",
},
{
title: "商品单价",
dataIndex: "price",
width: "6%",
},
{
title: "数量",
dataIndex: "number",
width: "6%",
},
{
title: "商品总价",
dataIndex: "totalPrice",
width: "6%",
},
{
title: "实收款",
dataIndex: "receive",
width: "6%",
},
{
title: "配送",
dataIndex: "ship",
width: "6%",
},
{
title: "买家/收货人",
dataIndex: "custom",
width: "10%",
},
{
title: "下单时间",
dataIndex: "orderTime",
width: "10%",
},
{
title: "操作",
dataIndex: "action",
key: "action",
width: "250",
fixed: "right",
scopedSlots: { customRender: "action" },
},
]
export const detailColumns = [
{
title: "商品",
dataIndex: "skuName",
width: "16%",
scopedSlots: { customRender: "skuName"}
},
{
title: "商品类别",
dataIndex: "kind",
width: "15%",
customRender:function(kind){
switch (kind) {
case 0:
return '未知'
case 1:
return '自营'
case 2:
return '其他'
default:
break;
}
}
},
{
title: "商品单价",
dataIndex: "sellPrice",
width: "10%",
customRender:function(sellPrice){
return '¥'+sellPrice
}
},
{
title: "数量",
dataIndex: "num",
width: "8%",
},
{
title: "单位",
dataIndex: "unit",
width: "12%",
},
{
title: "总金额",
width: "12%",
customRender:function(data){
return '¥'+data.sellPrice*data.num
}
},
{
title: "实收款",
dataIndex: "payPrice",
width: "15%",
customRender:function(payPrice){
return '¥'+payPrice
}
},
]
// 搜索项
export const searchForm = {
code: "",
jcookCode: '',
tradeStatus:undefined
}
// 分页
export const pagination = {
current: 1,
total: 0,
pageSize: 10,
showTotal: (total) => `${total}`,
showSizeChanger: true,
showQuickJumper: true,
}

@ -0,0 +1,183 @@
<template>
<div>
<div class="cardTitle">订单列表</div>
<div class="search-box">
<a-row>
<a-col :span="24">
<a-space size="large">
<a-form-model layout="inline">
<a-form-model-item label="订单编号">
<a-input style="width: 200px" v-model="searchForm.code" placeholder="请输入订单号" />
</a-form-model-item>
<a-form-model-item label="付款方式">
<a-select style="width: 200px" v-model="searchForm.tradeStatus" placeholder="请选择付款方式">
<a-select-option :value="1">支付宝</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item label="订单名称">
<a-input style="width: 200px" v-model="searchForm.name" placeholder="请输入订单名称" />
</a-form-model-item>
<a-form-model-item label="订单分类">
<a-select style="width: 200px" v-model="searchForm.name" placeholder="请选择分类"></a-select>
</a-form-model-item>
<a-form-model-item label="下单时间">
<a-range-picker></a-range-picker>
</a-form-model-item>
<a-form-model-item>
<a-button type="primary" @click="getData"> </a-button>
<a-button style="margin-left:24px"> </a-button>
</a-form-model-item>
</a-form-model>
</a-space>
</a-col>
<a-col :span="4">
<!-- <a-button class="add-btn" @click="">添加</a-button> -->
</a-col>
</a-row>
</div>
<a-table
:columns="columns"
:data-source="tableData"
:rowKey="(record) => record.id"
tableLayout="auto"
:pagination="pagination"
@change="handlerPage"
:scroll="{ x: 2200 }"
:row-selection="{
selectedRowKeys: selectedRowKeys,
onChange: selectionChoosed,
}"
>
<span slot="action" slot-scope="text, record">
<a-space>
<a @click="detail(record)"></a>
<a>确认发货</a>
<a @click="cancelOrder(record)"></a>
</a-space>
</span>
</a-table>
<a-modal
title="取消订单"
:visible="modal.show"
@ok="handleOk"
@cancel="handleCancel"
>
<div>
<a-select placeholder='请选择原因' v-model="cancelForm.cancelReasonCode" style="width:200px">
<a-select-option :value="1">无法联系上卖家</a-select-option>
<a-select-option :value="2">买家误拍或者重拍了</a-select-option>
<a-select-option :value="3">买家无诚意完成交易</a-select-option>
<a-select-option :value="4">已通过银行线下汇款</a-select-option>
<a-select-option :value="5">已通过同城见面交易</a-select-option>
<a-select-option :value="6">已通过货到付款交易</a-select-option>
<a-select-option :value="7">已通过网上银行直接汇款</a-select-option>
<a-select-option :value="8">已经缺货无法交易</a-select-option>
</a-select>
</div>
</a-modal>
</div>
</template>
<script>
import { columns, pagination, searchForm } from "./config";
export default {
data() {
return {
tableData: [],
modal: {
show: false,
},
selectedRowKeys: [],
columns,
pagination,
searchForm,
cancelForm: {
orderId: undefined,
cancelReasonCode: undefined,
},
};
},
filters: {
tradeStatus: function (value) {
switch (value) {
// (0.,1.退,
// 2.,3.退4.,5.,
// 6.,7.8.9.10.,11.)
case 0:
return "交易创建并等待买家付款";
case 1:
return "交易关闭";
case 2:
return "待发货";
case 3:
return "交易结束";
case 4:
return "待收货";
case 5:
return "订单完成";
case 6:
return "申请取消";
case 7:
return "申请拒收";
case 8:
return "取消订单失败";
case 9:
return "取消订单成功";
case 10:
return "发生拆单";
case 11:
return "售后换新";
default:
break;
}
},
},
mounted() {
this.getData();
},
methods: {
getData() {
this.tableData = [
// {id: 1, status: 0},
{id: 2, status: 1},
// {id: 3, status: 2},
]
},
reset() {
this.searchForm = {
code: "",
jcookCode: "",
tradeStatus: undefined,
};
this.getData();
},
cancelOrder(id) {
this.cancelForm.orderId = id;
this.modal.show = true;
},
handleOk() {
this.handleCancel();
},
handleCancel() {
this.cancelForm = {
orderId: undefined,
cancelReasonCode: undefined,
}
this.modal.show = false;
},
detail(data) {
this.$router.push({ name: "OrderDetail", params: { id: data.id } });
},
//
handlerPage(value) {
this.pagination.current = value.current;
this.pagination.pageSize = value.pageSize;
this.getData()
},
//
selectionChoosed(value) {
}
},
};
</script>
<style lang="less" scoped></style>

@ -1,5 +1,5 @@
<template> <template>
<div>1</div> <router-view></router-view>
</template> </template>
<script> <script>

@ -0,0 +1,47 @@
export const columns1 = [
{
title: "认证材料",
dataIndex: "mat",
width: "40%",
},
{
title: "详情",
dataIndex: "detail",
width: "60%",
scopedSlots: { customRender: "detail" },
},
];
export const tableData3 = [
{
mat: '法定代表人证件照正反面照片、法定代表人手持证件照',
detail: true,
},
];
export const tableData1 = [
{
mat: '统一社会信用代码证',
detail: '-',
},
{
mat: '法定证件照正反面照片、法人手持证件照',
detail: true,
},
{
mat: '门店门头照片、门店内景照片、收银台照片',
detail: '无实体门店的商家可提供线上店铺首页、管理后台、商品照片',
},
];
export const tableData2 = [
{
mat: '统一社会信用代码证',
detail: '-',
},
{
mat: '法定证件照正反面照片、法人手持证件照',
detail: true,
},
{
mat: '门店门头照片、门店内景照片、收银台照片',
detail: '无实体门店的商家可提供线上店铺首页、管理后台、商品照片',
},
]

@ -0,0 +1,547 @@
<template>
<div>
<div class="step" v-if="stage==1">
<div class="cardTitle">添加商户</div>
<div class="step-item">
<span class="step-item-title">1选择入驻商户的主体类型</span>
<a-divider></a-divider>
<a-form-model>
<a-form-model-item label="主体类型">
<a-radio-group disabled @change="changeType" v-model="form.type" size="large" buttonStyle="solid">
<a-radio-button :value="1">个体户</a-radio-button>
<a-radio-button :value="2">企业</a-radio-button>
<a-radio-button :value="3">个人</a-radio-button>
</a-radio-group>
<div>
<a-card class="card-item" size="small" :bordered="false">
<span v-if="form.type == 1"></span>
<span v-if="form.type == 2"></span>
<span v-if="form.type == 3"> </span>
<div v-if="form.type == 3">(10)</div>
</a-card>
</div>
</a-form-model-item>
<a-form-model-item label="经营类目">
<a-select mode="multiple" style="width: 467px" v-model="form.authenticationOperateInfoUpdateDTO.categoryIds">
<a-select-option v-for="(item) in cateList" :key="item.id" :value="item.id">
{{item.name}}
</a-select-option>
</a-select>
</a-form-model-item>
</a-form-model>
</div>
<div class="step-item">
<span class="step-item-title">2按照以下清单准备材料</span>
<a-divider></a-divider>
<a-table :columns="columns1" :data-source="form.type==1? tableData3 : form.type==2? tableData2 : tableData1" :pagination="false" :row-key="
(record, index) => { return index }">
<div slot="detail" slot-scope="text,record">
<div v-if="record.detail == true">
<p>· 证件包含身份证护照来往内地通行证等有效证件</p>
<p>· 其中护照需要增加翻译件加盖公司鲜章外籍商家姓名需为中文英文如微软Microsoft</p>
<p>· 照片标准四角完整清晰可辨若加水印需保证照片重要信息清晰可辨</p>
<p>· 法人证件非大陆身份证如护照等需要提供法人证明函</p>
</div>
<div v-else>{{record.detail}}</div>
</div>
</a-table>
</div>
</div>
<div class="step" v-if="stage==2">
<div class="cardTitle">申请流程</div>
<div class="step2-item">
<a-alert message="
切实履行账户实名管理商户身份核实交易风险管理等职责需核实相关信息感谢你的配合" type="info" show-icon />
<a-tabs v-model="activeTab" style="margin-top: 24px">
<a-tab-pane :key="1" tab="填写主体信息" v-if="form.type == 1 || form.type == 2">
<h3 style="padding: 16px">主体类型</h3>
<a-form-model style="margin-left: 12px" :labelCol="{span: 3}" :wrapperCol="{span: 5}">
<a-form-model-item label="主体类型">
<a-radio-group v-model="form.type" disabled>
<a-radio :value="1">个体户</a-radio>
<a-radio :value="2">企业</a-radio>
<a-radio :value="3">个人</a-radio>
</a-radio-group>
<div><span>如需修改主体类型请返回<a>上一步</a>进行操作</span></div>
</a-form-model-item>
<a-form-model-item label="企业名称">
<a-input v-model="conpanyForm.companyName"></a-input>
</a-form-model-item>
<a-form-model-item label="注册地址">
<a-cascader :options="cityList" placeholder="请选择"
:field-names="{ label: 'name', value: 'id', children: 'cityList', }" @change="changeCity"
></a-cascader>
<a-textarea v-model="conpanyForm.registerAddressDetail"></a-textarea>
</a-form-model-item>
<a-form-model-item label="经营范围">
<a-textarea v-model="conpanyForm.businessScope"></a-textarea>
</a-form-model-item>
<a-form-model-item label="统一社会信用代码">
<a-input v-model="conpanyForm.uscc"></a-input>
</a-form-model-item>
<a-form-model-item label="营业期限">
<a-radio-group v-model="isLongtime">
<a-radio :value="0">区间有效</a-radio>
<a-radio :value="1">长期有效</a-radio>
</a-radio-group>
<a-date-picker v-model="conpanyForm.businessTermStart" v-if="isLongtime == 1" value-format="YYYY-MM-DD HH:mm:ss"></a-date-picker>
<a-range-picker v-model="selTime" v-if="isLongtime == 0" value-format="YYYY-MM-DD HH:mm:ss"></a-range-picker>
</a-form-model-item>
</a-form-model>
<h3 style="padding: 16px">主体证件照片</h3>
<a-form-model style="margin-left: 12px" :labelCol="{span: 3}" :wrapperCol="{span: 5}">
<a-form-model-item label="统一社会信用代码证">
<!-- <commonUpload
:fileList="fileList"
@handleChange="handleChange"
></commonUpload> -->
</a-form-model-item>
<a-form-model-item label="其他资质证明">
<!-- <commonUpload
:fileList="fileList"
@handleChange="handleChange"
></commonUpload> -->
</a-form-model-item>
</a-form-model>
</a-tab-pane>
<a-tab-pane :key="2" tab="填写个人信息">
<h3 v-if="form.type==3" style="padding: 16px"></h3>
<a-form-model v-if="form.type==3" style="margin-left: 12px" :labelCol="{span: 3}" :wrapperCol="{span: 5}">
<a-form-model-item label="主体类型">
<a-radio-group v-model="form.type" disabled>
<a-radio :value="1">个体户</a-radio>
<a-radio :value="2">企业</a-radio>
<a-radio :value="3">个人</a-radio>
</a-radio-group>
<div><span>如需修改主体类型请返回<a>上一步</a>进行操作</span></div>
</a-form-model-item>
</a-form-model>
<h3 style="padding: 16px">法定代表人证件照</h3>
<a-form-model style="margin-left: 12px" :labelCol="{span: 3}" :wrapperCol="{span: 5}">
<a-form-model-item label="手持身份证照">
<commonUpload
:fileList="fileList.handheldIdCardImgUrls"
@handleChange="handlehhChange"
></commonUpload>
</a-form-model-item>
<a-form-model-item label="证件照正面">
<commonUpload
:fileList="fileList.idCardFrontImgUrls"
@handleChange="handlefrontChange"
></commonUpload>
</a-form-model-item>
<a-form-model-item label="证件照反面">
<commonUpload
:fileList="fileList.idCardBackImgUrls"
@handleChange="handlebackChange"
></commonUpload>
</a-form-model-item>
</a-form-model>
<h3 style="padding: 16px">法定代表人信息</h3>
<a-form-model style="margin-left: 12px" :labelCol="{span: 3}" :wrapperCol="{span: 5}">
<a-form-model-item label="证件类型">
<!-- <a-select></a-select> -->
大陆身份证
</a-form-model-item>
<a-form-model-item label="法定代表人姓名">
<a-input v-model="form.authenticationPersonalInfoUpdateDTO.name"></a-input>
</a-form-model-item>
<a-form-model-item label="证件号码">
<a-input v-model="form.authenticationPersonalInfoUpdateDTO.idNumber"></a-input>
</a-form-model-item>
<a-form-model-item label="出生日期">
<a-date-picker v-model="form.authenticationPersonalInfoUpdateDTO.birthday" value-format="YYYY-MM-DD HH:mm:ss"></a-date-picker>
</a-form-model-item>
<a-form-model-item label="证件有效期">
<a-radio-group v-model="isIdCardLongtime">
<a-radio :value="0">区间有效</a-radio>
<a-radio :value="1">长期有效</a-radio>
</a-radio-group>
<a-date-picker v-model="form.authenticationPersonalInfoUpdateDTO.idValidityStart" value-format="YYYY-MM-DD HH:mm:ss" v-if="isIdCardLongtime == 1"></a-date-picker>
<a-range-picker v-model="selTime2" v-if="isIdCardLongtime == 0" value-format="YYYY-MM-DD HH:mm:ss"></a-range-picker>
</a-form-model-item>
<a-form-model-item label="性别">
<a-select v-model="form.authenticationPersonalInfoUpdateDTO.sex">
<a-select-option :value="1"></a-select-option>
<a-select-option :value="2"></a-select-option>
<a-select-option :value="3">保密</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item label="职业">
<a-input v-model="form.authenticationPersonalInfoUpdateDTO.occupation"></a-input>
</a-form-model-item>
</a-form-model>
</a-tab-pane>
<a-tab-pane :key="3" tab="填写经营信息">
<h3 style="padding: 16px">联系人</h3>
<a-form-model style="margin-left: 12px" :labelCol="{span: 3}" :wrapperCol="{span: 5}">
<a-form-model-item label="联系人姓名">
<a-input v-model="form.authenticationOperateInfoUpdateDTO.name"></a-input>
</a-form-model-item>
<a-form-model-item label="手机号">
<a-input v-model="form.authenticationOperateInfoUpdateDTO.tel"></a-input>
</a-form-model-item>
<a-form-model-item label="常用邮箱">
<a-input v-model="form.authenticationOperateInfoUpdateDTO.email"></a-input>
</a-form-model-item>
<a-form-model-item label="客服电话">
<a-input v-model="form.authenticationOperateInfoUpdateDTO.customerServiceTel"></a-input>
</a-form-model-item>
</a-form-model>
<h3 style="padding: 16px">结算账户信息</h3>
<a-form-model style="margin-left: 12px" :labelCol="{span: 3}" :wrapperCol="{span: 5}">
<a-form-model-item label="结算类型">支付宝</a-form-model-item>
<a-form-model-item label="支付宝用户名称">
<a-input v-model="form.authenticationOperateInfoUpdateDTO.alipayName"></a-input>
</a-form-model-item>
<a-form-model-item label="支付宝账号">
<a-input v-model="form.authenticationOperateInfoUpdateDTO.alipayAccount"></a-input>
</a-form-model-item>
</a-form-model>
<h3 style="padding: 16px">经营信息</h3>
<a-form-model style="margin-left: 12px" :labelCol="{span: 3}" :wrapperCol="{span: 6}">
<!-- <a-form-model-item label="商户名称">
<a-input></a-input>
</a-form-model-item> -->
<a-form-model-item label="经营地址">
<a-cascader :options="cityList" placeholder="请选择"
:field-names="{ label: 'name', value: 'id', children: 'cityList', }" @change="changeBusCity"
></a-cascader>
<a-textarea v-model="form.authenticationOperateInfoUpdateDTO.operateAddressDetail"></a-textarea>
</a-form-model-item>
<a-form-model-item v-if="form.type == 3" label="经营类型">
<a-select v-model="form.authenticationOperateInfoUpdateDTO.operateType">
<a-select-option :value="1">个人销售自产农副产品</a-select-option>
<a-select-option :value="2">个人销售家庭手工业产品</a-select-option>
<a-select-option :value="3">个人利用自己的技能从事便民劳务活动</a-select-option>
<a-select-option :value="4">个人从事零星小额交易活动</a-select-option>
</a-select>
</a-form-model-item>
<a-form-model-item label="经营类目">
<a-select mode="multiple" v-model="form.authenticationOperateInfoUpdateDTO.categoryIds">
<a-select-option v-for="(item) in cateList" :key="item.id" :value="item.id">
{{item.name}}
</a-select-option>
</a-select>
</a-form-model-item>
<h4 style="padding: 12px">食品>生鲜果蔬特殊资质证明</h4>
<a-form-model-item label="具体资质">
<a-checkbox-group v-model="form.qualificationDTO" @change="qualificationChange" :options="zOption"></a-checkbox-group>
</a-form-model-item>
<!-- <a-form-model-item label="许可证资质证明">
</a-form-model-item> -->
<a-form-model-item label="门店门头照片">
<commonUpload
:fileList="fileList.doorHeadImgUrls"
@handleChange="handleDoorHeadChange"
></commonUpload>
</a-form-model-item>
<a-form-model-item label="门店内景照片">
<commonUpload
:fileList="fileList.indoorSceneImgUrls"
@handleChange="handleDoorInsideChange"
></commonUpload>
</a-form-model-item>
<a-form-model-item label="收银台照片">
<commonUpload
:fileList="fileList.cashierImgUrls"
@handleChange="handleCashChange"
></commonUpload>
</a-form-model-item>
<a-form-model-item label="补充信息">
<commonUpload
:fileList="fileList.otherImgUrls"
@handleChange="handleOtherChange"
></commonUpload>
</a-form-model-item>
</a-form-model>
</a-tab-pane>
</a-tabs>
</div>
</div>
<div style="height: 100px"></div>
<div class="footer">
<a-checkbox v-model="isChecked" v-if="stage==1" style="margin-left: 24px">
我已同意协议并开通有赞支付账户
</a-checkbox>
<a v-if="stage==1"></a>
<a v-if="stage==1"></a>
<a-button style="margin-left: 24px" type="primary" v-if="stage==1" @click="goNext"></a-button>
<a-button style="margin-left: 24px" type="primary" v-if="stage==2" @click="submit"></a-button>
</div>
</div>
</template>
<script>
import { columns1,tableData1,tableData2,tableData3 } from "./depend/config"
import { merchantList, getCityList, updateCertification } from "@/api/public"
import { getCertiDetail } from "@/api/public"
export default {
name: 'certification',
data() {
return {
stage: 1,
activeTab: 1,
isChecked: false,
columns1: columns1,
tableData1: tableData1,
tableData2: tableData2,
tableData3: tableData3,
zOption: [{label:'食品流通许可证',value:1},{label:'食品经营许可证',value:2},
{label:'食品生产许可证',value:3},{label:'食品小作坊登记证',value:4},
{label:'国境口岸卫生许可证',value:5},{label:'预包装食品备案凭证',value:6},],
form: {
id: undefined,
type: 3,
//
authenticationPersonalInfoUpdateDTO: {
handheldIdCardImgUrls: [], //
idCardFrontImgUrls: [], //
idCardBackImgUrls: [], //
cardType: 1,
name: '',
idNumber: '',
birthday: '',
idValidityStart: '',
idValidityEnd: null,
sex: 1,
occupation: '',
},
//
authenticationOperateInfoUpdateDTO: {
name: '',
tel: '',
email: '',
customerServiceTel: '',
settlementType: 1,
alipayName: '',
alipayAccount: '',
operateAddress: undefined, //
operateAddressDetail: '',
operateType: undefined,
categoryIds: [], //
qualificationDTO: [], //
doorHeadImgUrls: [], //
indoorSceneImgUrls: [], //
cashierImgUrls: [], //
otherImgUrls: [], //
}
},
conpanyForm: {
companyName: '',
registerAddress: undefined,
registerAddressDetail: '',
businessScope: '',
uscc: '',
businessTermStart: '',
businessTermEnd: null,
usccImgUrls: [], //
otherImgUrls: [], //
},
cityList: [],
cateList: [],
isLongtime: 1,
isIdCardLongtime: 1,
selTime: [],
selTime2: [],
fileList: {
handheldIdCardImgUrls: [],
idCardFrontImgUrls: [],
idCardBackImgUrls: [],
doorHeadImgUrls: [],
indoorSceneImgUrls: [],
cashierImgUrls: [],
otherImgUrls:[],
},
}
},
created() {
this.getApi();
},
methods: {
getApi() {
merchantList({type: this.form.type}).then(res => {
let data = res.data;
let arr = [];
data.forEach(ele => {
ele.childList.forEach(e => {
let obj = {
id: e.id,
name: ele.name+'-'+e.name
};
arr.push(obj)
})
})
this.cateList = arr;
});
getCityList().then(res => {
let data = res.data;
this.cityList = data;
});
getCertiDetail({merchantShopId: this.getShopInfo.id}).then(res => {
let data = res.data;
//
this.form.id = data.id;
this.form.type = data.type;
//
//
})
},
changeType() {
merchantList({type: this.form.type}).then(res => {
let data = res.data;
let arr = [];
data.forEach(ele => {
ele.childList.forEach(e => {
let obj = {
id: e.id,
name: ele.name+'-'+e.name
};
arr.push(obj)
})
})
this.cateList = arr;
});
},
changeCity(value) {
this.conpanyForm.registerAddress = value[2]
},
changeBusCity(value) {
this.form.authenticationOperateInfoUpdateDTO.operateAddress = value[2]
},
goNext() {
if(this.isChecked == true) {
this.stage = 2;
if(this.form.type == 1) {
this.activeTab = 2;
}
} else {
this.$message.warning('请阅读并同意《服务协议》和《隐私政策》')
}
},
submit() {
if(this.form.type == 3) {
updateCertification(this.form).then(res => {
if(res.code == 200) {
this.$message.success(res.msg);
this.$router.go(-1);
} else {
this.$message.error(res.msg);
}
})
} else {
let obj = Object.assign(this.form,this.conpanyForm);
updateCertification(obj).then(res => {
if(res.code == 200) {
this.$message.success(res.msg);
this.$router.go(-1);
} else {
this.$message.error(res.msg);
}
})
}
},
handlehhChange(data) { //
this.fileList.handheldIdCardImgUrls = data;
this.form.authenticationPersonalInfoUpdateDTO.handheldIdCardImgUrls = [];
data.forEach(ele => {
if(ele.status == 'done') {
this.form.authenticationPersonalInfoUpdateDTO.handheldIdCardImgUrls.push(ele.response.data)
}
})
},
handlefrontChange(data) { //
this.fileList.idCardFrontImgUrls = data;
this.form.authenticationPersonalInfoUpdateDTO.idCardFrontImgUrls = [];
data.forEach(ele => {
if(ele.status == 'done') {
this.form.authenticationPersonalInfoUpdateDTO.idCardFrontImgUrls.push(ele.response.data)
}
})
},
handlebackChange(data) { //
this.fileList.idCardBackImgUrls = data;
this.form.authenticationPersonalInfoUpdateDTO.idCardBackImgUrls = [];
data.forEach(ele => {
if(ele.status == 'done') {
this.form.authenticationPersonalInfoUpdateDTO.idCardBackImgUrls.push(ele.response.data)
}
})
},
handleDoorHeadChange(data) { //
this.fileList.doorHeadImgUrls = data;
this.form.authenticationOperateInfoUpdateDTO.doorHeadImgUrls = [];
data.forEach(ele => {
if(ele.status == 'done') {
this.form.authenticationOperateInfoUpdateDTO.doorHeadImgUrls.push(ele.response.data)
}
})
},
handleDoorInsideChange(data) { //
this.fileList.indoorSceneImgUrls = data;
this.form.authenticationOperateInfoUpdateDTO.indoorSceneImgUrls = [];
data.forEach(ele => {
if(ele.status == 'done') {
this.form.authenticationOperateInfoUpdateDTO.indoorSceneImgUrls.push(ele.response.data)
}
})
},
handleCashChange(data) { //
this.fileList.cashierImgUrls = data;
this.form.authenticationOperateInfoUpdateDTO.cashierImgUrls = [];
data.forEach(ele => {
if(ele.status == 'done') {
this.form.authenticationOperateInfoUpdateDTO.cashierImgUrls.push(ele.response.data)
}
})
},
handleOtherChange(data) { //
this.fileList.otherImgUrls = data;
this.form.authenticationOperateInfoUpdateDTO.otherImgUrls = [];
data.forEach(ele => {
if(ele.status == 'done') {
this.form.authenticationOperateInfoUpdateDTO.otherImgUrls.push(ele.response.data)
}
})
},
//
qualificationChange(value) {
let arr = [];
value.forEach(ele => {
let obj = {
id: ele,
qualificationsImgUrls: []
};
arr.push(obj)
});
this.qualificationDTO = arr;
}
}
}
</script>
<style lang="less">
.step {
.step-item {
padding: 32px 32px 0px 32px;
.step-item-title {
font-family: 'PingFang SC';
font-style: normal;
font-weight: 500;
font-size: 20px;
line-height: 28px;
text-transform: uppercase;
color: #333333;
}
}
.step2-item {
padding: 16px
}
}
.card-item {
background: #ECECEC;
margin-top: 16px;
width: 40%;
}
</style>

@ -0,0 +1,79 @@
<template>
<div class="content">
<div class="top-info">
<a-alert v-if="currentStatus == 1" style="width: 93%" message="依据《中华人民共和国电子商务法》规定,店铺对外经营需完成主体认证。为避免影响店铺经营,请尽快完成。" type="info" show-icon />
<a-button v-if="currentStatus == 1" @click="goCerti" type="primary"></a-button>
<a-alert v-if="currentStatus == 2" style="width: 100%" message="资料正在审核中将在1-5个工作日内答复您。" type="warning" show-icon />
<a-alert v-if="currentStatus == 9" style="width: 93%" message="您提交的主体认证审核被驳回,请查看原因,并按要求修改资料后重新提交审核。" type="error" show-icon />
<a-button v-if="currentStatus == 9" type="primary"></a-button>
</div>
<div class="realtime-info">
<!-- <div style="padding: 24px 24px 24px 0px">
<img style="width: 100px;height: 100px" src="" alt="" />
</div> -->
<div>
<a-descriptions :column="2">
<template slot="title">
<div class="top-info">
<span>店铺信息</span>
<a @click="changeShop"></a>
</div>
</template>
<a-descriptions-item label="店铺编号">{{shopData.code}}</a-descriptions-item>
<a-descriptions-item label="经营范围">{{shopData.businessScope}}</a-descriptions-item>
<a-descriptions-item label="店铺名称">
{{shopData.name}} <a>编辑</a>
</a-descriptions-item>
<a-descriptions-item label="店铺账号">{{shopData.account}}</a-descriptions-item>
<a-descriptions-item label="创建时间"> {{shopData.createDate}}</a-descriptions-item>
<a-descriptions-item label="联系人姓名">{{shopData.operateName}}</a-descriptions-item>
<a-descriptions-item label="主体信息"><a @click="goCerti"></a></a-descriptions-item>
<a-descriptions-item label="联系电话">{{shopData.operateTel}}</a-descriptions-item>
<a-descriptions-item label="店铺简介">{{shopData.introduction}}</a-descriptions-item>
</a-descriptions>
</div>
</div>
</div>
</template>
<script>
import { getShopDetail } from "@/api/public"
export default {
data() {
return {
currentStatus: 3,
shopData: {}
}
},
mounted() {
this.getApi()
},
methods: {
getApi() {
getShopDetail({shopId: this.getShopInfo.id}).then(res => {
this.shopData = res.data;
this.currentStatus = res.data.status
})
},
goCerti() {
this.$router.push({name:'Certification'});
},
changeShop() {
//TODO
this.$router.push({name:'ShopChoose'});
}
}
}
</script>
<style lang="less">
.top-info {
display: flex;
justify-content: space-between;
align-items: center;
}
.realtime-info {
display: flex;
padding: 24px;
}
</style>

@ -0,0 +1,13 @@
<template>
<router-view></router-view>
</template>
<script>
export default {
}
</script>
<style>
</style>

@ -0,0 +1,110 @@
<template>
<div class="content">
<div class="top-info">
<a-alert v-if="currentStatus == 1" style="width: 93%" message="依据《中华人民共和国电子商务法》规定,店铺对外经营需完成主体认证。为避免影响店铺经营,请尽快完成。" type="info" show-icon />
<a-button v-if="currentStatus == 1" @click="goCerti" type="primary"></a-button>
<a-alert v-if="currentStatus == 2" style="width: 100%" message="资料正在审核中将在1-5个工作日内答复您。" type="warning" show-icon />
<a-alert v-if="currentStatus == 9" style="width: 93%" message="您提交的主体认证审核被驳回,请查看原因,并按要求修改资料后重新提交审核。" type="error" show-icon />
<a-button v-if="currentStatus == 9" type="primary"></a-button>
</div>
<div class="order-info">
<div class="order-info-item">
<a-descriptions title="待发货订单" :column="1">
<a-descriptions-item>
<span class="order-number">0</span>
</a-descriptions-item>
<a-descriptions-item label="买家催促发货">0</a-descriptions-item>
<a-descriptions-item label="买家评价提醒">0</a-descriptions-item>
</a-descriptions>
</div>
<div class="order-info-item">
<a-descriptions title="待处理售后" :column="1">
<a-descriptions-item>
<span class="order-number">0</span>
</a-descriptions-item>
<a-descriptions-item label="买家催促发货">0</a-descriptions-item>
<a-descriptions-item label="买家评价提醒">0</a-descriptions-item>
</a-descriptions>
</div>
<div class="order-info-item">
<a-descriptions title="库存紧张" :column="1">
<a-descriptions-item>
<span class="order-number">0</span>
</a-descriptions-item>
<a-descriptions-item label="买家催促发货">0</a-descriptions-item>
<a-descriptions-item label="买家评价提醒">0</a-descriptions-item>
</a-descriptions>
</div>
</div>
<div class="realtime-info">
<a-descriptions layout="vertical">
<template slot="title">
<span>实时概况</span>
<span class="realTime-number">更新于2022/05/05 16:58:33</span>
</template>
<a-descriptions-item label="已支付订单">0</a-descriptions-item>
<a-descriptions-item label="支付金额">0</a-descriptions-item>
<a-descriptions-item label="待入账金额">0</a-descriptions-item>
<a-descriptions-item label="支付人数">0</a-descriptions-item>
<a-descriptions-item label="访客数">0</a-descriptions-item>
<a-descriptions-item label="店铺可用余额">0</a-descriptions-item>
</a-descriptions>
</div>
</div>
</template>
<script>
export default {
data() {
return {
currentStatus: 1
}
},
mounted() {
this.getApi()
},
methods: {
getApi() {
this.currentStatus = this.getShopInfo.status;
},
goCerti() {
this.$router.push({name:'Certification'});
}
}
}
</script>
<style lang="less">
.top-info {
display: flex;
justify-content: space-between;
align-items: center;
}
.order-info {
display: flex;
justify-content: space-between;
align-items: center;
padding: 24px;
.order-info-item {
.order-number {
font-family: 'Roboto';
font-style: normal;
font-weight: 700;
font-size: 24px;
line-height: 28px;
text-transform: uppercase;
}
}
}
.realtime-info {
padding: 24px;
.realTime-number {
font-family: 'PingFang SC';
font-size: 12px;
line-height: 14px;
text-transform: uppercase;
color: rgba(0, 0, 0, 0.25);
margin-left: 24px;
}
}
</style>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save