Browse Source

完善项目

master
myTest383 5 months ago
parent
commit
0d8956ac52
  1. 5
      .env.development
  2. 1
      package.json
  3. 4
      src/api/adminmallapi.js
  4. 8
      src/api/appletNotice/appletNotice.js
  5. 4
      src/api/authentication/authentication.js
  6. 15
      src/api/brand.js
  7. 13
      src/api/commodity/commodity.js
  8. 6
      src/api/invoiceReview/invoiceReview.js
  9. 8
      src/api/lpk/banner.js
  10. 16
      src/api/lpk/ordertools.js
  11. 16
      src/api/lpk/reserveorder.js
  12. 13
      src/api/pickupPoint/pickupPoint.js
  13. 10
      src/api/productAttrCate.js
  14. 20
      src/api/productCate.js
  15. 72
      src/api/user.js
  16. BIN
      src/assets/home/bj.png
  17. BIN
      src/assets/images/company_icon.png
  18. BIN
      src/assets/images/experience.png
  19. BIN
      src/assets/images/formal.png
  20. BIN
      src/assets/images/overdue.png
  21. BIN
      src/assets/loginImg/login_left.png
  22. BIN
      src/assets/loginImg/yxt-logo.png
  23. 21
      src/layout/components/Navbar.vue
  24. 364
      src/layout/components/Sidebar/index.vue
  25. 2
      src/settings.js
  26. 34
      src/utils/functions.js.js
  27. 872
      src/views/login/login.vue
  28. 15
      src/views/order/index.vue
  29. 22
      src/views/orderreserve/allDistributionCount.vue
  30. 26
      src/views/orderreserve/distributionCount.vue
  31. 27
      src/views/orderreserve/index.vue
  32. 24
      src/views/orderreserve/subBranch.vue
  33. 6
      vue.config.js

5
.env.development

@ -8,8 +8,7 @@ VUE_APP_BASE_API = '/api'
# VUE_APP_URL = "http://jianguan.yyundong.com/shgfapi"
VUE_APP_URL = "http://192.168.0.105:7211"
VUE_APP_REPORT_URL = "http://192.168.2.106:7202"
##VUE_APP_REPORT_URL = "https://lpk.yyundong.com"
VUE_APP_URL = "http://192.168.0.105:8114"
VUE_APP_REPORT_URL = "http://192.168.1.105:7202"
##VUE_APP_REPORT_URL = "https://supervise.yxtsoft.com/lpk"
##VUE_APP_URL = "http://8.130.39.13:8112"

1
package.json

@ -19,6 +19,7 @@
"core-js": "^3.8.3",
"echarts": "^5.4.3",
"ejs": "^2.7.4",
"element-china-area-data": "^6.1.0",
"element-ui": "^2.15.14",
"js-cookie": "2.2.0",
"moment": "^2.29.1",

4
src/api/adminmallapi.js

