From 7dbf5e002941db79db3abc975877c105ef797095 Mon Sep 17 00:00:00 2001 From: mo-bai <1873032855@qq.com> Date: Fri, 1 Apr 2022 17:59:51 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9C=E7=A8=8B=E9=AA=8C=E5=8E=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apis/commonApi.js | 146 +---- apis/deviceApi.js | 40 ++ apis/factoryApi.js | 85 +++ components/qn-easyinput/qn-easyinput.vue | 36 +- enums/index.js | 229 +------- env/index.js | 4 +- pages.json | 151 +---- pages/agreement/index.vue | 82 +++ pages/apply-inspection/index.vue | 246 ++++++++ pages/certification/index.vue | 223 +++++++ pages/device-info/index.vue | 187 ++++++ pages/device-production-detail/index.vue | 241 ++++++++ pages/factory-inspection/Banner.vue | 124 ++++ pages/factory-inspection/index.vue | 576 +++++++++++++++++++ pages/page-view/index.vue | 64 +++ pages/production-info/index.vue | 134 +++++ static/imgs/device-info/camera-bg.png | Bin 0 -> 6669 bytes static/imgs/device-info/clock.png | Bin 0 -> 10063 bytes static/imgs/device-info/close-icon.png | Bin 0 -> 1825 bytes static/imgs/device-info/device-detail-bg.png | Bin 0 -> 5109 bytes static/imgs/device-info/down-arrow-icon.png | Bin 0 -> 575 bytes static/imgs/device-info/factory-avatar.png | Bin 0 -> 44877 bytes static/imgs/device-info/gear.png | Bin 0 -> 9560 bytes static/imgs/device-info/logo.png | Bin 0 -> 4611 bytes static/imgs/device-info/select-icon.png | Bin 0 -> 2146 bytes static/imgs/device-info/selected-icon.png | Bin 0 -> 1900 bytes static/imgs/factory/address-icon.png | Bin 0 -> 1263 bytes static/imgs/factory/phone-blue-icon.png | Bin 0 -> 1107 bytes store/index.js | 158 +---- utils/http/index.js | 2 +- utils/index.js | 38 +- 31 files changed, 2129 insertions(+), 637 deletions(-) create mode 100644 apis/deviceApi.js create mode 100644 apis/factoryApi.js create mode 100644 pages/agreement/index.vue create mode 100644 pages/apply-inspection/index.vue create mode 100644 pages/certification/index.vue create mode 100644 pages/device-info/index.vue create mode 100644 pages/device-production-detail/index.vue create mode 100644 pages/factory-inspection/Banner.vue create mode 100644 pages/factory-inspection/index.vue create mode 100644 pages/page-view/index.vue create mode 100644 pages/production-info/index.vue create mode 100644 static/imgs/device-info/camera-bg.png create mode 100644 static/imgs/device-info/clock.png create mode 100644 static/imgs/device-info/close-icon.png create mode 100644 static/imgs/device-info/device-detail-bg.png create mode 100644 static/imgs/device-info/down-arrow-icon.png create mode 100644 static/imgs/device-info/factory-avatar.png create mode 100644 static/imgs/device-info/gear.png create mode 100644 static/imgs/device-info/logo.png create mode 100644 static/imgs/device-info/select-icon.png create mode 100644 static/imgs/device-info/selected-icon.png create mode 100644 static/imgs/factory/address-icon.png create mode 100644 static/imgs/factory/phone-blue-icon.png diff --git a/apis/commonApi.js b/apis/commonApi.js index e885094..0d2dc1f 100644 --- a/apis/commonApi.js +++ b/apis/commonApi.js @@ -88,148 +88,14 @@ export function getBaseInfo(data = {}, refresh = false) { } /** - * 获取当前账号的企业实名认证地址 - * @param {object} data 参数 enterpriseId + * 手机登录获取验证码接口 + * @param {object} data 获取验证码参数 + * @returns 获取验证码结果 + * swagger:http://api-ops-uec-test.qniao.cn/uec/swagger-ui/index.html?urls.primaryName=CustomerApi#/%E7%99%BB%E5%BD%95%E8%AE%A4%E8%AF%81/authorizeByCaptchaUsingPOST */ -export function getVerifyUrl(data = {}) { +export const getAuthCaptcha = (data) => { return http.post({ - url: '/yyt-uec/get/fdd-enterprise-verify-url?enterpriseId=' + data.enterpriseId, + url: '/uec/get/auth-captcha', data }) } - -/** - * 生成担保合同的签约地址,同意纸盘商只需要签约一次即可 - * @param {object} data 参数 mallSupplierId - */ -export function getGuaranteeContract(data = {}) { - return http.post({ - url: '/yyt-uec/create/supplier/guarantee-contract?mallSupplierId=' + data.mallSupplierId, - data - }) -} - -/** - * 获取当前账号企业的飞算额度 - * @param {object} data 参数 enterpriseId - */ -export function getFsCredit(data = {}) { - return http.get({ - url: '/yyt-uec/credit/get/enterprise-feisuan-credit', - data - }) -} - -/** - * 获取当前账号企业的被担保的月结额度 - * @param {object} data 参数 enterpriseId supplierId - */ -export function getMonthCredit(data = {}) { - return http.get({ url: '/yyt-uec/customer/get/supplier-credit', data }) -} - -/** - * 转换合同成图片 - * @param {object} data 图片地址链接 fileUrl - */ -export function transformFileToImg(data) { - return http.get({ - url: '/document/get/enterprise-documents/file-image-base64', - data: data - }) -} - -/** - * 获取飞算地址 - */ -export function getFeisuanUrl(data = {}) { - return http.get({ - url: '/yyt-uec/feisuan/feisuan-apply-url.json', - data: data - }) -} - -/** - * 营业执照OCR识别 photoUrl - */ -export function getLicenseOcr(data = {}) { - return http.post({ - url: '/base-paper-trading/ocr/business-license', - data: data - }) -} - -/** - * 身份证正面OCR识别 image - */ -export function getFrontIdCardOcr(data = {}) { - return http.post({ - url: '/base-paper-trading/ocr/id-card/face', - data: data - }) -} - -/** - * 身份证背面OCR识别 image - */ -export function getBackIdCardOcr(data = {}) { - return http.post({ - url: '/base-paper-trading/ocr/id-card/back', - data: data - }) -} - -/** - * 纸盘商开通会员,创建订单 - * @param {object} data - * @value {string} type - * @value {string} enterpriseId - */ -export function openVip(data = {}) { - return http.post({ - url: `/yyt-uec/customer/apply/for/vip?type=${data.type}&enterpriseId=${data.enterpriseId}`, - data: data - }) -} - -/** - * 纸盘商开通会员,真实支付 - * @param {object} data - * @value {string} tradeOrderId - * @value {string} channelId - * @param {string} userOpenId 用户openId - */ -export function openVipPay(data = {}) { - return http.post({ - url: PAY_URL + `?userOpenId=${data.userOpenId}`, - data: data - }) -} - -/** - * 获取用户openId - * @param {object} data - * @value {string} authCode 授权码 - * @value {string} authMethod 3:WeChatServiceAccount - */ -export function getOpenId(data = {}) { - return http.post({ - url: '/uec/get/user-openid/by-oauth2', - data: data - }) -} - -/** - * 绑定纸盘商销售id - * @param {object} data - * @value {string} customerEnterpriseId 客户企业id - * @value {string} customerId 客户id - * @value {string} sellerId 纸盘商销售id - * @value {string} sellerSupplierId 纸盘商id - */ -export function bindUser(data = {}) { - return http.post({ - url: '/yyt-uec/seller/bound/customer', - data: data - }) -} diff --git a/apis/deviceApi.js b/apis/deviceApi.js new file mode 100644 index 0000000..91af4e5 --- /dev/null +++ b/apis/deviceApi.js @@ -0,0 +1,40 @@ +import http from '@/utils/http/index.js' + +/** + * 校验分享id是否有密码 + * @param {object} data + * @value {string} id 分享id + */ +export function checkShareId(data = {}) { + return http.get({ + url: `/base-paper-trading/get/mechanical-equipment-share/${data.id}`, + data: data + }) +} + +/** + * 校验分享id的密码 + * @param {object} data + * @value {string} id 分享id + * @value {string} password 分享密码 + */ +export function checkSharePassword(data = {}) { + return http.post({ + url: `/base-paper-trading/check/mechanical-equipment-share/password`, + data: data + }) +} + +/** + * 获取设备详情 + * @param {object} data + * @value {string} id 分享id + * @value {string} startDate 开始时间 + * @value {string} endDate 结束时间 + */ +export function getShareDeviceInfo(data = {}) { + return http.get({ + url: `/base-paper-trading/get/mechanical-equipment/detail/${data.id}`, + data: data + }) +} diff --git a/apis/factoryApi.js b/apis/factoryApi.js new file mode 100644 index 0000000..f70438c --- /dev/null +++ b/apis/factoryApi.js @@ -0,0 +1,85 @@ +import http from '@/utils/http/index.js' + +/** + * 查询工厂信息 + * + */ +export function getFactoryInfo(data = {}) { + return http.get({ + url: `/yyt-uec/get/factory/information/${data.id}`, + data + }) +} + +/** + * 获取设备列表 + */ +export function getEquipmentList(data = {}) { + return http.get({ + url: '/base-paper-trading/get/mechanical-equipment/extension-list', + data + }) +} + +/** + * 获取产品列表 + */ +export function getProductionList(data = {}) { + return http.get({ + url: '/base-paper-trading/get/packagingProduct/list', + data + }) +} +/** + * 获取申请验厂详情 + */ +export function getApplyInfo(data = {}) { + return http.get({ + url: `/base-paper-trading/get/factory-inspection/${data.id}`, + data + }) +} + +/** + * 获取设备信息 + */ +export function getEquipmentInfo(data = {}) { + return http.get({ + url: `/base-paper-trading/get/mechanical-equipment/${data.id}`, + data + }) +} + +/** + * 获取产品详情 + * @param {object} data + * @property {string} id + */ +export function getProductionInfo(data = {}) { + return http.get({ + url: `/base-paper-trading/get/packagingProduct/${data.id}`, + data + }) +} + +/** + * 用户申请验厂 + * @param {object} data + * @property {string} id + */ +export function userApplying(data = {}) { + return http.post({ + url: `/base-paper-trading/apply/for-factory-inspection`, + data + }) +} + +/** + * 获取监控设备的token + */ +export function getAccessToken(data = {}) { + return http.get({ + url: `/base-paper-trading/get/mechanical-equipment/monitor/token`, + data + }) +} diff --git a/components/qn-easyinput/qn-easyinput.vue b/components/qn-easyinput/qn-easyinput.vue index bda6e06..9035cd5 100644 --- a/components/qn-easyinput/qn-easyinput.vue +++ b/components/qn-easyinput/qn-easyinput.vue @@ -232,23 +232,12 @@ export default { }, watch: { value(newVal) { - if (this.errMsg) this.errMsg = '' - this.val = newVal - // fix by mehaotian is_reset 在 uni-forms 中定义 - if (this.form && this.formItem && !this.is_reset) { - this.is_reset = false - this.formItem.setValue(newVal) - } + this.resetValue(newVal) }, modelValue(newVal) { - if (this.errMsg) this.errMsg = '' - this.val = newVal - if (this.form && this.formItem && !this.is_reset) { - this.is_reset = false - this.formItem.setValue(newVal) - } + this.resetValue(newVal) }, - focus(newVal) { + focus() { this.$nextTick(() => { this.focused = this.focus }) @@ -280,6 +269,17 @@ export default { }) }, methods: { + /** + * 监听value 和 modelValue 变化 + */ + resetValue(newVal) { + if (this.errMsg) this.errMsg = '' + this.val = newVal + if (this.form && this.formItem && !this.is_reset) { + this.is_reset = false + this.formItem.setValue(newVal) + } + }, onClickIcon(type) { this.$emit('iconClick', type) }, @@ -313,9 +313,7 @@ export default { } if (this.errMsg) this.errMsg = '' this.val = value - // 兼容 vue2 this.$emit('input', value) - // 兼容 vue3 this.$emit('update:modelValue', value) }, @@ -330,10 +328,7 @@ export default { }, onClear() { this.val = '' - // 兼容 vue2 this.$emit('input', '') - // 兼容 vue2 - // 兼容 vue3 this.$emit('update:modelValue', '') }, fieldClick() { @@ -381,7 +376,8 @@ $uni-border-1: #dcdfe6 !default; width: 100%; display: flex; box-sizing: border-box; - min-height: 36px; + // min-height: 21px; + height: 100%; /* #endif */ flex-direction: row; align-items: center; diff --git a/enums/index.js b/enums/index.js index 1243f99..580fc87 100644 --- a/enums/index.js +++ b/enums/index.js @@ -7,6 +7,13 @@ export const XAPPID = '503258978847966408' export const PAY_URL = `https://api-client-psc${urlEnv}.qniao.cn/payment-settlement-center/pay-for-service-account` // 当前支付页面地址 export const VIP_URL = `https://shopkeeper${urlEnv}.qniao.cn/#/pages/vip-center/index` +/** + * 萤石云直播地址 + * @param {string} accessToken 访问令牌 + * @param {string} deviceSerial 设备序列号 + * @param {string} channelNo 通道号 + */ +export const YINGSHI_LIVE_URL = `https://open.ys7.com/ezopen/h5/live?autoplay=1&audio=1&hd=1&` /** * 账号类型 @@ -28,32 +35,21 @@ export const encryptType = { } /** - * 验证码用途 + * 是否加密 不加密:0 , 加密:1 */ -export const codePurpose = { - CERTIFICATION: 1, - RESET_LOGIN_PASSWORD: 2, - RESET_PHONE: 3, - BIND_BANK_CARD: 4, - RESET_CREDIT_PASSWORD: 5 +export const isEncrypt = { + NO: 0, + YES: 1 } /** - * 可验证账号类型 - */ -export const verificationType = { - PHONE: 1, - EMAIL: 2 -} -/** - * 法大大企业认证状态 1:未认证 2:认证中 3:已认证 4:认证失败 + * 文件类型 图片:1,视频:2 */ -export const fddEnterpriseStatus = { - UNCERTIFIED: 1, - CERTIFIED_ING: 2, - CERTIFIED_SUCCESS: 3, - CERTIFIED_FAIL: 4 +export const fileType = { + IMG: 1, + VIDEO: 2 } + /** * 上传地址 */ @@ -62,191 +58,28 @@ export const uploadUrl = { file: `https://api-client-yyt${urlEnv}.qniao.cn/yyt-uec/file-uploading/upload/file` } /** - * 结算周期:1:月结30(飞算1期),2:月结45,3:月结60(飞算2期),4:月结75,5:月结90(飞算3期) - */ -export const settlementPeriodEnum = [ - { - value: 1, - label: '月结30' - }, - { - value: 2, - label: '月结45' - }, - { - value: 3, - label: '月结60' - }, - { - value: 4, - label: '月结75' - }, - { - value: 5, - label: '月结90' - } -] -/** - * 结算周期:1:1期,2:2期,3:3期 - */ -export const fsSettlementPeriodEnum = [ - { - value: 1, - label: '1期' - }, - { - value: 2, - label: '2期' - }, - { - value: 3, - label: '3期' - } -] -/** - * 飞算结算方式: 1: 先息后本 - */ -export const fsSettlementMethodEnum = [ - { - value: 1, - label: '先息后本' - } -] - -/** - * 飞算授信审核状态 0: 待客户申请 1: 审核中 2: 通过 3: 拒绝 + * 申请状态 1:已提交 2:已同意 3:已拒绝 */ -export const fsAuditStatus = { - WAIT_APPLY: 0, - AUDITING: 1, - PASS: 2, +export const applyStatus = { + SUBMIT: 1, + AGREE: 2, REJECT: 3 } /** - * 客户订单状态 0: 全部 ; 30100: 待确认 ; 30204: 待供应商确认 ; 30101: 已下单 ; 30104: 已完成 ; 30105: 已取消 - */ -export const orderStatusEnum = { - ALL: 0, - WAIT_CONFIRM: 30100, - WAIT_SUPPLIER_CONFIRM: 30204, - ORDERED: 30101, - FINISHED: 30104, - CANCELED: 30105 -} - -/** - * 客户订单状态 0: 全部 ; 30100: 待确认 ; 30204: 待供应商确认 ; 30101: 已下单 ; 30104: 已完成 ; - */ -export const orderStatusArray = [ - { - value: orderStatusEnum.ALL, - label: '全部' - }, - { - value: orderStatusEnum.WAIT_CONFIRM, - label: '待确认' - }, - { - value: orderStatusEnum.WAIT_SUPPLIER_CONFIRM, - label: '待供应商确认' - }, - { - value: orderStatusEnum.ORDERED, - label: '已下单' - }, - { - value: orderStatusEnum.FINISHED, - label: '已完成' - }, - { - value: orderStatusEnum.CANCELED, - label: '已取消' - } -] - -export const orderStatusMap = { - [orderStatusEnum.ALL]: '全部', - [orderStatusEnum.WAIT_CONFIRM]: '待确认', - [orderStatusEnum.WAIT_SUPPLIER_CONFIRM]: '待供应商确认', - [orderStatusEnum.ORDERED]: '已下单', - [orderStatusEnum.FINISHED]: '已完成', - [orderStatusEnum.CANCELED]: '已取消' -} - -/** - * 供应商订单状态 待客户确认订单/30202,待供应商确认订单/30205,待发货/30106,已发货/30107 已发货在H5客户端显示 待收货/30107 ,待客户借款/30207,支付中/30208,待客户支付/30214,付款失败/30211,已完成/30213,待客户还款/30217,已取消/30212,还款中/30216 - */ -export const supplierOrderStatusEnum = { - WAIT_CLIENT_CONFIRM: 30202, - WAIT_SUPPLIER_CONFIRM: 30205, - WAIT_DELIVERY: 30106, - WAIT_RECEIVE: 30107, - WAIT_CLIENT_LOAN: 30207, - PAYING: 30208, - WAIT_CLIENT_PAY: 30214, - PAY_FAIL: 30211, - FINISHED: 30213, - WAIT_CLIENT_REPAY: 30217, - REPAYING: 30216, - CANCELED: 30212 -} -/** - * 供应商订单状态 待客户确认订单/30202,待供应商确认订单/30205,待发货/30106,已发货/30107 已发货在H5客户端显示 待收货/30107 ,待客户借款/30207,支付中/30208,待客户支付/30214,付款失败/30211,已完成/30213,待客户还款/30217,已取消/30212,还款中/30216 - */ -export const supplierOrderStatusMap = { - [supplierOrderStatusEnum.WAIT_CLIENT_CONFIRM]: '待客户确认', - [supplierOrderStatusEnum.WAIT_SUPPLIER_CONFIRM]: '待供应商确认', - [supplierOrderStatusEnum.WAIT_DELIVERY]: '待发货', - [supplierOrderStatusEnum.WAIT_RECEIVE]: '待收货', - [supplierOrderStatusEnum.WAIT_CLIENT_LOAN]: '待借款', - [supplierOrderStatusEnum.PAYING]: '支付中', - [supplierOrderStatusEnum.WAIT_CLIENT_PAY]: '待支付', - [supplierOrderStatusEnum.PAY_FAIL]: '付款失败', - [supplierOrderStatusEnum.FINISHED]: '已完成', - [supplierOrderStatusEnum.WAIT_CLIENT_REPAY]: '待还款', - [supplierOrderStatusEnum.REPAYING]: '还款中', - [supplierOrderStatusEnum.CANCELED]: '已取消' -} - -/** - * 支付方式 1:微信支付 2:月结支付 4:飞算支付 - */ -export const paymentMethodEnum = { - WECHAT_PAY: 1, - MONTHLY_PAY: 2, - FLY_PAY: 4 -} - -export const paymentMethodMap = { - [paymentMethodEnum.WECHAT_PAY]: '微信支付', - [paymentMethodEnum.MONTHLY_PAY]: '月结支付', - [paymentMethodEnum.FLY_PAY]: '飞算支付' -} - -/** - * 订单是否开票: 1:开票 0:不开票 - * 默认开票 + * 验证码用途 */ -export const invoiceStatusEnum = { - INVOICE: 1, - NO_INVOICE: 0 -} - -export const invoiceStatusMap = { - [invoiceStatusEnum.INVOICE]: '开票', - [invoiceStatusEnum.NO_INVOICE]: '不开票' +export const codePurpose = { + CERTIFICATION: 1, + RESET_LOGIN_PASSWORD: 2, + RESET_PHONE: 3, + BIND_BANK_CARD: 4, + RESET_CREDIT_PASSWORD: 5 } - /** - * 库存单位 1:张 2:吨 + * 可验证账号类型 */ -export const stockUnitEnum = { - SHEET: 1, - TON: 2 -} - -export const stockUnitMap = { - [stockUnitEnum.SHEET]: '张', - [stockUnitEnum.TON]: '吨' +export const verificationType = { + PHONE: 1, + EMAIL: 2 } diff --git a/env/index.js b/env/index.js index bcf6a22..a0bfcb1 100644 --- a/env/index.js +++ b/env/index.js @@ -1,8 +1,8 @@ /** * @description 唯一环境变量 */ -// const env = 'test' +const env = 'test' // const env = 'dev' -const env = 'production' +// const env = 'production' export default env diff --git a/pages.json b/pages.json index 000a6a7..7d9e1b1 100644 --- a/pages.json +++ b/pages.json @@ -1,35 +1,5 @@ { "pages": [ - { - "path": "pages/store/index", - "style": { - "navigationBarTitleText": "店铺首页", - "navigationStyle": "custom" - }, - "h5": { "titleNView": false } - }, - { - "path": "pages/cart/index", - "style": { - "navigationStyle": "custom", - "navigationBarTitleText": "购物车" - } - }, - { - "path": "pages/mine/index", - "style": { - "navigationStyle": "custom", - "navigationBarTitleText": "个人中心" - } - }, - { - "path": "pages/login/index", - "style": { - "navigationBarTitleText": "登录", - "navigationStyle": "custom", - "enablePullDownRefresh": false - } - }, { "path": "pages/agreement/index", "style": { @@ -46,123 +16,52 @@ } }, { - "path": "pages/notification-page/index", + "path": "pages/device-info/index", "style": { - "navigationBarTitleText": "统一第三方通知页面", - "enablePullDownRefresh": false - } - }, - { - "path": "pages/enterprise-info/index", - "style": { - "navigationBarTitleText": "完善企业信息", + "navigationBarTitleText": "设备信息", "enablePullDownRefresh": false, "navigationStyle": "custom" } }, { - "path": "pages/enterprise-info-edit/index", + "path": "pages/device-production-detail/index", "style": { - "navigationBarTitleText": "修改企业信息", + "navigationBarTitleText": "设备生产详情", "enablePullDownRefresh": false, "navigationStyle": "custom" } }, { - "path": "pages/address-manage/index", + "path": "pages/factory-inspection/index", "style": { - "navigationBarTitleText": "收货地址", + "navigationBarTitleText": "远程验厂", "enablePullDownRefresh": false, "navigationStyle": "custom" } }, { - "path": "pages/error/index", + "path": "pages/production-info/index", "style": { - "navigationBarTitleText": "页面不存在", + "navigationBarTitleText": "产品信息", "enablePullDownRefresh": false, "navigationStyle": "custom" } }, { - "path": "pages/order-list/index", + "path": "pages/apply-inspection/index", "style": { - "navigationBarTitleText": "订单列表", + "navigationBarTitleText": "验厂申请", "enablePullDownRefresh": false, "navigationStyle": "custom" } }, { - "path": "pages/order-make/index", + "path": "pages/certification/index", "style": { - "navigationBarTitleText": "创建订单", + "navigationBarTitleText": "信息验证", "enablePullDownRefresh": false, "navigationStyle": "custom" } - }, - { - "path": "pages/order-detail/index", - "style": { - "navigationBarTitleText": "订单详情", - "enablePullDownRefresh": false, - "navigationStyle": "custom" - } - }, - { - "path": "pages/paper-details/index", - "style": { - "navigationBarTitleText": "纸品详情", - "navigationStyle": "custom", - "enablePullDownRefresh": false - } - }, - { - "path": "pages/enquiry-list/index", - "style": { - "navigationBarTitleText": "询价列表", - "navigationStyle": "custom", - "enablePullDownRefresh": false - } - }, - { - "path": "pages/for-comparison/index", - "style": { - "navigationBarTitleText": "实单询比价", - "navigationStyle": "custom", - "enablePullDownRefresh": false - } - }, - { - "path": "pages/add-address-manage/index", - "style": { - "navigationBarTitleText": "新建收货地址", - "navigationStyle": "custom", - "enablePullDownRefresh": false - } - }, - { - "path": "pages/account-management/index", - "style": { - "navigationBarTitleText": "账号管理", - "navigationStyle": "custom", - "enablePullDownRefresh": false - } - }, - { - "path": "pages/add-account/index", - "style": { - "navigationBarTitleText": "新增企业账号", - "navigationStyle": "custom", - "enablePullDownRefresh": false - } - }, - { - "path": "pages/vip-center/index", - "style": { - "navigationBarTitleText": "会员中心", - "navigationStyle": "custom", - "enablePullDownRefresh": false - } } ], "globalStyle": { @@ -171,32 +70,6 @@ "navigationBarBackgroundColor": "#F8F8F8", "backgroundColor": "#F8F8F8" }, - "tabBar": { - "color": "#888", - "selectedColor": "#007AFF", - "borderStyle": "white", - "backgroundColor": "#f9f9f9", - "list": [ - { - "pagePath": "pages/store/index", - "iconPath": "static/imgs/tabbar/store-gray.png", - "selectedIconPath": "static/imgs/tabbar/store-blue.png", - "text": "店铺首页" - }, - { - "pagePath": "pages/cart/index", - "iconPath": "static/imgs/tabbar/cart-gray.png", - "selectedIconPath": "static/imgs/tabbar/cart-blue.png", - "text": "购物车" - }, - { - "pagePath": "pages/mine/index", - "iconPath": "static/imgs/tabbar/mine-gray.png", - "selectedIconPath": "static/imgs/tabbar/mine-blue.png", - "text": "个人中心" - } - ] - }, "condition": { //模式配置,仅开发期间生效 "current": 0, //当前激活的模式(list 的索引项) diff --git a/pages/agreement/index.vue b/pages/agreement/index.vue new file mode 100644 index 0000000..f6506b5 --- /dev/null +++ b/pages/agreement/index.vue @@ -0,0 +1,82 @@ + + + + diff --git a/pages/apply-inspection/index.vue b/pages/apply-inspection/index.vue new file mode 100644 index 0000000..289a79e --- /dev/null +++ b/pages/apply-inspection/index.vue @@ -0,0 +1,246 @@ + + + + + diff --git a/pages/certification/index.vue b/pages/certification/index.vue new file mode 100644 index 0000000..f22ffad --- /dev/null +++ b/pages/certification/index.vue @@ -0,0 +1,223 @@ + + + + + diff --git a/pages/device-info/index.vue b/pages/device-info/index.vue new file mode 100644 index 0000000..5bd15a7 --- /dev/null +++ b/pages/device-info/index.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/pages/device-production-detail/index.vue b/pages/device-production-detail/index.vue new file mode 100644 index 0000000..6a29e71 --- /dev/null +++ b/pages/device-production-detail/index.vue @@ -0,0 +1,241 @@ + + + + + diff --git a/pages/factory-inspection/Banner.vue b/pages/factory-inspection/Banner.vue new file mode 100644 index 0000000..5c8e963 --- /dev/null +++ b/pages/factory-inspection/Banner.vue @@ -0,0 +1,124 @@ + + + + + diff --git a/pages/factory-inspection/index.vue b/pages/factory-inspection/index.vue new file mode 100644 index 0000000..e997a76 --- /dev/null +++ b/pages/factory-inspection/index.vue @@ -0,0 +1,576 @@ + + + + + diff --git a/pages/page-view/index.vue b/pages/page-view/index.vue new file mode 100644 index 0000000..0c689c6 --- /dev/null +++ b/pages/page-view/index.vue @@ -0,0 +1,64 @@ + + + diff --git a/pages/production-info/index.vue b/pages/production-info/index.vue new file mode 100644 index 0000000..00684f7 --- /dev/null +++ b/pages/production-info/index.vue @@ -0,0 +1,134 @@ + + + + + diff --git a/static/imgs/device-info/camera-bg.png b/static/imgs/device-info/camera-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..d5574b3fb9eb94126d7ada5799c2de5ca2540886 GIT binary patch literal 6669 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 KDix0rk^c*_{Fw9r literal 0 HcmV?d00001 diff --git a/static/imgs/device-info/clock.png b/static/imgs/device-info/clock.png new file mode 100644 index 0000000000000000000000000000000000000000..5820a235678440e97af129a6d1c8f6f317b25ea0 GIT binary patch literal 10063 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 P00000NkvXXu0mjfm%1_d literal 0 HcmV?d00001 diff --git a/static/imgs/device-info/device-detail-bg.png b/static/imgs/device-info/device-detail-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..6b2bc5cd3132eb9bc06469921edd4226310a6dfd GIT binary patch literal 5109 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 Biy;62 literal 0 HcmV?d00001 diff --git a/static/imgs/device-info/down-arrow-icon.png b/static/imgs/device-info/down-arrow-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..69b80c934c6cc35319b56b967e8b3478d27840a6 GIT binary patch literal 575 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 literal 0 HcmV?d00001 diff --git a/static/imgs/device-info/select-icon.png b/static/imgs/device-info/select-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ae1450587fb97ba48c214352a6027d96cbcad62d GIT binary patch literal 2146 zcmV-o2%YzdP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuD%t=H+RCod9TTN_~MHrs>cKKPP z0n$Q3RKf`n;erPbiU$n`Fktg6a%uf?0)0(%(wIH%-3)GU)bHwVQ1cVW@p~#oxgWx-cO1t4&B|| z3kPz!7o{(rQA#}}q*#U~>y#2TQpy@O5B?n~#T_JX3MHnDeJnFo zK~6=*2Rb{S6?wH;3bj@Uxe@@!)eaP)pq@)g$g?6LkL_%3?wxFT$0b;t5M5neHG{d_ z4)kCndUr)!nThf+N-kprb-P48+m!G>MUU6TSC0uGWght#&~xW7ps%Q;ydrbS zzvs;H?xa#F-HX|5w&vbFzeXi!V_P4N`2ST((-RyxsiBiXP#2tS|!vLtOe_# z$Qg0}0r>NtRGZPx^|<`ucw<&TCUX#=^CvLm7sXVZMVIe;EH&%%`uh4?G5OfvX;-R;xe$k?n)N|CUH^}r zH`(b-rsr`b2R?-0+oID0atvbBrPDihbdR>(Q7Pc~@#BeG{kK0;zIrQKu@v%KDUQ>O`A65qj^z!L5&i5h7M;Hwb7Ie(1+S>UWM^b_}lEAv>BjE9$yJ+C`M-85`QwGXH znMj+!4x{XbE)_dkix%RXS9#TC^RdGJ=}EBxEAFp0|52y0NUrjgIE9^JsV$34$fn`e zgpvx-tG)EUw--Eu7jsh2rMGUyid%jmbL7Y(aWDI`tpvR=D(|IIyF=_0;6AUnI(N0d z%bqV+@azuCMj4R|r$f+z`4a)Ap`A8F0bES9kz?)iT<|>UZ7H{5KNOA-l##MhW|L2w zrC_)X8Sz8R%*BhJXn+#lFn`vu=j}wXwQrg1Yc=GqRJ9cY{bqf zfP+FY@QJ!eRaXjDK5o06aMOe7cgzH1mcnUzf_6~PAV+yz|2N6Duv8)j+gwc~}A zP3#`Mu`C`B18W?*nurKCV)y8Z22J1$6a*{`tMQ65&(PHp6BDr+Jj6`wUf_qPE}0B$ z4GFrX7`j?w?P}xr8>vggt_>mWhi4(hV*-3~sw+e>8O(tt2q#1ru3F#I(^Kp6Dwo3W z$AM3|uUiGoS^@OH#QX?dTyRL3@n3e}oyvvmN>1l0VlrG}HD0H|2w)C8Fiim+!yAhZ zNe-_935_A}EGtTHVGR{P_fwSUFP0K1dSh91MJ5XvY`41p0#=PDQ~-T%aWlH#MhSWw zy|HXwC8a4lG1xK_qwQxLDu9LPdyBacx~B(QVs5WpK_#WN8=bTD$-V$%5rv}wzMI1~ z-d)V5VW`&870u>VLYgwWz5#d!12)??fH*KB+<;z}ZS9@s5W^)l2(+5$iq_iN{I%hg zbKKU}`5M5VBo-qlFr05~X@&!K(duQMGXlt90XiPzpEpP|up(diN3ox-3OMEaOBpGv z10Gm3rU-bV7@`0&@rrVtj>k~OAn8JwOFumAie@-v7E?CL2(jiG(E<#KjR7XZEyl45 zV7B(FgX3|rC`W==NxI_ozBz4c#xM=fK~#$uIYFjRYKkuKXIPf{70Fl zER;!ikR=FZAI?jZMTb=Y3()Ht3m}J;9p-Y8DTm#mu-c!5aN)40pp==i+d{{s!&Nda z)9|LXySz~X<7xZBgrkJ%{Kq#2{uT$*~ACz!}Qeb)s7c@ zpT`sRaG%WyUd!WV8jI5l_#eF2%J8!}8|t+EaMD%+)6@3T*{C8&Ps@*|;}k(&xqm+Y YKP_Fxzqh_iuK)l507*qoM6N<$f``uHfB*mh literal 0 HcmV?d00001 diff --git a/static/imgs/device-info/selected-icon.png b/static/imgs/device-info/selected-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9d4afc10d10228b44c6443b761cf3d29f4d66d8d GIT binary patch literal 1900 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 { - if (companyInfoParams.includes(item.key)) { - companyInfo[item.key] = item.value - } - }) - try { - uni.setStorageSync('companyInfo', JSON.stringify(companyInfo)) - state.companyInfo = companyInfo - } catch (e) { - console.error('更改companyInfo失败:', e) - } - }, - removeCompanyInfo(state) { - try { - uni.removeStorageSync('companyInfo') - state.companyInfo = {} - } catch (e) { - console.error('删除companyInfo失败:', e) - } - }, setNextPage(state, nextPage) { if (!isObject(nextPage)) { console.error('nextPage必须是对象') @@ -238,42 +157,6 @@ const store = new Vuex.Store({ state.nextPage.name = '' state.nextPage.data = {} }, - setSearchHistory(state, searchHistory) { - if (!isArray(searchHistory)) { - console.error('searchHistory必须是数组') - return - } - try { - uni.setStorageSync('searchHistory', JSON.stringify(searchHistory)) - state.searchHistory = searchHistory - } catch (e) { - console.error('更改searchHistory失败:', e) - } - }, - clearSearchHistory(state) { - try { - uni.removeStorageSync('searchHistory') - state.searchHistory = [] - } catch (e) { - console.error('删除searchHistory失败:', e) - } - }, - setSupplierId(state, id) { - try { - uni.setStorageSync('supplierId', id) - state.supplierId = id - } catch (e) { - console.error('更改supplierId失败:', e) - } - }, - removeSupplierId(state) { - try { - uni.removeStorageSync('supplierId') - state.supplierId = '' - } catch (e) { - console.error('删除supplierId失败:', e) - } - }, setUserId(state, id) { try { uni.setStorageSync('userId', id) @@ -289,6 +172,22 @@ const store = new Vuex.Store({ } catch (e) { console.error('删除userId失败:', e) } + }, + setShareExpireTime(state, timeStamp) { + try { + uni.setStorageSync('shareExpireTime', timeStamp) + state.shareExpireTime = timeStamp + } catch (e) { + console.error('更改shareExpireTime失败:', e) + } + }, + removeShareExpireTime(state) { + try { + uni.removeStorageSync('shareExpireTime') + state.shareExpireTime = 0 + } catch (e) { + console.error('删除shareExpireTime失败:', e) + } } }, actions: { @@ -296,19 +195,6 @@ const store = new Vuex.Store({ commit('removeUecToken') commit('removeToken') commit('removeUserInfo') - commit('removeCompanyInfo') - }, - addSearchHistory({ commit, state }, searchHistory) { - let arr = [...state.searchHistory] // 单层数组直接解构 - let index = arr.findIndex((item) => item === searchHistory) - if (index > -1) { - arr.splice(index, 1) - } - arr.unshift(searchHistory) - if (arr.length > 10) { - arr = arr.slice(0, 10) - } - commit('setSearchHistory', arr) } } }) diff --git a/utils/http/index.js b/utils/http/index.js index e73a118..4898e2b 100644 --- a/utils/http/index.js +++ b/utils/http/index.js @@ -107,7 +107,7 @@ const resInterceptor = (response, options) => { return res.data === null ? 1 : res.data } else { uni.showToast({ - title: res.message, + title: res.message || res.msg, icon: 'none' }) return null diff --git a/utils/index.js b/utils/index.js index 4f56034..34f1cb7 100644 --- a/utils/index.js +++ b/utils/index.js @@ -1,6 +1,6 @@ import env from '@/env/index.js' import store from '@/store/index.js' -import { isDate, isString } from './is.js' +import { isDate, isString, isArray } from './is.js' /** * 日期格式化,样例 yyyy-mm-dd hh:MM:ss * @param date Date 需要转换的日期 @@ -164,3 +164,39 @@ export const difTime = (time, target) => { seconds } } + +/** + * 根据规则校验字段 + * @param {*} value 输入值 + * @param {array} rules 规则集 {type,required,message} + * @value {boolean} required 是否必填 + * @value {string} type 字段类型校验,目前支持 phone + * @returns {object} {isValid,msg} + */ +export const validateField = (value, rules) => { + let isValid = true + let msg = '' + for (let rule of rules) { + if (rule.required) { + if (value === '' || value === undefined || value === null) { + isValid = false + msg = rule.message + break + } + if (isArray(value) && value.length === 0) { + isValid = false + msg = rule.message + break + } + } + if (rule.type === 'phone' && value !== '' && !/^1[3456789]\d{9}$/.test(value)) { + isValid = false + msg = rule.message + break + } + } + return { + isValid, + msg + } +}