Jelajahi Sumber

过期事务处理,通知公告调整

cfort 2 tahun lalu
induk
melakukan
2d844de401

+ 140 - 137
src/business/platform/file/attachment/editFile/editor.vue

@@ -1,156 +1,159 @@
 <!--onlyoffice 编辑器-->
 <template>
     <div>
-        <div id="editorDiv" class="nav" ref="editor" />
+        <div id="editorDiv" ref="editor" class="nav" />
     </div>
 </template>
 
 <script>
-    import { handleDocType } from './editor/editor.js'
-    import { showView } from '@/api/platform/file/attachment'
-    import { getToken } from '@/utils/auth'
-    export default {
-        name: 'editor',
-        props: {
-            option: {
-                type: Object,
-                default: () => {
-                    return {}
-                }
-            }
-        },
-        data() {
-            return {
-                doctype: '',
-                newId: '',
-                timer: '',
-                configKey: ''
-            }
-        },
-        mounted() {
-            // 调用初始化方法 ,渲染wps
-            if (this.option.url) {
-                this.setEditor(this.option)
+import { handleDocType } from './editor/editor.js'
+import { showView } from '@/api/platform/file/attachment'
+import { getToken } from '@/utils/auth'
+export default {
+    name: 'editor',
+    props: {
+        option: {
+            type: Object,
+            default: () => {
+                return {}
             }
-            if(this.option.mode == 'edit'){
-                // 编辑模式下轮询获取文件id
-                this.timer = setInterval(() => {
-                    if (this.configKey) {
-                        showView({ key: this.configKey }).then((response) => {
-                            if (response.variables.data !== '0' && this.newId !== response.variables.data) {
-                                // 记录当前id,与返回的文件id比对,有变化证明有做修改,提示并替换
-                                this.newId = response.variables.data 
-                                this.$message.success('文件编辑保存成功,稍后请提交表单!')
-                                this.$emit('updateFile', this.newId)
-                            }
-                        })
-                    }
-                }, 2000)
+        }
+    },
+    data () {
+        return {
+            doctype: '',
+            newId: '',
+            timer: '',
+            configKey: ''
+        }
+    },
+    watch: {
+        option: {
+            handler: function (n, o) {
+                this.setEditor(n)
+                this.doctype = handleDocType(n.fileType)
+            },
+            deep: true
+        }
+    },
+    mounted () {
+        // 调用初始化方法 ,渲染wps
+        if (this.option.url) {
+            this.setEditor(this.option)
+        }
+        if (this.option.mode === 'edit') {
+            // 编辑模式下轮询获取文件id
+            this.timer = setInterval(() => {
+                if (this.configKey) {
+                    showView({ key: this.configKey }).then((response) => {
+                        if (response.variables.data !== '0' && this.newId !== response.variables.data) {
+                            // 记录当前id,与返回的文件id比对,有变化证明有做修改,提示并替换
+                            this.newId = response.variables.data
+                            this.$message.success('文件编辑保存成功,稍后请提交表单!')
+                            this.$emit('updateFile', this.newId)
+                        }
+                    })
+                }
+            }, 2000)
+        }
+    },
+    beforeDestroy () {
+        // 页面关闭清除定时任务
+        this.clearTimer()
+    },
+    methods: {
+        // 清除定时任务
+        clearTimer () {
+            if (this.timer) {
+                clearInterval(this.timer)
+                this.timer = null
             }
         },
-        beforeDestroy() {
-            // 页面关闭清除定时任务
-            this.clearTimer()
-        },
-        methods: {
-            // 清除定时任务
-            clearTimer() {
-                if (this.timer) {
-                    clearInterval(this.timer)
-                    this.timer = null
-                }
-            },
-            setEditor(option) {
-                this.doctype = handleDocType(option.fileType)
-                let config = {
-                    document: {
-                        fileType: option.fileType,
-                        key: option.key,
-                        title: option.title,
-                        permissions: {
-                            comment: true,
-                            download: true,
-                            modifyContentControl: true,
-                            modifyFilter: true,
-                            print: true,
-                            edit: true,
-                            fillForms: true,
-                            review: true
-                        },
-                        url: option.url
+        setEditor (option) {
+            this.doctype = handleDocType(option.fileType)
+            const config = {
+                document: {
+                    fileType: option.fileType,
+                    key: option.key,
+                    title: option.title,
+                    permissions: {
+                        comment: true,
+                        download: true,
+                        modifyContentControl: true,
+                        modifyFilter: true,
+                        print: true,
+                        edit: true,
+                        fillForms: true,
+                        review: true
                     },
-                    documentType: this.doctype,
-                    editorConfig: {
-                        callbackUrl: option.editUrl + '&access_token=' + getToken(),
-                        lang: 'zh',
-                        canHistoryRestore: true,
-                        canUseHistory: true,
-                        customization: {
-                            commentAuthorOnly: false,
-                            comments: true,
-                            compactHeader: false,
-                            compactToolbar: false,
-                            plugins: true,
-                            feedback: {
-                                visible: false // 隐藏反馈按钮
-                            },
-                            forcesave: true, // true 表示强制文件保存请求添加到回调处理程序
-                            atuosave: false // 取消强制保存,进行手动保存
-                        },
-                        user: {
-                            id: option.user.id,
-                            name: option.user.name
+                    url: option.url
+                },
+                documentType: this.doctype,
+                editorConfig: {
+                    callbackUrl: option.editUrl + '&access_token=' + getToken(),
+                    lang: 'zh',
+                    canHistoryRestore: true,
+                    canUseHistory: true,
+                    customization: {
+                        commentAuthorOnly: false,
+                        comments: true,
+                        compactHeader: false,
+                        compactToolbar: false,
+                        plugins: true,
+                        feedback: {
+                            // 隐藏反馈按钮
+                            visible: false
                         },
-                        mode: option.mode
+                        // true 表示强制文件保存请求添加到回调处理程序
+                        forcesave: true,
+                        // 取消强制保存,进行手动保存
+                        atuosave: false
                     },
-                    events: {
-                        onRequestSaveAs: () => {
-                            console.log('另存为')
-                        },
-                        // 监听文件修改开启轮询,有几率同时触发N个,导致页面卡死
-                        // onDocumentStateChange: e => {
-                        //     if (!e.data) {
-                        //         console.log('文件修改', e)
-                        //         this.handlerFileSave()
-                        //     }
-                        // },
-                        onDocumentReady: () => {
-                            console.log('文件加载完成~')
-                        }
+                    user: {
+                        id: option.user.id,
+                        name: option.user.name
                     },
-                    width: '100%',
-                    token: getToken(),
-                    height: document.body.clientHeight + 'px'
-                }
-                let docEditor = new DocsAPI.DocEditor('editorDiv', config)
-                this.configKey = config.document.key
-            },
-            handlerFileSave() {
-                this.clearTimer()
-                // 进行后端接口轮询,查到id则进行与当前id比较,相等则不做操作,不相等则返回id,更新页面数据。
-                this.timer = setInterval(() => {
-                    if (this.configKey) {
-                        showView({ key: this.configKey }).then((response) => {
-                            if (response.variables.data !== '0' && this.newId !== response.variables.data) {
-                                // 记录当前id,与返回的文件id比对,有变化证明有做修改,提示并替换
-                                this.newId = response.variables.data 
-                                this.$message.success('文件编辑保存成功,稍后请提交表单!')
-                                this.$emit('updateFile', this.newId)
-                                this.clearTimer()
-                            }
-                        })
+                    mode: option.mode
+                },
+                events: {
+                    onRequestSaveAs: () => {
+                        console.log('另存为')
+                    },
+                    // 监听文件修改开启轮询,有几率同时触发N个,导致页面卡死
+                    // onDocumentStateChange: e => {
+                    //     if (!e.data) {
+                    //         console.log('文件修改', e)
+                    //         this.handlerFileSave()
+                    //     }
+                    // },
+                    onDocumentReady: () => {
+                        console.log('文件加载完成~')
                     }
-                }, 2000)
-            }
-        },
-        watch: {
-            option: {
-                handler: function (n, o) {
-                    this.setEditor(n)
-                    this.doctype = handleDocType(n.fileType)
                 },
-                deep: true
+                width: '100%',
+                token: getToken(),
+                height: document.body.clientHeight + 'px'
             }
+            const docEditor = new DocsAPI.DocEditor('editorDiv', config)
+            this.configKey = config.document.key
+        },
+        handlerFileSave () {
+            this.clearTimer()
+            // 进行后端接口轮询,查到id则进行与当前id比较,相等则不做操作,不相等则返回id,更新页面数据。
+            this.timer = setInterval(() => {
+                if (this.configKey) {
+                    showView({ key: this.configKey }).then((response) => {
+                        if (response.variables.data !== '0' && this.newId !== response.variables.data) {
+                            // 记录当前id,与返回的文件id比对,有变化证明有做修改,提示并替换
+                            this.newId = response.variables.data
+                            this.$message.success('文件编辑保存成功,稍后请提交表单!')
+                            this.$emit('updateFile', this.newId)
+                            this.clearTimer()
+                        }
+                    })
+                }
+            }, 2000)
         }
     }
-</script>
+}
+</script>

+ 81 - 83
src/business/platform/file/attachment/editFile/fileView.vue

@@ -1,99 +1,97 @@
 <!--暂时用不到, 备份-->
 <template>
-  <div>
-    <div id="editorDiv" class="nav" ref="editor" />
-  </div>
+    <div>
+        <div id="editorDiv" ref="editor" class="nav" />
+    </div>
 </template>
 
 <script>
-  import {
+import {
     handleDocType
-  } from './editor/editor.js'
+} from './editor/editor.js'
 
-  export default {
-    name: 'viewFile',
+export default {
+    name: 'view-file',
     props: {
-      option: {
-        type: Object,
-        default: () => {
-          return {}
+        option: {
+            type: Object,
+            default: () => {
+                return {}
+            }
         }
-      }
     },
-    data() {
-      return {
-        doctype: ''
-      }
-    },
-    mounted() {
-      /* 调用初始化方法 ,渲染wps*/
-      if (this.option.url) {
-        this.setEditor(this.option)
-      }
+    data () {
+        return {
+            doctype: ''
+        }
     },
-    methods: {
-      setEditor(option) {
-        this.doctype = handleDocType(option.fileType)
-        let config = {
-          document: {
-            fileType: option.fileType,
-            key: option.key,
-            title: option.title,
-            permissions: {
-              comment: true,
-              download: true,
-              modifyContentControl: true,
-              modifyFilter: true,
-              print: true,
-              edit: option.isEdit,
-              fillForms: true,
-              review: true
-            },
-            url: option.url
-          },
-          documentType: this.doctype,
-          editorConfig: {
-            callbackUrl: option.editUrl,
-            lang: 'zh',
-            canHistoryRestore: true,
-            canUseHistory: true,
-            customization: {
-              commentAuthorOnly: false,
-              comments: true,
-              compactHeader: false,
-              compactToolbar: true,
-              feedback: false,
-              plugins: true,
-              "feedback": {
-                "visible": true // 隐藏反馈按钮
-              },
-              "forcesave": true, // true 表示强制文件保存请求添加到回调处理程序
-              "atuosave": false, //取消强制保存,进行手动保存
-            },
-            user: {
-              id: option.user.id,
-              name: option.user.name
+    watch: {
+        option: {
+            handler: function (n, o) {
+                this.setEditor(n)
+                this.doctype = handleDocType(n.fileType)
             },
-            mode: option.mode,
-          },
-          width: '100%',
-          height: document.body.clientHeight + 'px'
+            deep: true
         }
-        let docEditor = new DocsAPI.DocEditor('editorDiv', config)
-      },
     },
-    watch: {
-      option: {
-        handler: function(n, o) {
-          this.setEditor(n)
-          this.doctype = handleDocType(n.fileType)
-        },
-        deep: true,
-      }
+    mounted () {
+        /* 调用初始化方法 ,渲染wps*/
+        if (this.option.url) {
+            this.setEditor(this.option)
+        }
+    },
+    methods: {
+        setEditor (option) {
+            this.doctype = handleDocType(option.fileType)
+            const config = {
+                document: {
+                    fileType: option.fileType,
+                    key: option.key,
+                    title: option.title,
+                    permissions: {
+                        comment: true,
+                        download: true,
+                        modifyContentControl: true,
+                        modifyFilter: true,
+                        print: true,
+                        edit: option.isEdit,
+                        fillForms: true,
+                        review: true
+                    },
+                    url: option.url
+                },
+                documentType: this.doctype,
+                editorConfig: {
+                    callbackUrl: option.editUrl,
+                    lang: 'zh',
+                    canHistoryRestore: true,
+                    canUseHistory: true,
+                    customization: {
+                        commentAuthorOnly: false,
+                        comments: true,
+                        compactHeader: false,
+                        compactToolbar: true,
+                        plugins: true,
+                        feedback: {
+                            // 隐藏反馈按钮
+                            visible: false
+                        },
+                        // true 表示强制文件保存请求添加到回调处理程序
+                        forcesave: true,
+                        // 取消强制保存,进行手动保存
+                        atuosave: false
+                    },
+                    user: {
+                        id: option.user.id,
+                        name: option.user.name
+                    },
+                    mode: option.mode
+                },
+                width: '100%',
+                height: document.body.clientHeight + 'px'
+            }
+            const docEditor = new DocsAPI.DocEditor('editorDiv', config)
+        }
     }
-  }
+}
 </script>
-
-<style scoped>
-
-</style>

+ 6 - 3
src/views/platform/system/news/edit.vue

@@ -182,6 +182,9 @@ export default {
         status: String
     },
     data () {
+        const { first = '', second = '' } = this.$store.getters.level || {}
+        const { positions = [] } = this.$store.getters.userInfo || {}
+        const position = positions.length ? positions[0] : {}
         return {
             limit: 1,
             accept: '.jpeg,.gif,.png,.jpg', // 规定上传类型
@@ -202,8 +205,8 @@ export default {
                 createTime: '',
                 dataStatus: '',
                 dbtype: '',
-                depId: '',
-                depName: '',
+                depId: position.id,
+                depName: position.name,
                 fileAttach: '',
                 id: '',
                 ip: '',
@@ -220,7 +223,7 @@ export default {
                 tenantId: '',
                 title: '',
                 // 改字段暂时无用,改存当前层级第一级ID
-                type: this.$store.getters.level ? this.$store.getters.level.first : '',
+                type: second || first,
                 typeId: '',
                 updateBy: '',
                 updateTime: '',

+ 8 - 5
src/views/platform/system/news/list.vue

@@ -81,18 +81,20 @@ export default {
                     forms: [
                         { prop: 'Q^TITLE_^SL', label: '标题' },
                         { prop: 'Q^USER_NAME_^SL', label: '发布人' },
-                        { prop: ['Q^PUBLIC_DATE_^DL', 'Q^PUBLIC_DATE_^DG'], label: '发布时间', fieldType: 'daterange' }
+                        { prop: ['Q^PUBLIC_DATE_^DL', 'Q^PUBLIC_DATE_^DG'], label: '发布时间', fieldType: 'daterange' },
+                        { prop: 'Q^STATUS_^SL', label: '发布状态', fieldType: 'select', options: typeOptions }
                     ]
                 },
                 // 表格字段配置
                 columns: [
                     { prop: 'title', label: '标题', minWidth: 250 },
                     // { prop: 'publicItem', label: '发布选项', tags: publicItemOptions },
+                    { prop: 'depName', label: '发布部门', width: 120 },
                     { prop: 'userName', label: '发布人', width: 120 },
-                    { prop: 'publicDate', label: '发布时间', dateFormat: 'yyyy-MM-dd', width: 120 },
-                    { prop: 'loseDate', label: '失效时间', dateFormat: 'yyyy-MM-dd', width: 120 },
+                    { prop: 'publicDate', label: '发布时间', dateFormat: 'yyyy-MM-dd', sortable: 'custom', width: 120 },
+                    { prop: 'loseDate', label: '失效时间', dateFormat: 'yyyy-MM-dd', sortable: 'custom', width: 120 },
                     // { prop: 'public0', label: '是否公共', tags: isPublicOptions },
-                    { prop: 'status', label: '发布状态', tags: typeOptions, width: 100 },
+                    { prop: 'status', label: '发布状态', tags: typeOptions, sortable: 'custom', width: 100 }
                     // { prop: 'depName', label: '发布范围' }
                 ],
                 rowHandle: {
@@ -131,8 +133,9 @@ export default {
          * 获取格式化参数
          */
         getSearcFormData () {
+            const { first = '', second = '' } = this.$store.getters.level || {}
             const params = this.$refs['crud'] ? this.$refs['crud'].getSearcFormData() : {}
-            params['Q^type_^SL'] = this.$store.getters.level ? this.$store.getters.level.first : ''
+            params['Q^type_^SL'] = second || first
             return ActionUtils.formatParams(
                 params,
                 this.pagination,

+ 22 - 9
src/views/system/dashboard/components/workbench.vue

@@ -328,7 +328,7 @@ export default {
             }
         }
     },
-    mounted: function () {
+    mounted () {
         this.getData(this.activeTab)
         this.getOrgInfo()
         if (this.timer) {
@@ -422,12 +422,13 @@ export default {
                                 dataResult[index].submitBy = item.name_
                                 dataResult[index].workName = dataResult[index].subject.includes('#') ? dataResult[index].subject.split('#')[0] : dataResult[index].subject.split('(')[0]
                                 dataResult[index].workType = this.plan.includes(dataResult[index].procDefKey) ? 'plan' : 'normal'
-                                dataResult[index].state = this.judgeExpire(dataResult[index].createTime, currentTime, dataResult[index].workType, '1')
+                                const limit = this.getAttr(dataResult[index].subject, 'loseDate') || this.getAttr(dataResult[index].subject, 'timeLimit') || 3
+                                dataResult[index].state = this.judgeExpire(dataResult[index].createTime, currentTime, dataResult[index].workType, limit, '1')
                             })
                             this.dataList = dataResult.sort((a, b) => b.createTime.localeCompare(a.createTime))
                             this.pagination = pageResult
                         })
-                        // this.urgeToManager()
+                        this.urgeToManager()
                     } else {
                         this.dataList = dataResult
                         this.pagination = pageResult
@@ -549,7 +550,7 @@ export default {
                 parameters: [],
                 sorts: []
             }
-            const sql = `select id_, shi_wu_id_ as taskId from t_gqswb where position('${userId}' in chu_li_ren_id_) FOR UPDATE`
+            const sql = `select id_, shi_wu_id_ as taskId from t_gqswb where position('${userId}' in chu_li_ren_id_)`
             // Promise.all([pending(params), this.$common.request('sql', sql)]).then(([res1, res2]) => {
             //     let workData = res1.data && res1.data.dataResult
             //     let noticeData = res2.variables && res2.variables.data
@@ -582,7 +583,8 @@ export default {
                 // 截取流程名
                 item.workName = item.subject.includes('#') ? item.subject.split('#')[0] : item.subject.split('(')[0]
                 item.workType = this.plan.includes(item.procDefKey) ? 'plan' : 'normal'
-                const isExpire = this.judgeExpire(item.createTime, currentTime, item.workType)
+                const limit = this.getAttr(item.subject, 'loseDate') || this.getAttr(item.subject, 'timeLimit')
+                const isExpire = this.judgeExpire(item.createTime, currentTime, item.workType, limit)
                 if (isExpire) {
                     result.expire.push(item)
                 } else {
@@ -601,27 +603,38 @@ export default {
             }
         },
         // 判断是否过期、获取办理状态
-        judgeExpire (time, current, type, isState) {
+        judgeExpire (time, current, type, limit, isState) {
             const D = new Date(time)
             const a = new Date(time).getTime()
             const b = new Date(current).getTime()
+            const l = limit || 3
             // 创建时间当月最后一天的时间戳
             const c = new Date(D.getFullYear(), D.getMonth() + 1, 0).getTime() + 86400000
+            const isDate = l.toString().includes('-')
             // 返回办理状态
             if (isState) {
                 let state = ''
                 if (type === 'plan') {
-                    state = b >= c ? 'overtime' : b + (86400000 * 7) > c ? 'soon' : 'wait'
+                    const M = isDate ? new Date(l).getTime() : c
+                    state = b >= M ? 'overtime' : b + (86400000 * 7) > M ? 'soon' : 'wait'
                 } else {
-                    state = a + (86400000 * 3) < b ? 'overtime' : 'wait'
+                    if (isDate) {
+                        const L = new Date(l).getTime()
+                        state = b >= L ? 'overtime' : 'wait'
+                    } else {
+                        state = a + (86400000 * parseInt(l)) < b ? 'overtime' : 'wait'
+                    }
                 }
                 return state
             }
             // 返回是否过期
+            if (isDate) {
+                return b > new Date(l).getTime()
+            }
             if (type === 'plan') {
                 return b + (86400000 * 7) > c
             } else {
-                return a + (86400000 * 3) < b
+                return a + (86400000 * parseInt(l)) < b
             }
         },
         // 处理已过期数据

+ 4 - 4
src/views/system/dashboard/page.vue

@@ -173,6 +173,7 @@
     import newHome from './components/new-home'
     import Workbench from './components/workbench.vue'
     import curdPost from '@/business/platform/form/utils/custom/joinCURD.js'
+    import param from '@/store/modules/ibps/modules/param'
 
     const _import = require('@/utils/util.import.' + process.env.NODE_ENV)
     let cronTask = null
@@ -246,7 +247,8 @@
             }
         },
         beforeRouteEnter(to, from, next){
-            const sql = `select * from t_jhswpzb`
+            const { first = '', second = '' } = param.state.level
+            const sql = `select * from t_jhswpzb where di_dian_ = '${second || first}'`
             curdPost('sql', sql).then(res => {
                 const { data = [] } = res.variables || {}
                 cronTask = data.map(i => i.liu_cheng_key_)
@@ -453,8 +455,6 @@
             handleFlowCallback () {
                 this.$refs[this.alias] ? this.$refs[this.alias][0].refreshData() : null
             },
-
-            //
             initSystemUrl (url) {
                 if (url.startsWith('http')) {
                     this.systemUrlType = 'iframe'
@@ -527,7 +527,7 @@
             getPeriodTask () {
                 const { userId } = this.$store.getters
                 const sql = `select * from t_zqswtxb where shi_fou_ti_xing_ = '是' and zhi_xing_ren_yuan like '%${userId}%' order by field(zhi_xing_zhou_qi_, '1次/天', '1次/周', '1次/月', '1次/季度', '1次/半年', '1次/年')`
-                curdPost('sql', sql).then(res => {
+                this.$common.request('sql', sql).then(res => {
                     const { data = [] } = res.variables || {}
                     if (data.length) {
                         this.showMsg(data)

+ 22 - 20
src/views/viewFile/index.vue

@@ -1,7 +1,7 @@
 <!--onlyoffice 编辑器-->
 <template>
     <div>
-        <div id="editorDiv" class="nav" ref="editor" />
+        <div id="editorDiv" ref="editor" class="nav" />
     </div>
 </template>
 
@@ -21,6 +21,15 @@ export default {
             option: {}
         }
     },
+    watch: {
+        option: {
+            handler: function (n, o) {
+                this.setEditor(n)
+                this.doctype = handleDocType(n.fileType)
+            },
+            deep: true
+        }
+    },
     mounted () {
         this.option = this.$route.query
         /* 调用初始化方法 ,渲染wps*/
@@ -31,9 +40,9 @@ export default {
     methods: {
         setEditor (option) {
             this.doctype = handleDocType(option.fileType)
-            let url = option.url + '&access_token=' + getToken();
-            console.log("url:" + url)
-            let config = {
+            const url = option.url + '&access_token=' + getToken()
+            console.log('url:' + url)
+            const config = {
                 document: {
                     fileType: option.fileType,
                     key: option.key,
@@ -62,34 +71,27 @@ export default {
                         comments: true,
                         compactHeader: false,
                         compactToolbar: true,
-                        feedback: false,
                         plugins: true,
-                        "feedback": {
-                            "visible": true // 隐藏反馈按钮
+                        feedback: {
+                            // 隐藏反馈按钮
+                            visible: false
                         },
-                        "forcesave": true, // true 表示强制文件保存请求添加到回调处理程序
-                        "atuosave": false, // 取消强制保存,进行手动保存
+                        // true 表示强制文件保存请求添加到回调处理程序
+                        forcesave: true,
+                        // 取消强制保存,进行手动保存
+                        atuosave: false
                     },
                     user: {
                         id: this.$store.getters.userId,
                         name: this.$store.getters.name
                     },
-                    mode: option.mode,
+                    mode: option.mode
                 },
                 width: '100%',
                 height: document.body.clientHeight + 'px'
             }
-            let docEditor = new DocsAPI.DocEditor('editorDiv', config)
+            const docEditor = new DocsAPI.DocEditor('editorDiv', config)
             this.configKey = config.document.key
-        },
-    },
-    watch: {
-        option: {
-            handler: function (n, o) {
-                this.setEditor(n)
-                this.doctype = handleDocType(n.fileType)
-            },
-            deep: true,
         }
     }
 }