diff --git a/.gitignore b/.gitignore
index ff9ea4d..a27dc14 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
/unpackage
/node_modules
-.DS_Store
\ No newline at end of file
+.DS_Store
+.idea
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..ea12408
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,15 @@
+/dist/*
+.local
+.hbuilderx
+common
+components
+uni_modules
+mixins
+iconfont
+/node_modules/**
+
+**/*.svg
+**/*.sh
+
+/public/*
+stats.html
diff --git a/.prettierrc.js b/.prettierrc.js
new file mode 100644
index 0000000..2ec1a08
--- /dev/null
+++ b/.prettierrc.js
@@ -0,0 +1,25 @@
+module.exports = {
+ // 行尾换行方式
+ endOfLine: 'lf',
+ // Tab空格数
+ tabWidth: 2,
+ // 使用Tab缩进
+ useTabs: false,
+ // 换行字符数
+ printWidth: 190,
+ // 开启 eslint 支持
+ eslintIntegration: true,
+ // 字符串单引号
+ singleQuote: true,
+ // 行尾分号
+ semi: true,
+ // 尾逗号 none es5 all
+ trailingComma: 'all',
+ // 大括号空格
+ bracketSpacing: true,
+ // 箭头函数参数只有一个时省略小括号
+ arrowParens: 'avoid',
+ // 标签闭合位置对齐
+ bracketSpacing: true,
+ ignorePath: '.prettierignore'
+};
diff --git a/App.vue b/App.vue
index f9d27e1..7e7d80e 100644
--- a/App.vue
+++ b/App.vue
@@ -8,7 +8,7 @@ import { onAuthAppBack, openAuthMiniApp } from 'dingtalk-design-libs/biz/openAut
export default {
computed: {
- ...mapState(['authed','userInfo']),
+ ...mapState(['authed', 'userInfo']),
},
onLaunch(options) {
const systemInfo = uni.getSystemInfoSync();
@@ -19,21 +19,13 @@ export default {
// 设置小程序来源,企业微信小程序或微信小程序
this.$store.commit('SET_ORIGIN', origin);
this.$store.commit('SET_SCENE', options.scene);
- this.$u.api.dict.all().then(response => {
- cache.put('DICT', response.result);
- this.$store.commit('SET_DICT', response.result);
- });
- this.$u.api.district.all().then(response => {
- cache.put('DISTRICT', response.result);
- this.$store.commit('SET_DISTRICT', response.result);
- });
if (!this.authed) {
if (origin === 'QY_FREGHT_MA') {
wx.qy.login({
suiteId: config.suiteId,
- success: (res) => {
+ success: res => {
if (res.code) {
- uni.$u.api.login.loginByCode({ code: res.code }).then((response) => {
+ uni.$u.api.login.loginByCode({ code: res.code }).then(response => {
if (!response.result) return this.handleLogin();
const result = response.result || {};
this.$store.commit('SET_AUTHED', result.hasBind);
@@ -43,24 +35,28 @@ export default {
uni.$u.api.user.detail().then(res => {
this.$store.commit('SET_FREGHT_INFO', res.result);
});
+ this.loadCache();
}
- })
+ });
}
},
fail: () => {
this.handleLogin();
- }
+ },
});
} else {
this.handleLogin();
}
+ } else {
+ this.loadCache();
}
// 监听刷新权限
- uni.$on('refresh-permission', () =>{
+ uni.$on('refresh-permission', () => {
this.getPermission();
+ this.loadCache();
});
// 监听检测更新
- uni.$on('refresh-version', (params) =>{
+ uni.$on('refresh-version', params => {
const { notifyType = 'toast' } = params || {};
this.handleRefreshVersion(notifyType);
});
@@ -70,7 +66,7 @@ export default {
onShow(options) {
// #ifdef MP-DINGTALK
// 监听钉钉统一授权小程序返回结果的方法
- onAuthAppBack(options, (data) => {
+ onAuthAppBack(options, data => {
const { status, result } = data || {};
if (status === 'ok' && result && result.authCode) {
uni.$u.api.login.dingtalk({ authCode: result.authCode, corpId: dd.corpId }).then(response => {
@@ -90,9 +86,22 @@ export default {
// #endif
},
methods: {
+ loadCache() {
+ uni.$u.api.user.detail().then(res => {
+ this.$store.commit('SET_FREGHT_INFO', res.result);
+ });
+ this.$u.api.dict.all().then(response => {
+ cache.put('DICT', response.result);
+ this.$store.commit('SET_DICT', response.result);
+ });
+ this.$u.api.district.all().then(response => {
+ cache.put('DISTRICT', response.result);
+ this.$store.commit('SET_DISTRICT', response.result);
+ });
+ },
// 检测更新
handleRefreshVersion(notifyType) {
- const showToast = (options) => {
+ const showToast = options => {
if (notifyType === 'silent') return; // 静默
wx.showToast(options);
};
@@ -111,31 +120,34 @@ export default {
if (res.confirm) {
updateManager.applyUpdate();
}
- }
+ },
});
});
updateManager.onUpdateFailed(() => {
// 新版本下载失败
showToast({ title: '网络状况不佳,稍后再试', icon: 'none', duration: 2000 });
- })
+ });
} else {
showToast({ title: '当前已是最新版本', icon: 'none', duration: 2000 });
- }
- })
+ }
+ });
} else {
showToast({ title: `当前${wx.getSystemInfoSync()?.environment === 'wxwork' ? '企业' : ''}微信版本过低,请升级到最新版本后重试`, icon: 'none', duration: 3000 });
}
},
// 查询权限
getPermission() {
- return new Promise((resolve) => {
- uni.$u.api.user.getPermission({ systemCode: 'dispatch-helper-ma', userId: this.userInfo.userId }).then((response = {}) => {
- const { result = [] } = response;
- this.$store.commit('SET_PERMISSION', result);
- resolve(result);
- }).catch(() => {
- resolve([]);
- });
+ return new Promise(resolve => {
+ uni.$u.api.user
+ .getPermission({ systemCode: 'freight-web', userId: this.userInfo.username })
+ .then((response = {}) => {
+ const { result = [] } = response;
+ this.$store.commit('SET_PERMISSION', result);
+ resolve(result);
+ })
+ .catch(() => {
+ resolve([]);
+ });
});
},
handleLogin() {
@@ -149,40 +161,39 @@ export default {
const result = response.result || {};
this.$store.commit('SET_AUTHED', result.hasBind);
this.$store.commit('SET_USER_INFO', result);
- this.getPermission();
- if (result.hasBind) {
- uni.$u.api.user.detail().then(res => {
- this.$store.commit('SET_FREGHT_INFO', res.result);
- });
- }
+ uni.$emit('refresh-permission');
});
}
- }
+ },
});
// #endif
// #ifdef MP-DINGTALK
// 打开钉钉统一授权小程序
openAuthMiniApp({
- path: 'pages/home/home', //不要改,这里是小程序dingwlanwvdmrtjjwdmd下的一个页面地址
+ path: 'pages/home/home', //不要改,这里是小程序dingwlanwvdmrtjjwdmd下的一个页面地址
panelHeight: 'percent50',
- extraData:{
+ extraData: {
clientId: config.clientId, // 应用ID(唯一标识)
rpcScope: 'Contact.User.Read',
fieldScope: 'Contact.User.mobile',
- type:0,
+ type: 0,
ext: JSON.stringify({}),
- from:''
- }
+ from: '',
+ },
});
// #endif
- }
- }
-}
+ },
+ },
+};
diff --git a/common/api.js b/common/api.js
index 437f95d..de29b28 100644
--- a/common/api.js
+++ b/common/api.js
@@ -1,11 +1,10 @@
import config from '@/config/index.js';
-const bossAPI = '/boss-service-api';
-const freightAPI = '/dispatch-helper-ma-api';
+const freightAPI = '/freight-web-api';
+const freightAdmin = '/freight-service-api';
const authAPI = '/auth-service-api';
-const dispatchMaApi = 'dispatch-ma-api';
-const tmsWebApi = 'tms-web-api';
-const driverAPI = '/driver-app-api';
+const dispatchMaApi = '/dispatch-ma-api';
+const tmsWebApi = '/tms-web-api';
const omsServiceApi = '/oms-service-api'
const tmsServiceApi = '/tms-service-api';
const consignorAPI = '/consignor-app-api';
@@ -14,15 +13,15 @@ module.exports = (vm) => {
vm.$u.api = {
// 配置参数
config: {
- getVehicleConfig: params => vm.$u.http.get(freightAPI + '/vehicle/getVehicleConfig', { params }),
+ getVehicleConfig: params => vm.$u.http.get(freightAPI + '/vehicle/getVehicleConfig', { params }),
},
// 数据字典
dict: {
- all: params => vm.$u.http.get(consignorAPI + '/dict/getAll', { params, custom: { auth: false } }),
+ all: params => vm.$u.http.get(tmsWebApi + '/dataDictionary/queryAll', { params, custom: { auth: true } }),
},
// 行政区划
district: {
- all: params => vm.$u.http.get(consignorAPI + '/district/commonOption', { params, custom: { auth: false } }),
+ all: params => vm.$u.http.get(tmsWebApi + '/district/commonOption', { params, custom: { auth: true } }),
},
// 货主地址
addressHistory: {
@@ -36,7 +35,7 @@ module.exports = (vm) => {
// 发送手机验证码
send: (params) => vm.$u.http.get(freightAPI + '/maLogin/sendVc', { params, custom: { auth: false } }),
// 绑定手机号
- bind: (data) => vm.$u.http.post(freightAPI + '/maLogin/wxbind', data, { custom: { auth: false } }),
+ bind: (data) => vm.$u.http.post(freightAPI + '/maLogin/vcWxbind', data, { custom: { auth: false } }),
// 解除绑定
unbind: (data) => vm.$u.http.post(freightAPI + '/user/consignor/unbindWx', data),
// 微信一键登录
@@ -58,24 +57,24 @@ module.exports = (vm) => {
user: {
// 根据企业名称获取企业详细信息
getCompanyDetail: (params) => vm.$u.http.get(freightAPI + '/user/getCompanyDetail', { params }),
- detail: params => vm.$u.http.get(freightAPI + '/user/getDetail', { params }),
- getPermission: params => vm.$u.http.get(authAPI + '/permission/getPermission', { params }),
+ detail: params => vm.$u.http.get(freightAPI + '/user/getDetail', { params }),
+ getPermission: params => vm.$u.http.get(authAPI + '/permission/getPermission', { params }),
},
// 联系人
contact: {
// 选择器数据源
- select: params => vm.$u.http.get(freightAPI + '/consignorContact/commonSelect', { params }),
+ select: params => vm.$u.http.get(freightAPI + '/consignorContact/commonSelect', { params }),
+ },
+ // 常用地址
+ address: {
+ page: params => vm.$u.http.get(freightAPI + '/address/page', { params }),
+ detail: params => vm.$u.http.get(freightAPI + '/address/getDetail', { params }),
+ add: (data) => vm.$u.http.post(freightAPI + '/address/add', data),
+ modify: (data) => vm.$u.http.post(freightAPI + '/address/modify', data),
+ delete: (data) => vm.$u.http.post(freightAPI + '/address/delete', data),
},
- // 常用地址
- address: {
- page: params => vm.$u.http.get(freightAPI + '/address/page', { params }),
- detail: params => vm.$u.http.get(freightAPI + '/address/getDetail', { params }),
- add: (data) => vm.$u.http.post(freightAPI + '/address/add', data),
- modify: (data) => vm.$u.http.post(freightAPI + '/address/modify', data),
- delete: (data) => vm.$u.http.post(freightAPI + '/address/delete', data),
- },
// 查询筛选接口
- filter: {
+ filter: {
org: params => vm.$u.http.get(dispatchMaApi + '/org/commonSelect', { params }),
user: params => vm.$u.http.get(tmsWebApi + '/user/commonSelect', { params }), // 用户选择器
getCommonSelect: params => vm.$u.http.get(dispatchMaApi + '/customer/getCommonSelect', { params }),
@@ -90,6 +89,67 @@ module.exports = (vm) => {
getBelongCustomer: params => vm.$u.http.get(omsServiceApi + '/orderConfig/selectCustomer', { params }), // 获取专属客户
statisticsUser: params => vm.$u.http.get(freightAPI + '/pushcartEmployee/page', { params }), // 获取推车员工
tmsOrg: params => vm.$u.http.get(tmsWebApi + '/org/commonSelect', { params }),
+ projectCode: params => vm.$u.http.get(freightAPI + '/freightProject/commonSelect', { params }),// 项目
+ payeeCommonSelect: params => vm.$u.http.get(freightAPI + '/freightEnterpriseCollectDriver/payeeCommonSelect', { params }), // 代收人
+ driver: params => vm.$u.http.get(tmsServiceApi + '/driver/commonSelect', { params }), // 司机选择器
+ vehicle: params => vm.$u.http.get(tmsWebApi + '/vehicle/commonSelect', { params }), // 车辆选择器
+ goodsName: p => vm.$u.http.get(freightAPI + '/freightEnterpriseGoods/commonSelect', { params:{...p,goodsName:p.query }}).then(res=>{
+ return {
+ ...res,
+ result:res.result.map(i => {
+ return {
+ name:i.goodsName,
+ code:i.id,
+ id:i.id
+ }
+ })
+ }
+ }), // 货物选择器
+ },
+ // 申请支付
+ freightPayApply: {
+ page: params => vm.$u.http.post(freightAPI + '/freightPayApply/page', params),
+ getApplyDetailByIds: params => vm.$u.http.post(freightAPI + '/freightPayApply/getApplyDetailByIds', params), // 明细
+ apply: params => vm.$u.http.post(freightAPI + '/freightPayApply/apply', params,{custom: {toast:true}}), // 申请
+ cancelApply: params => vm.$u.http.post(freightAPI + '/freightPayApply/cancelApply', params,{custom: {toast:true}}), // 取消申请
+ audit: params => vm.$u.http.post(freightAPI + '/freightPayApply/audit', params,{custom: {toast:true}}), // 审核
+ getCount: params => vm.$u.http.get(freightAPI + '/freightPayApply/getCount', {params}), // 总数
+ },
+ // 订单管理-网货货运-new
+ freightOrder: {
+ add: params => vm.$u.http.post(freightAPI + '/freightOrder/maAdd', params,{custom: {toast:true}}), // 下单
+ getDistance: params => vm.$u.http.get(freightAPI + '/freightOrder/getDistance', {params}), // 获取距离
+ page: params => vm.$u.http.post( freightAPI + '/freightOrder/page', params ), // 分页查询
+ currentFreight: params => vm.$u.http.get( freightAdmin + '/freightEnterprise/getDetailByCurrentFreight', params ), // 获取企业配置相关详情
+ getServiceAmount: params => vm.$u.http.get( freightAPI + '/freightOrder/getServiceAmount', {params}), // 订单服务费
+ enterpriseCollectDriverPage: params => vm.$u.http.get( freightAPI + '/freightEnterpriseCollectDriver/page', params), // 网货企业代收用户分页查询
+ download: params => vm.$u.http.get( freightAPI + '/freightOrder/download', params), // 模板下载
+ downloadStartCar: params => vm.$u.http.get( freightAPI + '/freightOrder/orderDepartAndArriveDownload', params), // 模板下载
+ importStartCar: params => vm.$u.http.get( freightAPI + '/freightOrder/importOrderDepartAndArrive', params), // 导入
+ import: params => vm.$u.http.get( freightAPI + '/freightOrder/import', params), // 导入
+ depart: params => vm.$u.http.post( freightAPI + '/freightOrder/depart', params), // 发车
+ arrive: params => vm.$u.http.post( freightAPI + '/freightOrder/arrive', params), // 到达
+ sign: params => vm.$u.http.get( freightAPI + '/freightOrder/sign', params), // 签收
+ cancel: params => vm.$u.http.post( freightAPI + '/freightOrder/cancel', params), // 取消
+ delete: params => vm.$u.http.post( freightAPI + '/freightOrder/delete', params), // 删除
+ assignVehicle: params => vm.$u.http.post( freightAPI + '/freightOrder/assignVehicle', params), // 充值指派
+ asyncPayee: params => vm.$u.http.get( freightAPI + '/freightOrder/syncPayee', params), // 同步收款人
+ modifyPayee: params => vm.$u.http.post( freightAPI + '/freightOrder/modifyPayee', params), // 修改收款人
+ getPayeeInfo: params => vm.$u.http.get( freightAPI + '/freightOrder/getPayeeInfo', params), // 获取收款人
+ modifyCustomerOrderCode: params => vm.$u.http.post( freightAPI + '/freightOrder/modifyCustomerOrderCode', params), // 修改内部单号
+ modifyAddress: params => vm.$u.http.get( freightAPI + '/freightOrder/modifyAddress', params), // 更改地址
+ modifyGoods: params => vm.$u.http.post( freightAPI + '/freightOrder/modifyGoods', params), // 更改货物信息
+ adjustAmount: params => vm.$u.http.post( freightAPI + '/freightOrder/adjustAmount', params), // 更改运费
+ modifyReceiptAttachment: params => vm.$u.http.post( freightAdmin + '/woss/freightOrder/modifyReceiptAttachment', params), // 修改回单附件
+ count: params => vm.$u.http.post( freightAPI + '/freightOrder/count', params), // 状态数量
+ getDetail: params => vm.$u.http.get( freightAPI + '/freightOrder/getDetail', {params}), // 订单详情
+ checkDepartureTime: params => vm.$u.http.get( freightAPI + '/freightOrder/checkDepartureTime', params), // 校验选择的运单发车时间是否一致
+ getStartLatestAddress: params => vm.$u.http.get( freightAPI + '/freightOrder/getStartLatestAddress', params), //
+ getEndLatestAddress: params => vm.$u.http.get( freightAPI + '/freightOrder/getEndLatestAddress', params), //
+ payeeBindBankCardNo: params => vm.$u.http.get( freightAPI + '/freightOrder/payeeBindBankCardNo', params), //
+ getSensitiveByOrderCode:params => vm.$u.http.get( freightAdmin + '/freightOrder/getSensitiveByOrderCode', {params}),
+ buildMaQrcode:params => vm.$u.http.get( freightAdmin + '/woss/freightOrder/buildMaQrcode', {params}),
+ supplementTrailerVehicle: params => vm.$u.http.get( freightAPI + '/freightOrder/supplementTrailerVehicle', params), // 绑定车挂
},
};
-}
\ No newline at end of file
+}
diff --git a/components/card/payee.vue b/components/card/payee.vue
new file mode 100644
index 0000000..d829360
--- /dev/null
+++ b/components/card/payee.vue
@@ -0,0 +1,70 @@
+
+
+
+ {{ item.dueBank ? item.dueBank +'/' : '收款信息' }}{{ item.dueBankCardNo ? item.dueBankCardNo +'/' : '' }}{{
+ item.openingBank && item.openingBankBranch ? item.openingBank + item.openingBankBranch : item.openingBank || item.openingBankBranch || ''
+ }}
+
+
+
+
+
+
+
+
+
diff --git a/components/field/field-copy.vue b/components/field/field-copy.vue
new file mode 100644
index 0000000..4f250bc
--- /dev/null
+++ b/components/field/field-copy.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/keyboard/keyboard-bill.vue b/components/keyboard/keyboard-bill.vue
new file mode 100644
index 0000000..1510aef
--- /dev/null
+++ b/components/keyboard/keyboard-bill.vue
@@ -0,0 +1,174 @@
+
+
+
+
+ {{ word }}
+ {{ number }}
+
+
+
+
+
+
+
+
+
diff --git a/components/keyboard/keyboard-waybill.vue b/components/keyboard/keyboard-waybill.vue
new file mode 100644
index 0000000..31dc3f5
--- /dev/null
+++ b/components/keyboard/keyboard-waybill.vue
@@ -0,0 +1,174 @@
+
+
+
+
+ {{ word }}
+ {{ number }}
+
+
+
+
+
+
+
+
+
diff --git a/components/list.vue b/components/list.vue
index 3f92dc1..894fd2c 100644
--- a/components/list.vue
+++ b/components/list.vue
@@ -169,4 +169,4 @@ export default {
},
}
}
-
\ No newline at end of file
+
diff --git a/components/popup/popup-platenumber.vue b/components/popup/popup-platenumber.vue
new file mode 100644
index 0000000..56963e4
--- /dev/null
+++ b/components/popup/popup-platenumber.vue
@@ -0,0 +1,376 @@
+
+
+
+
+
+
+
+
+
diff --git a/config/request.js b/config/request.js
index bf60536..a7e841a 100644
--- a/config/request.js
+++ b/config/request.js
@@ -4,9 +4,9 @@ const apiHost = config.apiHost;
const systemInfo = wx.getSystemInfoSync();
// 此vm参数为页面的实例,可以通过它引用vuex中的变量
-module.exports = (vm) => {
+module.exports = vm => {
// 初始化请求配置
- uni.$u.http.setConfig((config) => {
+ uni.$u.http.setConfig(config => {
/* config 为默认全局配置*/
config.baseURL = apiHost; /* 根域名 */
config.header = {
@@ -20,63 +20,72 @@ module.exports = (vm) => {
platform: 'mp', // 当前运行平台
};
return config;
- })
+ });
// 请求拦截
- uni.$u.http.interceptors.request.use((config) => { // 可使用async await 做异步操作
- if (config.custom.auth === false) {
- delete config.header['Authorization'];
- } else {
- config.header['Authorization'] = `Bearer ${vm.$store.state?.userInfo?.accessToken}`;
- }
- return config;
- }, config => { // 可使用async await 做异步操作
- return Promise.reject(config)
- })
+ uni.$u.http.interceptors.request.use(
+ config => {
+ // 可使用async await 做异步操作
+ if (config.custom.auth === false) {
+ delete config.header['Authorization'];
+ } else {
+ config.header['Authorization'] = `Bearer ${vm.$store.state?.userInfo?.accessToken}`;
+ }
+ // config.header['Authorization'] = `Bearer 814aec36-60b1-4b47-a0fa-b909501f3e48`;
+ return config;
+ },
+ config => {
+ // 可使用async await 做异步操作
+ return Promise.reject(config);
+ },
+ );
// 响应拦截
- uni.$u.http.interceptors.response.use((response) => {
- const { data = {}, statusCode, config } = response;
- const { success, message = '', businessException, errorCode } = data;
- if (config && config.interceptors === false) {
- // 请求配置不做返回拦截的情况
- return response;
- } else {
- if (success) {
- return data;
+ uni.$u.http.interceptors.response.use(
+ response => {
+ const { data = {}, statusCode, config } = response;
+ const { success, message = '', businessException, errorCode } = data;
+ if (config && config.interceptors === false) {
+ // 请求配置不做返回拦截的情况
+ return response;
} else {
- if (`${errorCode}` === '401') {
- console.error(`【${errorCode}】登录过期`);
- store.commit('SET_AUTHED', false);
- setTimeout(() => {
- uni.reLaunch({ url: '/pages/login/login' });
- }, 1200);
- return Promise.reject(message);
- }
- if (businessException && !(config && config.custom && config.custom.toast)) {
- uni.showToast({ icon: 'none', title: message || `[${errorCode}]系统异常`, duration: 3000 });
- } else if (!(config && config.custom && config.custom.toast)) {
- if (config.toast !== false) {
- if (`${errorCode}`.substr(0, 1) === '5') {
- uni.showToast({ icon: 'none', title: `[${errorCode}]系统异常`, duration: 3000 });
- } else {
- uni.showToast({ icon: 'none', title: message || `[${errorCode}]系统异常`, duration: 3000 });
+ if (success) {
+ return data;
+ } else {
+ if (`${errorCode}` === '401') {
+ console.error(`【${errorCode}】登录过期`);
+ store.commit('SET_AUTHED', false);
+ setTimeout(() => {
+ uni.reLaunch({ url: '/pages/login/login' });
+ }, 200);
+ return Promise.reject(message);
+ }
+ if (businessException && !(config && config.custom && config.custom.toast)) {
+ uni.showToast({ icon: 'none', title: message || `[${errorCode}]系统异常`, duration: 3000 });
+ } else if (!(config && config.custom && config.custom.toast)) {
+ if (config.toast !== false) {
+ if (`${errorCode}`.substr(0, 1) === '5') {
+ uni.showToast({ icon: 'none', title: `[${errorCode}]系统异常`, duration: 3000 });
+ } else {
+ uni.showToast({ icon: 'none', title: message || `[${errorCode}]系统异常`, duration: 3000 });
+ }
}
}
+ return Promise.reject(message);
}
- return Promise.reject(message);
}
- }
- }, (response) => {
- // 对响应错误做点什么 (statusCode !== 200)
- const { statusCode } = response;
- if (statusCode === 401) {
- console.error(`【${statusCode}】登录过期`);
- store.commit('SET_AUTHED', false);
- setTimeout(() => {
- uni.reLaunch({ url: '/pages/login/login' });
- }, 1200);
- }
- return Promise.reject(response);
- });
-}
+ },
+ response => {
+ // 对响应错误做点什么 (statusCode !== 200)
+ const { statusCode } = response;
+ if (statusCode === 401) {
+ console.error(`【${statusCode}】登录过期`);
+ store.commit('SET_AUTHED', false);
+ setTimeout(() => {
+ uni.reLaunch({ url: '/pages/login/login' });
+ }, 1200);
+ }
+ return Promise.reject(response);
+ },
+ );
+};
diff --git a/main.js b/main.js
index a126a3b..60aabd2 100644
--- a/main.js
+++ b/main.js
@@ -10,11 +10,7 @@ Vue.prototype.formatImagePath = formatImagePath;
import uView from '@/uni_modules/uview-ui';
Vue.use(uView);
-let colorPrimary = '#2673FB';
-
-// #ifdef MP-DINGTALK
-colorPrimary = '#3296FA';
-// #endif
+let colorPrimary = '#1E7B6B';
uni.$u.setConfig({
config: {
diff --git a/package.json b/package.json
index b731c91..7caa009 100644
--- a/package.json
+++ b/package.json
@@ -28,5 +28,8 @@
}
}
}
+ },
+ "devDependencies": {
+ "prettier": "3.3.2"
}
}
diff --git a/pages.json b/pages.json
index 99d73ac..5f0be10 100644
--- a/pages.json
+++ b/pages.json
@@ -5,31 +5,97 @@
"style": {
"navigationBarTitleText": "首页"
}
- },
- {
+ },{
"path": "pages/login/login",
"style": {
"navigationBarTitleText": "登录"
}
},
- {
- "path": "pages/login/code",
- "style": {
- "navigationBarTitleText": "验证码"
- }
- },
{
- "path": "pages/my/my",
+ "path": "pages/login/code",
+ "style": {
+ "navigationBarTitleText": "验证码"
+ }
+ },{
+ "path": "pages/order/index",
+ "style": {
+ "navigationBarTitleText": "订单",
+ "enablePullDownRefresh": true
+ }
+ },{
+ "path": "pages/order/detail",
+ "style": {
+ "navigationBarTitleText": "详情"
+ }
+ },{
+ "path": "pages/order/filter",
+ "style": {
+ "navigationBarTitleText": "筛选器"
+ }
+ },{
+ "path": "pages/order/add",
+ "style": {
+ "navigationBarTitleText": "创建订单"
+ }
+ },{
+ "path": "pages/order/start-car",
+ "style": {
+ "navigationBarTitleText": "确认发车"
+ }
+ },{
+ "path": "pages/order/arrival-car",
+ "style": {
+ "navigationBarTitleText": "确认到达"
+ }
+ },
+ {
+ "path": "pages/order/change-fee",
+ "style": {
+ "navigationBarTitleText": "更改运费"
+ }
+ },
+ {
+ "path": "pages/order/again-assign",
"style": {
- "navigationBarTitleText": "我的",
- "navigationStyle": "custom"
+ "navigationBarTitleText": "重新指派"
+ }
+ },
+ {
+ "path": "pages/order/upload-receipt",
+ "style": {
+ "navigationBarTitleText": "上传回单"
+ }
+ },
+ {
+ "path": "pages/order/change-goods",
+ "style": {
+ "navigationBarTitleText": "货物信息"
+ }
+ },
+ {
+ "path": "pages/settlement/index",
+ "style": {
+ "navigationBarTitleText": "支付申请",
+ "enablePullDownRefresh": true
+ }
+ },
+ {
+ "path": "pages/settlement/filter",
+ "style": {
+ "navigationBarTitleText": "筛选器"
+ }
+ },
+ {
+ "path": "pages/me/index",
+ "style": {
+ "navigationBarTitleText": "我的"
}
}
],
"subPackages": [
{
- "root":"pages/common",
- "pages":[
+ "root":"pages/common",
+ "pages":[
{
"path": "select-contact",
"style": {
@@ -45,12 +111,24 @@
{
"path": "webview"
}
- ]
- },
+ ]
+ },
{
"root":"pages/global",
"pages": [
{
+ "path": "search-payee",
+ "style": {
+ "navigationBarTitleText": "代收人"
+ }
+ },
+ {
+ "path": "search-dict",
+ "style": {
+ "navigationBarTitleText": "数据字典"
+ }
+ },
+ {
"path": "search-common",
"style": {
"navigationBarTitleText": "区域"
@@ -97,54 +175,44 @@
],
"globalStyle": {
"navigationBarTextStyle": "white",
- "navigationBarTitleText": "则一请车助手",
- "navigationBarBackgroundColor": "#2673FB",
- "backgroundColor": "#2673FB"
+ "navigationBarTitleText": "则一飞牛货主",
+ "navigationBarBackgroundColor": "#1E7B6B",
+ "backgroundColor": "#1E7B6B"
},
"condition": {
"current": 0,
"list": [
{
- "name": "首页",
- "path": "/pages/index"
- },
- {
- "name": "登录",
- "path": "/pages/login/login"
- }
+ "name": "首页",
+ "path": "/pages/index"
+ },
+ {
+ "name": "登录",
+ "path": "/pages/login/login"
+ }
]
},
"tabBar": {
"color": "#8c8c8c",
"fontSize": "100upx",
- // #ifdef MP-DINGTALK
- "selectedColor": "#3296FA",
- // #endif
- // #ifndef MP-DINGTALK
- "selectedColor": "#2673FB",
- // #endif
+ "selectedColor": "#1E7B6B",
"backgroundColor": "#FFFFFF",
"list": [
{
- "pagePath": "pages/index",
- "iconPath": "static/tabbar/inquiry.png",
- // #ifdef MP-DINGTALK
- "selectedIconPath": "static/tabbar/inquiry-active-dingtalk.png",
- // #endif
- // #ifndef MP-DINGTALK
- "selectedIconPath": "static/tabbar/inquiry-active.png",
- // #endif
- "text": "首页"
+ "pagePath": "pages/order/index",
+ "iconPath": "static/tabbar/order.png",
+ "selectedIconPath": "static/tabbar/order-active.png",
+ "text": "订单"
},
{
- "pagePath": "pages/my/my",
- "iconPath": "static/tabbar/my.png",
- // #ifdef MP-DINGTALK
- "selectedIconPath": "static/tabbar/my-active-dingtalk.png",
- // #endif
- // #ifndef MP-DINGTALK
- "selectedIconPath": "static/tabbar/my-active.png",
- // #endif
+ "pagePath": "pages/settlement/index",
+ "iconPath": "static/tabbar/settlement.png",
+ "selectedIconPath": "static/tabbar/settlement-active.png",
+ "text": "结算"
+ },{
+ "pagePath": "pages/me/index",
+ "iconPath": "static/tabbar/me.png",
+ "selectedIconPath": "static/tabbar/me-active.png",
"text": "我的"
}
]
@@ -156,15 +224,15 @@
"^List": "@/components/list.vue",
"^Empty": "@/components/empty.vue",
"^PullRefresh": "@/components/pull-refresh.vue",
- "^Waypoints": "@/components/waypoints.vue",
+ "^Waypoints": "@/components/waypoints.vue",
"^u-(.*)": "@/uni_modules/uview-ui/components/u-$1/u-$1.vue",
"^action-(.*)": "@/components/action/action-$1.vue",
"^card-(.*)": "@/components/card/card-$1.vue",
"^keyboard-(.*)": "@/components/keyboard/keyboard-$1.vue",
"^chart-(.*)": "@/components/chart/chart-$1.vue",
- "^form-(.*)": "@/components/form/form-$1.vue",
- "^popup-(.*)": "@/components/popup/popup-$1.vue",
- "^picker-(.*)": "@/components/picker/picker-$1.vue",
+ "^form-(.*)": "@/components/form/form-$1.vue",
+ "^popup-(.*)": "@/components/popup/popup-$1.vue",
+ "^picker-(.*)": "@/components/picker/picker-$1.vue",
"^render-(.*)": "@/components/render/render-$1.vue",
"^select-(.*)": "@/components/select/select-$1.vue",
"^upload-(.*)": "@/components/upload/upload-$1.vue",
@@ -175,13 +243,13 @@
"^search-bar": "@/components/business/search-bar.vue",
"^search-tabs": "@/components/business/search-tabs.vue",
"^z-(.*)": "@/components/zee/z-$1.vue",
- "^view-item": "@/components/business/view-item",
+ "^view-item": "@/components/business/view-item",
"^count-down": "@/components/business/count-down",
"^modal-input-line": "@/components/business/modal-input-line",
"^view-image": "@/components/viewer/view-image",
"^input-(.*)": "@/components/business/input/input-$1.vue",
- "^f2": "@/components/f2/f2.vue",
- "^l-(.*)": "@/uni_modules/lime-painter/components/l-$1/l-$1.vue"
+ "^f2": "@/components/f2/f2.vue",
+ "^l-(.*)": "@/uni_modules/lime-painter/components/l-$1/l-$1.vue"
}
}
-}
\ No newline at end of file
+}
diff --git a/pages/common/webview.vue b/pages/common/webview.vue
index e222b72..0795d10 100644
--- a/pages/common/webview.vue
+++ b/pages/common/webview.vue
@@ -1,33 +1,40 @@
-
+
+
+
diff --git a/pages/global/search-common.vue b/pages/global/search-common.vue
index 01d9c52..49f3544 100644
--- a/pages/global/search-common.vue
+++ b/pages/global/search-common.vue
@@ -4,7 +4,7 @@
-
+
{{ item[label] }}
@@ -24,21 +24,21 @@ export default {
data() {
return {
searchForm: {
- query: ''
+ query: '',
},
list: [],
label: 'name',
value: null,
dict: null,
isAdd: true,
- url: 'org',
- }
+ urlType: 'org',
+ };
},
onLoad(option) {
if (option.label) this.label = option.label;
if (option.value) this.value = option.value;
if (option.dict) this.dict = option.dict;
- if (option.url) this.url = option.url;
+ if (option.url) this.urlType = option.url;
if (!option.url) {
uni.navigateBack();
}
@@ -50,11 +50,11 @@ export default {
searchAPI(params) {
const $params = this.$params;
let searchParams = { ...params, ...this.searchForm };
- if($params.params){
- let obj = JSON.parse($params.params)
- searchParams = { ...params, ...this.searchForm, ...obj }
+ if ($params.params) {
+ let obj = JSON.parse($params.params);
+ searchParams = { ...params, ...this.searchForm, ...obj };
}
- return uni.$u.api.filter[this.url](searchParams);
+ return uni.$u.api.filter[this.urlType](searchParams);
},
onSelect(item) {
const $params = this.$params;
@@ -63,10 +63,10 @@ export default {
uni.navigateBack();
}
},
- addOption(list){
- let obj = { code: '', name: '不限', id: '', };
+ addOption(list) {
+ let obj = { code: '', name: '不限', id: '' };
let hash = {};
- let options = [obj, ...list].reduce((result, item) => {
+ let options = [...list].reduce((result, item) => {
let hashKey = `${item.id || item.code || item.username}` || '_empty';
if (!hash[hashKey]) {
hash[hashKey] = true;
@@ -77,7 +77,7 @@ export default {
return result; // 返回结果数组
}, []);
this.$emit('input', options);
- }
- }
-}
+ },
+ },
+};
diff --git a/pages/global/search-dict.vue b/pages/global/search-dict.vue
new file mode 100644
index 0000000..fa807fa
--- /dev/null
+++ b/pages/global/search-dict.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+ {{ item.valueName }}
+
+
+
+
+
+
+
diff --git a/pages/global/search-payee.vue b/pages/global/search-payee.vue
new file mode 100644
index 0000000..7e54a61
--- /dev/null
+++ b/pages/global/search-payee.vue
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+ 收款人
+ {{ item.name }}
+ {{ item.mobile }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 确定
+
+
+
+
+
+
+
diff --git a/pages/index.vue b/pages/index.vue
index 0cd88af..96fd3b9 100644
--- a/pages/index.vue
+++ b/pages/index.vue
@@ -1,17 +1,13 @@
-
-
- 这是首页
-
-
+
-
\ No newline at end of file
+
diff --git a/pages/login/code.vue b/pages/login/code.vue
index d57fd4b..3a175ba 100644
--- a/pages/login/code.vue
+++ b/pages/login/code.vue
@@ -1,7 +1,7 @@
-
+
请输入验证码
@@ -19,7 +19,9 @@
- 授权登录
+ 授权登录
@@ -41,7 +43,7 @@ export default {
computed: {
isValidated() {
return !!this.form.verificationCode;
- }
+ },
},
onLoad() {
this.form.mobile = this.$params.mobile;
@@ -70,7 +72,7 @@ export default {
if (code) {
this.code = code;
}
- }
+ },
});
},
onCodeChange(text) {
@@ -83,12 +85,15 @@ export default {
}
if (!this.sendding) {
this.sendding = true;
- uni.$u.api.login.send({ mobile: this.form.mobile }).then(() => {
- uni.showToast({ title: '验证码已发送', icon: 'none' });
- this.$refs.code.start();
- }).finally(() => {
- this.sendding = false;
- });
+ uni.$u.api.login
+ .send({ mobile: this.form.mobile })
+ .then(() => {
+ uni.showToast({ title: '验证码已发送', icon: 'none' });
+ this.$refs.code.start();
+ })
+ .finally(() => {
+ this.sendding = false;
+ });
}
} else {
uni.showToast({ title: '倒计时结束后再发送', icon: 'none' });
@@ -103,20 +108,24 @@ export default {
};
if (!this.submitting) {
this.submitting = true;
- uni.$u.api.login.bind(data).then((response) => {
- const result = response.result || {};
- this.$store.commit('SET_AUTHED', result.hasBind);
- this.$store.commit('SET_USER_INFO', result);
- uni.showToast({ title: '登录成功', icon: 'none' });
- uni.$emit('refresh-permission');
- setTimeout(() => {
- uni.switchTab({ url: '/pages/index' });
- }, 1500);
- }).catch(() => {
- this.generateWeChatAuthCode();
- }).finally(() => {
- this.submitting = false;
- });
+ uni.$u.api.login
+ .bind(data)
+ .then(response => {
+ const result = response.result || {};
+ this.$store.commit('SET_AUTHED', result.hasBind);
+ this.$store.commit('SET_USER_INFO', result);
+ uni.showToast({ title: '登录成功', icon: 'none' });
+ uni.$emit('refresh-permission');
+ setTimeout(() => {
+ uni.switchTab({ url: '/pages/order/index' });
+ }, 1500);
+ })
+ .catch(() => {
+ this.generateWeChatAuthCode();
+ })
+ .finally(() => {
+ this.submitting = false;
+ });
}
},
// 获取授权信息
@@ -137,7 +146,7 @@ export default {
});
}
},
- }
+ },
};
diff --git a/pages/login/login.vue b/pages/login/login.vue
index ebc9d0c..9759cc7 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -1,7 +1,7 @@
-
+
您好,
@@ -27,15 +27,15 @@
-
-
-
-
- 勾选即代表您同意
- 《用户协议》
- 以及
- 《隐私政策》
-
+
+
+
+
+
+
+
+
+
@@ -63,7 +63,7 @@ export default {
code: '',
sendding: false,
submitting: false,
- checked: []
+ checked: [],
};
},
computed: {
@@ -72,12 +72,12 @@ export default {
}),
isValidated() {
//校验手机号和位数
- let patt = /^[1][3-9][\d]{9}/
+ let patt = /^[1][3-9][\d]{9}/;
return patt.test(this.form.mobile);
},
isChecked() {
- return this.checked.includes('checked');
- }
+ return true; // this.checked.includes('checked');
+ },
},
onLoad() {
this.generateWeChatAuthCode();
@@ -95,9 +95,9 @@ export default {
if (code) {
this.code = code;
} else {
- return uni.showToast({ icon:'none', title:'微信授权失败' });
+ return uni.showToast({ icon: 'none', title: '微信授权失败' });
}
- }
+ },
});
},
// 用户协议
@@ -116,62 +116,69 @@ export default {
},
// 发送验证码并打开验证码页面
sendCode() {
- if (!this.isChecked) {
- return uni.showToast({ icon:'none', title:'请您阅读并勾选《用户协议》和《隐私政策》' });
- }
+ // if (!this.isChecked) {
+ // return uni.showToast({ icon: 'none', title: '请您阅读并勾选《用户协议》和《隐私政策》' });
+ // }
if (!this.sendding) {
this.sendding = true;
- uni.$u.api.login.send({ mobile: this.form.mobile, origin: this.origin}).then(() => {
- uni.$u.route({ url: '/pages/login/code', params: { mobile: this.form.mobile } });
- }).finally(() => {
- this.sendding = false;
- });
+ uni.$u.api.login
+ .send({ mobile: this.form.mobile, origin: this.origin })
+ .then(() => {
+ uni.$u.route({ url: '/pages/login/code', params: { mobile: this.form.mobile } });
+ })
+ .finally(() => {
+ this.sendding = false;
+ });
}
},
// 获取当前登录用户手机号成功后自动登录
onGetPhoneNumber(e) {
if (!this.isChecked) {
- return uni.showToast({ icon:'none', title:'请您阅读并勾选《用户协议》和《隐私政策》' });
+ return uni.showToast({ icon: 'none', title: '请您阅读并勾选《用户协议》和《隐私政策》' });
}
if (!this.submitting) {
this.submitting = true;
- uni.$u.api.login.wxbind({ code: this.code, mobileCode: e.detail.code, encryptedData: e.detail.encryptedData, iv: e.detail.iv, origin: this.origin }).then((response) => {
- const result = response.result || {};
- this.$store.commit('SET_AUTHED', result.hasBind);
- this.$store.commit('SET_USER_INFO', result);
- uni.showToast({ title: '登录成功', icon: 'none' });
- uni.$emit('refresh-permission');
- setTimeout(() => {
- uni.switchTab({ url: '/pages/index' });
- }, 1500);
- }).catch(() => {
- this.generateWeChatAuthCode();
- }).finally(() => {
- this.submitting = false;
- });
+ uni.$u.api.login
+ .wxbind({ code: this.code, mobileCode: e.detail.code, encryptedData: e.detail.encryptedData, iv: e.detail.iv, origin: this.origin })
+ .then(response => {
+ const result = response.result || {};
+ this.$store.commit('SET_AUTHED', result.hasBind);
+ this.$store.commit('SET_USER_INFO', result);
+ uni.showToast({ title: '登录成功', icon: 'none' });
+ uni.$emit('refresh-permission');
+ setTimeout(() => {
+ uni.switchTab({ url: '/pages/index' });
+ }, 1500);
+ })
+ .catch(() => {
+ this.generateWeChatAuthCode();
+ })
+ .finally(() => {
+ this.submitting = false;
+ });
}
},
// 处理钉钉授权登录
handleDingTalkLogin() {
- if (!this.isChecked) {
- return uni.showToast({ icon:'none', title:'请您阅读并勾选《用户协议》和《隐私政策》' });
- }
+ // if (!this.isChecked) {
+ // return uni.showToast({ icon: 'none', title: '请您阅读并勾选《用户协议》和《隐私政策》' });
+ // }
// #ifdef MP-DINGTALK
openAuthMiniApp({
- path: 'pages/home/home', //不要改,这里是小程序dingwlanwvdmrtjjwdmd下的一个页面地址
+ path: 'pages/home/home', //不要改,这里是小程序dingwlanwvdmrtjjwdmd下的一个页面地址
panelHeight: 'percent50',
- extraData:{
+ extraData: {
clientId: 'suiteyaqgg5vsf9ktnhec', // 应用ID(唯一标识)
rpcScope: 'Contact.User.Read',
fieldScope: 'Contact.User.mobile',
- type:0,
+ type: 0,
ext: JSON.stringify({}),
- from:''
- }
+ from: '',
+ },
});
// #endif
- }
- }
+ },
+ },
};
diff --git a/pages/me/index.vue b/pages/me/index.vue
new file mode 100644
index 0000000..d41c6c5
--- /dev/null
+++ b/pages/me/index.vue
@@ -0,0 +1,301 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ freightInfo.name }}{{ mobileFilter(freightInfo.mobile) }}
+
+
+
+
+ 钉钉用户
+
+
+
+ {{ freightInfo.enterpriseName }}
+
+
+
+ 管理员
+
+
+
+
+ 检测更新
+
+
+
+
+
+
+ 退出登录
+
+
+ 立即登录
+
+
+
+ SDK: {{ versionInfo.SDKVersion }}
+ wechat: {{ versionInfo.version }}
+ version: {{ version }}
+
+
+
+
+
+
+
+
diff --git a/pages/my/my.vue b/pages/my/my.vue
deleted file mode 100644
index 6e05f75..0000000
--- a/pages/my/my.vue
+++ /dev/null
@@ -1,290 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ freightInfo.name }}
-
-
-
-
- 钉钉用户
-
-
-
-
-
-
-
-
- 检测更新
-
-
-
-
-
-
- 退出登录
-
-
- 立即登录
-
-
-
- SDK: {{versionInfo.SDKVersion}}
- wechat: {{versionInfo.version}}
- version: {{version}}
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pages/order/add.vue b/pages/order/add.vue
new file mode 100644
index 0000000..9248e7e
--- /dev/null
+++ b/pages/order/add.vue
@@ -0,0 +1,455 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ selectLocation(0)">
+
+
+ selectLocation(1)">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ !more ? '展开更多信息' : '收起更多信息' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 下单并指派
+
+
+ (showCar = e)" @confirm="carConfirm" v-model="carNumber">
+
+
+
+
diff --git a/pages/order/again-assign.vue b/pages/order/again-assign.vue
new file mode 100644
index 0000000..fa249dc
--- /dev/null
+++ b/pages/order/again-assign.vue
@@ -0,0 +1,268 @@
+
+
+
+
+ 原指派信息
+
+
+ 承运司机
+
+ {{ item.driverName }}
+ {{ item.driverMobile }}
+
+
+
+ 收款人
+
+ {{ item.payee }}
+ {{ item.payeeMobile }}
+
+
+
+
+ 车牌号
+ {{ item.vehicleLicenseNum ? item.vehicleLicenseNum : '' }}
+
+
+ 车挂号
+ {{ item.trailerLicenseNum ? item.trailerLicenseNum : '' }}
+
+
+
+ 新指派信息
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认更改
+
+ (showCar = e)" @confirm="carConfirm" v-model="carNumber">
+
+
+
+
+
+
diff --git a/pages/order/arrival-car.vue b/pages/order/arrival-car.vue
new file mode 100644
index 0000000..2468edc
--- /dev/null
+++ b/pages/order/arrival-car.vue
@@ -0,0 +1,133 @@
+
+
+
+
+ 卸
+ {{ item.waypoints[1].address }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认到达
+
+
+
+
+
+
+
+
diff --git a/pages/order/card.vue b/pages/order/card.vue
new file mode 100644
index 0000000..695adb7
--- /dev/null
+++ b/pages/order/card.vue
@@ -0,0 +1,320 @@
+
+
+
+ {{ item.projectName }} | {{ item.loadTime }}装货
+
+
+
+ 装
+
+ {{ item.startCityName }}-{{ item.startAreaName }}
+ {{ item.startAddress }}
+
+
+
+ 卸
+
+ {{ item.endCityName }}-{{ item.endAreaName }}
+ {{ item.endAddress }}
+
+
+
+
+
+ 司机未认证
+ 司机认证中
+ 收款人未绑卡
+ 车辆未认证
+ 车辆认证中
+ 车头未认证
+ 车头认证中
+ 车挂未认证
+ 车挂认证中
+ 多车挂
+ 缺车挂
+
+
+ {{ item.driverName ? item.driverName : '' }} {{ item.driverMobile ? item.driverMobile : '' }} | {{ item.vehicleLicenseNum ? item.vehicleLicenseNum : '' }}
+ {{ item.trailerLicenseNum ? item.trailerLicenseNum : '' }}
+
+
+
+
+
+
+
diff --git a/pages/order/change-fee.vue b/pages/order/change-fee.vue
new file mode 100644
index 0000000..a27e84a
--- /dev/null
+++ b/pages/order/change-fee.vue
@@ -0,0 +1,341 @@
+
+
+
+
+
+
+ 费用项
+ 原运费
+ 修改后运费
+
+
+
+ 应付司机运费
+ ¥{{ item.paidAmount }}
+
+ ¥
+
+
+
+
+ 安全服务费
+ ¥{{ item.securityServiceAmount ? item.securityServiceAmount : '0' }}
+
+ ¥
+
+
+
+
+
+
+ 油卡
+ 已支付
+ 支付失败
+ 未支付
+ 支付中
+
+ ¥{{ oilAmount.amount }}
+
+ ¥
+
+
+
+
+
+ 预付款
+ 已支付
+ 支付失败
+ 未支付
+ 支付中
+
+ ¥{{ prePay.amount ? prePay.amount : '0' }}
+
+ ¥
+
+
+
+
+
+ 货到款
+ 已支付
+ 支付失败
+ 未支付
+ 支付中
+
+ ¥{{ arrivalPay.amount ? arrivalPay.amount : '0' }}
+
+ ¥
+
+
+
+
+
+ 尾款
+ 已支付
+ 支付失败
+ 未支付
+ 支付中
+
+ ¥{{ final.amount ? final.amount : '0' }}
+
+ ¥
+
+
+
+
+
+
+ 确定更改
+
+
+
+
+
+
diff --git a/pages/order/change-goods.vue b/pages/order/change-goods.vue
new file mode 100644
index 0000000..8f21c2b
--- /dev/null
+++ b/pages/order/change-goods.vue
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认修改
+
+
+
+
+
+
+
diff --git a/pages/order/detail.vue b/pages/order/detail.vue
new file mode 100644
index 0000000..a70b83e
--- /dev/null
+++ b/pages/order/detail.vue
@@ -0,0 +1,611 @@
+
+
+
+
+
+
+ {{ item.loadTime }}装货
+ {{ item.waitHandleExceptionNumber || '0' }}个异常待处理
+
+
+
+
+ 装
+
+ {{ item.waypoints[0].cityName }}-{{ item.waypoints[0].areaName }}
+ {{ item.waypoints[0].address }}
+
+ {{ item.waypoints[0].contactName ? item.waypoints[0].contactName : '' }}
+ {{ item.waypoints[0].contactMobile ? item.waypoints[0].contactMobile : '' }}
+
+
+ {{ item.confirmDepartureTime ? item.confirmDepartureTime + '发车' : '' }}
+
+
+
+
+
+
+
+ 卸
+
+ {{ item.waypoints[1].cityName }}-{{ item.waypoints[1].areaName }}
+ {{ item.waypoints[1].address }}
+
+ {{ item.waypoints[1].contactName ? item.waypoints[1].contactName : '' }}
+ {{ item.waypoints[1].contactMobile ? item.waypoints[1].contactMobile : '' }}
+
+
+ {{ item.confirmArrivalTime ? item.confirmArrivalTime + '到车' : '' }}
+
+
+
+
+
+
+
+
+
+
+
+ 所属项目
+ {{ item.projectName }}
+
+
+ 内部单号
+
+
+ {{ item.customerOrderCode }}
+
+
+
+
+
+ 货物信息
+
+
+ {{ item.goodsName }}
+ {{ item.goodsPiece }}件
+ {{ item.goodsWeight }}吨
+ {{ item.goodsVolume }}方
+
+
+
+
+
+ 订单备注
+ {{ item.remark ? item.remark : '' }}
+
+
+ 回单照片
+
+
+
+
+
+
+
+
+
+
+
+ 司机
+
+
+ {{ item.driverName }}
+ {{ item.driverMobile }}
+ 未认证
+ 认证中
+
+
+
+
+ 收款人
+
+
+ {{ item.payee ? item.payee : '' }}
+
+ {{ item.payeeMobile ? item.payeeMobile : '' }}
+ 未绑卡
+
+
+
+
+
+
+
+
+
+ 车型
+
+
+ {{ item.specification ? item.specification : '' }}
+
+
+
+
+
+ 车牌号
+
+
+ {{ item.vehicleLicenseNum ? item.vehicleLicenseNum : '' }}
+ 未认证
+ 认证中
+
+
+
+
+ 车挂号
+
+
+ {{ item.trailerLicenseNum ? item.trailerLicenseNum : '' }}
+ 多车挂
+ 缺车挂
+ 未认证
+ 认证中
+
+
+
+
+
+
+
+ 应付司机运费
+ ¥{{ item.paidAmount }}
+
+
+ 安全服务费
+ ¥{{ item.securityServiceAmount }}
+
+
+ 综合服务费
+ ¥{{ item.serviceAmount ? item.serviceAmount : '' }}
+
+
+ 订单总额
+ ¥{{ item.totalAmount ? item.totalAmount : '' }}
+
+
+
+
+
+
+
+
+ ¥{{ it.amount }}
+ 支付失败:{{ it.remark }}
+ 支付中
+ 已支付
+
+
+ 实付司机运费
+ ¥{{ item.freightAmount }}
+
+
+
+
+
+
+
+
+
+
+ 修改内部单号
+
+
+ 确定
+
+
+
+
+
+
+
diff --git a/pages/order/filter.vue b/pages/order/filter.vue
new file mode 100644
index 0000000..68bb5ff
--- /dev/null
+++ b/pages/order/filter.vue
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.text }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/order/index.vue b/pages/order/index.vue
new file mode 100644
index 0000000..3ca8971
--- /dev/null
+++ b/pages/order/index.vue
@@ -0,0 +1,462 @@
+
+
+
+
+
+
+
+
+ {{ searchForm.projectName || '所属项目' }}
+
+
+
+
+
+
+ {{ searchForm.startCityName || '始发地' }}
+
+
+
+
+
+
+ {{ searchForm.endCityName || '目的地' }}
+
+
+
+
+
+
+
+
+
+
+
+
+ (loading = e)">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存
+
+
+
+
+
+
diff --git a/pages/order/qr-painter.js b/pages/order/qr-painter.js
new file mode 100644
index 0000000..ce32bd2
--- /dev/null
+++ b/pages/order/qr-painter.js
@@ -0,0 +1,288 @@
+import dayjs from 'dayjs';
+export default {
+ data() {
+ return {
+ posterCss: { width: '150rpx', height: '150rpx', padding: '11rpx', backgroundColor: '#FFFFFF', borderRadius: '50%', objectFit: 'cover' }, // 二维码大小样式
+ QRcss: { position: 'fixed', left: '52rpx', bottom: '24rpx', display: 'flex' }, // 二维码定位样式
+ };
+ },
+ methods: {
+ saveQrImage() {
+ this.$refs.painter.canvasToTempFilePathSync({
+ fileType: 'jpg',
+ // 如果返回的是base64是无法使用 saveImageToPhotosAlbum,需要设置 pathType为url
+ pathType: 'url',
+ quality: 1,
+ success: res => {
+ uni.saveImageToPhotosAlbum({
+ filePath: res.tempFilePath,
+ success: () => {
+ this.qrShow = false;
+ uni.showToast({ title: '保存成功', icon: 'none' });
+ },
+ });
+ },
+ });
+ },
+ getPoster(item, params, wxcode) {
+ let driverInfo = item.driverName ? item.driverName : '';
+ driverInfo += item.driverMobile ? item.driverMobile : '';
+ let vehicle = item.vehicleLicenseNum;
+ if (item.trailerLicenseNum) {
+ vehicle += '·' + item.trailerLicenseNum;
+ }
+ return {
+ css: {
+ width: '640rpx',
+ height: '880rpx',
+ backgroundImage: 'url(https://zeyi-tms-product.oss-cn-hangzhou.aliyuncs.com/image/freight/b6988d70-26db-490c-9ddf-e59c554fa2ff.png)',
+ objectFit: 'cover',
+ },
+ views: [
+ {
+ type: 'view',
+ views: [
+ {
+ type: 'text',
+ text: '订 单 号:',
+ css: {
+ width: '300rpx',
+ height: '33rpx',
+ fontSize: '24rpx',
+ fontSamily: 'PingFangSC-Regular',
+ color: '#999999',
+ lineHeight: '33rpx',
+ display: 'block',
+ boxOrient: 'vertical',
+ lineClamp: 1 /* 这里是超出几行省略 */,
+ position: 'fixed',
+ top: '169rpx',
+ left: '75rpx',
+ },
+ },
+ {
+ type: 'text',
+ text: params.code,
+ css: {
+ width: '400rpx',
+ height: '33rpx',
+ fontSize: '24rpx',
+ fontSamily: 'PingFangSC-Regular',
+ color: '#121212',
+ lineHeight: '33rpx',
+ overflow: 'hidden',
+ textOverflow: 'ellipsis',
+ display: 'block',
+ boxOrient: 'vertical',
+ lineClamp: 1 /* 这里是超出几行省略 */,
+ position: 'fixed',
+ top: '169rpx',
+ left: '195rpx',
+ },
+ },
+ {
+ type: 'text',
+ text: '任务日期:',
+ css: {
+ width: '400rpx',
+ height: '33rpx',
+ fontSize: '24rpx',
+ fontSamily: 'PingFangSC-Regular',
+ color: '#999999',
+ lineHeight: '33rpx',
+ display: 'block',
+ boxOrient: 'vertical',
+ lineClamp: 1 /* 这里是超出几行省略 */,
+ position: 'fixed',
+ top: '204rpx',
+ left: '75rpx',
+ },
+ },
+ {
+ type: 'text',
+ text: dayjs(params.loadTime).format('YYYY-MM-DD'),
+ css: {
+ width: '400rpx',
+ height: '33rpx',
+ fontSize: '24rpx',
+ fontSamily: 'PingFangSC-Regular',
+ color: '#121212',
+ lineHeight: '33rpx',
+ overflow: 'hidden',
+ textOverflow: 'ellipsis',
+ display: 'block',
+ boxOrient: 'vertical',
+ lineClamp: 1 /* 这里是超出几行省略 */,
+ position: 'fixed',
+ top: '204rpx',
+ left: '195rpx',
+ },
+ },
+ {
+ type: 'text',
+ text: params.startCityName + '-' + params.startAreaName,
+ css: {
+ width: '400rpx',
+ height: '40rpx',
+ fontSize: '36rpx',
+ fontSamily: 'PingFangSC-Semibold, PingFang SC',
+ fontWeight: '600',
+ color: '#051B33',
+ lineHeight: '40rpx',
+ overflow: 'hidden',
+ textOverflow: 'ellipsis',
+ display: 'block',
+ boxOrient: 'vertical',
+ lineClamp: 1 /* 这里是超出几行省略 */,
+ position: 'fixed',
+ top: '270rpx',
+ left: '129rpx',
+ },
+ },
+ {
+ type: 'text',
+ text: params.endCityName + '-' + params.endAreaName,
+ css: {
+ width: '400rpx',
+ height: '40rpx',
+ fontSize: '36rpx',
+ fontSamily: 'PingFangSC-Semibold, PingFang SC',
+ fontWeight: '600',
+ color: '#051B33',
+ lineHeight: '40rpx',
+ overflow: 'hidden',
+ textOverflow: 'ellipsis',
+ display: 'block',
+ boxOrient: 'vertical',
+ lineClamp: 1 /* 这里是超出几行省略 */,
+ position: 'fixed',
+ top: '405rpx',
+ left: '129rpx',
+ },
+ },
+ {
+ type: 'text',
+ text: '总里程:' + item.distance + 'KM',
+ css: {
+ width: '400rpx',
+ height: '33rpx',
+ fontSize: '24rpx',
+ fontWeight: '400',
+ fontSamily: 'PingFangSC-Medium, PingFang SC',
+ color: '#999999',
+ lineHeight: '33rpx',
+ position: 'fixed',
+ top: '345rpx',
+ left: '129rpx',
+ },
+ },
+ {
+ type: 'text',
+ text: '订单备注:',
+ css: {
+ width: '400rpx',
+ height: '33rpx',
+ fontSize: '24rpx',
+ fontSamily: 'PingFangSC-Regular',
+ color: '#999999',
+ lineHeight: '33rpx',
+ display: 'block',
+ boxOrient: 'vertical',
+ lineClamp: 1 /* 这里是超出几行省略 */,
+ position: 'fixed',
+ top: '477rpx',
+ left: '75rpx',
+ },
+ },
+ {
+ type: 'text',
+ text: params.remark,
+ css: {
+ width: '350rpx',
+ height: '33rpx',
+ fontSize: '24rpx',
+ fontSamily: 'PingFangSC-Regular',
+ color: '#121212',
+ lineHeight: '33rpx',
+ overflow: 'hidden',
+ textOverflow: 'ellipsis',
+ display: 'block',
+ boxOrient: 'vertical',
+ lineClamp: 1 /* 这里是超出几行省略 */,
+ position: 'fixed',
+ top: '477rpx',
+ left: '195rpx',
+ },
+ },
+ {
+ type: 'text',
+ text: '司 机:',
+ css: {
+ width: '400rpx',
+ height: '33rpx',
+ fontSize: '26rpx',
+ fontSamily: 'PingFangSC-Regular',
+ color: '#FFFFFF',
+ lineHeight: '33rpx',
+ display: 'block',
+ boxOrient: 'vertical',
+ lineClamp: 1 /* 这里是超出几行省略 */,
+ position: 'fixed',
+ top: '564rpx',
+ left: '75rpx',
+ },
+ },
+ {
+ type: 'text',
+ text: driverInfo,
+ css: {
+ width: '400rpx',
+ height: '33rpx',
+ fontSize: '26rpx',
+ fontSamily: 'PingFangSC-Regular',
+ color: '#FFFFFF',
+ lineHeight: '33rpx',
+ display: 'block',
+ boxOrient: 'vertical',
+ lineClamp: 1 /* 这里是超出几行省略 */,
+ position: 'fixed',
+ top: '564rpx',
+ left: '180rpx',
+ },
+ },
+ {
+ type: 'text',
+ text: '车牌号:' + vehicle,
+ css: {
+ width: '400rpx',
+ height: '33rpx',
+ fontSize: '26rpx',
+ fontSamily: 'PingFangSC-Regular',
+ color: '#FFFFFF',
+ lineHeight: '33rpx',
+ display: 'block',
+ boxOrient: 'vertical',
+ lineClamp: 1 /* 这里是超出几行省略 */,
+ position: 'fixed',
+ top: '613rpx',
+ left: '75rpx',
+ },
+ },
+ ],
+ },
+ {
+ type: 'view',
+ css: this.QRcss,
+ views: [
+ {
+ src: wxcode,
+ type: 'image',
+ css: this.posterCss,
+ },
+ ],
+ },
+ ],
+ };
+ },
+ },
+};
diff --git a/pages/order/start-car.vue b/pages/order/start-car.vue
new file mode 100644
index 0000000..0b7b137
--- /dev/null
+++ b/pages/order/start-car.vue
@@ -0,0 +1,117 @@
+
+
+
+
+ 装
+ {{ item.waypoints[0].address }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认发车
+
+
+
+
+
+
+
diff --git a/pages/order/upload-receipt.vue b/pages/order/upload-receipt.vue
new file mode 100644
index 0000000..826bfed
--- /dev/null
+++ b/pages/order/upload-receipt.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认上传
+
+
+
+
+
+
+
diff --git a/pages/settlement/card.vue b/pages/settlement/card.vue
new file mode 100644
index 0000000..0fc955b
--- /dev/null
+++ b/pages/settlement/card.vue
@@ -0,0 +1,166 @@
+
+
+
+
+ {{ item.payCode }}
+
+
+
+ {{ item.projectName ? item.projectName : '' }}{{ item.loadTime ? '|' + item.loadTime + '装货' : '' }}
+
+
+
+
+
+ ¥{{ item.feeAmount ? item.feeAmount : '' }}
+
+
+
+ 承运司机
+
+ {{ item.driverName ? item.driverName : '' }}
+ {{ item.driverMobile ? item.driverMobile : '' }}
+
+
+
+ 收款人
+
+ {{ item.recAccountName ? item.recAccountName : '' }}
+ {{ item.recMobile ? item.recMobile : '' }}
+
+
+
+ 承运车辆
+ {{ item.vehicleLicenseNum ? item.vehicleLicenseNum : '' }}{{ item.trailerLicenseNum ? '·' + item.trailerLicenseNum : '' }}
+
+
+ 订单号
+
+ {{ item.orderCode }}
+ {{ item.waitHandleExceptionNumber || '0' }}个异常待处理
+
+
+
+ 线路名称
+ {{ item.lineName ? item.lineName : '' }}
+
+
+ 申请支付
+
+
+ 撤回申请
+ 审核申请
+
+
+
+
+
+
diff --git a/pages/settlement/filter.vue b/pages/settlement/filter.vue
new file mode 100644
index 0000000..07c6ccc
--- /dev/null
+++ b/pages/settlement/filter.vue
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/settlement/index.vue b/pages/settlement/index.vue
new file mode 100644
index 0000000..67af3c6
--- /dev/null
+++ b/pages/settlement/index.vue
@@ -0,0 +1,424 @@
+
+
+
+
+
+
+
+
+ {{ searchForm.feeTypeName || '款项类型' }}
+
+
+
+
+
+
+ {{ searchForm.projectName || '所属项目' }}
+
+
+
+
+
+
+ {{ searchForm.startCityName || '始发地' }}
+
+
+
+
+
+
+ {{ searchForm.endCityName || '目的地' }}
+
+
+
+
+
+
+
+
+
+
+
+
+ (loading = e)">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/static/addOrder.png b/static/addOrder.png
new file mode 100644
index 0000000..68e84b2
Binary files /dev/null and b/static/addOrder.png differ
diff --git a/static/copy-icon.png b/static/copy-icon.png
new file mode 100644
index 0000000..4471d70
Binary files /dev/null and b/static/copy-icon.png differ
diff --git a/static/logo.png b/static/logo.png
new file mode 100644
index 0000000..7b46045
Binary files /dev/null and b/static/logo.png differ
diff --git a/static/qr.png b/static/qr.png
new file mode 100644
index 0000000..1fa5198
Binary files /dev/null and b/static/qr.png differ
diff --git a/static/tabbar/inquiry-active-dingtalk.png b/static/tabbar/inquiry-active-dingtalk.png
deleted file mode 100644
index b837887..0000000
Binary files a/static/tabbar/inquiry-active-dingtalk.png and /dev/null differ
diff --git a/static/tabbar/inquiry-active.png b/static/tabbar/inquiry-active.png
deleted file mode 100644
index 18b7f09..0000000
Binary files a/static/tabbar/inquiry-active.png and /dev/null differ
diff --git a/static/tabbar/inquiry.png b/static/tabbar/inquiry.png
deleted file mode 100644
index c6fe69f..0000000
Binary files a/static/tabbar/inquiry.png and /dev/null differ
diff --git a/static/tabbar/me-active.png b/static/tabbar/me-active.png
new file mode 100644
index 0000000..cbf729c
Binary files /dev/null and b/static/tabbar/me-active.png differ
diff --git a/static/tabbar/me.png b/static/tabbar/me.png
new file mode 100644
index 0000000..23d5619
Binary files /dev/null and b/static/tabbar/me.png differ
diff --git a/static/tabbar/my-active-dingtalk.png b/static/tabbar/my-active-dingtalk.png
deleted file mode 100644
index 8c3fb52..0000000
Binary files a/static/tabbar/my-active-dingtalk.png and /dev/null differ
diff --git a/static/tabbar/my-active.png b/static/tabbar/my-active.png
deleted file mode 100644
index 3f84468..0000000
Binary files a/static/tabbar/my-active.png and /dev/null differ
diff --git a/static/tabbar/my.png b/static/tabbar/my.png
deleted file mode 100644
index c527112..0000000
Binary files a/static/tabbar/my.png and /dev/null differ
diff --git a/static/tabbar/order-active.png b/static/tabbar/order-active.png
new file mode 100644
index 0000000..9ee2624
Binary files /dev/null and b/static/tabbar/order-active.png differ
diff --git a/static/tabbar/order.png b/static/tabbar/order.png
new file mode 100644
index 0000000..2699912
Binary files /dev/null and b/static/tabbar/order.png differ
diff --git a/static/tabbar/settlement-active.png b/static/tabbar/settlement-active.png
new file mode 100644
index 0000000..5f01510
Binary files /dev/null and b/static/tabbar/settlement-active.png differ
diff --git a/static/tabbar/settlement.png b/static/tabbar/settlement.png
new file mode 100644
index 0000000..7fd37f2
Binary files /dev/null and b/static/tabbar/settlement.png differ
diff --git a/store/index.js b/store/index.js
index ba757cf..ea40f72 100644
--- a/store/index.js
+++ b/store/index.js
@@ -33,7 +33,7 @@ const store = new Vuex.Store({
districtValue: state => code => {
const list = state.district || cache.get('DISTRICT') || [];
let flattenList = [];
- function flatten(array) {
+ function flatten(array) {
array.forEach(item => {
flattenList.push({ code: item.code, name: item.name });
if (item.children) {
@@ -149,9 +149,9 @@ const store = new Vuex.Store({
state.orderTab = orderTab;
},
},
- modules:{
- invoice
- }
-})
+ modules: {
+ invoice,
+ },
+});
export default store;
diff --git a/uni.scss b/uni.scss
index 7fe32df..d3bf5d9 100644
--- a/uni.scss
+++ b/uni.scss
@@ -1,11 +1,11 @@
/* uni.scss */
@import '@/uni_modules/uview-ui/theme.scss';
-$color-primary: #2673FB;
+$color-primary: #1E7B6B;
$color-secondary: #F39800;
/* #ifdef MP-DINGTALK */
-$color-primary: #3296FA;
+$color-primary: #1E7B6B;
/* #endif */
$color-zy-green: #074137;
@@ -65,4 +65,4 @@ $font-md: 28upx;
$font-sm: 24upx;
$font-xs: 20upx;
-$shadow-normal: 0 18upx 24upx -18upx rgba($color-text, 0.02);
\ No newline at end of file
+$shadow-normal: 0 18upx 24upx -18upx rgba($color-text, 0.02);
diff --git a/uni_modules/uview-ui/libs/config/props/input.js b/uni_modules/uview-ui/libs/config/props/input.js
index 4f0edc6..19079a6 100644
--- a/uni_modules/uview-ui/libs/config/props/input.js
+++ b/uni_modules/uview-ui/libs/config/props/input.js
@@ -8,41 +8,41 @@
* @FilePath : /u-view2.0/uview-ui/libs/config/props/input.js
*/
export default {
- // index 组件
- input: {
- value: '',
- type: 'text',
- fixed: false,
- disabled: false,
- disabledColor: '#f5f7fa',
- clearable: false,
- password: false,
- maxlength: -1,
- placeholder: null,
- placeholderClass: 'input-placeholder',
- placeholderStyle: 'color: #c0c4cc',
- showWordLimit: false,
- confirmType: 'done',
- confirmHold: false,
- holdKeyboard: false,
- focus: false,
- autoBlur: false,
- disableDefaultPadding: false,
- cursor: -1,
- cursorSpacing: 30,
- selectionStart: -1,
- selectionEnd: -1,
- adjustPosition: true,
- inputAlign: 'left',
- fontSize: '15px',
- color: '#303133',
- prefixIcon: '',
- prefixIconStyle: '',
- suffixIcon: '',
- suffixIconStyle: '',
- border: 'surround',
- readonly: false,
- shape: 'square',
- formatter: null
- }
-}
+ // index 组件
+ input: {
+ value: '',
+ type: 'text',
+ fixed: false,
+ disabled: false,
+ disabledColor: '#f5f7fa',
+ clearable: false,
+ password: false,
+ maxlength: -1,
+ placeholder: null,
+ placeholderClass: 'input-placeholder',
+ placeholderStyle: 'color: #c0c4cc',
+ showWordLimit: false,
+ confirmType: 'done',
+ confirmHold: false,
+ holdKeyboard: false,
+ focus: false,
+ autoBlur: false,
+ disableDefaultPadding: false,
+ cursor: -1,
+ cursorSpacing: 30,
+ selectionStart: -1,
+ selectionEnd: -1,
+ adjustPosition: true,
+ inputAlign: 'left',
+ fontSize: '15px',
+ color: '#2B2A27',
+ prefixIcon: '',
+ prefixIconStyle: '',
+ suffixIcon: '',
+ suffixIconStyle: '',
+ border: 'surround',
+ readonly: false,
+ shape: 'square',
+ formatter: null,
+ },
+};
diff --git a/uni_modules/uview-ui/theme.scss b/uni_modules/uview-ui/theme.scss
index 331b30f..caee78c 100644
--- a/uni_modules/uview-ui/theme.scss
+++ b/uni_modules/uview-ui/theme.scss
@@ -2,7 +2,7 @@
// uni.scss中引入的样式会同时混入到全局样式文件和单独每一个页面的样式中,造成微信程序包太大,
// 故uni.scss只建议放scss变量名相关样式,其他的样式可以通过main.js或者App.vue引入
-$u-main-color: #303133;
+$u-main-color: #999999;
$u-content-color: #606266;
$u-tips-color: #909193;
$u-light-color: #c0c4cc;
diff --git a/uni_modules/zb-tooltip/changelog.md b/uni_modules/zb-tooltip/changelog.md
new file mode 100644
index 0000000..530e053
--- /dev/null
+++ b/uni_modules/zb-tooltip/changelog.md
@@ -0,0 +1,24 @@
+## 1.0.11(2023-01-29)
+优化点击,加入点击自己再次点击也会关闭
+## 1.0.10(2023-01-17)
+优化
+## 1.0.9(2023-01-17)
+增加注释
+## 1.0.8(2022-08-18)
+优化细节
+## 1.0.67(2022-05-09)
+修复安卓报错
+## 1.0.6(2022-05-07)
+修改默认展示
+## 1.0.5(2022-04-28)
+进行优化
+## 1.0.4(2022-04-27)
+进行优化
+## 1.0.3(2022-04-25)
+去掉多余得注释
+## 1.0.2(2022-04-25)
+增加自定义主题颜色
+## 1.0.1(2022-04-25)
+进行优化显示
+## 1.0.0(2022-04-24)
+初始化
diff --git a/uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip.vue b/uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip.vue
new file mode 100644
index 0000000..4018dc3
--- /dev/null
+++ b/uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip.vue
@@ -0,0 +1,301 @@
+
+
+
+
+ {}"
+ :style="[
+ style,
+ {
+ visibility: isShow ? 'visible' : 'hidden',
+ color: color === 'white' ? '' : '#fff',
+ boxShadow: color === 'white' ? '0 3px 6px -4px #0000001f, 0 6px 16px #00000014, 0 9px 28px 8px #0000000d' : '',
+ },
+ ]"
+ >
+ {{ content }}
+
+
+
+
+
+
+
+
+
+
diff --git a/uni_modules/zb-tooltip/package.json b/uni_modules/zb-tooltip/package.json
new file mode 100644
index 0000000..3417218
--- /dev/null
+++ b/uni_modules/zb-tooltip/package.json
@@ -0,0 +1,83 @@
+{
+ "id": "zb-tooltip",
+ "displayName": "zb-tooltip (文字提示气泡框)",
+ "version": "1.0.11",
+ "description": "简单的文字提示气泡框,可以自定义皮肤颜色",
+ "keywords": [
+ "tooltip",
+ "tip",
+ "文字提示",
+ "气泡框",
+ "自定义皮肤颜色、Popover"
+],
+ "repository": "",
+"engines": {
+ },
+ "dcloudext": {
+ "category": [
+ "前端组件",
+ "通用组件"
+ ],
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "无",
+ "permissions": "无"
+ },
+ "npmurl": ""
+ },
+ "uni_modules": {
+ "dependencies": [],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "Vue": {
+ "vue2": "y",
+ "vue3": "y"
+ },
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "u"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y"
+ },
+ "快应用": {
+ "华为": "y",
+ "联盟": "y"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/uni_modules/zb-tooltip/readme.md b/uni_modules/zb-tooltip/readme.md
new file mode 100644
index 0000000..c21389f
--- /dev/null
+++ b/uni_modules/zb-tooltip/readme.md
@@ -0,0 +1,30 @@
+## 介绍
+基于uni-app开发的一个普通的提示组件,功能点击提示
+
+
+## 友情链接
+#### vue-admin-perfect —— [企业级、通用型中后台前端解决方案 预览地址](http://182.61.5.190:8889/)
+#### vue-admin-perfect —— [企业级、通用型中后台前端解决方案(基于vue3.0+TS+Element-Plus 最新版,同时支持电脑,手机,平板)](https://github.com/zouzhibin/vue-admin-perfect)
+
+
+## Tooltip 属性
+| 参数 | 说明 | 类型 | 可选值 | 默认值 |
+| ------ | ------ | ------ | ------ | ------ |
+| visible | 是否显示 tooltip,支持 .sync 修饰符 | Boolean |visible.sync | false |
+| content | 显示的内容,也可以通过 slot#content | String |-- | ' ' |
+| color | 自定义主题颜色| String |'#303133' | '#303133' |
+| placement | Tooltip 的出现位置 | String |top/top-start/top-end/bottom/bottom-start/bottom-end/left/left-start/left-end/right/right-start/right-end | top |
+
+
+## Slot 插槽
+| 参数 | 说明 |
+| ------ | ------ |
+| content | 显示提示框得内容 |
+
+
+```
+因为uniapp 中小程序中没有window对象,需手动调用 关闭
+ 第一种办法关闭:this.$refs.tooltip.close()
+ 第二种办法关闭:visible.sync = false
+
+```
diff --git a/yarn.lock b/yarn.lock
index 8e2c548..9201333 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -144,6 +144,11 @@ object-assign@^4.1.0:
resolved "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
+prettier@3.3.2:
+ version "3.3.2"
+ resolved "https://registry.npmmirror.com/prettier/-/prettier-3.3.2.tgz#03ff86dc7c835f2d2559ee76876a3914cec4a90a"
+ integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==
+
promise-polyfill@^7.1.0:
version "7.1.2"
resolved "https://registry.npmmirror.com/promise-polyfill/-/promise-polyfill-7.1.2.tgz#ab05301d8c28536301622d69227632269a70ca3b"
--
libgit2 0.21.0