From e6ee77f1700ec2ad9092e9ea0b3b9cc81ce0a23e Mon Sep 17 00:00:00 2001
From: fhysy <1149505133@qq.com>
Date: Wed, 19 Feb 2025 16:59:07 +0800
Subject: [PATCH] =?UTF-8?q?=F0=9F=92=A5=20feat(compiler):=20-=20=E8=B0=83?=
=?UTF-8?q?=E6=95=B4api=EF=BC=8C=E5=92=8C=E8=AF=B7=E6=B1=82=E5=B0=81?=
=?UTF-8?q?=E8=A3=85=EF=BC=8C=E7=99=BB=E5=BD=95=E5=9C=B0=E5=9D=80=20-=20?=
=?UTF-8?q?=E7=99=BB=E5=BD=95=E9=A1=B5=E9=80=82=E9=85=8D=E5=9F=9F=E5=90=8D?=
=?UTF-8?q?=E5=92=8C=E8=AF=B7=E6=B1=82=E5=8F=82=E6=95=B0=E8=87=AA=E5=8A=A8?=
=?UTF-8?q?=E9=80=89=E6=8B=A9=EF=BC=88=E5=B0=8F=E7=A8=8B=E5=BA=8F=E6=9C=AA?=
=?UTF-8?q?=E9=80=82=E9=85=8D=EF=BC=89=20-=20=E8=B0=83=E6=95=B4=E5=AF=B9?=
=?UTF-8?q?=E6=8E=A5=E8=AE=A2=E5=8D=95=E3=80=81=E6=B6=88=E6=81=AF=E9=A1=B5?=
=?UTF-8?q?=20-=20=E6=B7=BB=E5=8A=A0=E7=B4=A0=E6=9D=90=E5=BD=95=E5=85=A5?=
=?UTF-8?q?=E9=A1=B5=E9=9D=A2=E3=80=81=E8=AE=A2=E5=8D=95=E5=92=8C=E6=B6=88?=
=?UTF-8?q?=E6=81=AF=E8=AF=A6=E6=83=85=E9=A1=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
App.vue | 24 ++
common/api/api.js | 56 +++-
common/api/orderApi.js | 147 +++++++++
common/api/request.js | 18 +-
main.js | 4 +-
manifest.json | 8 +-
pages.json | 40 ++-
pages/auth/passwordLogin.vue | 75 ++++-
pages/fun/materialEdit.vue | 620 +++++++++++++++++++++++++++++++++++
pages/new/detail.vue | 90 +++++
pages/order/detail.vue | 306 +++++++++++++++++
pages/tabBar/new.vue | 129 ++------
pages/tabBar/order.vue | 272 +++++++++++----
13 files changed, 1603 insertions(+), 186 deletions(-)
create mode 100644 common/api/orderApi.js
create mode 100644 pages/fun/materialEdit.vue
create mode 100644 pages/new/detail.vue
create mode 100644 pages/order/detail.vue
diff --git a/App.vue b/App.vue
index 28b9659..f52a0e5 100644
--- a/App.vue
+++ b/App.vue
@@ -53,4 +53,28 @@
min-height: 100%;
}
+
+
+
\ No newline at end of file
diff --git a/common/api/api.js b/common/api/api.js
index 0652ab2..de5b900 100644
--- a/common/api/api.js
+++ b/common/api/api.js
@@ -1,6 +1,8 @@
-// import request from './request.js'
+import {request} from './request.js'
export default{
+ // 订单,模块
+ orderApi:require("./orderApi.js").default,
/*
* 登录相关
*/
@@ -14,5 +16,55 @@ export default{
})
})
},
-
+ // 消息相关
+ getNewList(data) {// 获取消息列表
+ return new Promise((resolve, reject) => {
+ request.get('/system/notice/personal',data)
+ .then((res) =>{
+ resolve(res);
+ }).catch(err =>{
+ reject(err);
+ })
+ })
+ },
+ getNewDetetail(id) {// 获取消息详情
+ return new Promise((resolve, reject) => {
+ request.get('/system/notice/' + id)
+ .then((res) =>{
+ resolve(res);
+ }).catch(err =>{
+ reject(err);
+ })
+ })
+ },
+ readNew(data) {// 阅读消息
+ return new Promise((resolve, reject) => {
+ request.put('/system/notice/read',data)
+ .then((res) =>{
+ resolve(res);
+ }).catch(err =>{
+ reject(err);
+ })
+ })
+ },
+ getDictList(type) {// 获取消息详情
+ return new Promise((resolve, reject) => {
+ request.get('/system/dict/data/type/' + type)
+ .then((res) =>{
+ resolve(res);
+ }).catch(err =>{
+ reject(err);
+ })
+ })
+ },
+ getOssDetail(id) {// 获取oss文件详情
+ return new Promise((resolve, reject) => {
+ request.get('/resource/oss/listByIds/' + id)
+ .then((res) =>{
+ resolve(res);
+ }).catch(err =>{
+ reject(err);
+ })
+ })
+ },
}
\ No newline at end of file
diff --git a/common/api/orderApi.js b/common/api/orderApi.js
new file mode 100644
index 0000000..3132f0a
--- /dev/null
+++ b/common/api/orderApi.js
@@ -0,0 +1,147 @@
+import {request} from './request'
+export default {
+ // 获取订单列表
+ getOrderList(data){
+ return new Promise((resolve, reject) => {
+ request.get('/mallClient/order/list',data)
+ .then((res) =>{
+ resolve(res);
+ }).catch(err =>{
+ reject(err);
+ })
+ })
+ },
+ // 获取订单详情
+ getOrderDetail(id){
+ return new Promise((resolve, reject) => {
+ request.get('/mallClient/order/'+id)
+ .then((res) =>{
+ resolve(res);
+ }).catch(err =>{
+ reject(err);
+ })
+ })
+ },
+ // 获取订单商品列表
+ getMallclientOrderProductList(data){
+ return new Promise((resolve, reject) => {
+ request.get('/mallclient/clientorderItem/list',data)
+ .then((res) =>{
+ resolve(res);
+ }).catch(err =>{
+ reject(err);
+ })
+ })
+ },
+ // 查询订单商品素材模板列表
+ getProductMaterialDictList(data){
+ return new Promise((resolve, reject) => {
+ request.get('/mall/materialDict/listWithProduct',data)
+ .then((res) =>{
+ resolve(res);
+ }).catch(err =>{
+ reject(err);
+ })
+ })
+ },
+ // 查询订单商品素材列表(已有)
+ getMallOrderProductMaterialList(data){
+ return new Promise((resolve, reject) => {
+ request.get('/mall/material/list',data)
+ .then((res) =>{
+ resolve(res);
+ }).catch(err =>{
+ reject(err);
+ })
+ })
+ },
+ // 查询订单商品素材模板素材项列表
+ getProductMaterialDictItemList(data){
+ return new Promise((resolve, reject) => {
+ request.get('/mall/materialTemplate/listById',data)
+ .then((res) =>{
+ resolve(res);
+ }).catch(err =>{
+ reject(err);
+ })
+ })
+ },
+ // 删除文件
+ delOssFile(id){
+ console.log("id",id)
+ return new Promise((resolve, reject) => {
+ request.delete('/resource/oss/' + id)
+ .then((res) =>{
+ resolve(res);
+ }).catch(err =>{
+ reject(err);
+ })
+ })
+ },
+ // 订单素材列表(流程)
+ getOrderMaterialList(data){
+ return new Promise((resolve, reject) => {
+ request.get('/mall/orderMaterial/list',data)
+ .then((res) =>{
+ resolve(res);
+ }).catch(err =>{
+ reject(err);
+ })
+ })
+ },
+ // 新增订单素材(流程)
+ AddOrderMaterial(data){
+ return new Promise((resolve, reject) => {
+ request.post('/mall/orderMaterial',data)
+ .then((res) =>{
+ resolve(res);
+ }).catch(err =>{
+ reject(err);
+ })
+ })
+ },
+ // 修改素材(批量)
+ mallMaterialUpdateBatch(data){
+ return new Promise((resolve, reject) => {
+ request.put('/mall/material/updateBatch',data)
+ .then((res) =>{
+ resolve(res);
+ }).catch(err =>{
+ reject(err);
+ })
+ })
+ },
+ // 提交商品素材列表(完成)
+ mallMaterialCommit(orderId,productId){
+ return new Promise((resolve, reject) => {
+ request.put('/mall/material/commit/' + orderId + '/' + productId)
+ .then((res) =>{
+ resolve(res);
+ }).catch(err =>{
+ reject(err);
+ })
+ })
+ },
+ // 启动任务(流程)
+ startWorkFlow(data){
+ return new Promise((resolve, reject) => {
+ request.post('/workflow/task/startWorkFlow',data)
+ .then((res) =>{
+ resolve(res);
+ }).catch(err =>{
+ reject(err);
+ })
+ })
+ },
+ // 办理流程(流程)
+ completeTask(data){
+ return new Promise((resolve, reject) => {
+ request.post('/workflow/task/completeTask',data)
+ .then((res) =>{
+ resolve(res);
+ }).catch(err =>{
+ reject(err);
+ })
+ })
+ },
+}
\ No newline at end of file
diff --git a/common/api/request.js b/common/api/request.js
index 3326403..f49e2a7 100644
--- a/common/api/request.js
+++ b/common/api/request.js
@@ -62,7 +62,7 @@ request.interceptors.response.use(function(response) { //不要使用箭头函
try{
store.commit('logout');
uni.reLaunch({
- url: '/pages/auth/login'
+ url: '/pages/auth/passwordLogin'
})
} catch(err) {
console.log(err);
@@ -106,7 +106,7 @@ request.interceptors.response.use(function(response) { //不要使用箭头函
* @param data
* @returns {Promise}
*/
-export function post(url, params) {
+function post(url, params) {
return new Promise((resolve, reject) => {
request.post(url, params)
.then(response => {
@@ -121,7 +121,7 @@ export function post(url, params) {
}
-export function get(url, params) {
+function get(url, params) {
return new Promise((resolve, reject) => {
request.get(url, params)
.then(response => {
@@ -135,7 +135,7 @@ export function get(url, params) {
})
}
-export function DELETE(url, params) {
+function DELETE(url, params) {
return new Promise((resolve, reject) => {
request.delete(url, params)
.then(response => {
@@ -149,7 +149,7 @@ export function DELETE(url, params) {
})
}
-export function put(url, params) {
+function put(url, params) {
return new Promise((resolve, reject) => {
request.put(url, params)
.then(response => {
@@ -162,4 +162,10 @@ export function put(url, params) {
})
})
}
-// export default request
\ No newline at end of file
+export {
+ request,
+ post,
+ get,
+ DELETE,
+ put
+}
\ No newline at end of file
diff --git a/main.js b/main.js
index efe469a..9e7ee17 100644
--- a/main.js
+++ b/main.js
@@ -1,6 +1,6 @@
import Vue from 'vue'
import App from './App'
-// import api from '@/common/api/api.js'
+import api from '@/common/api/api.js'
import {post,get,DELETE,put} from "@/common/api/request.js"
import config from "@/common/api/config.js"
import store from "@/store/index"
@@ -27,7 +27,7 @@ const tui = {
}
}
import { throttle } from './utils/publicMethods';
-// Vue.prototype.$api = api;
+Vue.prototype.$api = api;
Vue.prototype.$post = post;
Vue.prototype.$get = get;
Vue.prototype.$DELETE = DELETE;
diff --git a/manifest.json b/manifest.json
index 79403bd..8df89a7 100644
--- a/manifest.json
+++ b/manifest.json
@@ -122,11 +122,17 @@
"h5" : {
"devServer" : {
"https" : false,
- "port" : 8055
+ "port" : 8055,
+// "disableHostCheck" : true // 禁用 Host 检查 打包时改成false
},
"router" : {
"mode" : "hash",
"base" : ""
+ },
+ "optimization" : {
+ "treeShaking" : {
+ "enable" : false
+ }
}
}
}
diff --git a/pages.json b/pages.json
index a8324ba..3c35908 100644
--- a/pages.json
+++ b/pages.json
@@ -20,24 +20,21 @@
{
"path": "pages/tabBar/new",
"style": {
- "navigationBarTitleText": "消息",
- "enablePullDownRefresh": true
+ "navigationBarTitleText": "消息"
// "navigationStyle": "custom"
}
},
{
"path": "pages/tabBar/order",
"style": {
- "navigationBarTitleText": "订单",
- "enablePullDownRefresh": true
+ "navigationBarTitleText": "订单"
// "navigationStyle": "custom"
}
},
{
"path": "pages/tabBar/home",
"style": {
- "navigationBarTitleText": "首页",
- "enablePullDownRefresh": true
+ "navigationBarTitleText": "首页"
// "navigationStyle": "custom"
}
}, {
@@ -446,7 +443,6 @@
"path": "space/index",
"style": {
"navigationBarTitleText": "空间管理",
- "enablePullDownRefresh": true,
"navigationBarBackgroundColor": "#fff"
}
}, {
@@ -611,6 +607,36 @@
"navigationBarTitleText": "修改密码"
}
}]
+ },
+ {
+ "root": "pages/new/",
+ "pages": [{
+ "path": "detail",
+ "style": {
+ "navigationBarTitleText": "消息详情",
+ "navigationBarBackgroundColor": "#fff"
+ }
+ }]
+ },
+ {
+ "root": "pages/order/",
+ "pages": [{
+ "path": "detail",
+ "style": {
+ "navigationBarTitleText": "订单详情",
+ "navigationBarBackgroundColor": "#fff"
+ }
+ }]
+ },
+ {
+ "root": "pages/fun/",
+ "pages": [{
+ "path": "materialEdit",
+ "style": {
+ "navigationBarTitleText": "素材上传",
+ "navigationBarBackgroundColor": "#fff"
+ }
+ }]
}
],
"tabBar": {
diff --git a/pages/auth/passwordLogin.vue b/pages/auth/passwordLogin.vue
index fe41281..0bf8f49 100644
--- a/pages/auth/passwordLogin.vue
+++ b/pages/auth/passwordLogin.vue
@@ -2,7 +2,7 @@
.login-ctn {
width: 100%;
height: 100%;
-padding-top: 500rpx;
+ padding-top: 500rpx;
background: #fff;
:not(not) {
box-sizing: border-box;
@@ -151,7 +151,7 @@ padding-top: 500rpx;
-
{{activeTenantObj.companyName}}
@@ -181,7 +181,7 @@ padding-top: 500rpx;
@click="submit" type="primary">立即登录
- 阅读并同意以下协议《用户协议》
+
@@ -209,7 +209,7 @@ padding-top: 500rpx;
export default {
data() {
return {
- protocolStatus: false,
+ protocolStatus: true,
usetTypeValue: '企业用户',
list: [{
name: '普通用户',
@@ -255,7 +255,11 @@ padding-top: 500rpx;
domain: "",
logo: null,
registerEnable: false
- }
+ },
+ // 租户是否已启用
+ tenantEnabled:true,
+ query:{},
+ isTenant: true,
}
},
computed: {
@@ -264,6 +268,12 @@ padding-top: 500rpx;
},
},
onLoad(e) {
+ if(e){
+ this.query = e;
+ }
+ if(e.tenantId){
+ this.form.tenantId = e.tenantId;
+ }
// 普通二维码参数转小程序参数
if (e.q && e.q != "undefined") { //扫码进入
const qrUrl = decodeURIComponent(e.q) // 获取到二维码原始链接内容
@@ -329,19 +339,56 @@ padding-top: 500rpx;
success: (res) => {
console.log("res11",res);
if(res.data.code == 200){
-
- this.tenantList = res.data.data.voList || [];
-
- if(res.data.data.voList!=[]){
- this.activeTenantObj = res.data.data.voList[0];
- this.form.tenantId = res.data.data.voList[0].tenantId;
+ let data = res.data.data;
+ this.tenantEnabled = data.tenantEnabled === undefined ? true : data.tenantEnabled;
+ if(this.tenantEnabled){
+ this.tenantList = data.voList || [];
+ let logo = '';
+ let title = '';
+ // #ifdef H5
+ if(this.query.tenantId){
+ this.form.tenantId = this.query.tenantId;
+ data.voList.forEach((item) => {
+ if (item.tenantId === this.query.tenantId) {
+ logo = item.logo;
+ title = item.companyName;
+ }
+ });
+ this.isTenant = false;
+ } else if (data.voList != null && data.voList.length === 1 && data.voList[0].domain === window.location.host) {
+ this.form.tenantId = data.voList[0].tenantId;
+ logo = data.voList[0].logo;
+ title = data.voList[0].companyName;
+ this.isTenant = false;
+ } else if (data.voList != null && data.voList.length !== 0) {
+ this.form.tenantId = data.voList[0].tenantId;
+ this.activeTenantObj = data.voList[0] ;
+ logo = data.voList[0].logo;
+ title = data.voList[0].companyName;
+ }
+ // #endif
+ // #ifdef MP-WEIXIN
+ if (data.voList != null && data.voList.length !== 0) {
+ this.form.tenantId = data.voList[0].tenantId;
+ this.activeTenantObj = data.voList[0] ;
+ logo = data.voList[0].logo;
+ title = data.voList[0].companyName;
+ }
+ // #endif
+ if(title){
+ this.appConfig.logo = logo;
+ this.appConfig.name = title;
+ }else{
+ this.appConfig.logo = '';
+ this.appConfig.name = this.$store.state.app.appConfig;
+ }
}
}
}
});
},
changeTenant(e){
- console.log("e",e)
+ console.log("e",e[0].value)
this.tenantList.forEach((item) => {
if (item.tenantId == e[0].value) {
this.activeTenantObj = item;
diff --git a/pages/fun/materialEdit.vue b/pages/fun/materialEdit.vue
new file mode 100644
index 0000000..06d434b
--- /dev/null
+++ b/pages/fun/materialEdit.vue
@@ -0,0 +1,620 @@
+
+
+
+
+ 素材模板
+
+ {{materialfrom.dictId?materialfrom.dictName:'请选择素材模板'}}
+
+
+
+
+ {{ item.attrTitle }} {{ item.attrHint ? '(' +item.attrHint + ')' : '' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.attrValue ? '重新上传' : '上传图片' }}
+
+
+
+
+
+
+
+ {{ shortenFileName(item.fileName,20) || '已上传音频文件' }}
+
+
+ {{ item.attrValue ? '重新上传' : '上传音频' }}
+
+ {{'最大' + audioSize + 'MB'}}
+
+
+
+
+
+
+
+
+ {{ shortenFileName(item.fileName,20) || '已上传音频文件' }}
+
+
+ {{ item.attrValue ? '重新上传' : '上传视频' }}
+ {{'最大' + videoSize + 'MB'}}
+
+
+
+
+
+
+ 重要级别:
+
+
+
+
+ 暂存
+ 提交
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/new/detail.vue b/pages/new/detail.vue
new file mode 100644
index 0000000..ad3d4fc
--- /dev/null
+++ b/pages/new/detail.vue
@@ -0,0 +1,90 @@
+
+
+
+ {{title}}
+
+
+ {{time}}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/order/detail.vue b/pages/order/detail.vue
new file mode 100644
index 0000000..eaebcdb
--- /dev/null
+++ b/pages/order/detail.vue
@@ -0,0 +1,306 @@
+
+
+
+
+
+ 订单编号
+ {{ orderInfo.orderSn }}
+
+
+ 创建时间
+ {{ orderInfo.createTime }}
+
+
+ 客户姓名
+ {{ orderInfo.memberName }}
+
+
+ 客户手机
+ {{ orderInfo.memberPhone }}
+
+
+
+
+
+ 商品信息
+
+
+
+
+ {{ item.productName }}
+
+ x{{ item.productQuantity }}
+ ¥{{ (item.productPrice / 100).toFixed(2) }}
+
+
+
+
+
+
+
+
+
+ 总金额
+ ¥{{ (orderInfo.totalAmount / 100).toFixed(2) }}
+
+
+ 已付额
+ ¥{{ orderInfo.payAmount ? (orderInfo.payAmount / 100).toFixed(2) : '0.00' }}
+
+
+ 支付方式
+
+
+ {{getDictName('mall_pay_type',orderInfo.payType,'dictLabel')}}
+
+
+
+
+
+
+
+
+ 订单来源
+
+
+ {{getDictName('mall_source_type',orderInfo.sourceType,'dictLabel')}}
+
+
+
+ 订单状态
+ {{getDictName('mall_order_status',orderInfo.orderStatus,'dictLabel')}}
+
+
+ 订单备注
+ {{ orderInfo.orderNote || '无' }}
+
+
+
+
+
+
+
+
+
diff --git a/pages/tabBar/new.vue b/pages/tabBar/new.vue
index 50c4387..159f2dd 100644
--- a/pages/tabBar/new.vue
+++ b/pages/tabBar/new.vue
@@ -3,21 +3,21 @@
-
-
+
+
-
+
- {{item.title}}
- {{item.createdAt}}
+ {{item.noticeTitle}}
+ {{item.createTime}}
{{item.message}}
@@ -30,58 +30,11 @@
diff --git a/pages/tabBar/order.vue b/pages/tabBar/order.vue
index 76dba3a..23e2bf0 100644
--- a/pages/tabBar/order.vue
+++ b/pages/tabBar/order.vue
@@ -1,56 +1,79 @@
-
-
-
-
-
+
-
-
+
+
- {{item.productName}}
-
+ {{val.productName}}
+ x{{val.productQuantity}}
+ ¥{{ val.productPrice ? (val.productPrice / 100).toFixed(2) : '0.00' }}
+
+ {{ val.funName }}
+
+
- ¥{{item.price}}
+
+
+
+ 共{{item.orderItems.length}}件商品 总金额:
+ ¥{{ item.totalAmount ? (item.totalAmount / 100).toFixed(2) : '0.00' }}
-
@@ -61,36 +84,138 @@