From a660db06773007b1be690e0674829c00a57aeb7b Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期三, 24 十二月 2025 16:21:23 +0800
Subject: [PATCH] 订单首页流程卡新增楼层编号显示
---
north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue | 101 ++++++++++++++++++++++++++++++--------------------
1 files changed, 60 insertions(+), 41 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue b/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
index 1c02fe1..5e7e613 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
@@ -13,6 +13,7 @@
import DxfParser from 'dxf-parser';
import { Leafer, Polygon,Ellipse,Line,Path } from 'leafer-ui'
import {round} from "xe-utils";
+import {add} from '@/utils/decimal'
const { t } = useI18n()
const router = useRouter()
@@ -23,6 +24,9 @@
const company = companyInfo()
const xGrid = ref()
const trademarkLocation=ref([t('craft.upperLeft'),t('craft.upperRight'),t('craft.lowLeft'),t('craft.lowRight')])
+const qrcodeLocation=ref({})
+
+
const gridOptions = reactive({
loading:true,
border: "full",//琛ㄦ牸鍔犺竟妗�
@@ -158,7 +162,7 @@
}
case 'computedSize' :{
let result = toolbarButtonClickEvent()
- if(!result || result.cell!=='childWidth'){
+ if(!result || !(result.cell==='childWidth' || result.cell==='childHeight')){
break
}
ElMessageBox.prompt('', '', {
@@ -171,8 +175,7 @@
const value1 = value*1
$grid.getTableData().visibleData.forEach((item,index) =>{
if(index>=result.start && index<=result.end){
-
- item[result.cell] = item[result.cell]*1+value1
+ item[result.cell] =add(item[result.cell]*1,value1)
}
})
@@ -307,14 +310,14 @@
xMargin:30,
yMargin:30,
location:[],
- qrcode1:{
- xMargin:10,
- yMargin:10,
+ qr1:{
+ x:10,
+ y:10,
location:[]
},
- qrcode2:{
- xMargin:10,
- yMargin:10,
+ qr2:{
+ x:10,
+ y:10,
location:[]
}
@@ -364,6 +367,8 @@
if(res.data.data.file_json!=null){
fileJson.value= JSON.parse(res.data.data.file_json)
selectData(fileJson.value)
+ }else{
+ return
}
const byteCharacters = atob(b64Data);
const parser = new DxfParser();
@@ -379,17 +384,17 @@
trademarkVisible.value= true
if(row.icon!=null && row.icon!==''){
let trademark = JSON.parse(row.icon)
- if(trademark.qrcode2 === undefined){
+ if(trademark.qr2 === undefined){
trademark.width = null
trademark.height = null
- trademark.qrcode1 = {
- xMargin:10,
- yMargin:10,
+ trademark.qr1 = {
+ x:10,
+ y:10,
location:t('craft.lowLeft'),
}
- trademark.qrcode2 = {
- xMargin:10,
- yMargin:10,
+ trademark.qr2 = {
+ x:10,
+ y:10,
location:t('craft.upperRight')
}
}
@@ -407,14 +412,14 @@
xMargin:30,
yMargin:30,
location:t('craft.lowLeft'),
- qrcode1:{
- xMargin:10,
- yMargin:10,
+ qr1:{
+ x:10,
+ y:10,
location:t('craft.lowLeft'),
},
- qrcode2:{
- xMargin:10,
- yMargin:10,
+ qr2:{
+ x:10,
+ y:10,
location:t('craft.upperRight')
}
}
@@ -467,6 +472,10 @@
//鍒濆鍖栧垽鏂槸鍚︽湁id浼犲叆
onMounted(()=>{
addListener(xGrid.value,gridOptions)
+ qrcodeLocation.value[t('craft.default')] = ""
+ trademarkLocation.value.forEach(item =>{
+ qrcodeLocation.value[item] = item
+ })
const str = route.query.orderId
if (typeof str === 'undefined' || str === null || str === '' || str === '\n' || str === '\r'){
return
@@ -1308,7 +1317,7 @@
:close-on-click-modal="false"
:close-on-press-escape="false"
@closed="handleClosed"
- style="width: 922px;height:750px;margin-top: 100px ;
+ style="width: 1122px;height:750px;margin-top: 100px ;
position: relative;" >
<div style="width: 50%;height: 100%;float: left">
<el-row style="">
@@ -1386,14 +1395,19 @@
<el-row>
<el-col :span="5">{{$t('craft.qr1Local')}}:</el-col>
<el-col :span="25">
- <el-radio v-model="trademarkAttr.qrcode1.location" v-for="item in trademarkLocation" :label="item" />
+ <el-radio v-model="trademarkAttr.qr1.location"
+ v-for="(item,keys) in qrcodeLocation"
+ :value="item"
+ >
+ {{keys}}
+ </el-radio>
</el-col>
</el-row>
<el-row>
<el-col :span="5">X:</el-col>
<el-col :span="6">
- <el-input-number v-model="trademarkAttr.qrcode1.xMargin"/>
+ <el-input-number v-model="trademarkAttr.qr1.x"/>
</el-col>
</el-row>
@@ -1402,7 +1416,7 @@
<el-row>
<el-col :span="5">Y:</el-col>
<el-col :span="6">
- <el-input-number v-model="trademarkAttr.qrcode1.yMargin"/>
+ <el-input-number v-model="trademarkAttr.qr1.y"/>
</el-col>
</el-row>
<!--浜岀淮鐮�2-->
@@ -1419,14 +1433,19 @@
<el-row>
<el-col :span="5">{{$t('craft.qr2Local')}}:</el-col>
<el-col :span="25">
- <el-radio v-model="trademarkAttr.qrcode2.location" v-for="item in trademarkLocation" :label="item" />
+ <el-radio v-model="trademarkAttr.qr2.location"
+ v-for="(item,keys) in qrcodeLocation"
+ :value="item"
+ >
+ {{keys}}
+ </el-radio>
</el-col>
</el-row>
<el-row>
<el-col :span="5">X:</el-col>
<el-col :span="6">
- <el-input-number v-model="trademarkAttr.qrcode2.xMargin"/>
+ <el-input-number v-model="trademarkAttr.qr2.x"/>
</el-col>
</el-row>
@@ -1435,7 +1454,7 @@
<el-row>
<el-col :span="5">Y:</el-col>
<el-col :span="6">
- <el-input-number v-model="trademarkAttr.qrcode2.yMargin"/>
+ <el-input-number v-model="trademarkAttr.qr2.y"/>
</el-col>
</el-row>
@@ -1451,7 +1470,7 @@
position: relative;display: flex;justify-content: center;align-content: center;">
<div id="mains" ref="parent" >
- <div id="iocn" ref="draggable"
+ <div id="icon" ref="draggable"
v-if="tagCheck(t('craft.upperLeft'))"
:style="{marginLeft:trademarkAttr.xMargin/big+'px',marginTop:trademarkAttr.yMargin/big+'px'}"
style="width: 20px;height: 20px;left: 0;top: 0;background-color: red;position: absolute;"
@@ -1459,13 +1478,13 @@
>
<el-image @dblclick="trademarkenlargement" style="width: 100%;height: 100%" :src="iconNickname"/>
</div>
- <div id="iocn" ref="draggable" v-if="tagCheck(t('craft.upperRight'))" @mousedown="startDragUpperRight" :style="{marginRight:trademarkAttr.xMargin/big+'px',marginTop:trademarkAttr.yMargin/big+'px'}" style="width: 20px;height: 20px;right: 0;top: 0;background-color: red;position: absolute;">
+ <div id="icon" ref="draggable" v-if="tagCheck(t('craft.upperRight'))" @mousedown="startDragUpperRight" :style="{marginRight:trademarkAttr.xMargin/big+'px',marginTop:trademarkAttr.yMargin/big+'px'}" style="width: 20px;height: 20px;right: 0;top: 0;background-color: red;position: absolute;">
<el-image @dblclick="trademarkenlargement" style="width: 100%;height: 100%" :src="iconNickname"/>
</div>
- <div id="iocn" ref="draggable" v-if="tagCheck(t('craft.lowLeft'))" @mousedown="startDragLowLeft" :style="{marginLeft:trademarkAttr.xMargin/big+'px',marginBottom:trademarkAttr.yMargin/big+'px'}" style="width: 20px;height: 20px;left: 0;bottom: 0;background-color: red;position: absolute;">
+ <div id="icon" ref="draggable" v-if="tagCheck(t('craft.lowLeft'))" @mousedown="startDragLowLeft" :style="{marginLeft:trademarkAttr.xMargin/big+'px',marginBottom:trademarkAttr.yMargin/big+'px'}" style="width: 20px;height: 20px;left: 0;bottom: 0;background-color: red;position: absolute;">
<el-image @dblclick="trademarkenlargement" style="width: 100%;height: 100%" :src="iconNickname"/>
</div>
- <div id="iocn" ref="draggable" v-if="tagCheck(t('craft.lowRight'))" @mousedown="startDragLowRight" :style="{marginRight:trademarkAttr.xMargin/big+'px',marginBottom:trademarkAttr.yMargin/big+'px'}" style="width: 20px;height: 20px;right: 0;bottom: 0;background-color: red;position: absolute;">
+ <div id="icon" ref="draggable" v-if="tagCheck(t('craft.lowRight'))" @mousedown="startDragLowRight" :style="{marginRight:trademarkAttr.xMargin/big+'px',marginBottom:trademarkAttr.yMargin/big+'px'}" style="width: 20px;height: 20px;right: 0;bottom: 0;background-color: red;position: absolute;">
<el-image @dblclick="trademarkenlargement" style="width: 100%;height: 100%" :src="iconNickname"/>
</div>
<canvas id="canvas" ></canvas>
@@ -1473,8 +1492,8 @@
</div>
- <div id="width" style="height: 20px;position: absolute;top: 33px;left: 652px;">{{orderDetailWidth}}</div>
- <div id="height" style="width: 60px;position: absolute;top: 178px;left: 390px;">{{orderDetailHeight}}</div>
+ <div id="width" style="height: 20px;position: absolute;top: 33px;left: 752px;">{{orderDetailWidth}}</div>
+ <div id="height" style="width: 60px;position: absolute;top: 178px;right: 100px;">{{orderDetailHeight}}</div>
<div style="float: left;margin-top: 20px;margin-left: 80px">
<el-input class="contactNumber" @blur="getproject" type="text" v-model="data1" />
<el-input class="contactNumber" @blur="getproject" type="text" v-model="data2" />
@@ -1485,12 +1504,12 @@
<el-input class="contactNumber" @blur="getproject" type="text" v-model="data7" />
<el-input class="contactNumber" @blur="getproject" type="text" v-model="data8" /><br>
</div>
- <div id="width" style="height: 20px;position: absolute;top: 332px;left: 520px;">{{$t('order.upper')}}</div>
- <div id="width" style="height: 20px;position: absolute;top: 354px;left: 520px;">{{$t('order.down')}}</div>
- <div id="width" style="height: 20px;position: absolute;top: 312px;left: 562px;">{{$t('order.horizontal')}}</div>
- <div id="width" style="height: 20px;position: absolute;top: 312px;left: 625px;">{{$t('order.vertical')}}</div>
- <div id="width" style="height: 20px;position: absolute;top: 312px;left: 695px;">{{$t('order.horizontal')}}</div>
- <div id="width" style="height: 20px;position: absolute;top: 312px;left: 760px;">{{$t('order.vertical')}}</div>
+ <div id="width" style="height: 20px;position: absolute;top: 332px;left: 520px;margin-left: 80px">{{$t('order.upper')}}</div>
+ <div id="width" style="height: 20px;position: absolute;top: 354px;left: 520px;margin-left: 80px">{{$t('order.down')}}</div>
+ <div id="width" style="height: 20px;position: absolute;top: 312px;left: 562px;margin-left: 80px">{{$t('order.horizontal')}}</div>
+ <div id="width" style="height: 20px;position: absolute;top: 312px;left: 625px;margin-left: 80px">{{$t('order.vertical')}}</div>
+ <div id="width" style="height: 20px;position: absolute;top: 312px;left: 695px;margin-left: 80px">{{$t('order.horizontal')}}</div>
+ <div id="width" style="height: 20px;position: absolute;top: 312px;left: 760px;margin-left: 80px">{{$t('order.vertical')}}</div>
<div v-if="enlargementFlag" style="width: 400px;height: 250px;float: left;position: relative;background-color: red">
<el-image @dblclick="trademarkenlargement" style="z-index: 9999;max-width: 100%;max-height: 100%" :src="iconNickname"/>
</div>
--
Gitblit v1.8.0