ZaiZai 1 år sedan
förälder
incheckning
1b039db199

+ 1 - 3
src/components/plugins/table-form/hc-date-picker-1.vue

@@ -90,9 +90,7 @@ const emit = defineEmits(['update:modelValue', 'change', 'keydowns'])
 const modelValues = ref(props.modelValue)
 
 //监听
-watch(() => [
-    props.modelValue,
-], ([val]) => {
+watch(() => props.modelValue, (val) => {
     modelValues.value = val
 })
 

+ 2 - 2
src/config/index.json

@@ -1,9 +1,9 @@
 {
     "version": "20230607160059",
     "target1": "http://127.0.0.1:8090",
-    "target": "http://39.108.216.210:8090",
+    "target2": "http://39.108.216.210:8090",
     "target3": "http://192.168.0.125:8090",
-    "target4": "http://183.247.216.148:28090",
+    "target": "http://183.247.216.148:28090",
     "socket": "wss://measure.hczcxx.cn/websocket",
     "localModel": false,
     "smsPhone": "",

+ 0 - 380
src/plugins/HTableForm_bak.js

@@ -1,380 +0,0 @@
-import { nextTick } from 'vue'
-import { createApp } from 'vue/dist/vue.esm-bundler.js'
-import { getHeader } from 'hc-vue3-ui'
-import { isArray, toParse } from 'js-fast-way'
-
-//自定义组件或二次封装的组件
-import HcTableFormUpload from '~com/plugins/table-form/hc-form-upload.vue'
-import HcFormSelectSearch from '~com/plugins/table-form/hc-form-select-search.vue'
-import HcFormSelectSearch2 from '~com/plugins/table-form/hc-form-select-search2.vue'
-import HcFormCheckboxGroup from '~com/plugins/table-form/hc-form-checkbox-group.vue'
-import ElTimePicker from '~com/plugins/table-form/hc-time-picker.vue'
-import ElDatePicker from '~com/plugins/table-form/hc-date-picker-1.vue'
-import ElRadioGroup from '~com/plugins/table-form/hc-form-radio-group.vue'
-import HcEchart from '~com/plugins/table-form/echart.vue'
-
-//修改过的组件
-//import { ElOption, ElSelect } from 'z-element-plus' ElSelect, ElOption,
-
-import ElementPlus from 'element-plus'
-import zhCn from 'element-plus/es/locale/lang/zh-cn'
-
-const components = {
-    ElDatePicker, ElTimePicker, HcTableFormUpload, ElRadioGroup,
-    HcFormSelectSearch, HcFormSelectSearch2, HcFormCheckboxGroup, HcEchart,
-}
-
-//表单渲染
-export default class HTableForm {
-
-    static tableFormApp = null
-    static tableFormVM = null
-
-    static createForm({ template, tableForm, keys, appId, pid, onRight, onBlur, onLeftClick, onFormDataChange, onChartRefs }) {
-        const _this = this
-        const app = createApp({
-            //自定义组件,需要把饿了么的组件,或者自定义组件手动传递进来绑定,否则渲染时,自定义组件不会生效
-            components,
-            data() {
-                return {
-                    getTokenHeader: getHeader(),
-                    formData: tableForm,
-                }
-            },
-            //监听数据,伪双向绑定(v-model)
-            watch: {
-                formData: {
-                    handler(obj) {
-                        tableForm = obj
-                        this.formDataChange(obj)
-                    },
-                    deep: true,
-                },
-            },
-            methods: {
-                //表单数据改变
-                formDataChange(obj) {
-                    if (onFormDataChange) {
-                        onFormDataChange(obj)
-                    }
-                },
-                //改变表单数据
-                setFormData(obj) {
-                    this.formData = obj
-                },
-                //鼠标右键菜单
-                contextmenuClick(a, b, c, d, e, f, event) {
-                    event.preventDefault()
-                },
-                //鼠标右键事件
-                RightClick(a, b, c, d, e, f, event) {
-                    setTimeout(() => {
-                        const KeyName = event?.target?.getAttribute('keyname') || ''
-                        if (onRight) {
-                            event.preventDefault()
-                            onRight(event, KeyName)
-                        }
-                    }, 100)
-                },
-                //焦点事件
-                getInformation() {
-                },
-                //日期选择事件
-                datePickerChange(val, key) {
-                    this.formData[key] = val
-                },
-                //上传完成
-                formUploadSuccess({ src, key }) {
-                    this.formData[key] = src
-                },
-                //删除上传的文件
-                delTableFormFile(key) {
-                    this.formData[key] = ''
-                },
-                //失去焦点事件
-                getRegularExpression(event, reg, msg, a, b, leng, type, c, d) {
-                    const KeyName = event?.target?.getAttribute('keyname') || ''
-                    if (onBlur) {
-                        onBlur(event, KeyName, reg, this.formData[KeyName], msg, leng, type, c, d)
-                    }
-                },
-                //远程搜索处理
-                formRemoteChange(data) {
-                    Object.keys(data).forEach(key => {
-                        this.formData[key] = data[key]
-                    })
-                },
-                //多选框处理
-                checkboxGroupChange({ key, val }) {
-                    this.formData[key] = val
-                },
-                //键盘事件 上键
-                keyupShiftUp(event) {
-                    _this.setKeyupData(event, 'up', keys, pid)
-                },
-                //键盘事件 下键
-                keyupShiftDown(event) {
-                    _this.setKeyupData(event, 'down', keys, pid)
-                },
-                //键盘事件 左键
-                keyupShiftLeft(event) {
-                    _this.setKeyupData(event, 'left', keys, pid)
-                },
-                //键盘事件 右键
-                keyupShiftRight(event) {
-                    _this.setKeyupData(event, 'right', keys, pid)
-                },
-                //日期时间框键盘事件
-                dateKeydown({ type, name }) {
-                    _this.setKeyupData(name, type, keys, pid)
-                },
-                //输入左键点击事件
-                inputLeftClick(event, key) {
-                    setTimeout(() => {
-                        if (onLeftClick) {
-                            onLeftClick(key)
-                        }
-                    }, 100)
-                },
-                setChartRefs(el, pKeyId, key) {
-                    if (onChartRefs) onChartRefs(el, pKeyId, key)
-                },
-            },
-            //html标签数据
-            template,
-        })
-        // 饿了么UI框架
-        app.use(ElementPlus, {
-            locale: zhCn,
-        })
-        nextTick(() => {
-            const vm = app.mount(appId)
-            this.tableFormApp = app
-            this.tableFormVM = vm
-            return { app, vm }
-        })
-    }
-
-    //处理日期范围数据
-    static setPickerKey(data) {
-        const pickerKey = data['pickerKey'] || ''
-        if (pickerKey) {
-            const pickerKeys = pickerKey.split(',')
-            for (let i = 0; i < pickerKeys.length; i++) {
-                const val = data[pickerKeys[i]] || ''
-                if (val) {
-                    const dataVal = val.replace(/'/g, '"')
-                    data[pickerKeys[i]] = toParse(dataVal) || []
-                } else {
-                    data[pickerKeys[i]] = []
-                }
-            }
-        }
-        return data
-    }
-
-    //处理日期时间框的切换事件
-    static setByClassKeyup(keys, pid = '') {
-        try {
-            let poppers = document.getElementsByClassName('hc-table-form-date-picker')
-            for (let i = 0; i < poppers.length; i++) {
-                let item = poppers[i], key = ''
-                const ids = item.getAttribute('class').split('-form-id-')
-                if (ids.length >= 1) {
-                    key = ids[1]
-                }
-                if (ids) {
-                    let panels = item.getElementsByClassName('el-picker-panel__content')
-                    this.setElementsEvent(panels, key, keys, pid)
-                }
-            }
-        } catch (e) {
-            console.log(e)
-        }
-    }
-
-    //设置事件
-    static setElementsEvent(elements, key, keys, pid = '') {
-        if (elements.length > 0) {
-            const _this = this
-            elements[0].addEventListener('keydown', e => {
-                e.stopPropagation()
-                if (e.key === 'ArrowUp') {
-                    _this.setKeyupData({ target: { id: key } }, 'up', keys, pid)
-                } else if (e.key === 'ArrowDown') {
-                    _this.setKeyupData({ target: { id: key } }, 'down', keys, pid)
-                } else if (e.key === 'ArrowLeft') {
-                    _this.setKeyupData({ target: { id: key } }, 'left', keys, pid)
-                } else if (e.key === 'ArrowRight') {
-                    _this.setKeyupData({ target: { id: key } }, 'right', keys, pid)
-                }
-            }, {
-                capture: true,
-            })
-        }
-    }
-
-    //计算上下左右快捷键的
-    static setKeyupData({ target }, type, keys, pid = '') {
-        const key = target.id
-        //处理快捷键数据和事件
-        if (key && type && isArray(keys)) {
-            //计算当前的位置
-            let left = -1, top = -1
-            for (let i = 0; i < keys.length; i++) {
-                if (isArray(keys[i])) {
-                    const index = keys[i].findIndex(id => id === key)
-                    if (index !== -1) {
-                        left = index
-                        top = i
-                        break
-                    }
-                }
-            }
-            if (type === 'up') {
-                //向上移动
-                if (top > 0) {
-                    let keyId = ''
-                    const tops = keys[top - 1]
-                    const keyLength = tops.length - 1
-                    if (keyLength < left) {
-                        keyId = tops[keyLength]
-                    } else {
-                        keyId = tops[left]
-                    }
-                    this.setElementFocus(keyId, pid)
-                }
-            } else if (type === 'down') {
-                //向下移动
-                const tops = keys.length - 1
-                if (tops > top) {
-                    let keyId = ''
-                    const tops = keys[top + 1]
-                    const keyLength = tops.length - 1
-                    if (keyLength < left) {
-                        keyId = tops[keyLength]
-                    } else {
-                        keyId = tops[left]
-                    }
-                    this.setElementFocus(keyId, pid)
-                }
-            } else if (type === 'left') {
-                //向左移动
-                if (left > 0) {
-                    const keyId = keys[top][left - 1]
-                    this.setElementFocus(keyId, pid)
-                }
-            } else if (type === 'right') {
-                //向右移动
-                const lefts = keys[top]
-                const leftLength = lefts.length - 1
-                if (leftLength > left) {
-                    const keyId = lefts[left + 1]
-                    this.setElementFocus(keyId, pid)
-                }
-            }
-        }
-    }
-
-    //设置元素焦点
-    static setElementFocus(key, pid) {
-        if (key) {
-            try {
-                this.getQuerySelector(key, pid)?.focus()
-            } catch { /* empty */ }
-        }
-    }
-
-    //获取表单元素
-    static async getQuerySelector(key, pid = '') {
-        let dom
-        if (pid) {
-            dom = document.querySelector(`#${pid} #${key.toString()}`)
-        } else {
-            dom = document.getElementById(key.toString())
-        }
-        return dom
-    }
-
-    //设置表单样式
-    static async setFormStyle(key, name = 'hc-red-border', pid = '', add = false) {
-        const dom = await this.getQuerySelector(key, pid)
-        const parent = dom?.parentElement ?? ''
-        if (dom?.tagName === 'INPUT') {
-            const parentElement = parent?.parentElement ?? ''
-            this.setFormClass(parentElement, name, add)
-        } else if (dom?.tagName === 'TEXTAREA') {
-            this.setFormClass(dom, name, add)
-        }
-    }
-
-    static setFormClass(dom, name = 'hc-red-border', add = false) {
-        const classStr = dom.getAttribute('class')
-        const classArr = classStr.split(' ')
-        const index = classArr.indexOf(name)
-        if (index === -1 && add) {
-            classArr.push(name)
-        } else if (index !== -1 && add === false) {
-            classArr.splice(index, 1)
-        }
-        dom.setAttribute('class', classArr.join(' '))
-    }
-
-    //设置选中样式
-    static setCheckKeyStyle(key, pid = '', remove = false) {
-        if (remove) {
-            this.setFormStyle(key, 'hc-green-border', pid).then()
-        } else {
-            this.setFormStyle(key, 'hc-green-border', pid, true).then()
-        }
-    }
-
-    //设置全局按键监听
-    static setOnEventKey({ onCtrlDown, onCtrlDownC, onCtrlDownV, onCtrlUp }) {
-        //全局按键按下监听
-        document.onkeydown = (event) => {
-            if (onCtrlDown || onCtrlDownC || onCtrlDownV) {
-                const { key, ctrlKey, metaKey } = event
-                const isCtrl = window.isMac ? metaKey : window.isWin ? ctrlKey : false
-                //window.$HcLog('全局按键', 'isCtrl', isCtrl)
-                //按下ctrl键 或 control 键
-                if (onCtrlDown && isCtrl && key === window?.isCtrl) {
-                    onCtrlDown(event)
-                }
-                //按下复制快捷键
-                if (onCtrlDownC && isCtrl && key === 'c') {
-                    onCtrlDownC(event)
-                }
-                //按下粘贴快捷键
-                if (onCtrlDownV && isCtrl && key === 'v') {
-                    onCtrlDownV(event)
-                }
-            }
-        }
-        //全局键盘放开监听
-        document.onkeyup = (event) => {
-            if (onCtrlUp) {
-                const { key, ctrlKey, metaKey } = event
-                const isCtrl = window.isMac ? metaKey : window.isWin ? ctrlKey : false
-                if (!isCtrl && key === window?.isCtrl) {
-                    onCtrlUp(event)
-                }
-            }
-        }
-    }
-
-    //卸载全局按键监听
-    static unmountEventKey() {
-        document.onkeydown = null
-        document.onkeyup = null
-    }
-
-    //卸载实例
-    static unmountFormApp() {
-        if (this.tableFormApp) {
-            this.tableFormApp?.unmount()
-            this.tableFormApp = null
-        }
-    }
-
-}