|
@@ -1,203 +1,211 @@
|
|
|
const _Http = getApp().globalData.http;
|
|
|
let sa_brandid = null,
|
|
|
- sys_enterpriseid = null;
|
|
|
+ sys_enterpriseid = null;
|
|
|
import {
|
|
|
- fileList
|
|
|
+ fileList
|
|
|
} from "../../utils/FormatTheAttachment";
|
|
|
import currency from "../../utils/currency";
|
|
|
|
|
|
Page({
|
|
|
- data: {
|
|
|
- loading: true,
|
|
|
- content: {
|
|
|
- sa_itemgroupid: null,
|
|
|
- spec: "", //规格
|
|
|
- color: "", //颜色
|
|
|
- material: "", //材质
|
|
|
- cheek: "", //边框
|
|
|
- }
|
|
|
- },
|
|
|
- onLoad(options) {
|
|
|
- let data = JSON.parse(options.params);
|
|
|
- sa_brandid = data.sa_brandid;
|
|
|
- if (wx.getStorageSync('userrole') == '业务员') sys_enterpriseid = data.sys_enterpriseid
|
|
|
- this.data.content.sa_itemgroupid = data.sa_itemgroupid;
|
|
|
- this.setData({
|
|
|
- userrole: wx.getStorageSync('userrole')
|
|
|
- })
|
|
|
- this.getDetail(true);
|
|
|
- },
|
|
|
- /* 获取详情 */
|
|
|
- getDetail(init = false) {
|
|
|
- let content = this.data.content;
|
|
|
- if (sys_enterpriseid) content.sys_enterpriseid = sys_enterpriseid;
|
|
|
- _Http.basic({
|
|
|
- "id": "20221223165503",
|
|
|
- content
|
|
|
- }).then(res => {
|
|
|
- wx.hideLoading();
|
|
|
- console.log("商品详情", res)
|
|
|
- if (res.msg != '成功') return wx.showToast({
|
|
|
- title: res.msg,
|
|
|
- icon: "none"
|
|
|
- })
|
|
|
- if (res.data.item.length == 0) return wx.showToast({
|
|
|
- title: '未查询到商品',
|
|
|
- icon: "none",
|
|
|
- mask: true
|
|
|
- })
|
|
|
- this.handleFiles(res.data.item[0].attinfos)
|
|
|
- const CNY = sum => currency(sum, {
|
|
|
- symbol: "¥",
|
|
|
- precision: 2
|
|
|
- }).format();
|
|
|
- res.data.item[0].gradeprice = CNY(res.data.item[0].gradeprice);
|
|
|
- res.data.item[0].marketprice = CNY(res.data.item[0].marketprice);
|
|
|
- this.setData({
|
|
|
- content,
|
|
|
- detail: res.data.item[0],
|
|
|
- specRows: res.data.specRows,
|
|
|
- cheekRows: res.data.cheekRows,
|
|
|
- materialRows: res.data.materialRows,
|
|
|
- colorRows: res.data.colorRows,
|
|
|
- loading: false
|
|
|
- });
|
|
|
- })
|
|
|
- },
|
|
|
- /* 预览媒体 */
|
|
|
- viewMedias(e) {
|
|
|
- const {
|
|
|
- index,
|
|
|
- type
|
|
|
- } = e.currentTarget.dataset;
|
|
|
- wx.previewMedia({
|
|
|
- current: index,
|
|
|
- sources: type == 'image' ? this.data.files.viewImages : this.data.files.viewVideos,
|
|
|
- })
|
|
|
- },
|
|
|
- /* 处理附件 */
|
|
|
- handleFiles(arr) {
|
|
|
- let files = {
|
|
|
- images: [],
|
|
|
- viewImages: [],
|
|
|
- videos: [],
|
|
|
- viewVideos: [],
|
|
|
- files: []
|
|
|
- },
|
|
|
- list = fileList(arr);
|
|
|
- list.forEach(v => {
|
|
|
- switch (v.fileType) {
|
|
|
- case "video":
|
|
|
- files.videos.push(v)
|
|
|
- files.viewVideos.push({
|
|
|
- url: v.url,
|
|
|
- type: "video",
|
|
|
- poster: v.subfiles[0].url
|
|
|
- })
|
|
|
- break;
|
|
|
- case "image":
|
|
|
- files.images.push(v)
|
|
|
- files.viewImages.push({
|
|
|
- url: v.url,
|
|
|
- type: "image"
|
|
|
- })
|
|
|
- break;
|
|
|
- default:
|
|
|
- files.files.push(v)
|
|
|
- break;
|
|
|
- }
|
|
|
- });
|
|
|
- this.setData({
|
|
|
- files
|
|
|
- })
|
|
|
- },
|
|
|
- /* 切换产品 */
|
|
|
- changeItemno(e) {
|
|
|
- console.log("切换产品", e.currentTarget.dataset)
|
|
|
- const {
|
|
|
- value,
|
|
|
- valuename
|
|
|
- } = e.currentTarget.dataset,
|
|
|
- content = this.data.content;
|
|
|
- if (!value.flag) return;
|
|
|
- wx.showLoading({
|
|
|
- title: '加载中...',
|
|
|
- mask: true
|
|
|
- })
|
|
|
- content[valuename] = (content[valuename] == value.parm) ? "" : value.parm;
|
|
|
- this.getDetail()
|
|
|
- },
|
|
|
- clickBut() {
|
|
|
- this.data.detail.tradefield.length >= 2 ? wx.showToast({
|
|
|
- title: '请选择加入产品领域',
|
|
|
- icon: "none",
|
|
|
- duration: 3000
|
|
|
- }) : this.handleStorage(0);
|
|
|
- },
|
|
|
- /* 打开文档 */
|
|
|
- openDocument(e) {
|
|
|
- const {
|
|
|
- item
|
|
|
- } = e.currentTarget.dataset;
|
|
|
- console.log(item)
|
|
|
- wx.showLoading({
|
|
|
- title: '加载中...',
|
|
|
- mask: true,
|
|
|
- })
|
|
|
- wx.downloadFile({
|
|
|
- url: item.url,
|
|
|
- success: function (res) {
|
|
|
- const filePath = res.tempFilePath
|
|
|
- wx.openDocument({
|
|
|
- filePath: filePath,
|
|
|
- showMenu: true,
|
|
|
- fileType: item.postfix,
|
|
|
- success: function (res) {
|
|
|
- wx.hideLoading();
|
|
|
- console.log('打开文档成功')
|
|
|
- },
|
|
|
- fail(e) {
|
|
|
- console.log(e)
|
|
|
- wx.showToast({
|
|
|
- title: '打开失败',
|
|
|
- icon: "error",
|
|
|
- mask: true
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- fail(e) {
|
|
|
- console.log(e)
|
|
|
- wx.showToast({
|
|
|
- title: '打开失败',
|
|
|
- icon: "error",
|
|
|
- mask: true
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- /* 选择领域 */
|
|
|
- storage(e) {
|
|
|
- this.handleStorage(e.detail.value)
|
|
|
- },
|
|
|
- handleStorage(index) {
|
|
|
- let detail = this.data.detail;
|
|
|
- _Http.basic({
|
|
|
- "id": 20220924095102,
|
|
|
- "content": {
|
|
|
- sa_brandid,
|
|
|
- "itemid": detail.itemid, //货品id
|
|
|
- "qty": detail.orderminqty, //数量
|
|
|
- itemno: detail.itemno, //货品编号
|
|
|
- tradefield: detail.tradefield[index].tradefield
|
|
|
- },
|
|
|
- }).then(res => {
|
|
|
- console.log("加入购物车", res)
|
|
|
- wx.showToast({
|
|
|
- title: res.msg == '成功' ? '加入成功' : res.msg,
|
|
|
- icon: "none"
|
|
|
- });
|
|
|
- if (res.msg == '成功') getApp().globalData.getCollectCount()
|
|
|
- })
|
|
|
- }
|
|
|
+ data: {
|
|
|
+ badge: getApp().globalData.collectCount,
|
|
|
+ loading: true,
|
|
|
+ content: {
|
|
|
+ sa_itemgroupid: null,
|
|
|
+ spec: "", //规格
|
|
|
+ color: "", //颜色
|
|
|
+ material: "", //材质
|
|
|
+ cheek: "", //边框
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onLoad(options) {
|
|
|
+ let data = JSON.parse(options.params);
|
|
|
+ sa_brandid = data.sa_brandid;
|
|
|
+ if (wx.getStorageSync('userrole') == '业务员') sys_enterpriseid = data.sys_enterpriseid
|
|
|
+ this.data.content.sa_itemgroupid = data.sa_itemgroupid;
|
|
|
+ this.setData({
|
|
|
+ userrole: wx.getStorageSync('userrole')
|
|
|
+ })
|
|
|
+ this.getDetail(true);
|
|
|
+ },
|
|
|
+ /* 获取详情 */
|
|
|
+ getDetail(init = false) {
|
|
|
+ let content = this.data.content;
|
|
|
+ if (sys_enterpriseid) content.sys_enterpriseid = sys_enterpriseid;
|
|
|
+ _Http.basic({
|
|
|
+ "id": "20221223165503",
|
|
|
+ content
|
|
|
+ }).then(res => {
|
|
|
+ wx.hideLoading();
|
|
|
+ console.log("商品详情", res)
|
|
|
+ if (res.msg != '成功') return wx.showToast({
|
|
|
+ title: res.msg,
|
|
|
+ icon: "none"
|
|
|
+ })
|
|
|
+ if (res.data.item.length == 0) return wx.showToast({
|
|
|
+ title: '未查询到商品',
|
|
|
+ icon: "none",
|
|
|
+ mask: true
|
|
|
+ })
|
|
|
+ this.handleFiles(res.data.item[0].attinfos)
|
|
|
+ const CNY = sum => currency(sum, {
|
|
|
+ symbol: "¥",
|
|
|
+ precision: 2
|
|
|
+ }).format();
|
|
|
+ res.data.item[0].gradeprice = CNY(res.data.item[0].gradeprice);
|
|
|
+ res.data.item[0].marketprice = CNY(res.data.item[0].marketprice);
|
|
|
+ this.setData({
|
|
|
+ content,
|
|
|
+ detail: res.data.item[0],
|
|
|
+ specRows: res.data.specRows,
|
|
|
+ cheekRows: res.data.cheekRows,
|
|
|
+ materialRows: res.data.materialRows,
|
|
|
+ colorRows: res.data.colorRows,
|
|
|
+ loading: false
|
|
|
+ });
|
|
|
+ })
|
|
|
+ },
|
|
|
+ /* 预览媒体 */
|
|
|
+ viewMedias(e) {
|
|
|
+ const {
|
|
|
+ index,
|
|
|
+ type
|
|
|
+ } = e.currentTarget.dataset;
|
|
|
+ wx.previewMedia({
|
|
|
+ current: index,
|
|
|
+ sources: type == 'image' ? this.data.files.viewImages : this.data.files.viewVideos,
|
|
|
+ })
|
|
|
+ },
|
|
|
+ /* 处理附件 */
|
|
|
+ handleFiles(arr) {
|
|
|
+ let files = {
|
|
|
+ images: [],
|
|
|
+ viewImages: [],
|
|
|
+ videos: [],
|
|
|
+ viewVideos: [],
|
|
|
+ files: []
|
|
|
+ },
|
|
|
+ list = fileList(arr);
|
|
|
+ list.forEach(v => {
|
|
|
+ switch (v.fileType) {
|
|
|
+ case "video":
|
|
|
+ files.videos.push(v)
|
|
|
+ files.viewVideos.push({
|
|
|
+ url: v.url,
|
|
|
+ type: "video",
|
|
|
+ poster: v.subfiles[0].url
|
|
|
+ })
|
|
|
+ break;
|
|
|
+ case "image":
|
|
|
+ files.images.push(v)
|
|
|
+ files.viewImages.push({
|
|
|
+ url: v.url,
|
|
|
+ type: "image"
|
|
|
+ })
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ files.files.push(v)
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ this.setData({
|
|
|
+ files
|
|
|
+ })
|
|
|
+ },
|
|
|
+ /* 切换产品 */
|
|
|
+ changeItemno(e) {
|
|
|
+ console.log("切换产品", e.currentTarget.dataset)
|
|
|
+ const {
|
|
|
+ value,
|
|
|
+ valuename
|
|
|
+ } = e.currentTarget.dataset,
|
|
|
+ content = this.data.content;
|
|
|
+ if (!value.flag) return;
|
|
|
+ wx.showLoading({
|
|
|
+ title: '加载中...',
|
|
|
+ mask: true
|
|
|
+ })
|
|
|
+ content[valuename] = (content[valuename] == value.parm) ? "" : value.parm;
|
|
|
+ this.getDetail()
|
|
|
+ },
|
|
|
+ clickBut() {
|
|
|
+ this.data.detail.tradefield.length >= 2 ? wx.showToast({
|
|
|
+ title: '请选择加入产品领域',
|
|
|
+ icon: "none",
|
|
|
+ duration: 3000
|
|
|
+ }) : this.handleStorage(0);
|
|
|
+ },
|
|
|
+ /* 打开文档 */
|
|
|
+ openDocument(e) {
|
|
|
+ const {
|
|
|
+ item
|
|
|
+ } = e.currentTarget.dataset;
|
|
|
+ console.log(item)
|
|
|
+ wx.showLoading({
|
|
|
+ title: '加载中...',
|
|
|
+ mask: true,
|
|
|
+ })
|
|
|
+ wx.downloadFile({
|
|
|
+ url: item.url,
|
|
|
+ success: function (res) {
|
|
|
+ const filePath = res.tempFilePath
|
|
|
+ wx.openDocument({
|
|
|
+ filePath: filePath,
|
|
|
+ showMenu: true,
|
|
|
+ fileType: item.postfix,
|
|
|
+ success: function (res) {
|
|
|
+ wx.hideLoading();
|
|
|
+ console.log('打开文档成功')
|
|
|
+ },
|
|
|
+ fail(e) {
|
|
|
+ console.log(e)
|
|
|
+ wx.showToast({
|
|
|
+ title: '打开失败',
|
|
|
+ icon: "error",
|
|
|
+ mask: true
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ fail(e) {
|
|
|
+ console.log(e)
|
|
|
+ wx.showToast({
|
|
|
+ title: '打开失败',
|
|
|
+ icon: "error",
|
|
|
+ mask: true
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ /* 选择领域 */
|
|
|
+ storage(e) {
|
|
|
+ this.handleStorage(e.detail.value)
|
|
|
+ },
|
|
|
+ handleStorage(index) {
|
|
|
+ let detail = this.data.detail;
|
|
|
+ _Http.basic({
|
|
|
+ "id": 20220924095102,
|
|
|
+ "content": {
|
|
|
+ sa_brandid,
|
|
|
+ "itemid": detail.itemid, //货品id
|
|
|
+ "qty": detail.orderminqty, //数量
|
|
|
+ itemno: detail.itemno, //货品编号
|
|
|
+ tradefield: detail.tradefield[index].tradefield
|
|
|
+ },
|
|
|
+ }).then(res => {
|
|
|
+ console.log("加入购物车", res)
|
|
|
+ wx.showToast({
|
|
|
+ title: res.msg == '成功' ? '加入成功' : res.msg,
|
|
|
+ icon: "none"
|
|
|
+ });
|
|
|
+ if (res.msg == '成功') getApp().globalData.getCollectCount().then(badge => this.setData({
|
|
|
+ badge
|
|
|
+ }))
|
|
|
+ })
|
|
|
+ },
|
|
|
+ /* 前往购物车 */
|
|
|
+ toCollect(e) {
|
|
|
+ getApp().globalData.changeBar({detail:"Collect"})
|
|
|
+ wx.navigateBack();
|
|
|
+ }
|
|
|
})
|