diff --git a/babel.config.js b/babel.config.js index ba17966..8514aa8 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,5 +1,6 @@ module.exports = { presets: [ '@vue/app' - ] + ], + plugins: ["@babel/plugin-proposal-optional-chaining"] } diff --git a/package.json b/package.json index ef93fef..dee09bb 100644 --- a/package.json +++ b/package.json @@ -94,6 +94,7 @@ }, "devDependencies": { "@babel/core": "7.0.0", + "@babel/plugin-proposal-optional-chaining": "^7.21.0", "@babel/register": "7.0.0", "@vue/cli-plugin-babel": "3.5.3", "@vue/cli-plugin-eslint": "^3.9.1", diff --git a/src/api/accounts.js b/src/api/accounts.js index f1211b6..372249d 100644 --- a/src/api/accounts.js +++ b/src/api/accounts.js @@ -100,19 +100,19 @@ export function capitalFlowExportApi(data) { /** * @description 转账记录 -- 导出 */ - export function transferRecordsExportApi(data) { +export function transferRecordsExportApi(data) { return request.get(`financial/export`, data) } /** * @description 资金记录 -- 导出 */ - export function fundingRecordsExportApi(data) { +export function fundingRecordsExportApi(data) { return request.get(`bill/export`, data) } /** * @description 提现管理 -- 导出 */ - export function extractManageExportApi(data) { +export function extractManageExportApi(data) { return request.get(`user/extract/export`, data) } /** @@ -132,115 +132,133 @@ export function extractManageDetail(id) { * @description 获取版本号 */ export function getVersion() { - return request.get(`version`) + return request.get(`version`) } /** * @description 转账设置 */ export function transferSettingApi(key) { - return request.get(`config/${key}`) + return request.get(`config/${key}`) } /** * @description 转账记录 */ export function transferRecordApi(data) { - return request.get(`financial/lst`, data) + return request.get(`financial/lst`, data) } /** * @description 转账记录 -- 头部数据 */ export function transferHeaderDataApi() { - return request.get(`financial/title`) + return request.get(`financial/title`) } /** * @description 转账信息 */ export function transferDetailApi(id) { - return request.get(`financial/detail/${id}`) + return request.get(`financial/detail/${id}`) } /** * @description 申请转账 -- 审核 */ export function transferReviewApi(id, data) { - return request.post(`financial/status/${id}`, data) + return request.post(`financial/status/${id}`, data) +} +/** + * @description 申请转账 -- 第二步审核 + */ +export function transferReviewFirstApi(id, data) { + return request.post(`financial/status_first/${id}`, data) +} +/** + * @description 申请转账 -- 最终审核 + */ +export function transferReviewSecondApi(id, data) { + return request.post(`financial/status_second/${id}`, data) +} +/** + * @description 申请转账 -- 批量审核 + */ +export function transferReviewBatchApi(data) { + return request.post(`financial/status_batch`, data) } /** * @description 申请转账 -- 备注 */ export function transferMarkApi(id) { - return request.get(`financial/mark/${id}/form`) + return request.get(`financial/mark/${id}/form`) } /** * @description 申请转账 -- 转账 */ export function transferEditApi(id, data) { - return request.post(`financial/update/${id}`, data) + return request.post(`financial/update/${id}`, data) } /** * @description 财务账单 -- 列表 */ export function financialLstApi(data) { - return request.get(`financial_record/lst`, data) + return request.get(`financial_record/lst`, data) } /** * @description 财务账单 -- 详情 */ export function financialDetailApi(type, data) { - return request.get(`financial_record/detail/${type}`, data) + return request.get(`financial_record/detail/${type}`, data) } /** * @description 财务账单 -- 头部数据 */ export function finaHeaderDataApi(data) { - return request.get(`financial_record/title`, data) + return request.get(`financial_record/title`, data) } /** * @description 财务账单 -- 下载账单 */ export function downloadFinancialApi(type, data) { - return request.get(`financial_record/detail_export/${type}`, data) + return request.get(`financial_record/detail_export/${type}`, data) } /** * @description 资金流水 -- 统计数据 */ export function getStatisticsApi(data) { - return request.get(`financial_record/count`,data) + return request.get(`financial_record/count`, data) } /** * @description 发票 -- 获取发票说明 */ export function getReceiptApi(key) { - return request.get(`agreement/${key}`) + return request.get(`agreement/${key}`) } /** * @description 发票 -- 编辑发票说明 */ export function updateReceiptApi(type, data) { - return request.post(`agreement/${type}`, data) + return request.post(`agreement/${type}`, data) } /** * @description 发票 -- 列表 */ export function invoiceListApi(data) { - return request.get(`receipt/lst`, data) + return request.get(`receipt/lst`, data) } /** * @description 发票 -- 详情 */ - export function invoiceDetailApi(id) { - return request.get(`receipt/detail/${id}`) +export function invoiceDetailApi(id) { + return request.get(`receipt/detail/${id}`) } /** * @description 分账单 -- 获取配置 */ - export function getSettingApi() { - return request.get(`profitsharing/config`) +export function getSettingApi() { + return request.get(`profitsharing/config`) } /** * @description 分账单 -- 修改配置 */ - export function updateSettingApi(data) { - return request.post(`profitsharing/config`, data) +export function updateSettingApi(data) { + return request.post(`profitsharing/config`, data) } /** * @description 商户账单 -- 列表 @@ -251,24 +269,24 @@ export function merchantBillList(data) { /** * @description 单个商户账单 -- 列表 */ -export function singleMerBillList(id,data) { +export function singleMerBillList(id, data) { return request.get(`financial_record/mer_list/${id}`, data) } /** * @description 单个商户账单 -- 详情 */ -export function singleMerBillDetail(type,data) { +export function singleMerBillDetail(type, data) { return request.get(`financial_record/mer_detail/${type}`, data) } /** * @description 单个商户账单 -- 导出 */ -export function singleMerBillExport(type,data) { +export function singleMerBillExport(type, data) { return request.get(`financial_record/mer_excel/${type}`, data) } /** * @description 单个商户账单 -- 统计 */ -export function singleMerBillHeader(id,data) { +export function singleMerBillHeader(id, data) { return request.get(`financial_record/mer_title/${id}`, data) } \ No newline at end of file diff --git a/src/api/merchant.js b/src/api/merchant.js index 896e11e..b45ac8f 100644 --- a/src/api/merchant.js +++ b/src/api/merchant.js @@ -67,8 +67,8 @@ export function merchantUpdateApi(id) { /** * @description 商户列表 -- 编辑 */ -export function merchantUpdate(id,data) { - return request.post(`system/merchant/update/${id}`,data) +export function merchantUpdate(id, data) { + return request.post(`system/merchant/update/${id}`, data) } /** * @description 商户列表 -- 删除 @@ -198,19 +198,19 @@ export function intentionAgreeInfo() { * @description 申请管理 -- 入驻协议保存 */ export function intentionAgreeUpdate(data) { - return request.post(`agreement/sys_intention_agree`,data) + return request.post(`agreement/sys_intention_agree`, data) } /** * @description 店铺类型 -- 获取说明 */ - export function getStoreTypeApi(key) { - return request.get(`agreement/${key}`) +export function getStoreTypeApi(key) { + return request.get(`agreement/${key}`) } /** * @description 店铺类型 -- 编辑说明 */ export function updateStoreTypeApi(type, data) { - return request.post(`agreement/${type}`, data) + return request.post(`agreement/${type}`, data) } /** * @description 商户列表 -- 开启关闭 @@ -229,150 +229,186 @@ export function merchantCountApi() { * @description 店铺类型 -- 创建店铺类型 */ export function storeTypeCreateApi(data) { - return request.post(`merchant/type/create`, data) + return request.post(`merchant/type/create`, data) } /** * @description 店铺类型 -- 列表 */ - export function storeTypeLstApi(data) { +export function storeTypeLstApi(data) { return request.get(`merchant/type/lst`, data) } /** * @description 店铺类型 -- 店铺权限 */ - export function storeJurisdictionApi() { +export function storeJurisdictionApi() { return request.get(`merchant/mer_auth`) } /** * @description 店铺类型 -- 创建店铺类型 */ export function storeTypeUpdateApi(id, data) { - return request.post(`merchant/type/update/${id}`, data) + return request.post(`merchant/type/update/${id}`, data) } /** * @description 店铺类型列表 -- 删除 */ export function storeTypeDeleteApi(id) { - return request.delete(`merchant/type/delete/${id}`) + return request.delete(`merchant/type/delete/${id}`) } /** * @description 店铺类型列表 -- 备注 */ export function merchantTypeMarkForm(id) { - return request.get(`merchant/type/mark/${id}`) + return request.get(`merchant/type/mark/${id}`) } /** * @description 店铺类型列表 -- 详情 */ - export function merchantTypeDetailApi(id) { +export function merchantTypeDetailApi(id) { return request.get(`/merchant/type/detail/${id}`) } /** * @description 店铺类型 -- 获取选择项 */ export function getstoreTypeApi() { - return request.get(`merchant/type/options`) + return request.get(`merchant/type/options`) } /** * @description 商户分类 -- 获取选择项 */ export function getMerCateApi() { - return request.get(`system/merchant/category/options`) + return request.get(`system/merchant/category/options`) } /** * @description 服务申请 -- 列表 */ export function getApplymentLst(data) { - return request.get(`system/applyments/lst`, data) + return request.get(`system/applyments/lst`, data) } /** * @description 服务申请 -- 审核 */ export function applymentStatusApi(id, data) { - return request.post(`system/applyments/status/${id}`, data) + return request.post(`system/applyments/status/${id}`, data) } /** * @description 服务申请 -- 详情 */ export function applymentDetailApi(id) { - return request.get(`system/applyments/detail/${id}`) + return request.get(`system/applyments/detail/${id}`) } /** * @description 商户 -- 分账列表 */ - export function applymentLstApi(data) { - return request.get(`profitsharing/lst`, data) +export function applymentLstApi(data) { + return request.get(`profitsharing/lst`, data) } /** * @description 商户 -- 分账(立即分账) */ - export function splitAccountApi(id) { - return request.post(`profitsharing/again/${id}`) +export function splitAccountApi(id) { + return request.post(`profitsharing/again/${id}`) } /** * @description 分账申请 -- 备注 */ export function splitAccountMark(id) { - return request.get(`system/applyments/mark/${id}/form`) + return request.get(`system/applyments/mark/${id}/form`) } /** * @description 分账管理 -- 导出 */ - export function ledgerManageExportApi(data) { +export function ledgerManageExportApi(data) { return request.get(`profitsharing/export`, data) } /** * @description 缴存保证金 -- 列表 */ - export function marginLstApi(data) { +export function marginLstApi(data) { return request.get(`margin/lst`, data) } +/** + * @description 缴存服务费 -- 列表 + */ +export function marginServiceLstApi(data) { + return request.get(`margin/service_lst`, data) +} +/** + * @description 缴存上架费 -- 列表 + */ +export function marginGoodsLstApi(data) { + return request.get(`margin/goods_lst`, data) +} /** * @description 待缴保证金 -- 列表 */ export function marginDepositLstApi(data) { return request.get(`margin/make_up`, data) } +/** + * @description 待缴服务费 -- 列表 + */ +export function marginServiceDepositLstApi(data) { + return request.get(`margin/make_service_up`, data) +} +/** + * @description 待缴上架费 -- 列表 + */ +export function marginGoodsDepositLstApi(data) { + return request.get(`margin/make_goods_up`, data) +} /** * @description 待缴保证金 -- 线下付款 */ export function marginPaymentApi(id) { return request.get(`margin/local/${id}/form`) } +/** + * @description 待缴服务费 -- 财务审核 + */ +export function marginServicePaymentApi(id) { + return request.get(`margin/local_service/${id}/form`) +} +/** + * @description 待缴上架费 -- 财务审核 + */ +export function marginGoodsPaymentApi(id) { + return request.get(`margin/local_goods/${id}/form`) +} /** * @description 退回保证金 -- 列表 */ - export function marginRefundLstApi(data) { +export function marginRefundLstApi(data) { return request.get(`margin/refund/lst`, data) } /** * @description 退回保证金 -- 审核 */ - export function marginRefundStatus(id) { +export function marginRefundStatus(id) { return request.get(`margin/refund/status/${id}/form`) } /** * @description 退回保证金 -- 备注 */ - export function marginRefundMark(id) { +export function marginRefundMark(id) { return request.get(`margin/refund/mark/${id}/form`) } /** * @description 退回保证金 -- 退回信息 */ - export function marginRefundInfo(id) { +export function marginRefundInfo(id) { return request.get(`margin/refund/show/${id}`) } /** * @description 退回保证金 -- 扣费记录 */ - export function marginDeductionRecord(id, data) { +export function marginDeductionRecord(id, data) { return request.get(`margin/list/${id}`, data) } /** * @description 退回保证金 -- 保证金扣费 */ - export function marginDeductionForm(id) { +export function marginDeductionForm(id) { return request.get(`margin/set/${id}/form`) } /** diff --git a/src/api/order.js b/src/api/order.js index 63e1ec0..3d44721 100644 --- a/src/api/order.js +++ b/src/api/order.js @@ -15,6 +15,36 @@ import request from './request' export function orderListApi(data) { return request.get('order/lst', data) } +/** + * @description 退款订单 -- 详情 + */ +export function refundorderDetailApi(id) { + return request.get(`order/refund/detail/${id}`) +} +/** + * @description 退款订单 -- 记录from + */ +export function refundorderLogApi(id) { + return request.get(`order/refund/log/${id}`) +} +/** + * @description 退款订单 -- 审核from + */ +export function refundorderStatusApi(id) { + return request.get(`order/refund/status/${id}/form`) +} +/** + * @description 开启强制退款订单 -- 审核from + */ +export function refundorderOpenApi(id) { + return request.get(`order/refund/open/${id}/form`) +} +/** + * @description 退款单获取物流信息 + */ +export function refundorderExpressApi(id) { + return request.get(`order/express/${id}`) +} /** * @description 开启退款 */ diff --git a/src/api/product.js b/src/api/product.js index 17c1a94..f9b510e 100644 --- a/src/api/product.js +++ b/src/api/product.js @@ -114,32 +114,32 @@ export function brandStatusApi(id, status) { /** * @description 标签 -- 新增表单 */ - export function labelCreateApi() { - return request.get('product/label/create/form') +export function labelCreateApi() { + return request.get('product/label/create/form') } /** * @description 标签 -- 编辑表单 */ - export function labelUpdateApi(id) { - return request.get(`product/label/update/${id}/form`) - } +export function labelUpdateApi(id) { + return request.get(`product/label/update/${id}/form`) +} /** * @description 标签 -- 列表 */ - export function labelListApi(data) { - return request.get('product/label/lst', data) +export function labelListApi(data) { + return request.get('product/label/lst', data) } /** * @description 标签 -- 删除 */ - export function labelDeleteApi(id) { - return request.delete(`product/label/delete/${id}`) +export function labelDeleteApi(id) { + return request.delete(`product/label/delete/${id}`) } /** * @description 标签列表 -- 修改状态 */ - export function labelStatusApi(id, status) { - return request.post(`product/label/status/${id}`, { status }) +export function labelStatusApi(id, status) { + return request.post(`product/label/status/${id}`, { status }) } /** * @description 商品列表 -- 列表 @@ -178,7 +178,19 @@ export function seckillProductDetailApi(id) { return request.get(`seckill/product/detail/${id}`) } /** - * @description 商品审核 -- 表单提交 + * @description 商品审核 -- 初步审核 + */ +export function productStatusFirstApi(data) { + return request.post(`store/product/status_first`, data) +} +/** + * @description 商品审核 -- 二次审核 + */ +export function productStatusSecondApi(data) { + return request.post(`store/product/status_second`, data) +} +/** + * @description 商品审核 -- 最终审核 */ export function productStatusApi(data) { return request.post(`store/product/status`, data) @@ -300,8 +312,8 @@ export function presellProDetailApi(id) { /** * @description 预售商品 -- 编辑 */ -export function presellUpdateApi(id,data) { - return request.post(`store/product/presell/update/${id}`,data) +export function presellUpdateApi(id, data) { + return request.post(`store/product/presell/update/${id}`, data) } /** * @description 预售商品审核 -- 表单提交 @@ -325,7 +337,7 @@ export function preSellAgreeInfo() { * @description 申请管理 -- 预售协议保存 */ export function preSellAgreeUpdate(data) { - return request.post(`agreement/sys_product_presell_agree`,data) + return request.post(`agreement/sys_product_presell_agree`, data) } /** * @description 助力 -- 列表 @@ -386,79 +398,79 @@ export function assistReviewDetailApi(id) { /** * @description 助力商品 -- 详情(编辑和查看) */ -export function assistProductUpdateApi(id,data) { - return request.post(`store/product/assist/update/${id}`,data) +export function assistProductUpdateApi(id, data) { + return request.post(`store/product/assist/update/${id}`, data) } /** * @description 服务保障 -- 添加 */ export function guaranteeAddApi() { - return request.get(`guarantee/create/form`) + return request.get(`guarantee/create/form`) } /** * @description 服务保障 -- 列表 */ export function guaranteeLstApi(data) { - return request.get(`guarantee/lst`,data) + return request.get(`guarantee/lst`, data) } /** * @description 服务保障 -- 编辑排序 */ -export function guaranteeSortApi(id,data) { - return request.post(`guarantee/sort/${id}`,data) +export function guaranteeSortApi(id, data) { + return request.post(`guarantee/sort/${id}`, data) } /** * @description 服务保障 -- 修改显示状态 */ export function guaranteeStatusApi(id, status) { - return request.post(`guarantee/status/${id}`, status ) + return request.post(`guarantee/status/${id}`, status) } /** * @description 服务保障 -- 编辑 */ export function guaranteeUpdateApi(id) { - return request.get(`guarantee/update/${id}/form`) + return request.get(`guarantee/update/${id}/form`) } /** * @description 服务保障 -- 删除 */ export function guaranteeDeleteApi(id) { - return request.delete(`guarantee/delete/${id}`) + return request.delete(`guarantee/delete/${id}`) } /** * @description 商品列表 -- 编辑排序 */ export function productSort(id, data) { - return request.post(`store/reply/sort/${id}`,data) + return request.post(`store/reply/sort/${id}`, data) } /** 商品列表 -- 获取标签项 */ export function getProductLabelApi() { - return request.get(`product/label/option`) + return request.get(`product/label/option`) } /** 商品列表 -- 编辑标签 */ export function updatetProductLabel(id, data) { - return request.post(`store/product/labels/${id}`, data) + return request.post(`store/product/labels/${id}`, data) } /** 秒杀列表 -- 编辑标签 */ export function updatetSeckillLabel(id, data) { - return request.post(`seckill/product/labels/${id}`, data) + return request.post(`seckill/product/labels/${id}`, data) } /** 预售列表 -- 编辑标签 */ - export function updatetPresellLabel(id, data) { - return request.post(`store/product/presell/labels/${id}`, data) +export function updatetPresellLabel(id, data) { + return request.post(`store/product/presell/labels/${id}`, data) } /** 助力列表 -- 编辑标签 */ export function updatetAssistLabel(id, data) { - return request.post(`store/product/assist/labels/${id}`, data) + return request.post(`store/product/assist/labels/${id}`, data) } /** 拼团列表 -- 编辑标签 */ export function updatetCombinationLabel(id, data) { - return request.post(`store/product/group/labels/${id}`, data) + return request.post(`store/product/group/labels/${id}`, data) } /** * @description 上传视频 */ - export function productGetTempKeysApi() { +export function productGetTempKeysApi() { return request.get(`upload/temp_key`) } /** 商品列表 -- 批量设置标签 */ @@ -491,15 +503,15 @@ export function deletePriceRuleApi(id) { } /** 价格说明 -- 是否显示 */ export function priceRuleStatusApi(id, status) { - return request.post(`price_rule/status/${id}`,status) + return request.post(`price_rule/status/${id}`, status) } /** 参数模板 -- 添加 */ export function productSpecs(data) { - return request.post(`store/params/temp/create`,data) + return request.post(`store/params/temp/create`, data) } /** 参数模板 -- 编辑 */ export function specsUpdate(id, data) { - return request.post(`store/params/temp/update/${id}`,data) + return request.post(`store/params/temp/update/${id}`, data) } /** 参数模板 -- 详情 */ export function productSpecsInfo(id) { @@ -525,6 +537,6 @@ export function merProductLstApi(data) { return request.get(`store/product/list`, data) } /** 商品列表 -- 商品操作记录 */ -export function operateRecordList(id,data) { - return request.get(`store/product/get_operate_list/${id}`,data) +export function operateRecordList(id, data) { + return request.get(`store/product/get_operate_list/${id}`, data) } \ No newline at end of file diff --git a/src/api/userFeedback.js b/src/api/userFeedback.js index fd6b200..6785ada 100644 --- a/src/api/userFeedback.js +++ b/src/api/userFeedback.js @@ -14,7 +14,12 @@ import request from './request' export function feedbackListApi(data) { return request.get(`user/feedback/lst`, data) } - +/** + * @description 导出订单 + */ +export function exportOrderApi(data) { + return request.get(`user/feedback/export`, data) +} /** * @description 备注 */ @@ -72,6 +77,6 @@ export function changeFeedbackStatus(id, status) { /** * @description 反馈回复 */ - export function replyFeedbackApi(id) { +export function replyFeedbackApi(id) { return request.get(`user/feedback/reply/${id}/form`) } \ No newline at end of file diff --git a/src/libs/modal-form.js b/src/libs/modal-form.js index 4cf6e93..a08d6fb 100644 --- a/src/libs/modal-form.js +++ b/src/libs/modal-form.js @@ -18,14 +18,14 @@ const uniqueId = () => ++unique export default function modalForm(formRequestPromise, config = {}) { const h = this.$createElement return new Promise((resolve) => { - formRequestPromise.then(({data}) => { + formRequestPromise.then(({ data }) => { data.config.submitBtn = false data.config.resetBtn = false if (!data.config.form) data.config.form = {} if (!data.config.formData) data.config.formData = {} - data.config.formData = {...data.config.formData, ...config.formData} - data.config.form.labelWidth = '110px' - data.config.form.size="small" + data.config.formData = { ...data.config.formData, ...config.formData } + // data.config.form.labelWidth = '110px' + data.config.form.size = "small" data.config.global = { upload: { props: { @@ -41,7 +41,7 @@ export default function modalForm(formRequestPromise, config = {}) { this.$msgbox({ title: data.title, customClass: config.class || 'modal-form', - message: h('div', {class: 'common-form-create', key: uniqueId()}, [ + message: h('div', { class: 'common-form-create', key: uniqueId() }, [ h('formCreate', { props: { rule: data.rule, diff --git a/src/views/accounts/settings/index.vue b/src/views/accounts/settings/index.vue index d65e22f..4be38d1 100644 --- a/src/views/accounts/settings/index.vue +++ b/src/views/accounts/settings/index.vue @@ -34,7 +34,7 @@ - (单位: 天),冻结期:仅针对线下转账模式,指用户支付成功后多少天,商户余额可解冻;设置为0,即无冻结期。 + (单位: 天),冻结期:确认收货后多少天,商户余额可解冻;设置为0,即无冻结期。 diff --git a/src/views/accounts/transferRecord/index.vue b/src/views/accounts/transferRecord/index.vue index 19981e0..b5ba125 100644 --- a/src/views/accounts/transferRecord/index.vue +++ b/src/views/accounts/transferRecord/index.vue @@ -108,6 +108,7 @@
导出列表 +
+ + diff --git a/src/views/order/logistics.vue b/src/views/order/logistics.vue new file mode 100644 index 0000000..e1b3504 --- /dev/null +++ b/src/views/order/logistics.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/src/views/order/orderCancellate/index.vue b/src/views/order/orderCancellate/index.vue index 4393e1e..984385e 100644 --- a/src/views/order/orderCancellate/index.vue +++ b/src/views/order/orderCancellate/index.vue @@ -82,11 +82,11 @@ 用户已删除 - + @@ -170,6 +172,22 @@
+ + + + + @@ -186,20 +204,26 @@ import { refundorderListApi, orderUpdateApi, + refundorderStatusApi, + refundorderDetailApi, + refundorderExpressApi, orderDeliveryApi, exportRefundOrderApi } from "@/api/order"; import createWorkBook from '@/utils/newToExcel.js'; +import detailsFrom from './refundDetail' +import logisticsFrom from '../logistics' import { fromList } from "@/libs/constants.js"; import fileList from '@/components/exportFile/fileList' import { roterPre } from "@/settings"; import timeOptions from '@/utils/timeOptions'; export default { - components: { fileList }, + components: { fileList,detailsFrom,logisticsFrom }, name: "OrderRefund", data() { return { pickerOptions: timeOptions, orderId: 0, + logisticsName: 'refund', roterPre: roterPre, tableData: { data: [], @@ -232,6 +256,9 @@ export default { dialogVisible: false, cardLists: [], orderDatalist: null, + orderDetails: {}, + result: [], + dialogLogistics:false }; }, mounted() { @@ -252,6 +279,45 @@ export default { this.getList(''); }, methods: { + // 退款 + onOrderStatus(id) { + this.$modalForm(refundorderStatusApi(id)).then(() => this.getList('')) + }, + // 详情 + onRefundOrderDetail(id) { + this.orderId = id + this.$refs.orderDetail.dialogVisible = true + this.loading = true + refundorderDetailApi(id) + .then(res => { + this.orderDatalist = res.data + this.loading = false + this.$refs.orderDetail.onOrderLog(id) + }) + .catch(({ message }) => { + this.loading = false + this.$message.error(message) + }) + }, + openLogistics(row) { + this.orderDetails = row + this.getOrderData(row.refund_order_id) + this.dialogLogistics = true + }, + handleClose() { + this.dialogLogistics = false + this.dialogConfirm = false + }, + // 获取订单物流信息 + getOrderData(id) { + refundorderExpressApi(id) + .then(async res => { + this.result = res.data + }) + .catch(res => { + this.$message.error(res.message) + }) + }, /**重置 */ searchReset(){ this.timeVal = [] diff --git a/src/views/order/refund/refundDetail.vue b/src/views/order/refund/refundDetail.vue new file mode 100644 index 0000000..3ee22d4 --- /dev/null +++ b/src/views/order/refund/refundDetail.vue @@ -0,0 +1,192 @@ + + + + diff --git a/src/views/product/productExamine/index.vue b/src/views/product/productExamine/index.vue index 3e7ee76..e59b66b 100644 --- a/src/views/product/productExamine/index.vue +++ b/src/views/product/productExamine/index.vue @@ -1,7 +1,7 @@ + + + + + + + - + + + - + - + @@ -343,22 +370,6 @@
- - 店铺名称:{{ projectData.merchant&&projectData.merchant.mer_name }} - 入住企业名称: - - 营业执照: -
- -
-
- 店铺联系人: {{ projectData.merchant&&projectData.merchant.service_phone }} - 联系人电话:{{ projectData.unit_name }} -
@@ -367,7 +378,43 @@ 拒绝 - + +
+
+ + + +
+
+
+
+ +
+
+
+
+
+ @@ -402,7 +449,7 @@ // +---------------------------------------------------------------------- // | Author: CRMEB Team // +---------------------------------------------------------------------- -import { productDetailApi, productStatusApi } from '@/api/product' +import { productDetailApi, productStatusApi,productStatusFirstApi,productStatusSecondApi } from '@/api/product' const defaultObj = { image: '', slider_image: [], @@ -428,7 +475,8 @@ const defaultObj = { stock: null, bar_code: '', weight: null, - volume: null + volume: null, + gist_url:null }], attr: [], selectRule: '', @@ -460,6 +508,9 @@ const objTitle = { }, volume: { title: '体积(m³)' + }, + gist_url: { + title: '依据链接' } } const proOptions = [{ name: '是否热卖', value: 'is_hot' }, { name: '优品推荐', value: 'is_good' }, { name: '促销单品', value: 'is_benefit' }, { name: '是否精品', value: 'is_best' }, { name: '是否新品', value: 'is_new' }] @@ -484,9 +535,9 @@ export default { refusal: [ { required: true, message: '请填写拒绝原因', trigger: 'blur' } ], - status_img: [ - { required: true, message: '请上传佐证图片', trigger: 'blur' } - ] + // status_img: [ + // {type: 'array', required: true, message: '请上传佐证图片', trigger: 'blur' } + // ] }, isAppend: true, proId: 0, @@ -512,7 +563,7 @@ export default { refusal: '', status: 1, id: '', - status_img:'' + status_img:[] }, formThead: Object.assign({}, objTitle), manyTabDate: {}, @@ -542,31 +593,88 @@ export default { } }, methods: { + handleRemove(i) { + this.ruleForm.status_img.splice(i, 1); + }, + handleDragEnd(e, item) { + this.dragging = null; + }, + handleDragEnter(e, item) { + e.dataTransfer.effectAllowed = "move"; + if (item === this.dragging) { + return; + } + const newItems = [...this.ruleForm.status_img]; + const src = newItems.indexOf(this.dragging); + const dst = newItems.indexOf(item); + newItems.splice(dst, 0, ...newItems.splice(src, 1)); + this.ruleForm.status_img = newItems; + }, + handleDragOver(e) { + e.dataTransfer.dropEffect = "move"; + }, + // 移动 + handleDragStart(e, item) { + this.dragging = item; + }, getType(val){ var regex = /(?:\.([^.]+))?$/; let suffix = regex.exec(val.url)[1] return suffix == 'pdf' }, // 点击商品图 - modalPicTap(tit, num, i) { + modalPicTap(tit, num, i) { const _this = this; const attr = []; this.$modalUpload(function(img) { + console.log(_this.ruleForm); if (tit === "1" && !num) { _this.ruleForm.status_img = img[0]; } + if (tit === "2" && !num) { + img.map(item => { + attr.push(item.attachment_src); + _this.ruleForm.status_img.push(item); + if (_this.ruleForm.status_img.length > 10) { + _this.ruleForm.status_img.length = 10; + } + }); + } }, tit); }, onSubmit() { - this.isShow ? this.ruleForm.id = this.proId : this.ruleForm.id = this.ids - productStatusApi(this.ruleForm).then(res => { - this.$message.success(res.message) - this.dialogVisible = false - this.activeNames = 'first' - this.$emit('subSuccess') - }).catch(res => { - this.listLoading = false - this.$message.error(res.message) + console.log(this.projectData); + let mode = { + 0: { + 'api': productStatusFirstApi, + 'status':10 + }, + 10: { + 'api': productStatusSecondApi, + 'status':11 + }, + 11: { + 'api': productStatusApi, + 'status':1 + } + } + this.$refs.ruleForm.validate(valid=>{ + if(valid){ + this.isShow ? this.ruleForm.id = this.proId : this.ruleForm.id = this.ids + let params = { + ...this.ruleForm, + status: this.ruleForm.status==-1?-1:mode[this.projectData.status].status, + } + mode[this.projectData.status].api(params).then(res => { + this.$message.success(res.message) + this.dialogVisible = false + this.activeNames = 'first' + this.$emit('subSuccess') + }).catch(res => { + this.listLoading = false + this.$message.error(res.message) + }) + } }) }, handleClose() { @@ -576,9 +684,30 @@ export default { getInfo(id) { this.proId = id this.loading = true + this.ruleForm.status_img = [] + this.ruleForm.status = 1 + this.ruleForm.refusal = '' productDetailApi(id).then(res => { - this.projectData = res.data - this.qualification = res.data.qualification + this.projectData = res.data, + this.ruleForm.status_img = res.data.status_img + let qualification={ + production_name: '', + businessList: [], + licenceList: [], + trademarkList: [], + authorizedList: [], + commodityList: [], + otherList: [], + importBusinessList: [], + importAuthorizedList: [], + customsList: [], + packingList: [], + importOtherList: [], + commodity_type: 0, + brands_name: '', + import_name: '' + } + this.qualification = res.data.qualification || qualification this.svip_type = res.data.svip_price_type if (this.projectData.spec_type === 0) { @@ -615,6 +744,26 @@ export default { .projectInfo ::v-deep .el-dialog__body{ padding-top: 0 !important; } + .pictrue { + width: 60px; + height: 60px; + border: 1px dotted rgba(0, 0, 0, 0.1); + margin-right: 10px; + position: relative; + cursor: pointer; + img { + width: 100%; + height: 100%; + } +} +.btndel { + position: absolute; + z-index: 1; + width: 20px !important; + height: 20px !important; + left: 46px; + top: -4px; +} .upload{ display: flex; flex-direction: row; @@ -676,6 +825,7 @@ export default { position: relative; cursor: pointer; display: inline-block; + vertical-align: middle; img { width: 100%; height: 100%; diff --git a/src/views/product/productExamine/proDetails.vue b/src/views/product/productExamine/proDetails.vue index 7a7d5fa..396b298 100644 --- a/src/views/product/productExamine/proDetails.vue +++ b/src/views/product/productExamine/proDetails.vue @@ -48,11 +48,23 @@
  • 封面图:
    - + +
  • 轮播图:
    - + +
  • @@ -133,6 +145,18 @@
  • +
    +
      +
    • +
      审核拒绝原因:
      +
      {{productData.refusal || ''}}
      +
    • +
    • +
      佐证图片:
      + +
    • +
    +
    规格列表:
    @@ -144,6 +168,7 @@
    @@ -485,6 +510,200 @@
    + + 商品名称: + + 国产 + 进口 + + +
    + 生产企业名称:{{ qualification.production_name }} + +
    生产营业执照:
    +
    +
    + {{ item.name }} +
    + +
    +
    +
    +
    + +
    商标注册证:
    +
    +
    + {{ item.name }} +
    + +
    +
    +
    +
    + +
    销售授权及其他:
    +
    +
    + {{ item.name }} +
    + +
    +
    +
    +
    + +
    商品检测报告:
    +
    +
    + {{ item.name }} +
    + +
    +
    +
    +
    + +
    其他资质:
    +
    +
    + {{ item.name }} +
    + +
    +
    +
    +
    +
    +
    + 进口/企业境内总代企业名称: {{ qualification.import_name }} + +
    生产营业执照:
    +
    +
    + {{ item.name }} +
    + +
    +
    +
    +
    + +
    销售授权及其他:
    +
    +
    + {{ item.name }} +
    + +
    +
    +
    +
    + +
    海关检验检疫证书及报关单:
    +
    +
    + {{ item.name }} +
    + +
    +
    +
    +
    + +
    产品外包装实物图:
    +
    +
    + {{ item.name }} +
    + +
    +
    +
    +
    + +
    其他资质:
    +
    +
    + {{ item.name }} +
    + +
    +
    +
    +
    +
    +
    @@ -575,6 +794,23 @@ export default { return { loading: true, productId: '', + qualification:{ + production_name: '', + businessList: [], + licenceList: [], + trademarkList: [], + authorizedList: [], + commodityList: [], + otherList: [], + importBusinessList: [], + importAuthorizedList: [], + customsList: [], + packingList: [], + importOtherList: [], + commodity_type: 0, + brands_name: '', + import_name: '' + }, direction: 'rtl', activeName: 'basic', productData: {}, @@ -617,6 +853,11 @@ export default { filters: { }, methods: { + getType(val){ + var regex = /(?:\.([^.]+))?$/; + let suffix = regex.exec(val.url)[1] + return suffix == 'pdf' + }, handleClose() { this.activeName = 'basic'; this.$emit('closeDrawer'); @@ -627,6 +868,24 @@ export default { productDetailApi(id).then(res => { this.loading = false; this.productData = res.data + let qualification={ + production_name: '', + businessList: [], + licenceList: [], + trademarkList: [], + authorizedList: [], + commodityList: [], + otherList: [], + importBusinessList: [], + importAuthorizedList: [], + customsList: [], + packingList: [], + importOtherList: [], + commodity_type: 0, + brands_name: '', + import_name: '' + } + this.qualification = res.data.qualification || qualification this.mer_svip_status = res.data.mer_svip_status this.svip_type = res.data.svip_price_type if (this.productData.spec_type === 0) { @@ -764,6 +1023,40 @@ export default { } } } +.sp { + display: block; + // width: 33%; + margin-bottom: 20px; + } +.upload{ + display: flex; + flex-direction: row; + // align-content: center; + align-items: center; + height: 60px; + // line-height: 60px; + margin-bottom: 20px; + &_right{ + display: flex; + height: 60px; + } + &_left{ + width: 115px; + } + .txt{ + width: 60px; + height: 60px; + line-height: 60px; + overflow: hidden; + display: inline-block; + text-overflow: ellipsis; + white-space: nowrap; + border: 1px solid #DCDFE6; + border-radius: 4px; + margin-right: 10px; + color: blue; + } + } .tabNumWidth{ max-height: 350px; overflow-y: auto; diff --git a/src/views/userFeedback/list/index.vue b/src/views/userFeedback/list/index.vue index 7c93178..071f44b 100644 --- a/src/views/userFeedback/list/index.vue +++ b/src/views/userFeedback/list/index.vue @@ -1,7 +1,7 @@ +