@ -4,14 +4,14 @@ export default {
// 品牌列表
listAllBrand: function(params) {
return request({
url: '/adminapi/mall/listAllBrand',
url: '/mall/adminapi/mall/listAllBrand',
method: 'get'
})
},
// 品牌列表
listAllCategory: function(params) {
return request({
url: '/adminapi/mall/listAllCategory',
url: '/mall/adminapi/mall/listAllCategory',
method: 'get'
})
}

8
src/api/appletNotice/appletNotice.js

@ -5,7 +5,7 @@ export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/appletnotice/pageList',
url: '/mall/appletnotice/pageList',
method: 'post',
data: params,
})
@ -14,7 +14,7 @@ export default {
// 新增、保存
saveNotice: function(data) {
return request({
url: '/appletnotice/saveOrUpdate',
url: '/mall/appletnotice/saveOrUpdate',
method: 'post',
data: data
});
@ -23,7 +23,7 @@ export default {
// 初始化
noticeInit: function(data) {
return request({
url: '/appletnotice/noticeInit/'+data,
url: '/mall/appletnotice/noticeInit/' + data,
method: 'get'
});
},
@ -32,7 +32,7 @@ export default {
// 修改是否可见
updateAppletUseTo: function(sid, isEnable) {
return request({
url: '/appletnotice/isDisplayed/'+sid+"/"+isEnable
url: '/mall/appletnotice/isDisplayed/' + sid + "/" + isEnable
});
},

4
src/api/authentication/authentication.js

@ -5,7 +5,7 @@ export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/enterprisecertification/listPage',
url: '/mall/enterprisecertification/listPage',
method: 'post',
data: params,
})
@ -15,7 +15,7 @@ export default {
// 审核
toExamine: function(params) {
return request({
url: '/enterprisecertification/toExamine',
url: '/mall/enterprisecertification/toExamine',
method: 'post',
data: params,
})

15
src/api/brand.js

@ -1,21 +1,21 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/pms/PmsBrand/list',
url: '/mall/pms/PmsBrand/list',
method: 'get',
params: params
})
}
export function createBrand(data) {
return request({
url:'/pms/PmsBrand/create',
url: '/mall/pms/PmsBrand/create',
method: 'post',
data: data
})
}
export function updateShowStatus(data) {
return request({
url:'/pms/PmsBrand/update/showStatus',
url: '/mall/pms/PmsBrand/update/showStatus',
method: 'post',
data: data
})
@ -23,7 +23,7 @@ export function updateShowStatus(data) {
export function updateFactoryStatus(data) {
return request({
url:'/pms/PmsBrand/update/factoryStatus',
url: '/mall/pms/PmsBrand/update/factoryStatus',
method: 'post',
data: data
})
@ -31,23 +31,22 @@ export function updateFactoryStatus(data) {
export function deleteBrand(id) {
return request({
url:'/pms/PmsBrand/delete/'+id,
url: '/mall/pms/PmsBrand/delete/' + id,
method: 'get',
})
}
export function getBrand(id) {
return request({
url:'/pms/PmsBrand/'+id,
url: '/mall/pms/PmsBrand/' + id,
method: 'get',
})
}
export function updateBrand(id, data) {
return request({
url:'/pms/PmsBrand/update/'+id,
url: '/mall/pms/PmsBrand/update/' + id,
method: 'post',
data: data
})
}

13
src/api/commodity/commodity.js

@ -5,7 +5,7 @@ export default {
// 获取商品列表
goodsListPage: function(data) {
return request({
url: '/lpkgoods/goodsListPage',
url: '/mall/lpkgoods/goodsListPage',
method: 'post',
data: data
});
@ -14,7 +14,7 @@ export default {
// 新增、保存商品
saveGoods: function(data) {
return request({
url: '/lpkgoods/saveGoods',
url: '/mall/lpkgoods/saveGoods',
method: 'post',
data: data
});
@ -23,7 +23,7 @@ export default {
// 初始化商品
goodsInit: function(data) {
return request({
url: '/lpkgoods/goodsInit/'+data,
url: '/mall/lpkgoods/goodsInit/' + data,
method: 'get'
});
},
@ -31,7 +31,7 @@ export default {
// 删除商品
deleteGoods: function(data) {
return request({
url: '/lpkgoods/deleteGoods/'+data,
url: '/mall/lpkgoods/deleteGoods/' + data,
method: 'delete'
});
},
@ -39,15 +39,14 @@ export default {
// 修改商品是否属于小程序状态
updateAppletUseTo: function(sid, isEnable) {
return request({
url: '/lpkgoods/appletUseTo/'+sid+"/"+isEnable
url: '/mall/lpkgoods/appletUseTo/' + sid + "/" + isEnable
});
},
// 修改上架/下架状态
updateIsEnable: function(sid, isEnable) {
return request({
url: '/lpkgoods/appletGrounding/'+sid+"/"+isEnable
url: '/mall/lpkgoods/appletGrounding/' + sid + "/" + isEnable
});
},
}

6
src/api/invoiceReview/invoiceReview.js

@ -5,7 +5,7 @@ export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/invoicerecords/listPage',
url: '/mall/invoicerecords/listPage',
method: 'post',
data: params,
})
@ -14,7 +14,7 @@ export default {
// 获取订单详情
getOrderDetails: function(params) {
return request({
url: '/empsreservoorder/OrderDetailsNew/'+params,
url: '/mall/empsreservoorder/OrderDetailsNew/' + params,
method: 'get'
})
},
@ -22,7 +22,7 @@ export default {
// 审核发票
toExamine: function(params) {
return request({
url: '/invoicerecords/toExamine',
url: '/mall/invoicerecords/toExamine',
method: 'post',
data: params,
})

8
src/api/lpk/banner.js

@ -5,7 +5,7 @@ export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/adminapi/banner/pageList',
url: '/mall/adminapi/banner/pageList',
method: 'post',
data: params,
})
@ -14,7 +14,7 @@ export default {
// 新增、保存
saveNotice: function(data) {
return request({
url: '/adminapi/banner/saveOrUpdate',
url: '/mall/adminapi/banner/saveOrUpdate',
method: 'post',
data: data
});
@ -23,7 +23,7 @@ export default {
// 初始化
noticeInit: function(data) {
return request({
url: '/adminapi/banner/noticeInit/' + data,
url: '/mall/adminapi/banner/noticeInit/' + data,
method: 'get'
});
},
@ -32,7 +32,7 @@ export default {
// 修改是否可见
updateAppletUseTo: function(sid, isEnable) {
return request({
url: '/adminapi/banner/isDisplayed/' + sid + "/" + isEnable
url: '/mall/adminapi/banner/isDisplayed/' + sid + "/" + isEnable
});
},

16
src/api/lpk/ordertools.js

@ -5,14 +5,14 @@ export default {
// 获取客户级预约单列表
pageOfCustomer: function(data) {
return request({
url: '/adminapi/reserve/pageOfCustomer',
url: '/mall/adminapi/reserve/pageOfCustomer',
method: 'post',
data: data
});
},
expExcelOfCustomer: function(params) {
return request({
url: '/adminapi/reserve/expExcelOfCustomer',
url: '/mall/adminapi/reserve/expExcelOfCustomer',
method: 'post',
data: params,
// headers: {
@ -27,14 +27,14 @@ export default {
// 获取各提货点配货列表
pageOfStore: function(data) {
return request({
url: '/adminapi/reserve/pageOfStore',
url: '/mall/adminapi/reserve/pageOfStore',
method: 'post',
data: data
});
},
expExcelOfStore: function(params) {
return request({
url: '/adminapi/reserve/expExcelOfStore',
url: '/mall/adminapi/reserve/expExcelOfStore',
method: 'post',
data: params,
// headers: {
@ -49,14 +49,14 @@ export default {
// 获取各支行配货列表
pageOfBank: function(data) {
return request({
url: '/adminapi/reserve/pageOfBank',
url: '/mall/adminapi/reserve/pageOfBank',
method: 'post',
data: data
});
},
expExcelOfBank: function(params) {
return request({
url: '/adminapi/reserve/expExcelOfBank',
url: '/mall/adminapi/reserve/expExcelOfBank',
method: 'post',
data: params,
// headers: {
@ -71,14 +71,14 @@ export default {
// 获取总配货列表
pageOfAll: function(data) {
return request({
url: '/adminapi/reserve/pageOfAll',
url: '/mall/adminapi/reserve/pageOfAll',
method: 'post',
data: data
});
},
expExcelOfAll: function(params) {
return request({
url: '/adminapi/reserve/expExcelOfAll',
url: '/mall/adminapi/reserve/expExcelOfAll',
method: 'post',
data: params,
// headers: {

16
src/api/lpk/reserveorder.js

@ -5,14 +5,14 @@ export default {
// 获取客户级预约单列表
pageOfCustomer: function(data) {
return request({
url: '/adminapi/reserve/pageOfCustomer',
url: '/mall/adminapi/reserve/pageOfCustomer',
method: 'post',
data: data
});
},
expExcelOfCustomer: function(params) {
return request({
url: '/adminapi/reserve/expExcelOfCustomer',
url: '/mall/adminapi/reserve/expExcelOfCustomer',
method: 'post',
data: params,
// headers: {
@ -27,14 +27,14 @@ export default {
// 获取各提货点配货列表
pageOfStore: function(data) {
return request({
url: '/adminapi/reserve/pageOfStore',
url: '/mall/adminapi/reserve/pageOfStore',
method: 'post',
data: data
});
},
expExcelOfStore: function(params) {
return request({
url: '/adminapi/reserve/expExcelOfStore',
url: '/mall/adminapi/reserve/expExcelOfStore',
method: 'post',
data: params,
// headers: {
@ -49,14 +49,14 @@ export default {
// 获取各支行配货列表
pageOfBank: function(data) {
return request({
url: '/adminapi/reserve/pageOfBank',
url: '/mall/adminapi/reserve/pageOfBank',
method: 'post',
data: data
});
},
expExcelOfBank: function(params) {
return request({
url: '/adminapi/reserve/expExcelOfBank',
url: '/mall/adminapi/reserve/expExcelOfBank',
method: 'post',
data: params,
// headers: {
@ -71,14 +71,14 @@ export default {
// 获取总配货列表
pageOfAll: function(data) {
return request({
url: '/adminapi/reserve/pageOfAll',
url: '/mall/adminapi/reserve/pageOfAll',
method: 'post',
data: data
});
},
expExcelOfAll: function(params) {
return request({
url: '/adminapi/reserve/expExcelOfAll',
url: '/mall/adminapi/reserve/expExcelOfAll',
method: 'post',
data: params,
// headers: {

13
src/api/pickupPoint/pickupPoint.js

@ -5,7 +5,7 @@ export default {
// 获取支行选择列表
bankSelect: function(data) {
return request({
url: '/lpkbank/listAll',
url: '/mall/lpkbank/listAll',
method: 'get'
});
},
@ -13,7 +13,7 @@ export default {
// 获取提货点列表
storeListPage: function(data) {
return request({
url: '/lpkstore/storeListPage',
url: '/mall/lpkstore/storeListPage',
method: 'post',
data: data
});
@ -22,7 +22,7 @@ export default {
// 新增、保存提货点
saveStore: function(data) {
return request({
url: '/lpkstore/saveStore',
url: '/mall/lpkstore/saveStore',
method: 'post',
data: data
});
@ -31,7 +31,7 @@ export default {
// 初始化提货点
storeInit: function(data) {
return request({
url: '/lpkstore/storeInit/'+data,
url: '/mall/lpkstore/storeInit/' + data,
method: 'get'
});
},
@ -39,17 +39,16 @@ export default {
// 删除提货点
deleteStore: function(data) {
return request({
url: '/lpkstore/deleteStore/'+data,
url: '/mall/lpkstore/deleteStore/' + data,
method: 'delete'
});
},
// 修改状态
updateIsEnable: function(sid, isEnable) {
return request({
url: '/lpkstore/updateIsEnable/'+sid+"/"+isEnable
url: '/mall/lpkstore/updateIsEnable/' + sid + "/" + isEnable
});
},
}

10
src/api/productAttrCate.js

@ -1,7 +1,7 @@
import request from '@/utils/request'
export function fetchList(params) {
return request({
url:'/pms/PmsProductAttributeCategory/list',
url: '/mall/pms/PmsProductAttributeCategory/list',
method: 'get',
params: params
})
@ -9,7 +9,7 @@ export function fetchList(params) {
export function createProductAttrCate(data) {
return request({
url:'/pms/PmsProductAttributeCategory/create',
url: '/mall/pms/PmsProductAttributeCategory/create',
method: 'post',
data: data
})
@ -17,21 +17,21 @@ export function createProductAttrCate(data) {
export function deleteProductAttrCate(id) {
return request({
url:'/pms/PmsProductAttributeCategory/delete/'+id,
url: '/mall/pms/PmsProductAttributeCategory/delete/' + id,
method: 'get'
})
}
export function updateProductAttrCate(id, data) {
return request({
url:'/pms/PmsProductAttributeCategory/update/'+id,
url: '/mall/pms/PmsProductAttributeCategory/update/' + id,
method: 'post',
data: data
})
}
export function fetchListWithAttr() {
return request({
url:'/pms/PmsProductAttributeCategory/list/withAttr',
url: '/mall/pms/PmsProductAttributeCategory/list/withAttr',
method: 'get'
})
}

20
src/api/productCate.js

@ -2,28 +2,28 @@ import request from '@/utils/request'
export function fetchListAll(params) {
return request({
url:'/pms/PmsProductCategory/list',
url: '/mall/pms/PmsProductCategory/list',
method: 'get',
params: params
})
}
export function fetchList(parentId, params) {
return request({
url:'/pms/PmsProductCategory/list/'+parentId,
url: '/mall/pms/PmsProductCategory/list/' + parentId,
method: 'get',
params: params
})
}
export function deleteProductCate(id) {
return request({
url:'/pms/PmsProductCategory/delete/'+id,
url: '/mall/pms/PmsProductCategory/delete/' + id,
method: 'get'
})
}
export function createProductCate(data) {
return request({
url:'/pms/PmsProductCategory/create',
url: '/mall/pms/PmsProductCategory/create',
method: 'post',
data: data
})
@ -31,7 +31,7 @@ export function createProductCate(data) {
export function updateProductCate(id, data) {
return request({
url:'/pms/PmsProductCategory/update/'+id,
url: '/mall/pms/PmsProductCategory/update/' + id,
method: 'post',
data: data
})
@ -39,14 +39,14 @@ export function updateProductCate(id,data) {
export function getProductCate(id) {
return request({
url:'/pms/PmsProductCategory/'+id,
url: '/mall/pms/PmsProductCategory/' + id,
method: 'get',
})
}
export function updateShowStatus(data) {
return request({
url:'/pms/PmsProductCategory/update/showStatus',
url: '/mall/pms/PmsProductCategory/update/showStatus',
method: 'post',
data: data
})
@ -54,7 +54,7 @@ export function updateShowStatus(data) {
export function updateIndexStatus(data) {
return request({
url:'/pms/PmsProductCategory/update/indexStatus',
url: '/mall/pms/PmsProductCategory/update/indexStatus',
method: 'post',
data: data
})
@ -62,7 +62,7 @@ export function updateIndexStatus(data) {
export function updateNavStatus(data) {
return request({
url:'/pms/PmsProductCategory/update/navStatus',
url: '/mall/pms/PmsProductCategory/update/navStatus',
method: 'post',
data: data
})
@ -70,7 +70,7 @@ export function updateNavStatus(data) {
export function fetchListWithChildren() {
return request({
url:'/pms/PmsProductCategory/list/withChildren',
url: '/mall/pms/PmsProductCategory/list/withChildren',
method: 'get'
})
}

72
src/api/user.js

@ -5,43 +5,79 @@ import qs from 'qs'
// 登录
export function doLogin(data) {
return request({
url: '/sysuser/doLogin',
url: '/mall/apiadmin/sysuser/login',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
headers: {
'Content-Type': 'application/json'
}
})
}
// 获取登录人员信息
export function getUserById(sid) {
// 注册发送验证码
export function registerSendMessageCode(code) {
return request({
url: '/cyf/sys/getUserById/' + sid
url: '/mall/apiadmin/sysuser/sendMessageCode/?mobile=' + code,
method: 'post',
headers: {
'Content-Type': 'application/json'
}
})
}
// 登录
export function login(data) {
// 用户注册
export function registUser(data) {
return request({
url: '/portal/v1/sysuser/login',
url: '/mall/apiadmin/sysuser/register',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
headers: {
'Content-Type': 'application/json'
}
})
}
// 用户注册
export function registUser(data) {
// 绑定企业/组织
export function bindOrganization(data) {
return request({
url: '/system/user/save',
url: '/mall/apiadmin/sysuser/bindOrganization',
method: 'post',
data,
headers: { 'Content-Type': 'application/x-www-form-urlencoded;' }
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 选择企业/组织sid
export function selOrganization(data) {
return request({
url: '/mall/apiadmin/sysuser/selOrganization',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 获取登录人员信息
export function getUserById(sid) {
return request({
url: '/mall/cyf/sys/getUserById/' + sid
})
}
// 获取手机验证码
export function getVerificationCode(data) {
return request({
url: '/system/user/getVerificationCode',
url: '/mall/system/user/getVerificationCode',
method: 'get',
params: data
})
@ -50,7 +86,7 @@ export function getVerificationCode(data) {
// 获取登录验证码
export function imgCode() {
return request({
url: '/system/api/defaultBlendCode?temm=' + new Date().getTime(),
url: '/mall/system/api/defaultBlendCode?temm=' + new Date().getTime(),
method: 'get'
})
}
@ -58,14 +94,14 @@ export function imgCode() {
// 获取用信息
export function getInfo(token) {
return request({
url: '/system/user/loginDetails',
url: '/mall/system/user/loginDetails',
method: 'post'
})
}
export function logout(data) { // 退出
return request({
url: '/portal/v1/sysuser/signOut',
url: '/mall/portal/v1/sysuser/signOut',
method: 'post',
data: qs.stringify(data)
})

BIN
src/assets/home/bj.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 2.3 MiB

BIN
src/assets/images/company_icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
src/assets/images/experience.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
src/assets/images/formal.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
src/assets/images/overdue.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
src/assets/loginImg/login_left.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

BIN
src/assets/loginImg/yxt-logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

21
src/layout/components/Navbar.vue

@ -1,15 +1,18 @@
<template>
<div>
<div class="navbar">
<p class="breadcrumb-container"><img src="@/assets/loginImg/logo.png" style="width: 45px;height: 45px;margin-right: 10px;"/>惠享管理平台</p>
<p class="breadcrumb-container"><img src="@/assets/loginImg/logo.png"
style="width: 45px;height: 45px;margin-right: 10px;" />预订商城管理平台</p>
<!-- <h3 class="breadcrumb-container">银行供应链贷后监管平台</h3> -->
<div class="right-menu">
<!-- <p>{{Orgname}} {{departmentName}} 欢迎, {{name}}</p>-->
<!-- <p>欢迎您{{name}}</p>
<p class="dy" @click="logout()"><img src="@/assets/images/dy.png"></p> -->
<p>欢迎您{{pNameAndDepartmentNameAndPostName}}- {{name}}</p>
<!-- <img src="@/assets/images/info.png"> -->
<!-- <img src="@/assets/images/dy.png" @click="logout"> -->
<span class="backToHome" @click="logout"><i class="el-icon-back"></i>退出登录</span>
</div>
</div>
<el-footer class="footer" height="40px">Copyright © {{ year }} 惠享管理平台 All Rights Reserved</el-footer>
<el-footer class="footer" height="40px">Copyright © {{ year }} 预订商城管理平台 All Rights Reserved</el-footer>
</div>
</template>
@ -17,12 +20,20 @@
export default {
data() {
return {
Orgname: '',
departmentName: '',
name: '',
defaultRoleName: '',
year: '',
pNameAndDepartmentNameAndPostName: ''
}
},
mounted() {
this.name = window.sessionStorage.getItem('userName')
this.Orgname = window.sessionStorage.getItem('orgName')
this.departmentName = window.sessionStorage.getItem('departmentName')
this.name = window.sessionStorage.getItem('name')
this.defaultRoleName = window.sessionStorage.getItem('defaultRoleName')
this.pNameAndDepartmentNameAndPostName = window.sessionStorage.getItem('pNameAndDepartmentNameAndPostName')
var nowDate = new Date()
this.year = nowDate.getFullYear()
},

364
src/layout/components/Sidebar/index.vue

@ -2,15 +2,9 @@
<div :class="{ 'has-logo': showLogo }">
<logo v-if="showLogo" :collapse="isCollapse" />
<el-scrollbar wrap-class="scrollbar-wrapper">
<el-menu
:default-active="$route.path"
:background-color="variables.menuBg"
:text-color="variables.menuText"
:unique-opened="false"
:active-text-color="variables.menuActiveText"
:collapse-transition="false"
mode="vertical"
>
<el-menu :default-active="$route.path" :background-color="variables.menuBg" :text-color="variables.menuText"
:unique-opened="false" :active-text-color="variables.menuActiveText" :collapse-transition="false"
mode="vertical">
<sidebar-item v-for="route in routes" :key="route.path" :item="route" :base-path="route.path" />
</el-menu>
</el-scrollbar>
@ -44,16 +38,18 @@
sourceSid: '',
userSid: ''
},
routes: [{
alwaysShow: true,
component: 'userInfo',
meta: {
icon: 'el-icon-menu',
title: '用户信息'
},
name: '/userInfo/index',
path: '/userInfo/index'
}, {
routes: [
// {
// alwaysShow: true,
// component: 'userInfo',
// meta: {
// icon: 'el-icon-menu',
// title: ''
// },
// name: '/userInfo/index',
// path: '/userInfo/index'
// },
{
alwaysShow: true,
component: 'pms',
meta: {
@ -113,131 +109,131 @@
// }
]
},
{
alwaysShow: true,
component: 'marketingCard',
meta: {
icon: 'el-icon-menu',
title: '营销卡设置'
},
name: '/marketingCard',
path: '/marketingCard',
children: [{
alwaysShow: true,
component: 'index',
meta: {
icon: 'el-icon-help',
title: '小程序礼包设置'
},
name: '/marketingCard/applet',
path: '/marketingCard/applet'
},
{
alwaysShow: true,
component: 'index',
meta: {
icon: 'el-icon-help',
title: '新人推荐礼包设置'
},
name: '/marketingCard/newUserGift',
path: '/marketingCard/newUserGift'
},
{
alwaysShow: true,
component: 'index',
meta: {
icon: 'el-icon-help',
title: '礼包设置'
},
name: '/marketingCard/index',
path: '/marketingCard/index'
},
// {
// alwaysShow: true,
// component: 'marketingCard',
// meta: {
// icon: 'el-icon-menu',
// title: ''
// },
// name: '/marketingCard',
// path: '/marketingCard',
// children: [{
// alwaysShow: true,
// component: 'index',
// meta: {
// icon: 'el-icon-help',
// title: ''
// },
// name: '/marketingCard/applet',
// path: '/marketingCard/applet'
// },
// {
// alwaysShow: true,
// component: 'index',
// meta: {
// icon: 'el-icon-help',
// title: ''
// },
// name: '/marketingCard/newUserGift',
// path: '/marketingCard/newUserGift'
// },
// {
// alwaysShow: true,
// component: 'index',
// meta: {
// icon: 'el-icon-help',
// title: ''
// },
// name: '/marketingCard/index',
// path: '/marketingCard/index'
// },
{
alwaysShow: true,
component: 'pickupCardSet',
meta: {
icon: 'el-icon-help',
title: '个人卡设置'
},
name: '/marketingCard/pickupCardSet',
path: '/marketingCard/pickupCardSet'
},
{
alwaysShow: true,
component: 'corporateCardSet',
meta: {
icon: 'el-icon-help',
title: '企业卡设置'
},
name: '/marketingCard/corporateCardSet',
path: '/marketingCard/corporateCardSet'
}
// {
// alwaysShow: true,
// component: "grantRecords",
// component: 'pickupCardSet',
// meta: {
// icon: "el-icon-help",
// title: "",
// icon: 'el-icon-help',
// title: ''
// },
// name: "/marketingCard/grantRecords",
// path: "/marketingCard/grantRecords",
// name: '/marketingCard/pickupCardSet',
// path: '/marketingCard/pickupCardSet'
// },
// {
// alwaysShow: true,
// component: "carList",
// component: 'corporateCardSet',
// meta: {
// icon: "el-icon-help",
// title: "",
// icon: 'el-icon-help',
// title: ''
// },
// name: "/marketingCard/carList",
// path: "/marketingCard/carList",
// name: '/marketingCard/corporateCardSet',
// path: '/marketingCard/corporateCardSet'
// }
// // {
// // alwaysShow: true,
// // component: "grantRecords",
// // meta: {
// // icon: "el-icon-help",
// // title: "",
// // },
// // name: "/marketingCard/grantRecords",
// // path: "/marketingCard/grantRecords",
// // },
// // {
// // alwaysShow: true,
// // component: "carList",
// // meta: {
// // icon: "el-icon-help",
// // title: "",
// // },
// // name: "/marketingCard/carList",
// // path: "/marketingCard/carList",
// // },
// ]
// },
]
},
{
alwaysShow: true,
component: 'carManage',
meta: {
icon: 'el-icon-menu',
title: '营销卡管理'
},
name: '/cardManage',
path: '/cardManage',
children: [
// {
// alwaysShow: true,
// component: 'carManage',
// meta: {
// icon: 'el-icon-menu',
// title: ''
// },
// name: '/cardManage',
// path: '/cardManage',
// children: [
{
alwaysShow: true,
component: 'person',
meta: {
icon: 'el-icon-help',
title: '个人卡统计'
},
name: '/cardManage/person',
path: '/cardManage/person'
},
// {
// alwaysShow: true,
// component: 'person',
// meta: {
// icon: 'el-icon-help',
// title: ''
// },
// name: '/cardManage/person',
// path: '/cardManage/person'
// },
{
alwaysShow: true,
component: 'enterprise',
meta: {
icon: 'el-icon-help',
title: '企业卡统计'
},
name: '/cardManage/enterprise',
path: '/cardManage/enterprise'
}, {
alwaysShow: true,
component: 'giftCard',
meta: {
icon: 'el-icon-help',
title: '福利卡统计'
},
name: '/cardManage/giftCard',
path: '/cardManage/giftCard'
}
]
},
// {
// alwaysShow: true,
// component: 'enterprise',
// meta: {
// icon: 'el-icon-help',
// title: ''
// },
// name: '/cardManage/enterprise',
// path: '/cardManage/enterprise'
// }, {
// alwaysShow: true,
// component: 'giftCard',
// meta: {
// icon: 'el-icon-help',
// title: ''
// },
// name: '/cardManage/giftCard',
// path: '/cardManage/giftCard'
// }
// ]
// },
{
alwaysShow: true,
component: 'pickupPoint',
@ -248,26 +244,26 @@
name: '/pickupPoint/index',
path: '/pickupPoint/index'
},
{
alwaysShow: true,
component: 'coupon',
meta: {
icon: 'el-icon-menu',
title: '优惠券管理'
},
name: '/coupon/index',
path: '/coupon/index'
},
{
alwaysShow: true,
component: 'network',
meta: {
icon: 'el-icon-menu',
title: '支行管理'
},
name: '/network/index',
path: '/network/index'
},
// {
// alwaysShow: true,
// component: 'coupon',
// meta: {
// icon: 'el-icon-menu',
// title: ''
// },
// name: '/coupon/index',
// path: '/coupon/index'
// },
// {
// alwaysShow: true,
// component: 'network',
// meta: {
// icon: 'el-icon-menu',
// title: ''
// },
// name: '/network/index',
// path: '/network/index'
// },
{
alwaysShow: true,
component: 'commodity',
@ -396,38 +392,38 @@
// path: "/order/index"
// },
{
alwaysShow: true,
component: 'print',
meta: {
icon: 'el-icon-menu',
title: '电子卡管理'
},
name: '/print',
path: '/print',
children: [{
alwaysShow: true,
component: 'index',
meta: {
icon: 'el-icon-help',
title: '打印电子卡'
},
name: '/print/index',
path: '/print/index'
},
{
alwaysShow: true,
component: 'print',
meta: {
icon: 'el-icon-menu',
title: '打印企业卡'
},
name: '/print/enterpriseCrad',
path: '/print/enterpriseCrad'
}
// {
// alwaysShow: true,
// component: 'print',
// meta: {
// icon: 'el-icon-menu',
// title: ''
// },
// name: '/print',
// path: '/print',
// children: [{
// alwaysShow: true,
// component: 'index',
// meta: {
// icon: 'el-icon-help',
// title: ''
// },
// name: '/print/index',
// path: '/print/index'
// },
// {
// alwaysShow: true,
// component: 'print',
// meta: {
// icon: 'el-icon-menu',
// title: ''
// },
// name: '/print/enterpriseCrad',
// path: '/print/enterpriseCrad'
// }
]
},
// ]
// },
{
alwaysShow: true,
component: 'applet',
@ -455,7 +451,8 @@
},
name: '/appletBanner/index',
path: '/appletBanner/index'
}, {
},
{
alwaysShow: true,
component: 'appletBanner',
meta: {
@ -580,4 +577,3 @@
}
}
</script>

2
src/settings.js

@ -1,6 +1,6 @@
module.exports = {
title: '惠享',
title: '预订商城',
/**
* @type {boolean} true | false

34
src/utils/functions.js.js

@ -0,0 +1,34 @@
// 封装Cookie
// 封装三个函数
// setCookie() -- 创建 Cookie
// getCookie() -- 获取 Cookie
// removeCookie() -- 删除 Cookie
export function setCookie(name, value, iDay) { //分别代表cookie名称、cookie值、存储时间
//首先将cookie的格式拼出来
//document.cookie="name=value;expires=date";
//然后name就换为name,vlaue就换为value,至于date就要算出这个日期对象
var oDate = new Date();
oDate.setDate(oDate.getDate() + iDay);
document.cookie = name + "=" + value + "; expires=" + oDate;
}
//a=12; b=5; c=8; d=99
export function getCookie(name) {
//1、先给cookie做一下字符串分割,
var arr = document.cookie.split("; "); //分割后变为数组,a=12 b=5 c=8 d=99
//2、循环数组
for (var i = 0; i < arr.length; i++) {
var arr2 = arr[i].split("="); //根据“=”再次分割
//arr2[0]——》存储的名称 abcd
//arr2[1]——》存储的值 12 5 8 99
if (arr2[0] == name) { //代表找到我想要的东西了
return arr2[1];
}
}
//另一种可能,用户第一次来网站,还没有cookie,所以肯定什么也找不到。所以在循环一次后就直接return 一个字符串,告诉用户什么也没找到。
return "";
}
export function removeCookie(name) {
//name名称,再随便来个值1,后面的才是重点-1,时间过期了,所以就成为了负值
setCookie(name, 1, -1);
}

872
src/views/login/login.vue

@ -1,55 +1,189 @@
<template>
<div class="login">
<div class="logoTitle" style="margin-left: 50px;margin-top: 50px;">
<!-- <img src="../../assets/loginImg/shgf.png"
style="width: 50px;height: 50px; margin-right: 10px;" /><span>惠享</span>
<p class="title" style="margin-top: 5px;">惠享管理平台</p> -->
<img src="../../assets/loginImg/yxt-logo.png" style="width: 250px;height:50px; margin-right: 10px;" />
</div>
<div class="main">
<div class="content">
<el-form ref="loginForm" :model="loginForm" class="login-form">
<h3 class="title1">用户登录</h3>
<el-form-item>
<el-input v-model="loginForm.userName" autocomplete="off" placeholder="请输入账号" prefix-icon="el-icon-user">
</el-input>
</el-form-item>
<el-form-item>
<el-input v-model="loginForm.password" autocomplete="off" placeholder="请输入密码" prefix-icon="el-icon-lock"
show-password>
</el-input>
<!-- <span class="nopsw register" @click="forgetPwd = true">忘记密码 </span> -->
</el-form-item>
<el-form-item v-show="showMsg" style="margin-bottom:0;">
<span class="text-danger">提示用户名或密码错误请重试</span>
</el-form-item>
<el-form-item>
<el-button type="primary" class="login-btn" v-loading="loading" @click="login"> </el-button>
<!-- <el-popover placement="top" width="400" trigger="click" v-model="loginCode" @show="codeShow">
<imgCodeRole @login="login" ref="imgCodeRole"></imgCodeRole>
<el-button slot="reference" type="primary" class="login-btn" v-loading="loading"> </el-button>
</el-popover> -->
<!--<router-link :to="{name: 'registUser'}" target="_blank" tag="a" class="register fl">个人注册</router-link>
<router-link :to="{name: 'registOrg'}" target="_blank" tag="a" class="register fr">单位注册</router-link>-->
</el-form-item>
</el-form>
<img src="../../assets/loginImg/login_left.png" style="width:50%;height:100%; " />
<div class="main-right" v-show="register==0">
<span class="main-right-title">欢迎登录商享通-预订商城</span>
<div class="main-right-table">
<div style="cursor:pointer;"
:class="tableIndex == 1 ? 'main-right-table-text1' : 'main-right-table-text3'"
@click="tableClick(1)">
密码登录</div>
<div style="cursor:pointer;"
:class="tableIndex == 2 ? 'main-right-table-text2' : 'main-right-table-text4'"
@click="tableClick(2)">
验证码登录</div>
</div>
<div class="main-right-table-password" v-show="tableIndex==1">
<el-input class="input" placeholder="请输入手机号/邮箱" clearable v-model="loginForm.userName" />
<el-input class="input" placeholder="请输入密码" type="password" show-password
v-model="loginForm.password" />
</div>
<div class="main-right-table-code" v-show="tableIndex==2">
<el-input class="input" placeholder="请输入手机号/邮箱" clearable v-model="loginForm.userName" />
<div style="display: flex;flex-direction: row;align-items: center;width: 100%;">
<el-input class="input" style="flex: 1; margin-right: 10px;" maxlength="6" placeholder="请输入验证码"
v-model="loginForm.verifyCode" />
<span :class="sendCodeType ? 'sendCode1' : 'sendCode2'" style="cursor:pointer;"
@click="sendCode">{{sendCodeText}}</span>
</div>
</div>
<el-button type="primary" size="small"
style="width: 65%;margin-top: 30px; font-size: 25px;line-height: 40px;"
@click="login">登录</el-button>
<div class="main-right-bom">
<el-checkbox class="main-right-bom-left" v-model="checkbox">7天内免登录</el-checkbox>
<div class="main-right-bom-right">
<span @click="forgetClick" style="cursor:pointer;">忘记密码</span>
<div style="margin-left: 8px;margin-right: 8px;width: 1px; height: 18px;background: #999;">
</div>
<span @click="registerClick" style="cursor:pointer;">去注册</span>
</div>
</div>
</div>
<div class="main-right" v-show="register==1">
<div v-show="registerStep==1" class="registerStep1">
<span class="main-right-title2">欢迎注册商享通-预订商城</span>
<span style="width: 100%; margin-top: 15px;">手机号码</span>
<el-input class="input" style="flex: 1; margin-right: 10px;margin-top: 5px;" maxlength="11"
placeholder="请输入手机号码" v-model="registerInfo.mobile" />
<span style="width: 100%;margin-top: 15px;">密码</span>
<el-input class="input" style="flex: 1; margin-right: 10px;margin-top: 5px;"
placeholder="8至16位大小写字母和数字的组合" v-model="registerInfo.password" show-password />
<span style="width: 100%;margin-top: 15px;">验证码</span>
<div
style="display: flex;flex-direction: row;align-items: center;width: 100%; margin-top: 5px;margin-left: -10px;">
<el-input class="input" style="flex: 1; margin-right: 10px;" maxlength="6" placeholder="请输入验证码"
v-model="registerInfo.code" />
<span :class="sendCodeType2 ? 'sendCode1' : 'sendCode2'" @click="sendCode2"
style="cursor:pointer;">{{sendCodeText2}}</span>
</div>
<div style="display: flex;flex-direction: row;align-items: center;width: 100%; margin-top: 5px;"
@click="goLogin">
<span>已有账号</span>
<span style="color: #5084D2;cursor:pointer;">登录</span>
</div>
<el-button type="primary" size="small"
style="width: 100%;margin-top: 30px; font-size: 25px;line-height: 40px;"
@click="registerStep1()">注册</el-button>
<div style="display: flex;flex-direction: row;align-items: center;width: 100%; margin-top: 10px;">
<el-checkbox style="margin-right: 5px;" v-model="check"></el-checkbox>
<span style="font-size: 12px;">我已阅读并同意</span>
<span style="font-size: 12px;cursor:pointer;">宇信通服务协议</span>
<span style="font-size: 12px;"></span>
<span style="font-size: 12px;cursor:pointer;">隐私协议</span>
</div>
</div>
<div v-show="registerStep==2" class="registerStep2">
<span class="main-right-title">请选择公司进入商享通-预订商城</span>
<div style="height: 300px;width: 100%; margin-top: 15px;overflow: auto;
display: flex;flex-direction: column;">
<div v-for="(item,index) in companyList" :key="index" @click="itemClick(item)"
style="display: flex;flex-direction: column;width: 100%;">
<div style="display: flex;flex-direction: row;align-items: center;
background: #EDF1F7; border-radius: 8px;width: 100%;margin-bottom: 20px;
height: 50px;cursor:pointer;">
<img src="../../assets/images/company_icon.png" style="width: 25px; height: 25px;
margin-left: 10px;margin-right: 10px;" />
<span style="flex: 1;margin-right: 10px;">{{item.orgName}}</span>
<img v-show="item.type=='3'" src="../../assets/images/overdue.png"
style=" height: 100%;" />
<img v-show="item.type=='2'" src="../../assets/images/experience.png"
style=" height: 100%;" />
<img v-show="item.type=='1'" src="../../assets/images/formal.png"
style=" height: 100%;" />
</div>
</div>
</div>
<el-button type="primary" size="small"
style="width: 100%;margin-top: 30px; font-size: 25px;line-height: 40px;"
@click="registerStep2()">新建企业信息</el-button>
</div>
<div v-show="registerStep==3" class="registerStep3">
<span class="main-right-title2">欢迎注册商享通-预订商城</span>
<span style="width: 100%; font-size: 16px;color: #000; margin-top: 40px;">请填写您的企业信息</span>
<div style="display: flex;flex-direction: row;align-items: center; margin-top: 15px;width: 100%; ">
<span>企业名称</span>
<el-input class="input" style="flex: 1; " placeholder="请输入公司名称"
v-model="registerInfo.companyName" />
</div>
<div style="display: flex;flex-direction: row;align-items: center;margin-top: 15px;width: 100%; ">
<span>联系人员</span>
<el-input class="input" style="flex: 1;" placeholder="请输入联系人" v-model="registerInfo.contacts" />
</div>
<div style="display: flex;flex-direction: row;align-items: center;margin-top: 15px;width: 100%; ">
<span>所在区域</span>
<!-- <el-input class="input" style="flex: 1; margin-right: 10px;" placeholder="请输入公司名称"
v-model="registerInfo.company" /> -->
<el-cascader v-model="selectedOptions" :options="options" filterable clearable class="input"
style="flex: 1;" @change="handleChange" />
</div>
<el-button type="primary" size="small"
style="width: 100%;margin-top: 30px; font-size: 25px;line-height: 40px;"
@click="registerStep3()">创建并进入</el-button>
<el-dialog title="忘记密码" :visible.sync="forgetPwd">
<el-form :model="nopassword">
<el-form-item label="手机号">
<el-input v-model="nopassword.userPhone" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="用户名">
<el-input v-model="nopassword.userName" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="forgetPwd = false"> </el-button>
<el-button type="primary" @click="reGetPwd()"> </el-button>
</div>
</el-dialog>
</div>
</div>
</div>
</template>
@ -57,28 +191,56 @@
<script>
import {
doLogin,
registerSendMessageCode,
bindOrganization,
selOrganization,
getUserById,
imgCode
registUser
} from '@/api/user.js'
import user from '@/api/User/login.js'
//
import {
regionData,
codeToText,
TextToCode
} from 'element-china-area-data'
import {
setToken,
getToken,
setSession
} from '@/utils/auth'
import imgCodeRole from '@/components/imgCodeRole/index.vue'
import qs from 'qs'
setCookie,
getCookie,
removeCookie,
} from '@/utils/functions.js.js'
export default {
components: {
imgCodeRole
},
data() {
return {
checkbox: false,
register: 0,
registerStep: 1,
tableIndex: 1,
sendCodeText: "发送验证码",
sendCodeType: false,
totalTime: 10, //60
timer: '', //
sendCodeText2: "发送验证码",
sendCodeType2: false,
totalTime2: 10, //60
timer2: '', //
check: false,
registerInfo: {
mobile: '',
userSid: "",
password: "",
sourceSid: 'd936f1ba-03c3-11ec-bf08-48452053aa46', // - sid
},
loginForm: {
// userName: '18033761989',
// password: 'Yxt123',
userName: '',
password: '',
verifyCode: "",
type: "1"
},
imgCode: '',
loading: false,
loginCode: false,
showMsg: false,
@ -87,27 +249,334 @@
userPhone: '',
userName: '',
},
//
options: regionData,
//
selectedOptions: [],
companyList: [
]
}
},
created() {
if (getCookie("pas") && getCookie("name")) { //Cookie
this.loginForm.userName = getCookie("name"); //
this.loginForm.password = getCookie("pas");
console.log(" created", this.loginForm)
this.checkbox = true
} else {
this.loginForm.userName = ""; //
this.loginForm.password = "";
}
},
methods: {
//
handleChange(value) {
console.log(" handleChange", value)
var province = ''
var city = ''
var country = ''
for (let i = 0; i < this.selectedOptions.length; i++) {
if (i === 0) {
var province = codeToText[this.selectedOptions[i]]
}
if (i === 1) {
var city = codeToText[this.selectedOptions[i]]
}
if (i === 2) {
var country = codeToText[this.selectedOptions[i]]
}
}
console.log(" handleChange", province + "/" + city + "/" + country)
this.registerInfo.region = province + "/" + city + "/" + country
},
tableClick(index) {
this.tableIndex = index
this.loginForm.type = index + ""
},
//
sendCode() {
if (this.sendCodeType) return
// this.getCode() //
this.sendCodeType = true
this.sendCodeText = this.totalTime + 's'
this.timer = setInterval(() => {
this.totalTime--
this.sendCodeText = this.totalTime + 's'
if (this.totalTime < 0) {
clearInterval(this.timer)
this.sendCodeText = '发送验证码'
this.totalTime = 10
this.sendCodeType = false
}
}, 1000)
},
//
sendCode2() {
if (this.registerInfo.mobile == '') {
this.$message({
message: '请输入手机号码',
type: 'warning'
})
return
}
var reg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/
console.log(" reg", reg.test(this.registerInfo.mobile))
if (!reg.test(this.registerInfo.mobile)) {
this.$message({
message: '手机号码格式错误',
type: 'warning'
})
return
}
if (this.sendCodeType2) return
// this.getCode() //
this.sendCodeType2 = true
this.sendCodeText2 = this.totalTime2 + 's'
this.timer2 = setInterval(() => {
this.totalTime2--
this.sendCodeText2 = this.totalTime2 + 's'
if (this.totalTime2 < 0) {
clearInterval(this.timer2)
this.sendCodeText2 = '发送验证码'
this.totalTime2 = 10
this.sendCodeType2 = false
}
}, 1000)
registerSendMessageCode(this.registerInfo.mobile).then((response) => {}).catch(() => {})
},
login() {
console.log(66);
if (this.checkbox) { //
setCookie("name", this.loginForm.userName, 7); //Cookie
setCookie("pas", this.loginForm.password, 7);
} else {
removeCookie("name"); //Cookie
removeCookie("pas");
}
// this.register = 1
// this.registerStep = 2
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
doLogin(this.loginForm).then((response) => {
if (response.code == 200) {
loading.close()
this.register = 1
this.companyList = response.data.sysOrganizationVos
this.registerInfo.userSid = response.data.sid
if (this.companyList.length == 0) {
// 1.
this.registerStep = 3
} else {
// 2.
this.registerStep = 2
}
} else {
loading.close()
}
}).catch(() => {
loading.close()
})
},
forgetClick() {
},
registerClick() {
this.register = 1
this.registerStep = 1
},
goLogin() {
this.register = 0
this.registerStep = 0
},
registerStep1() {
var passwordreg = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9]).{8,16}$/
if (!passwordreg.test(this.registerInfo.password)) {
this.$message({
message: '密码格式错误,必须为8至16位大小写字母和数字的组合',
type: 'warning'
})
return
}
if (!this.check) {
this.$message({
message: '请阅读并同意《宇信通服务协议》与《隐私协议》',
type: 'warning'
})
return
}
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
registUser(this.registerInfo).then((response) => {
if (response.code == 200) {
loading.close()
this.companyList = response.data.sysOrganizationVos
this.registerInfo.userSid = response.data.sid
if (this.companyList.length == 0) {
// 1.
this.registerStep = 3
} else {
// 2.
this.registerStep = 2
}
} else {
loading.close()
}
}).catch(() => {
loading.close()
})
},
registerStep2() {
this.registerStep = 3
},
registerStep3() {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
bindOrganization(this.registerInfo).then((response) => {
if (response.code == 200) {
this.$router.push({
path: '/index'
})
loading.close()
window.sessionStorage.setItem('token', response.data.token)
window.sessionStorage.setItem('staffSid', response.data.staffSid)
window.sessionStorage.setItem('userSid', response.data.sid)
window.sessionStorage.setItem('name', response.data.name)
window.sessionStorage.setItem('userName', response.data.userName)
window.sessionStorage.setItem('mobile', response.data.mobile)
window.sessionStorage.setItem('orgName', response.data.orgName)
window.sessionStorage.setItem('orgSid', response.data.orgSid)
window.sessionStorage.setItem('defaultDeptName', response.data.defaultDeptName)
window.sessionStorage.setItem('defaultDeptSid', response.data.defaultDeptSid)
window.sessionStorage.setItem('defaultRoleName', response.data.defaultRoleName)
window.sessionStorage.setItem('defaultRoleSid', response.data.defaultRoleSid)
window.sessionStorage.setItem('orgSidPath', response.data.orgSidPath)
window.sessionStorage.setItem('defaultOrgPath', response.data.defaultOrgPath)
window.sessionStorage.setItem('defaultOrgPathName', response.data.defaultOrgPathName)
window.sessionStorage.setItem('pNameAndDepartmentNameAndPostName', response.data
.pNameAndDepartmentNameAndPostName)
} else {
loading.close()
}
}).catch(() => {
loading.close()
})
},
itemClick(item) {
console.log(" itemClick", item)
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
var params = {
userSid: this.registerInfo.userSid,
orgSid: item.orgSid,
sourceSid: 'd936f1ba-03c3-11ec-bf08-48452053aa46', // sid
}
selOrganization(params).then((response) => {
if (response.code == 200) {
this.$router.push({
path: '/index'
})
this.loading = true
// this.getUserInfo(response.data.loginId)
window.sessionStorage.setItem('tokenName', response.data.tokenName)
window.sessionStorage.setItem('tokenValue', response.data.tokenValue)
loading.close()
window.sessionStorage.setItem('token', response.data.token)
window.sessionStorage.setItem('staffSid', response.data.staffSid)
window.sessionStorage.setItem('userSid', response.data.sid)
window.sessionStorage.setItem('name', response.data.name)
window.sessionStorage.setItem('userName', response.data.userName)
window.sessionStorage.setItem('mobile', response.data.mobile)
window.sessionStorage.setItem('orgName', response.data.orgName)
window.sessionStorage.setItem('orgSid', response.data.orgSid)
window.sessionStorage.setItem('defaultDeptName', response.data.defaultDeptName)
window.sessionStorage.setItem('defaultDeptSid', response.data.defaultDeptSid)
window.sessionStorage.setItem('defaultRoleName', response.data.defaultRoleName)
window.sessionStorage.setItem('defaultRoleSid', response.data.defaultRoleSid)
window.sessionStorage.setItem('orgSidPath', response.data.orgSidPath)
window.sessionStorage.setItem('defaultOrgPath', response.data.defaultOrgPath)
window.sessionStorage.setItem('defaultOrgPathName', response.data.defaultOrgPathName)
window.sessionStorage.setItem('pNameAndDepartmentNameAndPostName', response.data
.pNameAndDepartmentNameAndPostName)
} else {
loading.close()
}
}).catch(() => {
this.loading = true
loading.close()
})
},
getUserInfo(id) {
getUserById(id).then((response) => {
if (response.code == 200) {
@ -119,8 +588,7 @@
window.sessionStorage.setItem('userName', user.userName)
}
}).catch(() => {
})
}).catch(() => {})
},
codeShow() {
@ -140,140 +608,254 @@
<style lang="scss">
// .el-input__inner {
// border: none;
// color: #000;
// font-size: 16px;
// }
input:-webkit-autofill {
-webkit-box-shadow: 0 0 0px 1000px white inset;
-webkit-text-fill-color: #000;
}
.login {
position: relative;
width: 100%;
height: 100%;
background-size: 100% 100%;
background-image: url(../../assets/home/bj.jpg);
background-image: url(../../assets/home/bj.png);
background-position: center;
overflow: hidden;
.logoTitle {
margin: 30px;
img {
width: 70px;
}
span {
font-size: 40px;
color: #191919;
}
.title {
font-size: 25px;
font-family: Source Han Sans CN;
font-weight: 500;
color: #191919;
margin: 0;
}
}
.main {
width: 30%;
/*height: 640px;*/
width: 60%;
height: 500px;
background: #ffffff;
box-shadow: 0px 13px 12px 0px rgba(0, 0, 0, 0.15);
opacity: 0.8;
border-radius: 20px;
border-radius: 5px;
position: absolute;
right: 15%;
top:35%;
right: 20%;
top: 25%;
display: flex;
flex-direction: row;
.content {
position: relative;
/*.title-h3{
width: 100%;
.main-right {
display: flex;
flex-direction: column;
align-items: center;
width: 50%;
height: 100%;
.main-right-title {
margin-top: 40px;
font-size: 24px;
font-weight: 600;
}
.main-right-title2 {
margin-top: 40px;
font-size: 24px;
font-weight: 600;
color: #467CCF;
}
.main-right-table {
display: flex;
flex-direction: row;
align-items: center;
margin-top: 30px;
width: 70%;
.main-right-table-text1 {
flex: 1;
font-size: 22px;
text-align: center;
color: #FFFFFF;
font-size: 30px;
margin: 0;
position: absolute;
top: -65px;
color: #3E77CD;
}
}*/
.main-right-table-text1:after {
content: '';
display: block;
width: 60px;
border-bottom: 2px solid #3E77CD;
margin: 0 auto;
padding-bottom: 8px;
}
.main-right-table-text3 {
flex: 1;
font-size: 22px;
text-align: center;
color: #333;
border-bottom: none;
padding-bottom: 8px;
}
.main-right-table-text2 {
flex: 1;
font-size: 22px;
text-align: center;
color: #3E77CD;
}
.login-form {
padding: 30px 50px;
.main-right-table-text2:after {
content: '';
display: block;
width: 80px;
border-bottom: 2px solid #3E77CD;
margin: 0 auto;
padding-bottom: 8px;
}
.title1 {
margin: 0px auto 30px auto;
.main-right-table-text4 {
flex: 1;
font-size: 22px;
text-align: center;
font-size: 20px;
color: #191919;
font-size: 23px;
font-weight: 500;
color: #333;
border-bottom: none;
padding-bottom: 8px;
}
}
.el-input {
border: none;
background-color: transparent;
.main-right-table-password {
display: flex;
width: 65%;
margin-top: 10px;
flex-direction: column;
align-items: center;
.input {
margin-top: 10px;
width: 100%;
height: 50px;
}
}
.code {
position: absolute;
top: 3px;
right: 5px;
width: 35%;
height: 35px;
cursor: pointer;
z-index: 9;
.main-right-table-code {
display: flex;
width: 65%;
margin-top: 10px;
flex-direction: column;
align-items: center;
.input {
margin-top: 10px;
width: 100%;
height: 50px;
}
.nopsw {
position: absolute;
bottom: -30px;
right: 5px;
color: #018ad2;
font-size: 15px;
line-height: 30px;
.sendCode1 {
font-size: 16px;
color: #c9c9c9;
}
.sendCode2 {
font-size: 16px;
color: #3E77CD;
}
}
.main-right-bom {
padding-left: 10px;
padding-right: 10px;
display: flex;
width: 65%;
margin-top: 10px;
flex-direction: row;
align-items: center;
justify-content: space-between;
.main-right-bom-left {
color: #000;
align-items: center;
}
.main-right-bom-right {
display: flex;
flex-direction: row;
align-items: center;
span {
color: #666;
}
}
}
.registerStep1 {
display: flex;
flex-direction: column;
align-items: center;
width: 65%;
.input {
width: 100%;
height: 50px;
}
.register {
color: #EE640C;
.main-right-title2 {
font-size: 24px;
font-weight: 600;
color: #467CCF;
}
.register:hover,
.nopsw:hover {
cursor: pointer;
.sendCode1 {
font-size: 16px;
color: #c9c9c9;
}
.btn-eye {
cursor: pointer;
.sendCode2 {
font-size: 16px;
color: #3E77CD;
}
.text-danger {
color: #f56c6c;
}
.login-btn {
margin: 10px 0 10px 0;
.registerStep2 {
display: flex;
flex-direction: column;
align-items: center;
width: 70%;
.input {
width: 100%;
background-color: #EE640C;
border: 0;
height: 50px;
}
.main-right-title {
font-size: 24px;
font-weight: 600;
}
.login-btn:hover {
background-color: #EE640C;
border: 0;
}
.el-input--prefix .el-input__inner {
border: 1px solid #EE640C;
background: transparent;
color: #333 !important;
.registerStep3 {
display: flex;
flex-direction: column;
align-items: center;
width: 70%;
.input {
width: 100%;
height: 50px;
}
}
.el-form-item {
margin-bottom: 40px;
}
.el-loading-mask {
background-color: rgba(255, 255, 255, 0.6);
}
}
</style>

15
src/views/order/index.vue

@ -23,25 +23,25 @@
</el-date-picker>
</el-form-item>
<el-form-item label="所属支行">
<!-- <el-form-item label="所属支行">
<el-select v-model="page.params.bankSid" filterable class="item_input" clearable
placeholder="请选择" style="width:100%" @change="bankSelect">
<el-option v-for="item in bankList" :key="item.name" :label="item.name"
:value="item.sid">
</el-option>
</el-select>
</el-form-item>
</el-form-item> -->
<el-form-item label="提货门店">
<!-- <el-form-item label="提货门店">
<el-select v-model="page.params.store" filterable class="item_input" clearable
placeholder="请选择" style="width:100%" @change="giftPackSelect">
<el-option v-for="item in giftPackList" :key="item.text" :label="item.text"
:value="item.text">
</el-option>
</el-select>
</el-form-item>
</el-form-item> -->
<!--
<el-form-item label="卡券类型">
<el-select v-model="page.params.cardType" filterable class="item_input" clearable
placeholder="请选择" style="width:100%" @change="cardTypeSelect">
@ -49,7 +49,7 @@
:value="item.sid">
</el-option>
</el-select>
</el-form-item>
</el-form-item> -->
</el-form>
@ -156,8 +156,7 @@
},
giftPackList: [],
bankList: [],
cardTypeList:[
{
cardTypeList: [{
text: "全部",
sid: ""
},

22
src/views/orderreserve/allDistributionCount.vue

@ -10,20 +10,24 @@
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="预约开始日期">
<el-date-picker v-model="page.params.startDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
<el-date-picker v-model="page.params.startDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
</el-form-item>
<el-form-item label="预约结束日期">
<el-date-picker v-model="page.params.endDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
<el-date-picker v-model="page.params.endDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
</el-form-item>
<el-form-item label="菜窖分类">
<!-- <el-form-item label="菜窖分类">
<el-select v-model="page.params.cardType" filterable class="item_input" clearable placeholder="请选择" style="width:100%">
<el-option v-for="item in brandList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
</el-form-item> -->
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-button type="primary" size="small" icon="el-icon-search"
@click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh"
@click="resetQuery">重置</el-button>
</div>
</div>
</div>
@ -53,7 +57,8 @@
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="dataList.length > 0" :total="page.total" :page.sync="page.current" :limit.sync="page.size" class="pagination" @pagination="loadList" />
<pagination v-show="dataList.length > 0" :total="page.total" :page.sync="page.current"
:limit.sync="page.size" class="pagination" @pagination="loadList" />
</div>
</div>
</div>
@ -117,7 +122,8 @@
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.initBrand()
// this.initBrand()
this.loadList()
},
methods: {
initBrand() {

26
src/views/orderreserve/distributionCount.vue

@ -10,12 +10,14 @@
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="预约开始日期">
<el-date-picker v-model="page.params.startDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
<el-date-picker v-model="page.params.startDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
</el-form-item>
<el-form-item label="预约结束日期">
<el-date-picker v-model="page.params.endDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
<el-date-picker v-model="page.params.endDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
</el-form-item>
<el-form-item label="所属支行">
<!-- <el-form-item label="所属支行">
<el-select v-model="page.params.bankSid" filterable class="item_input" clearable placeholder="请选择" style="width:100%" @change="bankSelect">
<el-option v-for="item in bankList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
@ -29,11 +31,13 @@
<el-select v-model="page.params.cardType" filterable class="item_input" clearable placeholder="请选择" style="width:100%">
<el-option v-for="item in brandList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
</el-form-item> -->
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-button type="primary" size="small" icon="el-icon-search"
@click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh"
@click="resetQuery">重置</el-button>
</div>
</div>
</div>
@ -79,7 +83,8 @@
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="dataList.length > 0" :total="page.total" :page.sync="page.current" :limit.sync="page.size" class="pagination" @pagination="loadList" />
<pagination v-show="dataList.length > 0" :total="page.total" :page.sync="page.current"
:limit.sync="page.size" class="pagination" @pagination="loadList" />
</div>
</div>
</div>
@ -147,9 +152,10 @@
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.initBank()
this.initStore()
this.initBrand()
// this.initBank()
// this.initStore()
// this.initBrand()
this.loadList()
},
methods: {
initBank() {

27
src/views/orderreserve/index.vue

@ -10,12 +10,14 @@
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="预约开始日期">
<el-date-picker v-model="page.params.startDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
<el-date-picker v-model="page.params.startDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
</el-form-item>
<el-form-item label="预约结束日期">
<el-date-picker v-model="page.params.endDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
<el-date-picker v-model="page.params.endDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
</el-form-item>
<el-form-item label="所属支行">
<!-- <el-form-item label="所属支行">
<el-select v-model="page.params.bankSid" filterable class="item_input" clearable placeholder="请选择" style="width:100%" @change="bankSelect">
<el-option v-for="item in bankList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
@ -29,11 +31,13 @@
<el-select v-model="page.params.cardType" filterable class="item_input" clearable placeholder="请选择" style="width:100%">
<el-option v-for="item in brandList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
</el-form-item> -->
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-button type="primary" size="small" icon="el-icon-search"
@click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh"
@click="resetQuery">重置</el-button>
</div>
</div>
</div>
@ -67,7 +71,8 @@
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="dataList.length > 0" :total="page.total" :page.sync="page.current" :limit.sync="page.size" class="pagination" @pagination="loadList" />
<pagination v-show="dataList.length > 0" :total="page.total" :page.sync="page.current"
:limit.sync="page.size" class="pagination" @pagination="loadList" />
</div>
</div>
</div>
@ -135,11 +140,11 @@
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.initBank()
this.initStore()
this.initBrand()
// this.initBank()
// this.initStore()
// this.initBrand()
// this.getAllStore()
// this.loadList()
this.loadList()
// this.getBankList()
},
methods: {

24
src/views/orderreserve/subBranch.vue

@ -10,12 +10,14 @@
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="预约开始日期">
<el-date-picker v-model="page.params.startDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
<el-date-picker v-model="page.params.startDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
</el-form-item>
<el-form-item label="预约结束日期">
<el-date-picker v-model="page.params.endDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
<el-date-picker v-model="page.params.endDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;" clearable />
</el-form-item>
<el-form-item label="所属支行">
<!-- <el-form-item label="所属支行">
<el-select v-model="page.params.bankSid" filterable class="item_input" clearable placeholder="请选择" style="width:100%">
<el-option v-for="item in bankList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
@ -24,11 +26,13 @@
<el-select v-model="page.params.cardType" filterable class="item_input" clearable placeholder="请选择" style="width:100%">
<el-option v-for="item in brandList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
</el-form-item> -->
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-button type="primary" size="small" icon="el-icon-search"
@click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh"
@click="resetQuery">重置</el-button>
</div>
</div>
</div>
@ -62,7 +66,8 @@
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="dataList.length > 0" :total="page.total" :page.sync="page.current" :limit.sync="page.size" class="pagination" @pagination="loadList" />
<pagination v-show="dataList.length > 0" :total="page.total" :page.sync="page.current"
:limit.sync="page.size" class="pagination" @pagination="loadList" />
</div>
</div>
</div>
@ -128,8 +133,9 @@
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.initBank()
this.initBrand()
// this.initBank()
// this.initBrand()
this.loadList()
},
methods: {
initBank() {

6
vue.config.js

@ -6,7 +6,7 @@ function resolve(dir) {
return path.join(__dirname, dir)
}
const name = defaultSettings.title || '惠享' // page title
const name = defaultSettings.title || '预订商城' // page title
// 如果端口设置为80,
// 使用管理员权限执行命令行。
@ -24,8 +24,8 @@ module.exports = {
*在大多数情况下请使用/
*详细信息https://cli.vuejs.org/config/#publicpath
*/
publicPath: process.env.NODE_ENV === 'production' ? '/lpk/' : '/',
outputDir: 'yythmall-ui',
publicPath: process.env.NODE_ENV === 'production' ? '/' : '/',
outputDir: 'ordermall-ui',
assetsDir: 'static',
lintOnSave: process.env.NODE_ENV === 'development',
productionSourceMap: false,

Loading…
Cancel
Save