diff --git a/.env.development b/.env.development index 1940fd8..2bc26f5 100644 --- a/.env.development +++ b/.env.development @@ -3,11 +3,11 @@ ENV = 'development' # http://192.168.1.43:8324/admin # http://mer.crmeb.net/admin # base api -VUE_APP_BASE_API = 'http://192.168.1.32:8080' +VUE_APP_BASE_API = 'http://192.168.1.199:8080' # VUE_APP_BASE_API = 'https://plus.hwms.shop' # socket 连接地址 -VUE_APP_WS_URL = 'ws://192.168.1.32:8080' +VUE_APP_WS_URL = 'ws://192.168.1.199:8080' # VUE_APP_WS_URL = 'ws://plus.hwms.shop' # vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable, 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/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/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 780ceb9..ed72dce 100644 --- a/src/views/product/productExamine/index.vue +++ b/src/views/product/productExamine/index.vue @@ -1,7 +1,7 @@ + + + + + + + @@ -149,7 +166,7 @@ - + - + @@ -368,7 +378,38 @@ 拒绝
- + +
+
+ + +
+
+
+
+ +
+
+
+
+
+ @@ -403,7 +444,7 @@ // +---------------------------------------------------------------------- // | Author: CRMEB Team // +---------------------------------------------------------------------- -import { productDetailApi, productStatusApi } from '@/api/product' +import { productDetailApi, productStatusApi,productStatusFirstApi,productStatusSecondApi } from '@/api/product' const defaultObj = { image: '', slider_image: [], @@ -486,7 +527,7 @@ export default { { required: true, message: '请填写拒绝原因', trigger: 'blur' } ], status_img: [ - { required: true, message: '请上传佐证图片', trigger: 'blur' } + {type: 'array', required: true, message: '请上传佐证图片', trigger: 'blur' } ] }, isAppend: true, @@ -513,7 +554,7 @@ export default { refusal: '', status: 1, id: '', - status_img:'' + status_img:[] }, formThead: Object.assign({}, objTitle), manyTabDate: {}, @@ -543,6 +584,30 @@ 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] @@ -553,21 +618,54 @@ export default { 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() { @@ -577,9 +675,10 @@ export default { getInfo(id) { this.proId = id this.loading = true - this.ruleForm.status_img = '' + this.ruleForm.status_img = [] productDetailApi(id).then(res => { - this.projectData = res.data + this.projectData = res.data, + this.ruleForm.status_img = res.data.status_img let qualification={ production_name: '', businessList: [], @@ -634,6 +733,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; diff --git a/src/views/product/productExamine/proDetails.vue b/src/views/product/productExamine/proDetails.vue index 7a7d5fa..7db3d7b 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,7 @@ export default { productDetailApi(id).then(res => { this.loading = false; this.productData = res.data + this.qualification = res.data.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 +1006,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;