123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411 |
- // nova-shopAdmin/pages/goods/goods.js
- const company = getApp().globalData.company
- const Parse = getApp().Parse;
- const app = getApp();
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- merchant: null,
- services: [],
- service: "",
- goods: {},
- id: "",
- category: {}, //商品分类
- value: '',
- checked: true, //上架状态
- check: false, //推荐状态
- twoModal: false,
- name: "", //商品名称
- price: "", //价格
- originalPrice: "", //原价
- top: "", //排序
- images: [], //商品轮播图
- html: "", //富文本
- // image: "https://file-cloud.fmode.cn/lb486SzXLP/20220326/7fibag051234.png", //商品首图
- Introduction: "",
- image: [],
- sales: "",
- total: '',
- imageList: [],
- licenseList: [],
- },
- blur(e) {
- let name = e.currentTarget.dataset.name
- this.setData({
- [name]: e.detail.value
- })
- },
- // shopsubmit() {
- // this.setData({
- // twoModal: true
- // })
- // },
- onChangeos(event) {
- console.log(event)
- const { picker, value, index } = event.detail;
- picker.setColumnValues(1, citys[value[0]]);
- },
- onCancel() {
- this.setData({
- twoModal: false
- })
- },
- onChange({ detail }) {
- // 需要手动对 checked 状态进行更新
- this.setData({ checked: detail });
- },
- oChange({ detail }) {
- // 需要手动对 checked 状态进行更新
- this.setData({ check: detail });
- },
- specifications() {
- wx.navigateTo({
- url: '/nova-shop/pages/nova-shopadmin/pages/goods/specifications/index'
- });
- },
- goodsimage() {
- // let details = this.data.goods.details
- // let img = this.data.goods.images.join(',');
- // console.log(details, 123, img);
- let id = this.data.id
- wx.navigateTo({
- url: `/nova-shop/pages/nova-shopadmin/pages/goods/goods-image/index?id=${id}`
- });
- },
- showCategory() {
- this.setData({
- showPicker: true
- })
- },
- onConfirm(event) {
- const { value, index } = event.detail;
- console.log(value, index, event.detail)
- this.setData({
- pickerIndex: index,
- category: {
- name: value.name,
- value: {
- __type: "Pointer",
- className: "Category",
- objectId: value.objectId
- }
- },
- showPicker: false
- })
- },
- changeFile(e) {
- if (e.detail && e.detail.length > 0) {
- this.setData({
- image: [e.detail[0].url]
- })
- } else {
- this.setData({
- image: []
- })
- }
- },
- onCancel() {
- console.log('取消')
- this.setData({
- showPicker: false
- })
- },
- getCategory() {
- let Category = new Parse.Query("Category")
- Category.equalTo("company", company)
- Category.equalTo("type", "shop")
- Category.ascending('index')
- Category.select('name')
- Category.find().then(res => {
- let columns = []
- res.forEach(item => {
- let category = item.toJSON()
- columns.push(category)
- })
- this.setData({
- columns
- })
- })
- },
- // 新建商品
- async submit() {
- console.log(this.data.html, this.data.images);
- const _this = this
- let ShopStore = new Parse.Query('ShopStore')
- ShopStore.equalTo('user', this.data.merchant.objectId)
- let res = await ShopStore.first()
- let id = res.toJSON().objectId
- console.log(this.data.name, this.data.price, this.data.originalPrice, id, this.data.top, this.data.sales, this.data.html, this.data.image[0])
- if (!this.data.name || !this.data.price || !this.data.originalPrice || !this.data.top || !this.data.image) {
- wx.showToast({
- title: '请填写完整信息',
- icon: 'none'
- })
- return
- }
- let shopGoods
- if (this.data.id) {
- let query = new Parse.Query("ShopGoods")
- shopGoods = await query.get(this.data.id)
- } else {
- let ShopGoods = Parse.Object.extend("ShopGoods")
- shopGoods = new ShopGoods()
- shopGoods.set("company", {
- __type: "Pointer",
- className: "Company",
- objectId: company
- })
- }
- shopGoods.set("user", {
- __type: "Pointer",
- className: "_User",
- objectId: Parse.User.current().id
- })
- shopGoods.set("name", this.data.name)
- if (this.data.html) {
- shopGoods.set("details", this.data.html)
- }
- if (!this.data.html) {
- shopGoods.set("details", this.data.goods.details)
- }
- shopGoods.set("price", Number(this.data.price))
- shopGoods.set("originalPrice", Number(this.data.originalPrice))
- shopGoods.set("top", Number(this.data.top))
- // shopGoods.set("image", this.data.image)
- shopGoods.set("image", this.data.image[0])
- if (this.data.images) {
- shopGoods.set("images", this.data.images)
- }
- if (!this.data.images) {
- shopGoods.set("images", this.data.goods.images)
- }
- shopGoods.set("status", this.data.checked)
- shopGoods.set("isRecom", this.data.check)
- shopGoods.set("type", "meal")
- shopGoods.set("services", this.data.services)
- shopGoods.set("total", Number(this.data.total))
- shopGoods.set("sales", Number(this.data.sales))
- shopGoods.set("shopStore", {
- __type: "Pointer",
- className: "ShopStore",
- objectId: id
- })
- shopGoods.save().then(res => {
- console.log(res)
- if (this.data.id) {
- wx.showToast({
- title: '修改成功',
- icon: 'none'
- })
- } else {
- wx.showToast({
- title: '创建成功',
- icon: 'none'
- })
- }
- wx.setStorageSync('images', undefined)
- wx.setStorageSync('html', undefined)
- _this.setData({
- name: '',
- images: [],
- image: '',
- price: '',
- originalPrice: '',
- total: '',
- category: '',
- Introduction: "",
- })
- wx.navigateBack({
- delta: 1,
- })
- // ({
- // url: '/nova-tourism/pages/my/merchant/merchant-home/package/index'
- // });
- })
- },
- //从本地获取数据
- getGoodsList() {
- let ShopGoods = new Parse.Query("ShopGoods")
- console.log(this.data.id);
- ShopGoods.equalTo("objectId", this.data.id)
- ShopGoods.include("shopStore")
- ShopGoods.first().then(res => {
- let goods = res.toJSON()
- // order.orderTime = dateF.formatTime("YYYY-mm-dd ", order.createdAt)
- console.log(goods);
- this.setData({
- goods: goods,
- services: goods.services,
- // image: goods.image,
- // images: goods.images,
- checked: goods.status,
- check: goods.isRecom,
- top: goods.top,
- sales: goods.sales,
- total: goods.total,
- name: goods.name,
- price: goods.price,
- originalPrice: goods.originalPrice,
- })
- })
- },
- showPopup() {
- this.setData({ show: true })
- },
- images() {
- console.log(wx.getStorageSync('images'))
- let images = wx.getStorageSync('images')
- let html = wx.getStorageSync('html')
- this.setData({
- images: images,
- html: html
- });
- console.log(html);
- },
- onClose: function () {
- this.setData({ show: false })
- },
- twoonConfirm: function () {
- let item = this.data.services
- let service = this.data.service
- console.log(service);
- item.push({
- 'check': false,
- 'value': service,
- })
- console.log(item)
- this.setData({
- service: null,
- })
- console.log(service);
- this.setData({
- show: false,
- services: item
- });
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: async function (options) {
- let merchant = wx.getStorageSync('merchant'); //用户
- this.setData({ merchant: merchant })
- const _this = this
- this.getCategory()
- let id = (options.id)
- console.log(id)
- this.setData({ id: id });
- // id && this.getGoodsList()
- if (id) {
- let imageList = []
- let ShopGoods = new Parse.Query("ShopGoods")
- console.log(id);
- ShopGoods.include("shopStore")
- let Goods = await ShopGoods.get(id)
- let goods = Goods.toJSON()
- // order.orderTime = dateF.formatTime("YYYY-mm-dd ", order.createdAt)
- imageList.push({
- url: goods.image
- })
- console.log(imageList);
- this.setData({
- goods: goods,
- services: goods.services,
- // image: goods.image,
- images: goods.images,
- checked: goods.status,
- check: goods.isRecom,
- top: goods.top,
- sales: goods.sales,
- total: goods.total,
- name: goods.name,
- price: goods.price,
- originalPrice: goods.originalPrice,
- imageList: imageList,
- })
- }
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
- this.images();
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage: function () {
- }
- })
|