123456789101112131415161718192021222324252627282930313233343536373839 |
- import Vue from 'vue'
- import Main from './main.vue'
- import * as Options from './defaultOptions'
- import { api } from '~/ui-domain'
- let PurchasePlanConstructor = Vue.extend(Main)
- let instance
- let seed = 1
- const PurchasePlan = function(options) {
- if (Vue.prototype.$isServer) return
- if (instance) instance.close()
- return new Promise((resolve, reject) => {
- options = options || {}
- if (!options.purchasePlanApi) {
- options.purchasePlanApi = `${api.admin}/admin/erp/product`
- }
- let id = 'purchasePlan_picker_' + seed++
- options.show = true
- instance = new PurchasePlanConstructor({ propsData: options })
- instance.id = id
- instance.$mount()
- instance.resolve = resolve
- instance.reject = reject
- instance.close = closeInstance
- document.body.appendChild(instance.$el)
- })
- }
- function closeInstance() {
- instance.$destroy()
- instance.$el.parentNode.removeChild(instance.$el)
- instance.reject('取消了')
- instance = undefined
- }
- export default PurchasePlan
|