12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import Vue from 'vue';
- import component from './detail.vue'
- const detailElement = (taskid, detail = {}) => {
- let cloneData = (myObj) => {
- if (typeof (myObj) !== 'object') return myObj;
- if (myObj === null) return myObj;
- //
- if (typeof myObj.length === 'number') {
- let [...myNewObj] = myObj;
- return myNewObj;
- } else {
- let {...myNewObj} = myObj;
- return myNewObj;
- }
- };
- let isArray = (myObj) => {
- return Object.prototype.toString.call(myObj) == '[object Array]';
- }
- return new Promise(() => {
- let custom = Vue.extend(component);
- if (typeof taskid === 'object' && taskid !== null) {
- detail = cloneData(taskid);
- taskid = parseInt(taskid.id);
- if (isNaN(taskid)) {
- taskid = 0;
- }
- }
- if (typeof detail !== 'object' || detail === null) {
- detail = {}
- }
- if (typeof taskid === "number") {
- detail.taskid = taskid;
- }
- if (!isArray(detail.subtask)) {
- detail.subtask = [];
- }
- let data = {
- taskid: taskid,
- detail: detail,
- };
- let instance = new custom({
- data: data
- });
- instance.$mount();
- document.body.appendChild(instance.$el);
- })
- };
- export default detailElement
|