From 6819b982d93ad6d89539290c43422e231d9336c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=A6=8F=E8=B4=A2?= <1471584931@qq.com> Date: Mon, 2 Mar 2026 14:26:55 +0800 Subject: [PATCH] =?UTF-8?q?---=E5=BC=80=E5=8F=91=E6=95=B0=E5=AD=97?= =?UTF-8?q?=E8=BE=93=E5=85=A5=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 3 +- Dockerfile | 2 +- src/components/input-number/index.ts | 3 + .../input-number/input-number.model.ts | 75 ++++++++++++++ src/components/input-number/input-number.vue | 99 +++++++++++++++++++ src/components/registerGlobComp.ts | 3 +- src/main.ts | 4 - src/views/mdm/Testflow003/index.vue | 12 ++- types/global.d.ts | 28 ++++++ 9 files changed, 218 insertions(+), 11 deletions(-) create mode 100644 src/components/input-number/index.ts create mode 100644 src/components/input-number/input-number.model.ts create mode 100644 src/components/input-number/input-number.vue diff --git a/.env.development b/.env.development index 7e9f550..894a34a 100644 --- a/.env.development +++ b/.env.development @@ -10,7 +10,8 @@ VITE_PUBLIC_PATH = / # 如果接口地址匹配到,则会转发到http://localhost:3000,防止本地出现跨域问题 # 可以有多个,注意多个不能换行,否则代理将会失效 #VITE_PROXY = [["/api","http://localhost:3000"],["/upload","http://localhost:3300/upload"]] -VITE_PROXY=[["/api/workflow","http://10.0.0.2:8093/workflow/"],["/api","http://10.10.2.102:9500"]] +#VITE_PROXY=[["/api/workflow","http://10.0.0.2:8093/workflow/"],["/api","http://10.10.2.102:9500"]] +VITE_PROXY=[["/api","http://10.10.2.102:9500"]] #VITE_PROXY=[["/api/approve/","http://127.0.0.1:8096","/approve/"],["/api","http://10.10.2.102:9500"]] #VITE_PROXY=[["/api/system/generator/","http://127.0.0.1:8091/system/generator/"],["/api/system/file/","http://127.0.0.1:8091/system/file/"],["/api/system/oss/","http://127.0.0.1:8091/system/oss/"],["/api/sales/","http://127.0.0.1:8096","/sales/"],["/api/mdm/","http://127.0.0.1:8096","/mdm/"],["/api","http://10.10.2.102:9500"]] #VITE_PROXY=[["/api/sales/","http://127.0.0.1:8096","/sales/"],["/api/mdm/","http://127.0.0.1:8096","/mdm/"],["/api","http://10.10.2.102:9500"]] diff --git a/Dockerfile b/Dockerfile index 1939ffc..72ed022 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,4 +15,4 @@ VOLUME ["/etc/nginx/nginx.conf", "/usr/share/nginx/html"] CMD ["nginx","-g","daemon off;"] -# docker build -t docker.ges.bjgastx.com/itc-web:1.0.0 . +# docker build -t docker.ges.bjgastx.com/itc-web:1.1.1 . diff --git a/src/components/input-number/index.ts b/src/components/input-number/index.ts new file mode 100644 index 0000000..8f78941 --- /dev/null +++ b/src/components/input-number/index.ts @@ -0,0 +1,3 @@ +import { withInstall } from '/@/utils'; +import input from './input-number.vue'; +export const InputNumber = withInstall(input); \ No newline at end of file diff --git a/src/components/input-number/input-number.model.ts b/src/components/input-number/input-number.model.ts new file mode 100644 index 0000000..a49eb8a --- /dev/null +++ b/src/components/input-number/input-number.model.ts @@ -0,0 +1,75 @@ +import { NoValueType } from "@grapecity/activereports/core"; + +declare type ValueType = string | number | undefined; + + +export class InputNumberModel { + viewValue: ValueType = undefined; + modelValue: ValueType = undefined; + focus: boolean = false; + digits: number = 2; + _fmt:string|undefined = undefined; + emit: any; + ref: any; + + get numberFormat() { + if(this._fmt==undefined){ + this._fmt = this.createNumberFmt(this.digits); + } + return this._fmt; + } + + createNumberFmt(num:number){ + let numFmt = "###,###,###,###,###,###"; + if(num>0){ + numFmt += "."; + for (let i = 0; i < num; i++) { + numFmt += "0"; + } + } + return numFmt; + } + + + bind(digits: number,ref:any,emit:any) { + this.digits = digits==undefined?2:digits; + this.ref = ref; + this.emit = emit; + } + + setViewValue(value: ValueType) { + this.viewValue = value; + this.modelValue = this.viewToModel(value); + this.triggerVm(); + } + + viewToModel(vv: ValueType):ValueType { + if(vv==undefined) return; + if(!this.focus){ + this.viewValue = Number.format(Number.parse(vv),this.numberFormat); + } + return Number.parse(vv); + } + + setModelValue(value: ValueType) { + this.modelValue = value; + this.viewValue = this.modelToView(value); + } + + modelToView(mv: ValueType): ValueType { + if(mv==undefined || mv==null || mv== '') return ''; + if(this.focus){ + return mv+''; + } + return Number.format(Number.parse(mv),this.numberFormat); + } + + isEmpty() { + return this.modelValue === undefined || this.viewValue === null || this.viewValue === ''; + } + + triggerVm(){ + this.emit('update:value',this.modelValue); + this.emit('change',this.modelValue); + } +} diff --git a/src/components/input-number/input-number.vue b/src/components/input-number/input-number.vue new file mode 100644 index 0000000..37351d0 --- /dev/null +++ b/src/components/input-number/input-number.vue @@ -0,0 +1,99 @@ + + + diff --git a/src/components/registerGlobComp.ts b/src/components/registerGlobComp.ts index a3ee310..edcd350 100644 --- a/src/components/registerGlobComp.ts +++ b/src/components/registerGlobComp.ts @@ -1,7 +1,8 @@ import type { App } from 'vue'; import { Button } from './Button'; import { Input, Layout } from 'ant-design-vue'; +import { InputNumber } from './input-number'; export function registerGlobComp(app: App) { - app.use(Input).use(Button).use(Layout); + app.use(Input).use(Button).use(Layout).use(InputNumber); } diff --git a/src/main.ts b/src/main.ts index 824da08..ac40d40 100644 --- a/src/main.ts +++ b/src/main.ts @@ -14,10 +14,6 @@ import { setupStore } from '/@/store'; import { setupGlobDirectives } from '/@/directives'; import { setupI18n } from '/@/locales/setupI18n'; import { registerGlobComp } from '/@/components/registerGlobComp'; -import TColor from '/@/utils/t-color'; - -let cols = new TColor("#4598FA").gradient("#85F7D8",5); -console.log(cols); import axios from 'axios'; import VueGridLayout from 'vue-grid-layout'; diff --git a/src/views/mdm/Testflow003/index.vue b/src/views/mdm/Testflow003/index.vue index d90975a..6b10ba1 100644 --- a/src/views/mdm/Testflow003/index.vue +++ b/src/views/mdm/Testflow003/index.vue @@ -1,6 +1,6 @@