From 891207469b41c23d22805876a4e179d75832572f Mon Sep 17 00:00:00 2001
From: leiqunqing <zhengqifeng@hnkhzn.com>
Date: 星期四, 05 三月 2026 11:03:52 +0800
Subject: [PATCH] 完整项目更新
---
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ProcessInfoDetail.cs | 67 -
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2 | 0
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IScanStationService.cs | 2
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/BoxingService.cs | 64 +
代码管理/WIDESEAWCS_Client/src/views/basicinfo/formula.vue | 420 ++++++--
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/BoxingDetailService.cs | 43
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PLCJob.cs | 95 +
代码管理/WIDESEAWCS_Client/src/extension/basicinfo/extend/formulaExecuteDetail.vue | 0
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.794.21998/CodeChunks.db | 0
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ProcessInfo.cs | 69 -
代码管理/WIDESEAWCS_Client/src/extension/basicinfo/scanStation.js | 12
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_Formula.cs | 100 +
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo | 0
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/BoxingController.cs | 17
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2 | 0
代码管理/WIDESEAWCS_Client/src/views/Home.vue | 198 +++
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/ScanStationService.cs | 291 +++--
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IBoxingService.cs | 3
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/BoxingDetailController.cs | 2
项目资料/发电机弹性支撑信息化流程卡-注释.pdf | 0
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.794.21998/SemanticSymbols.db | 0
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_FormulaDetail.cs | 16
代码管理/WIDESEAWCS_Client/src/assets/test.png | 0
代码管理/WIDESEAWCS_Client/src/extension/basicinfo/formula.js | 1
代码管理/WIDESEAWCS_Client/src/extension/basicinfo/processInfo.js | 1
代码管理/WIDESEAWCS_Client/src/views/basicinfo/processInfoDetail.vue | 334 +++---
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Common/Spire.XLS.dll | 0
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/Debug/net6.0/WIDESEAWCS_TaskInfoService.AssemblyInfo.cs | 2
代码管理/WIDESEAWCS_Client/config/buttons.js | 9
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ScanStation.cs | 57 -
代码管理/WIDESEAWCS_Client/src/views/basicinfo/processInfo.vue | 439 +++-----
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/Debug/net6.0/WIDESEAWCS_TaskInfoService.AssemblyInfoInputs.cache | 2
代码管理/WIDESEAWCS_Client/src/components/basic/VolUpload.vue | 248 ++--
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Common/PLCEnum/W_PLCDBName.cs | 25
代码管理/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/ScanStationController.cs | 4
项目资料/发电机弹性支撑BOM结构及工艺参数.pdf | 0
代码管理/WIDESEAWCS_Client/src/extension/basicinfo/extend/taskExecuteDetail.vue | 259 +++++
37 files changed, 1,790 insertions(+), 990 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/config/buttons.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/config/buttons.js"
index 50c4dfd..5d92bce 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/config/buttons.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/config/buttons.js"
@@ -136,6 +136,15 @@
onClick: function () {
this.export();
}
+},
+{
+ name: "瀵煎嚭娴佺▼鍗�",
+ icon: 'el-icon-bottom',
+ type: 'success',
+ plain: true,
+ value: 'ExportProcessCard',
+ onClick: function () {
+ }
}
]
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/assets/test.png" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/assets/test.png"
new file mode 100644
index 0000000..c109ce2
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/assets/test.png"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/components/basic/VolUpload.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/components/basic/VolUpload.vue"
index 4c7d696..87a2af7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/components/basic/VolUpload.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/components/basic/VolUpload.vue"
@@ -40,9 +40,7 @@
</div>
</div>
</div>
- <el-button v-else @click="handleClick"
- >閫夋嫨{{ img ? '鍥剧墖' : '鏂囦欢' }}</el-button
- >
+ <el-button v-else @click="handleClick">閫夋嫨{{ img ? "鍥剧墖" : "鏂囦欢" }}</el-button>
<el-button
v-if="!autoUpload && !img"
@@ -83,7 +81,7 @@
</div>
</template>
<script>
-let OSS = require('ali-oss');
+let OSS = require("ali-oss");
export default {
components: {},
props: {
@@ -91,62 +89,62 @@
//鏄惁鏄剧ず榛樿浠嬬粛
//鏄惁澶氶��
type: Boolean,
- default: false
+ default: false,
},
fileInfo: {
//鐢ㄤ簬鎺ユ敹涓婁紶鐨勬枃浠讹紝涔熷彲浠ュ姞浠ラ粯璁ゅ�硷紝鏄剧ず宸蹭笂浼犵殑鏂囦欢锛岀敤鎴蜂笂浼犲悗浼氳鐩栭粯璁ゅ��
type: Array,
default: () => {
return [];
- } //鏍煎紡[{name:'1.jpg',path:'127.0.01/1.jpg'}]
+ }, //鏍煎紡[{name:'1.jpg',path:'127.0.01/1.jpg'}]
},
downLoad: {
//鏄惁鍙互鐐瑰嚮鏂囦欢涓嬭浇
type: Boolean,
- default: true
+ default: true,
},
multiple: {
//鏄惁澶氶��
type: Boolean,
- default: false
+ default: false,
},
maxFile: {
//鏈�澶氬彲閫夋枃浠舵暟閲忥紝蹇呴』multiple=true锛屾墠浼氱敓鏁�
type: Number,
- default: 5
+ default: 5,
},
maxSize: {
//鏂囦欢闄愬埗澶у皬3M
type: Number,
- default: 50
+ default: 50,
},
autoUpload: {
//閫夋嫨鏂囦欢鍚庢槸鍚﹁嚜鍔ㄤ笂浼�
type: Boolean,
- default: true
+ default: true,
},
img: {
//鍥剧墖绫诲瀷 img>excel>fileTypes涓夌鏂囦欢绫诲瀷浼樺厛绾�
type: Boolean,
- default: false
+ default: false,
},
excel: {
//excel鏂囦欢
type: Boolean,
- default: false
+ default: false,
},
fileTypes: {
//鎸囧畾涓婁紶鏂囦欢鐨勭被鍨�
type: Array,
default: () => {
return [];
- }
+ },
},
url: {
//涓婁紶鐨剈rl
type: String,
- default: ''
+ default: "",
},
uploadBefore: {
//杩斿洖false浼氫腑姝㈡墽琛�
@@ -154,7 +152,7 @@
type: Function,
default: (files) => {
return true;
- }
+ },
},
uploadAfter: {
//杩斿洖false浼氫腑姝㈡墽琛�
@@ -162,14 +160,14 @@
type: Function,
default: (result, files) => {
return true;
- }
+ },
},
onChange: {
//閫夋嫨鏂囦欢鏃� //杩斿洖false浼氫腑姝㈡墽琛�
type: Function,
default: (files) => {
return true;
- }
+ },
},
// clear: {
// //涓婁紶瀹屾垚鍚庢槸鍚︽竻绌烘枃浠跺垪琛�
@@ -179,48 +177,48 @@
fileList: {
//鏄惁鏄剧ず閫夋嫨鐨勬枃浠跺垪琛�
type: Boolean,
- default: true
+ default: true,
},
fileClick: {
//鐐瑰嚮鏂囦欢浜嬩欢
type: Function,
default: (index, file, files) => {
return true;
- }
+ },
},
removeBefore: {
//绉婚櫎鏂囦欢浜嬩欢
type: Function,
default: (index, file, files) => {
return true;
- }
+ },
},
append: {
//姝ゅ睘鎬у凡搴熷純锛屽鏂囦欢涓婁紶锛岄粯璁よ拷鍔犳枃浠�
type: Boolean,
- default: false
+ default: false,
},
compress: {
//寮�鍚浘鐗囧帇缂�,鍚庨潰鏍规嵁闇�瑕佸啀瀹屽杽
type: Boolean,
- default: true
+ default: true,
},
compressMinSize: {
//鍘嬬缉鐨勬渶灏忔瘮渚�
type: Number,
- default: 0.1
- }
+ default: 0.1,
+ },
},
data() {
return {
- errorImg: 'this.src="' + require('@/assets/imgs/error-img.png') + '"',
+ errorImg: 'this.src="' + require("@/assets/imgs/error-img.png") + '"',
changed: false, //鎵嬪姩涓婁紶鎴愬姛鍚庣姝㈤噸澶嶄笂浼狅紝蹇呴』閲嶆柊閫夋嫨
model: true,
files: [],
- bigImg: '',
- imgTypes: ['gif', 'jpg', 'jpeg', 'png', 'bmp', 'webp', 'jfif'],
+ bigImg: "",
+ imgTypes: ["gif", "jpg", "jpeg", "png", "bmp", "webp", "jfif"],
loadingStatus: false,
- loadText: '涓婁紶鏂囦欢'
+ loadText: "涓婁紶鏂囦欢",
};
},
created() {
@@ -235,23 +233,23 @@
handler(files) {
this.cloneFile(files);
},
- deep: true
- }
+ deep: true,
+ },
},
methods: {
cloneFile(files) {
this.files = files.map((x) => {
return {
name: x.name || this.getFileName(x.path),
- path: x.path
+ path: x.path,
};
});
},
getFileName(path) {
if (!path) {
- return '鏈畾涔夋枃浠跺悕';
+ return "鏈畾涔夋枃浠跺悕";
}
- let _index = path.lastIndexOf('/');
+ let _index = path.lastIndexOf("/");
return path.substring(_index + 1);
},
previewImg(index) {
@@ -261,20 +259,20 @@
},
getSelector() {
if (this.autoUpload) {
- return 'auto-selector';
+ return "auto-selector";
}
- return 'submit-selector';
+ return "submit-selector";
},
getImgSrc(file, index) {
- if (file.hasOwnProperty('path')) {
+ if (file.hasOwnProperty("path")) {
if (this.base.isUrl(file.path)) {
return file.path;
}
//2020.12.27澧炲姞base64鍥剧墖鎿嶄綔
- if (file.path.indexOf('/9j/') != -1) {
- return 'data:image/jpeg;base64,' + file.path;
+ if (file.path.indexOf("/9j/") != -1) {
+ return "data:image/jpeg;base64," + file.path;
}
- if (file.path.substr(0, 1) == '/') {
+ if (file.path.substr(0, 1) == "/") {
file.path = file.path.substr(1);
}
return this.http.ipAddress + file.path;
@@ -290,23 +288,23 @@
return;
}
if (!file.path) {
- this.$message.error('璇峰厛涓婁紶鏂囦欢');
+ this.$message.error("璇峰厛涓婁紶鏂囦欢");
return;
}
this.base.dowloadFile(
file.path,
file.name,
{
- Authorization: this.$store.getters.getToken()
+ Authorization: this.$store.getters.getToken(),
},
this.http.ipAddress
);
},
getText() {
if (this.img) {
- return '鍙兘涓婁紶鍥剧墖,';
+ return "鍙兘涓婁紶鍥剧墖,";
} else if (this.excel) {
- return '鍙兘涓婁紶excel鏂囦欢,';
+ return "鍙兘涓婁紶excel鏂囦欢,";
}
},
handleClick() {
@@ -360,9 +358,9 @@
return this.files;
},
convertToFile(dataurl, filename) {
- let arr = dataurl.split(',');
+ let arr = dataurl.split(",");
let mime = arr[0].match(/:(.*?);/)[1];
- let suffix = mime.split('/')[1];
+ let suffix = mime.split("/")[1];
let bstr = atob(arr[1]);
let n = bstr.length;
let u8arr = new Uint8Array(n);
@@ -373,7 +371,7 @@
// 绗笁涓弬鏁版槸 瑕佹斁鍒版枃浠朵腑鐨勫唴瀹圭殑 MIME 绫诲瀷
return new File([u8arr], `${filename}.${suffix}`, {
type: mime,
- input: true
+ input: true,
});
},
async compressImg(file) {
@@ -385,14 +383,14 @@
let img = new Image();
img.src = e.target.result;
let _this = this;
- img.onload = function() {
+ img.onload = function () {
//榛樿鎸夋瘮渚嬪帇缂�
let w = this.width;
let h = this.height;
- let canvas = document.createElement('canvas');
- let ctx = canvas.getContext('2d');
- canvas.setAttribute('width', w);
- canvas.setAttribute('height', h);
+ let canvas = document.createElement("canvas");
+ let ctx = canvas.getContext("2d");
+ canvas.setAttribute("width", w);
+ canvas.setAttribute("height", h);
ctx.drawImage(this, 0, 0, w, h);
let rate = 0.3;
if (fileSize > 2) {
@@ -404,14 +402,14 @@
rate = _this.compressMinSize;
}
// rate=1;
- let base64 = canvas.toDataURL('image/jpeg', rate);
+ let base64 = canvas.toDataURL("image/jpeg", rate);
resolve(_this.convertToFile(base64, file.name));
};
};
});
},
async uploadOSS() {
- this.http.get('api/alioss/getAccessToken', {}, false).then(async (x) => {
+ this.http.get("api/alioss/getAccessToken", {}, false).then(async (x) => {
if (!x.status) return this.$Message.error(x.message);
let client = new OSS({
// yourRegion濉啓Bucket鎵�鍦ㄥ湴鍩熴�備互鍗庝笢1锛堟澀宸烇級涓轰緥锛孯egion濉啓涓簅ss-cn-hangzhou銆�
@@ -422,14 +420,14 @@
// 浠嶴TS鏈嶅姟鑾峰彇鐨勫畨鍏ㄤ护鐗岋紙SecurityToken锛夈��
stsToken: x.data.securityToken,
// 濉啓Bucket鍚嶇О銆�
- bucket: x.data.bucket
+ bucket: x.data.bucket,
});
console.log(this.files);
for (let index = 0; index < this.files.length; index++) {
const file = this.files[index];
if (file.input) {
let result = await client.put(
- x.data.bucketFolder + '/' + x.data.unique + file.name,
+ x.data.bucketFolder + "/" + x.data.unique + file.name,
file
);
file.path = result.url;
@@ -442,7 +440,7 @@
let _files = this.files.map((file) => {
return {
name: file.newName || file.name,
- path: file.path
+ path: file.path,
};
});
this.fileInfo.push(..._files);
@@ -454,41 +452,41 @@
async upload(vail) {
if (vail && !this.checkFile()) return false;
if (!this.url) {
- return this.$message.error('娌℃湁閰嶇疆濂経rl');
+ return this.$message.error("娌℃湁閰嶇疆濂経rl");
}
if (!this.files || this.files.length == 0) {
- return this.$message.error('璇烽�夋嫨鏂囦欢');
+ return this.$message.error("璇烽�夋嫨鏂囦欢");
}
//澧炲姞涓婁紶鏃惰嚜瀹氫箟鍙傛暟锛屽悗鍙颁娇鐢ㄨ幏鍙朥tilities.HttpContext.Current.Request.Query["瀛楁"]
- let params={};
- if (!this.uploadBefore(this.files,params)) {
+ let params = {};
+ if (!this.uploadBefore(this.files, params)) {
return;
}
- let paramText="";
+ let paramText = "";
if (Object.keys(params).length) {
- paramText="?1=1";
+ paramText = "?1=1";
for (const key in params) {
- let value=params[key];
- if(typeof(value)=='object'){
- value=JSON.stringify(value)
+ let value = params[key];
+ if (typeof value == "object") {
+ value = JSON.stringify(value);
}
- paramText+=`&${key}=${value}`
+ paramText += `&${key}=${value}`;
}
}
this.loadingStatus = true;
- this.loadText = '涓婁紶涓�..';
+ this.loadText = "涓婁紶涓�..";
if (window.oss && window.oss.ali.use) {
await this.uploadOSS();
this.loadingStatus = false;
- this.loadText = '涓婁紶鏂囦欢';
- if (!this.uploadAfter({status:true}, this.files)) {
+ this.loadText = "涓婁紶鏂囦欢";
+ if (!this.uploadAfter({ status: true }, this.files)) {
this.changed = false;
return;
} else {
this.changed = true;
}
- this.$message.success('涓婁紶鎴愬姛');
+ this.$message.success("涓婁紶鎴愬姛");
return;
}
@@ -496,32 +494,32 @@
for (let index = 0; index < this.files.length; index++) {
let file = this.files[index];
if (file.input) {
- let name = file.name.split('.');
+ let name = file.name.split(".");
name = name[name.length - 1].toLocaleLowerCase();
let isImg = this.imgTypes.indexOf(name) != -1;
- if (isImg && (name == 'jpg' || name == 'jpeg')) {
+ if (isImg && (name == "jpg" || name == "jpeg")) {
//>200KB鐨勫紑鍚帇缂�
if (isImg && file.size / 1024 / 1024 > 0.2) {
- console.log('鍘嬬缉鍓�' + file.size);
+ console.log("鍘嬬缉鍓�" + file.size);
file = await this.compressImg(file);
file.compress = true;
this.files[index] = file;
this.files[index].input = true;
- console.log('鍘嬬缉鍚�' + file.size);
+ console.log("鍘嬬缉鍚�" + file.size);
}
}
- forms.append('fileInput', file, file.name);
+ forms.append("fileInput", file, file.name);
}
}
// forms.append("fileInput", this.files);
this.http
- .post(this.url+paramText, forms, this.autoUpload ? '姝e湪涓婁紶鏂囦欢' : '')
+ .post(this.url + paramText, forms, this.autoUpload ? "姝e湪涓婁紶鏂囦欢" : "")
.then(
(x) => {
// this.$refs.uploadFile.clearFiles();
this.loadingStatus = false;
- this.loadText = '涓婁紶鏂囦欢';
+ this.loadText = "涓婁紶鏂囦欢";
if (!this.uploadAfter(x, this.files)) {
this.changed = false;
return;
@@ -541,7 +539,7 @@
let _files = this.files.map((file) => {
return {
name: file.name,
- path: file.path || x.data + file.name
+ path: file.path || x.data + file.name,
};
});
this.fileInfo.push(..._files);
@@ -549,18 +547,14 @@
this.files = _files;
},
(error) => {
- this.loadText = '涓婁紶鏂囦欢';
+ this.loadText = "涓婁紶鏂囦欢";
this.loadingStatus = false;
}
);
},
format(file, checkFileType) {
- const format =
- file.name
- .split('.')
- .pop()
- .toLocaleLowerCase() || '';
- let fileIcon = 'el-icon-document';
+ const format = file.name.split(".").pop().toLocaleLowerCase() || "";
+ let fileIcon = "el-icon-document";
if (this.fileTypes.length > 0 && checkFileType != undefined) {
if (this.fileTypes.indexOf(format) != -1) {
return true;
@@ -570,8 +564,8 @@
if (
checkFileType &&
!(checkFileType instanceof Array) &&
- checkFileType != 'img' &&
- checkFileType != 'excel'
+ checkFileType != "img" &&
+ checkFileType != "excel"
) {
if (checkFileType.indexOf(format) > -1) {
return true;
@@ -580,41 +574,39 @@
}
}
- if (checkFileType == 'img' || this.imgTypes.indexOf(format) > -1) {
- if (checkFileType == 'img') {
+ if (checkFileType == "img" || this.imgTypes.indexOf(format) > -1) {
+ if (checkFileType == "img") {
if (this.imgTypes.indexOf(format) > -1) {
return true;
} else {
return false;
}
}
- fileIcon = 'el-icon-picture-outline';
+ fileIcon = "el-icon-picture-outline";
}
if (
- ['mp4', 'm3u8', 'rmvb', 'avi', 'swf', '3gp', 'mkv', 'flv'].indexOf(
- format
- ) > -1
+ ["mp4", "m3u8", "rmvb", "avi", "swf", "3gp", "mkv", "flv"].indexOf(format) > -1
) {
- fileIcon = 'el-icon-document';
+ fileIcon = "el-icon-document";
}
- if (['mp3', 'wav', 'wma', 'ogg', 'aac', 'flac'].indexOf(format) > -1) {
- fileIcon = 'el-icon-document';
+ if (["mp3", "wav", "wma", "ogg", "aac", "flac"].indexOf(format) > -1) {
+ fileIcon = "el-icon-document";
}
- if (['doc', 'txt', 'docx', 'pages', 'epub', 'pdf'].indexOf(format) > -1) {
- fileIcon = 'el-icon-document';
+ if (["doc", "txt", "docx", "pages", "epub", "pdf"].indexOf(format) > -1) {
+ fileIcon = "el-icon-document";
}
if (
- checkFileType == 'excel' ||
- ['numbers', 'csv', 'xls', 'xlsx'].indexOf(format) > -1
+ checkFileType == "excel" ||
+ ["numbers", "csv", "xls", "xlsx"].indexOf(format) > -1
) {
- if (checkFileType == 'excel') {
- if (['numbers', 'csv', 'xls', 'xlsx'].indexOf(format) > -1) {
+ if (checkFileType == "excel") {
+ if (["numbers", "csv", "xls", "xlsx"].indexOf(format) > -1) {
return true;
} else {
return false;
}
}
- fileIcon = 'el-icon-document';
+ fileIcon = "el-icon-document";
}
return fileIcon;
},
@@ -627,11 +619,11 @@
files.length + (inputFiles || []).length > (this.maxFile || 5)
) {
this.$message.error(
- '鏈�澶氬彧鑳介�夈��' +
+ "鏈�澶氬彧鑳介�夈��" +
(this.maxFile || 5) +
- '銆�' +
- (this.img ? '寮犲浘鐗�' : '涓枃浠�') +
- ''
+ "銆�" +
+ (this.img ? "寮犲浘鐗�" : "涓枃浠�") +
+ ""
);
return false;
}
@@ -644,15 +636,15 @@
for (let index = 0; index < inputFiles.length; index++) {
const file = inputFiles[index];
if (names.indexOf(file.name) != -1) {
- file.name = '(' + index + ')' + file.name;
+ file.name = "(" + index + ")" + file.name;
}
names.push(file.name);
- if (this.img && !this.format(file, 'img')) {
- this.$message.error('閫夋嫨鐨勬枃浠躲��' + file.name + '銆戝彧鑳芥槸鍥剧墖鏍煎紡');
+ if (this.img && !this.format(file, "img")) {
+ this.$message.error("閫夋嫨鐨勬枃浠躲��" + file.name + "銆戝彧鑳芥槸鍥剧墖鏍煎紡");
return false;
}
- if (this.excel && !this.format(file, 'excel')) {
- this.$message.error('閫夋嫨鐨勬枃浠躲��' + file.name + '銆戝彧鑳芥槸excel鏂囦欢');
+ if (this.excel && !this.format(file, "excel")) {
+ this.$message.error("閫夋嫨鐨勬枃浠躲��" + file.name + "銆戝彧鑳芥槸excel鏂囦欢");
return false;
}
if (
@@ -661,28 +653,24 @@
!this.format(file, this.fileTypes)
) {
this.$message.error(
- '閫夋嫨鐨勬枃浠躲��' +
+ "閫夋嫨鐨勬枃浠躲��" +
file.name +
- '銆戝彧鑳芥槸銆�' +
- this.fileTypes.join(',') +
- '銆戞牸寮�'
+ "銆戝彧鑳芥槸銆�" +
+ this.fileTypes.join(",") +
+ "銆戞牸寮�"
);
return false;
}
if (file.size > (this.maxSize || 50) * 1024 * 1024) {
this.$message.error(
- '閫夋嫨鐨勬枃浠躲��' +
- file.name +
- '銆戜笉鑳借秴杩�:' +
- (this.maxSize || 50) +
- 'M'
+ "閫夋嫨鐨勬枃浠躲��" + file.name + "銆戜笉鑳借秴杩�:" + (this.maxSize || 50) + "M"
);
return false;
}
}
return true;
- }
- }
+ },
+ },
};
</script>
<style lang="less" scoped>
@@ -741,20 +729,26 @@
.img-selector {
position: relative;
cursor: pointer;
- margin: 0 10px 10px 0;
+ // margin: 0 10px 10px 0;
+ margin: 0px;
float: left;
- width: 65px;
- height: 65px;
+ width: 365px;
+ height: 365px;
border: 1px solid #c7c7c7;
overflow: hidden;
border-radius: 5px;
box-sizing: content-box;
+ background-image: url("~@/assets/test.png");
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: contain;
img {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
object-fit: cover;
+ // background-image: url("@/assets/logo.png");
}
.operation {
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/extension/basicinfo/extend/formulaExecuteDetail.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/extension/basicinfo/extend/formulaExecuteDetail.vue"
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/extension/basicinfo/extend/formulaExecuteDetail.vue"
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/extension/basicinfo/extend/taskExecuteDetail.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/extension/basicinfo/extend/taskExecuteDetail.vue"
new file mode 100644
index 0000000..ced7068
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/extension/basicinfo/extend/taskExecuteDetail.vue"
@@ -0,0 +1,259 @@
+<template>
+ <div>
+ <vol-box
+ v-model="showDetialBox"
+ :lazy="true"
+ width="1200px"
+ :padding="15"
+ title="浠诲姟璇︽儏"
+ >
+ <el-row height="50">
+ <el-col :span="24">
+ <div class="grid-content right-text">
+ <el-link type="primary" @click="switchView">鍒囨崲瑙嗗浘</el-link>
+ </div>
+ </el-col>
+ </el-row>
+ <div :style="{ height: height }">
+ <div v-if="viewType == 1">
+ <el-row height="50">
+ <el-col :span="8">
+ <div
+ class="grid-content content-text"
+ style="font-weight: bold; font-size: 18px"
+ >
+ <span>浠诲姟缂栧彿锛歿{ row.taskNum }}</span>
+ </div>
+ </el-col>
+ <el-col :span="8">
+ <div
+ class="grid-content content-text"
+ style="font-weight: bold; font-size: 18px"
+ >
+ <span>鎵樼洏缂栧彿锛歿{ row.palletCode }}</span>
+ </div>
+ </el-col>
+ <el-col :span="8">
+ <div
+ class="grid-content content-text"
+ style="font-weight: bold; font-size: 18px"
+ >
+ <span>浠诲姟鐘舵�侊細{{ row.taskState }}</span>
+ </div>
+ </el-col>
+ </el-row>
+ <div style="height: 100px; margin-top: 3%">
+ <el-steps :active="active" align-center finish-status="success">
+ <el-step
+ v-for="item in steps"
+ :key="item.title"
+ :title="item.title"
+ :description="item.description"
+ ></el-step>
+ </el-steps>
+ </div>
+ <el-row height="50" v-show="previousShow || nextShow">
+ <el-col :span="8">
+ <div v-show="previousShow" class="grid-content content-text">
+ <el-button type="danger" @click="previous"
+ >鍥炴粴鍒颁笂涓�姝�</el-button
+ >
+ </div>
+ </el-col>
+ <el-col :span="8">
+ <div v-show="recoveryShow" class="grid-content content-text">
+ <el-button type="primary" @click="recovery">浠诲姟鎸傝捣鎭㈠</el-button>
+ </div>
+ </el-col>
+ <el-col :span="8">
+ <div v-show="nextShow" class="grid-content content-text">
+ <el-button type="warning" @click="next">璺宠浆鍒颁笅涓�姝�</el-button>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
+ <div v-else>
+ <el-table
+ :data="tableData"
+ style="width: 100%"
+ :row-class-name="tableRowClassName"
+ >
+ <el-table-column type="index" width="50"> </el-table-column>
+ <el-table-column prop="taskNum" label="浠诲姟鍙�" width="90">
+ </el-table-column>
+ <el-table-column prop="taskState" label="浠诲姟鐘舵��" width="90">
+ </el-table-column>
+ <el-table-column prop="currentAddress" label="褰撳墠浣嶇疆" width="90">
+ </el-table-column>
+ <el-table-column prop="nextAddress" label="涓嬩竴浣嶇疆" width="90">
+ </el-table-column>
+ <el-table-column prop="isManual" label="鏄惁浜哄伐鎿嶄綔" width="120">
+ </el-table-column>
+ <el-table-column prop="isNormal" label="鏄惁姝e父" width="90">
+ </el-table-column>
+ <el-table-column prop="description" label="鎻忚堪"> </el-table-column>
+ <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" width="180">
+ </el-table-column>
+ <el-table-column prop="remark" label="澶囨敞" width="180">
+ </el-table-column>
+ </el-table>
+ </div>
+ </div>
+ </vol-box>
+ </div>
+</template>
+
+<script>
+import VolBox from "@/components/basic/VolBox.vue";
+export default {
+ components: { VolBox },
+ data() {
+ return {
+ active: 0,
+ showDetialBox: false,
+ row: {},
+ steps: [],
+ viewType: 1,
+ height: "200px",
+ tableData: [],
+ previousShow: false,
+ nextShow: false,
+ recoveryShow: true,
+ };
+ },
+ methods: {
+ open(row) {
+ this.row = row;
+ this.showDetialBox = true;
+ if (this.viewType == 1) {
+ this.getSteps();
+ } else {
+ this.getDetailDatas();
+ }
+
+ this.$emit("parentCall", ($vue) => {
+ var previousButton = $vue.buttons.find((x) => x.value == "Previous");
+ this.previousShow = previousButton != null;
+
+ var nextButton = $vue.buttons.find((x) => x.value == "Next");
+ this.nextShow = nextButton != null;
+ });
+ },
+ getSteps() {
+ this.http
+ .post(
+ "/api/TaskExecuteDetail/GetDetailInfo?taskNum=" + this.row.taskNum,
+ {},
+ true
+ )
+ .then((x) => {
+ if (!x.status) return this.$message.error(x.message);
+ this.steps = x.data.list;
+ this.active = x.data.active;
+ });
+ },
+ getDetailDatas() {
+ this.http
+ .post(
+ "/api/TaskExecuteDetail/GetDetailDatas?taskNum=" + this.row.taskNum,
+ {},
+ true
+ )
+ .then((x) => {
+ if (!x.status) return this.$message.error(x.message);
+ this.tableData = x.data;
+ });
+ },
+ previous() {
+ this.http
+ .post(
+ "/api/Task/RollbackTaskStatusToLast?taskNum=" + this.row.taskNum,
+ {},
+ true
+ )
+ .then((x) => {
+ if (!x.status) return this.$message.error(x.message);
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.getSteps();
+ });
+ },
+ recovery(){
+ this.http
+ .post(
+ "/api/Task/TaskStatusRecovery?taskNum=" + this.row.taskNum,
+ {},
+ true
+ )
+ .then((x) => {
+ if (!x.status) return this.$message.error(x.message);
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.getSteps();
+ });
+ },
+ next() {
+ this.http
+ .post(
+ "/api/Task/UpdateTaskStatusToNext?taskNum=" + this.row.taskNum,
+ {},
+ true
+ )
+ .then((x) => {
+ if (!x.status) return this.$message.error(x.message);
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.getSteps();
+ });
+ },
+ switchView() {
+ this.viewType = this.viewType == 1 ? 2 : 1;
+ if (this.viewType == 2) {
+ this.height = "600px";
+ this.getDetailDatas();
+ } else {
+ this.height = "200px";
+ }
+ },
+ tableRowClassName({ row, rowIndex }) {
+ if (!row.isNormal) {
+ return "error-row";
+ } else if (row.isManual) {
+ return "warning-row";
+ }
+ return "success-row";
+ },
+ },
+ created() {},
+};
+</script>
+
+<style scoped>
+.el-col {
+ border-radius: 4px;
+}
+.grid-content {
+ border-radius: 4px;
+ min-height: 36px;
+}
+.content-text {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+.right-text {
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+}
+</style>
+<style>
+.el-table .warning-row {
+ background: #fcf1e2;
+}
+
+.el-table .success-row {
+ background: #f0f9eb;
+}
+
+.el-table .error-row {
+ background: #fde2e2;
+}
+</style>
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/extension/basicinfo/formula.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/extension/basicinfo/formula.js"
index 76c1328..8371849 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/extension/basicinfo/formula.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/extension/basicinfo/formula.js"
@@ -12,6 +12,7 @@
buttons: [],//鎵╁睍鐨勬寜閽�
methods: {//浜嬩欢鎵╁睍
onInit() {
+
},
onInited() {
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/extension/basicinfo/processInfo.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/extension/basicinfo/processInfo.js"
index da94487..07fd8e5 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/extension/basicinfo/processInfo.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/extension/basicinfo/processInfo.js"
@@ -14,6 +14,7 @@
buttons: [],//鎵╁睍鐨勬寜閽�
methods: {//浜嬩欢鎵╁睍
onInit() {
+
},
onInited() {
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/extension/basicinfo/scanStation.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/extension/basicinfo/scanStation.js"
index da94487..4b5d85f 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/extension/basicinfo/scanStation.js"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/extension/basicinfo/scanStation.js"
@@ -14,6 +14,18 @@
buttons: [],//鎵╁睍鐨勬寜閽�
methods: {//浜嬩欢鎵╁睍
onInit() {
+ let ExportProcessCardBtn = this.buttons.find(x => x.value == 'ExportProcessCard');
+ if (ExportProcessCardBtn) {
+ ExportProcessCardBtn.onClick = function () {
+ this.http
+ .post("api/scanStation/ExportData", null, "鏁版嵁澶勭悊涓�")
+ .then((x) => {
+ if (!x.status) return this.$message.error(x.message);
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.refresh();
+ });
+ }
+ }
},
onInited() {
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/views/Home.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/views/Home.vue"
index 9a69c91..6a085b0 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/views/Home.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/views/Home.vue"
@@ -34,6 +34,14 @@
v-model="leftPartCodes[index]"
disabled
/>
+ <!-- 鏂板锛氫緵鏂逛唬鐮佽緭鍏ユ -->
+ <input
+ type="text"
+ class="input-box supplier-code-input"
+ v-model="leftPartSupplierCodes[index]"
+ disabled
+ placeholder="渚涙柟浠g爜"
+ />
<label class="checkbox-container">
<input
type="checkbox"
@@ -57,7 +65,14 @@
<div class="right-top">
<div class="form-row input-submit-row">
<span class="label">褰曞叆妗嗭細</span>
- <input type="text" class="input-box" v-model="rightTopInput" />
+ <!-- 鍏抽敭淇敼1锛氭坊鍔爎ef鏍囪瘑 -->
+ <input
+ ref="inputBoxRef"
+ type="text"
+ class="input-box"
+ v-model="rightTopInput"
+ @blur="handleInputBlur"
+ />
<button class="btn save-btn submit-input-btn" @click="saveData">
<i class="icon icon-submit"></i>鎻愪氦
</button>
@@ -76,6 +91,14 @@
/>
<button class="btn clear-btn" @click="clearFinishedProductCode">
<i class="icon icon-clear"></i>娓呴櫎
+ </button>
+ <!-- 鏂板锛氬垹闄ゅ綋鍓嶆墭鐩樻寜閽� -->
+ <button
+ class="btn delete-tray-btn"
+ @click="deleteCurrentTray"
+ :disabled="deleteLoading"
+ >
+ <i class="icon icon-delete"></i>鍒犻櫎褰撳墠鎵樼洏
</button>
</div>
<div
@@ -101,7 +124,7 @@
</template>
<script>
-import { ref, onMounted, onUnmounted, watch, computed } from "vue";
+import { ref, onMounted, onUnmounted, watch, computed, nextTick } from "vue";
import axios from "axios";
export default {
@@ -111,12 +134,19 @@
const finishedProductId = ref(""); // 宸︿晶鎴愬搧ID锛堟帴鍙h繑鍥烇級
const rightTopInput = ref(""); // 鍙充晶鏍稿績褰曞叆妗�
const leftPartCodes = ref(Array(10).fill("")); // 宸︿晶闆朵欢缂栧彿鏁扮粍
+ // 鏂板锛氬乏渚т緵鏂逛唬鐮佹暟缁�
+ const leftPartSupplierCodes = ref(Array(10).fill(""));
const rightPartCodes = ref(Array(10).fill("")); // 鍙充晶闆朵欢缂栧彿鏁扮粍
const leftPartChecked = ref(Array(10).fill(false)); // 宸︿晶闆朵欢鍕鹃�夌姸鎬�
const leftPartIds = ref(Array(10).fill("")); // 宸︿晶闆朵欢ID锛堟帴鍙h繑鍥烇級
const finishedProductCode = ref(""); // 鍙充晶鎴愬搧缂栧彿杈撳叆妗�
const fillIndex = ref(-1); // 褰曞叆妗嗚嚜鍔ㄥ~鍏呯储寮�
const checkLoading = ref(Array(10).fill(false)); // 闆朵欢鍕鹃�夊姞杞介攣
+ // 鏂板锛氬垹闄ゆ墭鐩樺姞杞界姸鎬�
+ const deleteLoading = ref(false);
+
+ // 鍏抽敭淇敼2锛氬畾涔夊綍鍏ユref
+ const inputBoxRef = ref(null);
// 淇″彿鐏浉鍏�
const signalStates = ref([false, false, false, false, false]);
@@ -136,6 +166,17 @@
const destroyDelayTime = 500; // 褰曞叆妗嗗~鍏呭欢杩�500ms
let autoSubmitDebounceTimer = null;
let submitLock = ref(false); // 鎻愪氦閿侊紝闃叉閲嶅鎻愪氦
+
+ // 鍏抽敭淇敼3锛氬皝瑁呰仛鐒︽柟娉�
+ const focusInputBox = () => {
+ nextTick(() => {
+ if (inputBoxRef.value) {
+ inputBoxRef.value.focus();
+ // 鍙�夛細閫変腑杈撳叆妗嗗唴瀹癸紝鏂逛究鐩存帴瑕嗙洊杈撳叆
+ // inputBoxRef.value.select();
+ }
+ });
+ };
// 璁$畻灞炴�� - 缁熻鏈夋晥鍕鹃��/濉厖鏁伴噺锛堣繃婊ょ┖鍊硷級
const checkedCount = computed(() => {
@@ -162,6 +203,8 @@
for (let i = 0; i < 10; i++) {
leftPartCodes.value[i] = data.leftPartCodes[i] || "";
leftPartIds.value[i] = data.leftPartIds?.[i] || "";
+ // 鏂板锛氳祴鍊间緵鏂逛唬鐮�
+ leftPartSupplierCodes.value[i] = data.leftPartSupplierCodes?.[i] || "";
}
}
if (Array.isArray(data.leftPartChecked) && data.leftPartChecked.length >= 10) {
@@ -172,6 +215,9 @@
}
} catch (error) {
console.error("鑾峰彇宸︿晶鍒濆鏁版嵁澶辫触锛�", error);
+ } finally {
+ // 鏁版嵁鍔犺浇瀹屾垚鍚庤仛鐒�
+ focusInputBox();
}
};
@@ -214,16 +260,19 @@
if (!finishedProductId.value) {
alert("鎴愬搧ID涓嶅瓨鍦紝鏃犳硶鏇存柊闆朵欢鎵爜鐘舵�侊紒");
leftPartChecked.value[index] = !isChecked;
+ focusInputBox(); // 鎻愮ず鍚庤仛鐒�
return;
}
if (!partId) {
alert(`闆朵欢${index + 1}鏁版嵁搴揑D涓嶅瓨鍦紝鏃犳硶鏇存柊鎵爜鐘舵�侊紒`);
leftPartChecked.value[index] = !isChecked;
+ focusInputBox(); // 鎻愮ず鍚庤仛鐒�
return;
}
if (!partCode.trim()) {
alert(`闆朵欢${index + 1}缂栧彿涓虹┖锛屾棤娉曟洿鏂版壂鐮佺姸鎬侊紒`);
leftPartChecked.value[index] = !isChecked;
+ focusInputBox(); // 鎻愮ず鍚庤仛鐒�
return;
}
@@ -254,6 +303,7 @@
checkLoading.value[index] = false;
if (checkDebounceTimer) clearTimeout(checkDebounceTimer);
checkDebounceTimer = null;
+ focusInputBox(); // 鎿嶄綔瀹屾垚鍚庤仛鐒�
}
};
@@ -271,12 +321,10 @@
fillIndex.value++;
} else {
alert("鎴愬搧缂栧彿鍜岄浂浠�1-10宸插叏閮ㄥ~鍏呭畬鎴�,鏃犳硶缁х画褰曞叆!");
- rightTopInput.value = "";
- destroyDelayTimer = null;
- return;
}
rightTopInput.value = "";
destroyDelayTimer = null;
+ focusInputBox(); // 濉厖瀹屾垚鍚庤仛鐒�
}, destroyDelayTime);
};
@@ -289,9 +337,23 @@
{ immediate: false }
);
+ // 鍏抽敭淇敼4锛氬け鍘荤劍鐐规椂閲嶆柊鑱氱劍
+ const handleInputBlur = () => {
+ // 寤惰繜涓�鐐规墽琛岋紝閬垮厤鍜屽叾浠栨搷浣滃啿绐�
+ setTimeout(() => {
+ focusInputBox();
+ }, 50);
+ };
+
// 鍙充晶杈撳叆妗嗘竻闄ゆ柟娉�
- const clearRightPart = (index) => (rightPartCodes.value[index] = "");
- const clearFinishedProductCode = () => (finishedProductCode.value = "");
+ const clearRightPart = (index) => {
+ rightPartCodes.value[index] = "";
+ focusInputBox(); // 娓呴櫎鍚庤仛鐒�
+ };
+ const clearFinishedProductCode = () => {
+ finishedProductCode.value = "";
+ focusInputBox(); // 娓呴櫎鍚庤仛鐒�
+ };
// 鏍稿績淇敼锛氭仮澶嶆垚鍝佺紪鍙峰繀濉牎楠岋紝鏈~鍐欑洿鎺ユ彁绀哄苟缁堟鎻愪氦
const saveData = async () => {
@@ -299,6 +361,7 @@
const productCode = finishedProductCode.value.trim();
if (!productCode) {
alert("璇峰厛濉啓鎴愬搧缂栧彿锛屾垚鍝佺紪鍙蜂负蹇呭~椤癸紒");
+ focusInputBox(); // 鎻愮ず鍚庤仛鐒�
return;
}
// 2. 鎻愪氦閿侊細闃叉閲嶅鐐瑰嚮
@@ -328,10 +391,14 @@
rightPartCodes.value = Array(10).fill("");
rightTopInput.value = "";
fillIndex.value = -1;
+ const msg = resData.message;
+
+ // 鏍稿績淇敼锛氫粎褰� msg 涓嶆槸 null 鏃舵墠寮瑰嚭鎻愮ず
+ if (msg !== null) {
+ alert(msg);
+ }
} else {
- // 涓氬姟閿欒锛氱洿鎺ュ睍绀哄悗绔繑鍥炵殑message锛堝鐗╂枡閿欒銆佹棤閰嶆柟锛�
- const errorMsg = resData.message || "鎻愪氦澶辫触锛屾湭鐭ヤ笟鍔¢敊璇�";
- alert(`鎻愪氦澶辫触锛�${errorMsg}`);
+ alert(`${resData.message || "鏈煡閿欒"}`);
}
} catch (error) {
// 6. 寮傚父鎹曡幏锛氬吋瀹瑰悗绔湭鎹曡幏寮傚父锛堝PLC閫氳寮傚父銆佹暟缁勮秺鐣屻��500閿欒锛�
@@ -352,6 +419,7 @@
} finally {
// 7. 閲婃斁鎻愪氦閿侊細鏃犺鎴愬姛/澶辫触閮借閲婃斁
submitLock.value = false;
+ focusInputBox(); // 鎻愪氦瀹屾垚鍚庤仛鐒�
}
};
@@ -372,6 +440,7 @@
if (!hasProductCode) {
console.log("鈿狅笍 鎴愬搧缂栧彿鏈~鍐欙紝璺宠繃鑷姩鎻愪氦");
autoSubmitDebounceTimer = null;
+ focusInputBox(); // 鏍¢獙鍚庤仛鐒�
return;
}
@@ -393,6 +462,61 @@
}, 300); // 300ms闃叉姈锛岄伩鍏嶈緭鍏ラ绻佽Е鍙�
};
+ // 鏂板锛氬垹闄ゅ綋鍓嶆墭鐩樻柟娉�
+ const deleteCurrentTray = async () => {
+ // 纭鎿嶄綔锛岄槻姝㈣鍒�
+ if (!confirm("纭瑕佸垹闄ゅ綋鍓嶆墭鐩樻暟鎹悧锛熸鎿嶄綔涓嶅彲鎭㈠锛�")) {
+ focusInputBox();
+ return;
+ }
+
+ // 璁剧疆鍔犺浇鐘舵�侊紝闃叉閲嶅鐐瑰嚮
+ deleteLoading.value = true;
+ try {
+ console.log("馃摛 璋冪敤鍒犻櫎褰撳墠鎵樼洏鎺ュ彛锛�/api/boxing/DeleteCurrentTray");
+ // 璋冪敤鍒犻櫎鎺ュ彛锛堟牴鎹疄闄呴渶姹傞�夋嫨GET/POST锛岃繖閲岄粯璁ょ敤POST锛岃嫢鍚庣鏄疓ET鍙敼涓篻et锛�
+ const response = await axios.post(
+ "/api/boxing/DeleteCurrentTray",
+ {}, // 鑻ユ棤鍙傛暟浼犵┖瀵硅薄
+ { timeout: 8000 }
+ );
+ const resData = response.data;
+ console.log("馃摜 鍒犻櫎褰撳墠鎵樼洏鎺ュ彛杩斿洖锛�", resData);
+
+ // 閫傞厤鍚庣杩斿洖鏍煎紡
+ const isSuccess = resData.status === true || resData.Status === true;
+ if (isSuccess) {
+ // 鍒犻櫎鎴愬姛鍚庢竻绌哄彸渚ц緭鍏ユ
+ finishedProductCode.value = "";
+ rightPartCodes.value = Array(10).fill("");
+ rightTopInput.value = "";
+ fillIndex.value = -1;
+ alert(resData.message || "褰撳墠鎵樼洏鍒犻櫎鎴愬姛锛�");
+ } else {
+ alert(`鍒犻櫎澶辫触锛�${resData.message || "鏈煡閿欒"}`);
+ }
+ } catch (error) {
+ // 寮傚父澶勭悊
+ let errorMsg = "鍒犻櫎鎵樼洏璇锋眰寮傚父锛�";
+ if (error.code === "ECONNABORTED") {
+ errorMsg = "鍒犻櫎璇锋眰瓒呮椂锛佽绋嶅悗閲嶈瘯";
+ } else if (error.response) {
+ errorMsg = `鏈嶅姟鍣ㄩ敊璇細${error.response.status} - ${error.response.statusText}`;
+ console.error("鉂� 鍒犻櫎鎵樼洏鏈嶅姟鍣ㄩ敊璇鎯咃細", error.response.data);
+ } else if (error.request) {
+ errorMsg = "缃戠粶寮傚父锛佹湭鏀跺埌鍚庣鍝嶅簲锛岃妫�鏌ユ帴鍙e湴鍧�鍜岀綉缁�";
+ } else {
+ errorMsg = `璇锋眰閿欒锛�${error.message}`;
+ }
+ alert(errorMsg);
+ console.error("鉂� 鍒犻櫎鎵樼洏鎺ュ彛寮傚父璇︽儏锛�", error);
+ } finally {
+ // 閲婃斁鍔犺浇鐘舵��
+ deleteLoading.value = false;
+ focusInputBox(); // 鎿嶄綔瀹屾垚鍚庤仛鐒﹀綍鍏ユ
+ }
+ };
+
// 鐩戝惉鑷姩鎻愪氦鐩稿叧鏁版嵁鍙樺寲锛岃Е鍙戞牎楠�
watch([checkedCount, filledPartCount, finishedProductCode], () => checkAutoSubmit(), {
deep: true,
@@ -403,15 +527,15 @@
const detectFillIndex = () => {
if (!finishedProductCode.value.trim()) {
fillIndex.value = -1;
- return;
- }
- for (let i = 0; i < 10; i++) {
- if (!rightPartCodes.value[i].trim()) {
- fillIndex.value = i;
- return;
+ } else {
+ for (let i = 0; i < 10; i++) {
+ if (!rightPartCodes.value[i].trim()) {
+ fillIndex.value = i;
+ return;
+ }
}
+ fillIndex.value = 10;
}
- fillIndex.value = 10;
};
// 鐩戝惉鎴愬搧/闆朵欢杈撳叆锛屾洿鏂板~鍏呯储寮�
@@ -425,6 +549,7 @@
await fetchLeftInitialData();
startPolling();
detectFillIndex();
+ focusInputBox(); // 椤甸潰鎸傝浇鍚庣珛鍗宠仛鐒�
});
// 鐢熷懡鍛ㄦ湡锛氬嵏杞芥椂娓呴櫎鎵�鏈夊畾鏃跺櫒/闃叉姈锛岄槻姝㈠唴瀛樻硠婕�
@@ -440,16 +565,22 @@
finishedProduct,
rightTopInput,
leftPartCodes,
+ // 鏂板锛氭毚闇蹭緵鏂逛唬鐮佹暟缁�
+ leftPartSupplierCodes,
rightPartCodes,
leftPartChecked,
signalStates,
signalLabels,
finishedProductCode,
checkLoading,
+ deleteLoading, // 鏆撮湶鍒犻櫎鍔犺浇鐘舵��
handlePartCheck,
saveData,
+ deleteCurrentTray, // 鏆撮湶鍒犻櫎鎵樼洏鏂规硶
clearRightPart,
clearFinishedProductCode,
+ inputBoxRef, // 鏆撮湶ref
+ handleInputBlur, // 鏆撮湶鏂规硶
};
},
};
@@ -613,6 +744,11 @@
transition: all 0.2s ease;
background-color: #ffffff;
}
+/* 鏂板锛氫緵鏂逛唬鐮佽緭鍏ユ鏍峰紡锛堝搴︾◢绐勶級 */
+.supplier-code-input {
+ flex: 0 0 150px;
+ min-width: 120px;
+}
.input-box:focus {
border-color: #3b82f6;
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
@@ -645,6 +781,10 @@
gap: 8px;
position: relative;
overflow: hidden;
+}
+/* 鏂板锛氬垹闄ゆ墭鐩樻寜閽搴﹂�傞厤 */
+.delete-tray-btn {
+ width: 140px !important;
}
.submit-input-btn {
width: 110px !important;
@@ -692,6 +832,10 @@
.icon-submit {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M2.01 21L15 13.4 23 21V5H2.01V21zM17 15l-5-5-5 5V7h10v8z'/%3E%3C/svg%3E");
}
+/* 鏂板锛氬垹闄ゅ浘鏍� */
+.icon-delete {
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z'/%3E%3C/svg%3E");
+}
/* 鎸夐挳涓婚鏍峰紡 */
.clear-btn {
@@ -711,6 +855,16 @@
.save-btn:hover:not(:disabled) {
transform: translateY(-1px);
box-shadow: 0 4px 8px rgba(59, 130, 246, 0.15);
+}
+/* 鏂板锛氬垹闄ゆ墭鐩樻寜閽牱寮� */
+.delete-tray-btn {
+ background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
+ color: #fff;
+ padding: 0 12px;
+}
+.delete-tray-btn:hover:not(:disabled) {
+ transform: translateY(-1px);
+ box-shadow: 0 4px 8px rgba(245, 158, 11, 0.15);
}
/* 淇″彿鐏牱寮� */
@@ -851,8 +1005,16 @@
.input-box {
width: 100%;
}
+ /* 閫傞厤绉诲姩绔緵鏂逛唬鐮佽緭鍏ユ */
+ .supplier-code-input {
+ flex: 1;
+ min-width: 100%;
+ margin-top: 6px;
+ }
+ /* 绉诲姩绔寜閽搴﹂�傞厤 */
.btn,
- .submit-input-btn {
+ .submit-input-btn,
+ .delete-tray-btn {
width: 100% !important;
margin-top: 6px;
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/views/basicinfo/formula.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/views/basicinfo/formula.vue"
index fc822f3..a213ecf 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/views/basicinfo/formula.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/views/basicinfo/formula.vue"
@@ -11,14 +11,43 @@
:extend="extend"
>
</view-grid>
+
+ <!-- 鍙充晶鍥剧墖渚ц竟鏍� - 澧炲姞z-index灞傜骇 -->
+ <div class="image-sidebar" :class="{ 'sidebar-open': isSidebarOpen }">
+ <div class="sidebar-toggle" @click="toggleSidebar">
+ <span>{{ isSidebarOpen ? ">" : "<" }}</span>
+ </div>
+ <div class="sidebar-content">
+ <div class="image-container">
+ <img :src="logoUrl" alt="鍙傝�冨浘鐗�" class="reference-image" />
+ <div class="image-description">閰嶆柟甯冨眬鍙傝�冨浘</div>
+ </div>
+ </div>
+ </div>
</template>
<script>
import extend from "@/extension/basicinfo/formula.js";
-import { ref, defineComponent } from "vue";
+import { ref, defineComponent, computed } from "vue";
export default defineComponent({
setup() {
+ const isSidebarOpen = ref(false);
+
+ // 鍥剧墖璺緞
+ const logoUrl = computed(() => {
+ try {
+ return require("@/assets/test.png");
+ } catch (e) {
+ console.log("浣跨敤鐩稿璺緞鍔犺浇鍥剧墖");
+ return "/assets/test.png";
+ }
+ });
+
+ const toggleSidebar = () => {
+ isSidebarOpen.value = !isSidebarOpen.value;
+ };
+
const table = ref({
key: "id",
footer: "Foots",
@@ -28,7 +57,7 @@
sortName: "createDate",
});
- // 缂栬緫琛ㄥ崟瀛楁 - 鏂板pressFastenTorque锛堝帇瑁呬綅绱у浐鎵煩锛�
+ // 缂栬緫琛ㄥ崟瀛楁 - 瀹屽叏鍖归厤鍚庣Dt_Formula瀹炰綋绫�
const editFormFields = ref({
id: "",
productCode: "",
@@ -37,173 +66,230 @@
productWidth: "",
productHeight: "",
pressNoTighten: "",
- screwDownsetDistance: "",
- screwTorqueOutput: "",
- pressFastenTorque: "", // 銆愭柊澧炪�戝帇瑁呬綅绱у浐鎵煩
+ pressNoCheckBottomPlate: "",
+ screwDownsetDistance: "", // 鍚庣娉ㄩ噴涓猴細淇濆帇鍘嬪姏
+ screwTorqueOutput: "", // 鍚庣娉ㄩ噴涓猴細涓績楂樺害
dintAutoScrewOn: "",
+ pressFastenTorque: "",
p0P1Width: "",
p0P2Width: "",
p0P3Width: "",
- p1P3Height: "",
- p2P3Height: "",
- productImagePath: "",
+ pressPressureDiff: "",
+ pressTorqueDiff: "",
+ detectHeightDiff: "",
+ screwPositionDiff: "",
+ // 绉婚櫎浜哻enterHeight瀛楁锛堝悗绔棤姝ゅ瓧娈碉紝鍘熷墠绔厤缃敊璇槧灏勶級
});
- // 缂栬緫琛ㄥ崟閰嶇疆-鏂板鍘嬭浣嶇揣鍥烘壄鐭╋紝甯冨眬閫傞厤鍘熸湁绱у噾鎬�
+ // 缂栬緫琛ㄥ崟閰嶇疆 - 淇瀛楁涓枃鍚嶇О鍜屾敞閲婏紝鍖归厤鍚庣瀹炰綋
+ // 閲嶇偣锛氫负鏍稿績瀛楁琛ュ厖蹇呭~閰嶇疆锛坮equire: true锛�
const editFormOptions = ref([
- // 绗竴琛岋細鍩虹鏍囪瘑
[
{
title: "鎴愬搧缂栧彿",
+ required: true,
field: "productCode",
- type: "input",
+ type: "string",
width: 200,
- require: true,
},
{
title: "鎴愬搧鍚嶇О",
field: "productName",
- type: "input",
+ type: "string",
width: 200,
- require: true,
+ required: true,
},
{
title: "鎷х揣绋嬪簭鍙�",
field: "dintAutoScrewOn",
- type: "input",
+ type: "string",
inputType: "number",
width: 180,
placeholder: "璇疯緭鍏ユ暣鏁�",
- },
- {
- title: "浜у搧闀垮害",
- field: "productLength",
- type: "input",
- inputType: "number",
- width: 120,
- placeholder: "淇濈暀2浣嶅皬鏁�",
- attrs: { step: 0.01, min: 0 },
+ required: true,
},
],
[
{
- title: "浜у搧瀹藉害",
+ title: "浜у搧闀垮害", // 淇鍚庣娉ㄩ噴
+ field: "productLength",
+ type: "string",
+ inputType: "number",
+ width: 100,
+ placeholder: "淇濈暀2浣嶅皬鏁�",
+ attrs: { step: 0.01, min: 0 },
+ required: true,
+ },
+ {
+ title: "浜у搧瀹藉害", // 淇鍚庣娉ㄩ噴
field: "productWidth",
- type: "input",
+ type: "string",
inputType: "number",
- width: 120,
+ width: 100,
placeholder: "淇濈暀2浣嶅皬鏁�",
attrs: { step: 0.01, min: 0 },
+ required: true,
},
{
- title: "浜у搧楂樺害",
+ title: "浜у搧楂樺害", // 淇鍚庣娉ㄩ噴
field: "productHeight",
- type: "input",
+ type: "string",
inputType: "number",
- width: 120,
+ width: 100,
placeholder: "淇濈暀2浣嶅皬鏁�",
attrs: { step: 0.01, min: 0 },
+ required: true,
},
+ ],
+ [
{
- title: "鍘嬭浣嶄笉鎷х揣",
+ title: "涓嶆嫥绱�",
field: "pressNoTighten",
type: "select",
width: 120,
align: "center",
+ defaultValue: "0",
data: [
{ key: "0", value: "鍚�" },
{ key: "1", value: "鏄�" },
],
+ required: true, // 鏂板锛氬紑鍏崇被瀛楁蹇呭~
+ },
+ {
+ title: "涓嶆祴搴曟澘",
+ field: "pressNoCheckBottomPlate",
+ type: "select",
+ width: 120,
+ align: "center",
+ defaultValue: "0",
+ data: [
+ { key: "0", value: "鍚�" },
+ { key: "1", value: "鏄�" },
+ ],
+ required: true, // 鏂板锛氬紑鍏崇被瀛楁蹇呭~
},
{
title: "淇濆帇鍘嬪姏",
field: "screwDownsetDistance",
- type: "input",
- inputType: "number",
- width: 150,
- placeholder: "淇濈暀2浣嶅皬鏁�",
- attrs: { step: 0.01, min: 0 },
- },
- ],
- [
- {
- title: "涓績楂樺害",
- field: "screwTorqueOutput",
- type: "input",
+ type: "string",
inputType: "number",
width: 120,
placeholder: "淇濈暀2浣嶅皬鏁�",
attrs: { step: 0.01, min: 0 },
+ required: true, // 鏂板锛氬伐鑹哄弬鏁板繀濉�
+ },
+ ],
+ [
+ {
+ title: "涓績楂樺害", // 淇瀛楁涓枃鍚嶇О锛堝悗绔敞閲婏級
+ field: "screwTorqueOutput",
+ type: "string",
+ inputType: "number",
+ width: 120,
+ placeholder: "淇濈暀2浣嶅皬鏁�",
+ attrs: { step: 0.01, min: 0 },
+ required: true, // 鏂板锛氬伐鑹哄弬鏁板繀濉�
},
{
- title: "绱у浐鎵煩",
+ title: "绱у浐鎵煩", // 琛ュ厖瀹屾暣瀛楁鍚嶇О
field: "pressFastenTorque",
- type: "input",
+ type: "string",
inputType: "number",
- width: 150,
+ width: 120,
placeholder: "淇濈暀2浣嶅皬鏁帮紝榛樿0.00",
attrs: { step: 0.01, min: 0 },
+ required: true, // 鏂板锛氬伐鑹哄弬鏁板繀濉�
},
{
title: "P0P1瀹藉害",
field: "p0P1Width",
- type: "input",
+ type: "string",
inputType: "number",
width: 120,
placeholder: "淇濈暀2浣嶅皬鏁�",
attrs: { step: 0.01, min: 0 },
+ required: true, // 鏂板锛氬昂瀵稿弬鏁板繀濉�
},
+ ],
+ [
{
title: "P0P2瀹藉害",
field: "p0P2Width",
- type: "input",
+ type: "string",
inputType: "number",
width: 120,
placeholder: "淇濈暀2浣嶅皬鏁�",
attrs: { step: 0.01, min: 0 },
+ required: true, // 鏂板锛氬昂瀵稿弬鏁板繀濉�
},
- ],
- // 绗洓琛岋細P绯诲垪楂樺害 + 浜у搧鍥剧墖璺緞
- [
{
title: "P0P3瀹藉害",
field: "p0P3Width",
- type: "input",
+ type: "string",
inputType: "number",
width: 120,
placeholder: "淇濈暀2浣嶅皬鏁�",
attrs: { step: 0.01, min: 0 },
+ required: true, // 鏂板锛氬昂瀵稿弬鏁板繀濉�
},
{
- title: "P1P3楂樺害",
- field: "p1P3Height",
- type: "input",
+ title: "鍘嬪姏宸��",
+ field: "pressPressureDiff",
+ type: "string",
inputType: "number",
- width: 150,
+ width: 120,
placeholder: "淇濈暀2浣嶅皬鏁�",
attrs: { step: 0.01, min: 0 },
+ required: true, // 鏂板锛氬樊鍊煎弬鏁板繀濉�
},
+ ],
+ [
{
- title: "P2P3楂樺害",
- field: "p2P3Height",
- type: "input",
+ title: "鎵姏宸��",
+ field: "pressTorqueDiff",
+ type: "string",
inputType: "number",
- width: 150,
+ width: 120,
placeholder: "淇濈暀2浣嶅皬鏁�",
attrs: { step: 0.01, min: 0 },
+ required: true, // 鏂板锛氬樊鍊煎弬鏁板繀濉�
},
{
- title: "浜у搧鍥剧墖璺緞",
- field: "productImagePath",
- type: "textarea",
- width: 400,
- rows: 2,
- placeholder: "璇疯緭鍏ュ浘鐗囧畬鏁磋矾寰勶紝鏀寔500瀛楃浠ュ唴",
+ title: "楂樺害宸��",
+ field: "detectHeightDiff",
+ type: "string",
+ inputType: "number",
+ width: 120,
+ placeholder: "淇濈暀2浣嶅皬鏁�",
+ attrs: { step: 0.01, min: 0 },
+ required: true, // 鏂板锛氬樊鍊煎弬鏁板繀濉�
+ },
+ {
+ title: "铻虹汗宸��",
+ field: "screwPositionDiff",
+ type: "string",
+ inputType: "number",
+ width: 120,
+ placeholder: "淇濈暀2浣嶅皬鏁�",
+ attrs: { step: 0.01, min: 0 },
+ required: true, // 鏂板锛氬樊鍊煎弬鏁板繀濉�
+ },
+ ],
+ [
+ {
+ title: "鍨墖楂樺害",
+ field: "gasketHeight",
+ type: "string",
+ inputType: "number",
+ width: 120,
+ placeholder: "淇濈暀2浣嶅皬鏁�",
+ attrs: { step: 0.01, min: 0 },
+ required: true,
},
],
]);
- // 鎼滅储琛ㄥ崟瀛楁 - 鏃犻渶淇敼
+ // 鎼滅储琛ㄥ崟瀛楁
const searchFormFields = ref({
productCode: "",
productName: "",
@@ -211,7 +297,7 @@
createDate: "",
});
- // 鎼滅储琛ㄥ崟閰嶇疆 - 鏃犻渶淇敼
+ // 鎼滅储琛ㄥ崟閰嶇疆
const searchFormOptions = ref([
[
{ title: "鎴愬搧缂栧彿", field: "productCode", type: "like", width: 200 },
@@ -223,14 +309,14 @@
],
]);
- // 琛ㄦ牸鍒楅厤缃� - 鏂板鍘嬭浣嶇揣鍥烘壄鐭╁垪
+ // 琛ㄦ牸鍒楅厤缃� - 淇瀛楁涓枃鍚嶇О鍜屾敞閲婏紝鍖归厤鍚庣瀹炰綋
const columns = ref([
{
field: "id",
- title: "搴忓彿",
+ title: "id",
type: "int",
width: 80,
- hidden: true,
+ // hidden: true,
align: "center",
},
{
@@ -250,28 +336,28 @@
},
{
field: "productLength",
- title: "浜у搧闀垮害",
+ title: "浜у搧闀垮害", // 淇鍚庣娉ㄩ噴
type: "decimal",
width: 90,
align: "center",
},
{
field: "productWidth",
- title: "浜у搧瀹藉害",
+ title: "浜у搧瀹藉害", // 淇鍚庣娉ㄩ噴
type: "decimal",
width: 90,
align: "center",
},
{
field: "productHeight",
- title: "浜у搧楂樺害",
+ title: "浜у搧楂樺害", // 淇鍚庣娉ㄩ噴
type: "decimal",
width: 90,
align: "center",
},
{
field: "pressNoTighten",
- title: "鍘嬭浣嶄笉鎷х揣",
+ title: "涓嶆嫥绱�",
type: "select",
width: 100,
align: "center",
@@ -284,24 +370,38 @@
},
},
{
+ field: "pressNoCheckBottomPlate",
+ title: "涓嶆祴搴曟澘",
+ type: "select",
+ width: 110,
+ align: "center",
+ bind: {
+ key: "value",
+ data: [
+ { key: "0", value: "鍚�" },
+ { key: "1", value: "鏄�" },
+ ],
+ },
+ },
+ {
field: "screwDownsetDistance",
- title: "淇濆帇鍘嬪姏",
+ title: "淇濆帇鍘嬪姏", // 淇瀛楁涓枃鍚嶇О
type: "decimal",
width: 110,
align: "center",
},
{
field: "screwTorqueOutput",
- title: "涓績楂樺害",
+ title: "涓績楂樺害", // 淇瀛楁涓枃鍚嶇О
type: "decimal",
width: 90,
align: "center",
},
{
- field: "pressFastenTorque", // 銆愭柊澧炪�戣〃鏍煎垪
- title: "鍘嬭浣嶇揣鍥烘壄鐭�",
+ field: "pressFastenTorque",
+ title: "绱у浐鎵煩", // 琛ュ厖瀹屾暣瀛楁鍚嶇О
type: "decimal",
- width: 120,
+ width: 90,
align: "center",
},
{
@@ -311,7 +411,6 @@
width: 100,
align: "center",
},
- // P绯诲垪瀹藉害
{
field: "p0P1Width",
title: "P0P1瀹藉害",
@@ -333,30 +432,41 @@
width: 90,
align: "center",
},
- // P绯诲垪楂樺害
{
- field: "p1P3Height",
- title: "P1P3楂樺害",
+ field: "pressPressureDiff",
+ title: "鍘嬪姏宸��",
type: "decimal",
- width: 90,
+ width: 100,
align: "center",
},
{
- field: "p2P3Height",
- title: "P2P3楂樺害",
+ field: "pressTorqueDiff",
+ title: "鎵煩宸��",
type: "decimal",
- width: 90,
+ width: 100,
align: "center",
},
{
- field: "productImagePath",
- title: "鍥剧墖璺緞",
- type: "string",
- width: 200,
- align: "left",
- overflow: "ellipsis",
+ field: "detectHeightDiff",
+ title: "楂樺害宸��",
+ type: "decimal",
+ width: 100,
+ align: "center",
},
- // 鍏叡瀛楁
+ {
+ field: "screwPositionDiff",
+ title: "铻虹汗宸��",
+ type: "decimal",
+ width: 100,
+ align: "center",
+ },
+ {
+ field: "gasketHeight",
+ title: "鍨墖楂樺害",
+ type: "decimal",
+ width: 100,
+ align: "center",
+ },
{
field: "creater",
title: "鍒涘缓浜�",
@@ -387,7 +497,7 @@
},
]);
- // 閰嶆柟鏄庣粏閰嶇疆 - 鏃犻渶淇敼
+ // 閰嶆柟鏄庣粏閰嶇疆 - 鍚屾牱缁欐槑缁嗗瓧娈垫坊鍔犲繀濉�
const detail = ref({
cnName: "閰嶆柟淇℃伅璇︽儏",
table: "FormulaDetail",
@@ -399,32 +509,34 @@
width: 90,
hidden: true,
readonly: true,
- require: true,
+ required: true,
align: "center",
},
{
field: "componentCode",
title: "闆朵欢缂栧彿",
type: "string",
- edit: { type: "" },
+ edit: { type: "input" },
width: 120,
- require: true,
+ required: true, // 鏄庣粏鏍稿績瀛楁蹇呭~
align: "left",
},
{
field: "componentName",
title: "闆朵欢鍚嶇О",
type: "string",
- edit: { type: "" },
+ edit: { type: "input" },
width: 150,
+ required: true, // 鏄庣粏鏍稿績瀛楁蹇呭~
align: "left",
},
{
field: "supplierCode",
title: "渚涙柟浠g爜",
type: "string",
- edit: { type: "" },
+ edit: { type: "input" },
width: 150,
+ required: true, // 鏄庣粏鏍稿績瀛楁蹇呭~
align: "left",
},
{
@@ -440,6 +552,7 @@
{ key: "1", value: "鏄�" },
],
},
+ required: true, // 鏄庣粏寮�鍏冲瓧娈靛繀濉�
},
],
sortName: "createDate",
@@ -455,7 +568,112 @@
searchFormOptions,
columns,
detail,
+ isSidebarOpen,
+ logoUrl,
+ toggleSidebar,
};
},
});
</script>
+
+<style scoped>
+/* 渚ц竟鏍忔牱寮� - 澧炲姞z-index灞傜骇 */
+.image-sidebar {
+ position: fixed;
+ top: 0;
+ right: -600px;
+ width: 600px;
+ height: 100vh;
+ background: #fff;
+ box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
+ transition: right 0.3s ease;
+ z-index: 9999;
+ display: flex;
+}
+
+.sidebar-open {
+ right: 0;
+}
+
+.sidebar-toggle {
+ position: absolute;
+ left: -40px;
+ top: 50%;
+ transform: translateY(-50%);
+ width: 40px;
+ height: 80px;
+ background: #409eff;
+ color: white;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ cursor: pointer;
+ border-radius: 8px 0 0 8px;
+ font-size: 16px;
+ font-weight: bold;
+ transition: all 0.3s ease;
+ box-shadow: -2px 0 5px rgba(0, 0, 0, 0.1);
+ z-index: 10000; /* 鍒囨崲鎸夐挳鐨剒-index鏇撮珮 */
+}
+
+.sidebar-toggle:hover {
+ background: #66b1ff;
+}
+
+.sidebar-toggle span {
+ transition: transform 0.3s ease;
+}
+
+.sidebar-open .sidebar-toggle span {
+ transform: rotate(180deg);
+}
+
+.sidebar-content {
+ flex: 1;
+ padding: 20px;
+ overflow-y: auto;
+ z-index: 9999; /* 鍐呭鍖哄煙涔熻缃珮z-index */
+}
+
+.image-container {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ height: 100%;
+}
+
+.reference-image {
+ max-width: 100%;
+ max-height: 60vh;
+ object-fit: contain;
+ border: 1px solid #ddd;
+ border-radius: 8px;
+ padding: 10px;
+ background: #f8f9fa;
+}
+
+.image-description {
+ margin-top: 15px;
+ padding: 10px;
+ background: #409eff;
+ color: white;
+ border-radius: 4px;
+ font-size: 14px;
+ text-align: center;
+}
+
+/* 鍝嶅簲寮忚璁� */
+@media (max-width: 768px) {
+ .image-sidebar {
+ width: 250px;
+ right: -250px;
+ }
+
+ .sidebar-toggle {
+ left: -30px;
+ width: 30px;
+ height: 60px;
+ }
+}
+</style>
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/views/basicinfo/processInfo.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/views/basicinfo/processInfo.vue"
index 5a9b62d..49962fb 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/views/basicinfo/processInfo.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/views/basicinfo/processInfo.vue"
@@ -19,6 +19,13 @@
export default defineComponent({
setup() {
+ // 宸ュ叿鍑芥暟锛氭牸寮忓寲鏁板瓧涓轰袱浣嶅皬鏁�
+ const formatTwoDecimal = (value) => {
+ if (value === "" || value === null || value === undefined) return "";
+ const num = parseFloat(value);
+ return isNaN(num) ? "" : num.toFixed(2);
+ };
+
// 琛ㄦ牸鍩虹閰嶇疆
const table = ref({
key: "id",
@@ -27,45 +34,51 @@
name: "processInfo",
url: "/processInfo/",
sortName: "createDate",
- sortOrder: "desc", // 鏂板锛氬垱寤烘椂闂撮粯璁ゅ�掑簭锛岀鍚堝父瑙勪娇鐢�
+ sortOrder: "desc", // 鍒涘缓鏃堕棿榛樿鍊掑簭
});
- // 缂栬緫琛ㄥ崟瀛楁 - 瀹屽叏鍖归厤鍚庣Dt_ProcessInfo瀹炰綋
- // 鏂板锛歱ressPressure锛堝帇瑁呬綅涓嬪帇鍘嬪姏锛夛紝琛ュ叏鎵�鏈夊悗绔瓧娈�
+ // 缂栬緫琛ㄥ崟瀛楁 - 涓ユ牸鍖归厤鍚庣Dt_ProcessInfo瀹炰綋
const editFormFields = ref({
- id: "",
+ id: 0, // 涓婚敭榛樿鍊兼敼涓烘暟瀛�0
palletCode: "",
productCode: "",
productName: "",
- productSn: "", // 娴佹按鍙�
- pressTightenNg: "", // 鍘嬭鎷х揣_鎷х揣NG
- pressTightenOk: "", // 鍘嬭鎷х揣_鎷х揣OK
- pressTightenUnfinished: "", // 鍘嬭鎷х揣_鏈鍔犲伐鏈畬鎴�
- checkUnfinished: "", // 妫�娴媉鏈妫�娴嬫湭瀹屾垚
- //componentQty: "", // 闆朵欢鏁伴噺
- // torsioValue: "", // 鎵姏鍊�
- // torsioValueStandard: "", // 鎵姏鍊兼爣鍑�
- // stiffnessValue: "", // 鍒氬害鍊�
- // stiffnessValueStandard: "", // 鍒氬害鍊兼爣鍑�
- // testResult: "", // 娴嬭瘯缁撴灉
- pressHeight: "", // 鍘嬭浣嶄笅鍘嬮珮搴�
- screwTorque: "", // 鍘嬭浣嶆嫥绱ф壄鍔�
- screwAngle: "", // 鍘嬭浣嶆嫥绱ц搴�
- pressPressure: "", // 銆愭柊澧炪�戝帇瑁呬綅涓嬪帇鍘嬪姏锛堝尮閰嶅悗绔疄浣擄級
- height1: "", // 鎷х揣浣嶆娴嬮珮搴�1
- height2: "", // 鎷х揣浣嶆娴嬮珮搴�2
- height3: "", // 鎷х揣浣嶆娴嬮珮搴�3
+ productSn: "",
+ pressTightenOk: 0, // 鏀逛负鏁板瓧榛樿鍊�
+ pressTightenUnfinished: 0, // 鏀逛负鏁板瓧榛樿鍊�
+ productStatus: 0, // 鏂板锛氫骇鍝佺姸鎬佸瓧娈�
+ screwTorque: "",
+ screwAngle: "",
+ pressPressure: "",
+ productCheckHeight: "",
+ threadPositionHeight: "",
+ height1: "",
+ height2: "",
+ height3: "",
});
- // 缂栬緫琛ㄥ崟閰嶇疆-銆愬彇娑堝垎绫伙紝鍧囧寑鎺掑竷銆戯紝淇濈暀鎵�鏈夊師鏈夋牎楠�/榛樿鍊�/灞炴��
+ // 浜у搧鐘舵�佷笅鎷夐�夐」锛堝尮閰嶅悗绔敞閲婏級
+ const productStatusOptions = [
+ { key: "0", value: "涓嶅悎鏍�" },
+ { key: "1", value: "鍚堟牸" },
+ { key: "2", value: "浜哄伐纭鍚堟牸" },
+ ];
+
+ // 甯冨皵鍨嬩笅鎷夐�夐」锛堥�氱敤锛�
+ const booleanOptions = [
+ { key: "0", value: "鍚�" },
+ { key: "1", value: "鏄�" },
+ ];
+
+ // 缂栬緫琛ㄥ崟閰嶇疆 - 淇瀛楁鍖归厤锛屼紭鍖栧竷灞�鍜屽懡鍚�
const editFormOptions = ref([
- // 绗竴琛岋細5涓瓧娈碉紙鍩虹鏍囪瘑+1涓姸鎬侊級锛屽搴﹀崗璋�
+ // 鍩虹淇℃伅琛�
[
{
title: "宸ヨ鏉跨紪鍙�",
field: "palletCode",
type: "input",
- width: 160,
+ width: 180,
require: true,
placeholder: "璇疯緭鍏ュ伐瑁呮澘缂栧彿",
},
@@ -73,7 +86,7 @@
title: "鎴愬搧缂栧彿",
field: "productCode",
type: "input",
- width: 160,
+ width: 180,
require: true,
placeholder: "璇疯緭鍏ユ垚鍝佺紪鍙�",
},
@@ -81,7 +94,7 @@
title: "鎴愬搧鍚嶇О",
field: "productName",
type: "input",
- width: 160,
+ width: 180,
require: true,
placeholder: "璇疯緭鍏ユ垚鍝佸悕绉�",
},
@@ -89,220 +102,172 @@
title: "娴佹按鍙�",
field: "productSn",
type: "input",
- width: 180,
+ width: 200,
require: false,
placeholder: "璇疯緭鍏ヤ骇鍝佹祦姘村彿",
},
],
+ // 鍔犲伐鐘舵�佽 - 绉婚櫎涓嶅瓨鍦ㄧ殑checkUnfinished锛屾柊澧炰骇鍝佺姸鎬�
[
{
- title: "鎷х揣NG",
- field: "pressTightenNg",
- type: "select",
- width: 150,
- align: "center",
- defaultValue: "0",
- data: [
- { key: "0", value: "鍚�" },
- { key: "1", value: "鏄�" },
- ],
- },
- {
- title: "鎷х揣OK",
+ title: "鍘嬭鎷х揣_鎷х揣OK",
field: "pressTightenOk",
type: "select",
- width: 150,
+ width: 160,
align: "center",
- defaultValue: "0",
- data: [
- { key: "0", value: "鍚�" },
- { key: "1", value: "鏄�" },
- ],
+ defaultValue: 0,
+ data: booleanOptions,
},
{
- title: "鎷х揣鏈畬鎴�",
+ title: "鍘嬭鎷х揣_鏈鍔犲伐鏈畬鎴�",
field: "pressTightenUnfinished",
type: "select",
- width: 170,
+ width: 180,
align: "center",
- defaultValue: "0",
- data: [
- { key: "0", value: "鍚�" },
- { key: "1", value: "鏄�" },
- ],
+ defaultValue: 0,
+ data: booleanOptions,
},
{
- title: "妫�娴嬫湭瀹屾垚",
- field: "checkUnfinished",
+ title: "浜у搧鐘舵��",
+ field: "productStatus",
type: "select",
- width: 150,
- align: "center",
- defaultValue: "0",
- data: [
- { key: "0", value: "鍚�" },
- { key: "1", value: "鏄�" },
- ],
- },
- // {
- // title: "闆朵欢鏁伴噺",
- // field: "componentQty",
- // type: "input",
- // inputType: "number",
- // width: 140,
- // require: false,
- // attrs: { min: 0, step: 1 },
- // placeholder: "璇疯緭鍏ユ鏁存暟",
- // },
- {
- title: "涓婚敭ID",
- field: "id",
- type: "input",
- width: 100,
- hidden: true,
- readonly: true,
- },
- ],
- // // 绗笁琛岋細5涓瓧娈碉紙鎵姏/鍒氬害鐩稿叧+娴嬭瘯缁撴灉锛夛紝灏忔暟鏍¢獙
- // [
- // {
- // title: "鎵姏鍊�",
- // field: "torsioValue",
- // type: "input",
- // inputType: "number",
- // width: 140,
- // require: false,
- // attrs: { step: 0.01, min: 0 },
- // placeholder: "淇濈暀2浣嶅皬鏁�",
- // },
- // {
- // title: "鎵姏鍊兼爣鍑�",
- // field: "torsioValueStandard",
- // type: "input",
- // inputType: "number",
- // width: 160,
- // require: false,
- // attrs: { step: 0.01, min: 0 },
- // placeholder: "淇濈暀2浣嶅皬鏁�",
- // },
- // {
- // title: "鍒氬害鍊�",
- // field: "stiffnessValue",
- // type: "input",
- // inputType: "number",
- // width: 140,
- // require: false,
- // attrs: { step: 0.01, min: 0 },
- // placeholder: "淇濈暀2浣嶅皬鏁�",
- // },
- // {
- // title: "鍒氬害鍊兼爣鍑�",
- // field: "stiffnessValueStandard",
- // type: "input",
- // inputType: "number",
- // width: 160,
- // require: false,
- // attrs: { step: 0.01, min: 0 },
- // placeholder: "淇濈暀2浣嶅皬鏁�",
- // },
- // {
- // title: "娴嬭瘯缁撴灉",
- // field: "testResult",
- // type: "input",
- // inputType: "number",
- // width: 140,
- // require: false,
- // placeholder: "璇疯緭鍏ユ暟瀛楃粨鏋�",
- // },
- // ],
- // 绗洓琛岋細4涓瓧娈碉紙鍘嬭浣嶅叏鍙傛暟锛夛紝灏忔暟鏍¢獙锛屾柊澧炲帇瑁呭帇鍔�
- [
- {
- title: "鍘嬭楂樺害",
- field: "pressHeight",
- type: "input",
- inputType: "number",
width: 160,
- require: false,
- attrs: { step: 0.01, min: 0 },
- placeholder: "淇濈暀2浣嶅皬鏁�",
+ align: "center",
+ defaultValue: 0,
+ data: productStatusOptions,
},
{
- title: "鍘嬭鍘嬪姏",
+ title: "鍘嬭浣嶄笅鍘嬪帇鍔�",
field: "pressPressure",
type: "input",
inputType: "number",
- width: 160,
+ width: 180,
require: false,
attrs: { step: 0.01, min: 0 },
placeholder: "淇濈暀2浣嶅皬鏁�",
+ formatter: formatTwoDecimal,
+ onBlur: (e) => {
+ e.target.value = formatTwoDecimal(e.target.value);
+ },
},
+ ],
+ // 鍘嬭妫�娴嬪弬鏁拌 - 浼樺寲鏍囬锛屽尮閰嶅悗绔敞閲�
+ [
{
- title: "鍘嬭鎵姏",
+ title: "鍘嬭浣嶆嫥绱ф娴嬫壄鍔�",
field: "screwTorque",
type: "input",
inputType: "number",
- width: 160,
+ width: 180,
require: false,
attrs: { step: 0.01, min: 0 },
placeholder: "淇濈暀2浣嶅皬鏁�",
+ formatter: formatTwoDecimal,
+ onBlur: (e) => {
+ e.target.value = formatTwoDecimal(e.target.value);
+ },
},
{
- title: "鎷х揣瑙掑害",
+ title: "鍘嬭浣嶆嫥绱ф娴嬭搴�",
field: "screwAngle",
type: "input",
inputType: "number",
- width: 160,
+ width: 180,
require: false,
attrs: { step: 0.01, min: 0 },
placeholder: "淇濈暀2浣嶅皬鏁�",
+ formatter: formatTwoDecimal,
+ onBlur: (e) => {
+ e.target.value = formatTwoDecimal(e.target.value);
+ },
+ },
+ {
+ title: "浜у搧妫�娴嬮珮搴�",
+ field: "productCheckHeight",
+ type: "input",
+ inputType: "number",
+ width: 180,
+ require: false,
+ attrs: { step: 0.01, min: 0 },
+ placeholder: "淇濈暀2浣嶅皬鏁�",
+ formatter: formatTwoDecimal,
+ onBlur: (e) => {
+ e.target.value = formatTwoDecimal(e.target.value);
+ },
+ },
+ {
+ title: "铻虹汗浣嶇疆楂樺害",
+ field: "threadPositionHeight",
+ type: "input",
+ inputType: "number",
+ width: 180,
+ require: false,
+ attrs: { step: 0.01, min: 0 },
+ placeholder: "淇濈暀2浣嶅皬鏁�",
+ formatter: formatTwoDecimal,
+ onBlur: (e) => {
+ e.target.value = formatTwoDecimal(e.target.value);
+ },
},
],
- // 绗簲琛岋細3涓瓧娈碉紙鎷х揣浣嶆娴嬮珮搴︼級锛屽皬鏁版牎楠岋紝灞呬腑鎺掑竷
+ // 鎷х揣浣嶆娴嬮珮搴﹁
[
{
- title: "妫�娴嬮珮搴�1",
+ title: "鎷х揣浣嶆娴嬮珮搴�1",
field: "height1",
type: "input",
inputType: "number",
- width: 200,
+ width: 180,
require: false,
attrs: { step: 0.01, min: 0 },
placeholder: "淇濈暀2浣嶅皬鏁�",
+ formatter: formatTwoDecimal,
+ onBlur: (e) => {
+ e.target.value = formatTwoDecimal(e.target.value);
+ },
},
{
- title: "妫�娴嬮珮搴�2",
+ title: "鎷х揣浣嶆娴嬮珮搴�2",
field: "height2",
type: "input",
inputType: "number",
- width: 200,
+ width: 180,
require: false,
attrs: { step: 0.01, min: 0 },
placeholder: "淇濈暀2浣嶅皬鏁�",
+ formatter: formatTwoDecimal,
+ onBlur: (e) => {
+ e.target.value = formatTwoDecimal(e.target.value);
+ },
},
{
- title: "妫�娴嬮珮搴�3",
+ title: "鎷х揣浣嶆娴嬮珮搴�3",
field: "height3",
type: "input",
inputType: "number",
- width: 200,
+ width: 180,
require: false,
attrs: { step: 0.01, min: 0 },
placeholder: "淇濈暀2浣嶅皬鏁�",
+ formatter: formatTwoDecimal,
+ onBlur: (e) => {
+ e.target.value = formatTwoDecimal(e.target.value);
+ },
},
],
]);
- // 鎼滅储琛ㄥ崟瀛楁 - 鏍稿績鎼滅储椤癸紙娴佹按鍙�+鍩虹淇℃伅+鍒涘缓淇℃伅锛�
+ // 鎼滅储琛ㄥ崟瀛楁 - 鍖归厤鍚庣瀹炰綋锛岀Щ闄ゆ棤鍏冲瓧娈�
const searchFormFields = ref({
palletCode: "",
productCode: "",
productName: "",
- productSn: "", // 娴佹按鍙锋悳绱�
- creater: "",
+ productSn: "",
+ productStatus: "", // 鏂板锛氫骇鍝佺姸鎬佹悳绱�
createDate: "",
});
- // 鎼滅储琛ㄥ崟閰嶇疆 - 浼樺寲瀹藉害锛屽尮閰嶅竷灞�
+ // 鎼滅储琛ㄥ崟閰嶇疆 - 浼樺寲甯冨眬锛屾柊澧炰骇鍝佺姸鎬佹悳绱�
const searchFormOptions = ref([
[
{ title: "宸ヨ鏉跨紪鍙�", field: "palletCode", type: "like", width: 180 },
@@ -311,12 +276,18 @@
{ title: "娴佹按鍙�", field: "productSn", type: "like", width: 200 },
],
[
- { title: "鍒涘缓浜�", field: "creater", type: "like", width: 200 },
+ {
+ title: "浜у搧鐘舵��",
+ field: "productStatus",
+ type: "select",
+ width: 180,
+ data: productStatusOptions,
+ },
{ title: "鍒涘缓鏃堕棿", field: "createDate", type: "datetime", width: 380 },
],
]);
- // 琛ㄦ牸鍒楅厤缃� - 瀹屽叏鍖归厤鍚庣瀹炰綋锛屾柊澧瀙ressPressure鍒楋紝浼樺寲鍒楀/瀵归綈
+ // 琛ㄦ牸鍒楅厤缃� - 淇瀛楁鍖归厤锛屾柊澧炰骇鍝佺姸鎬佸垪锛屼紭鍖栨爣棰�
const columns = ref([
{
field: "id",
@@ -355,159 +326,107 @@
align: "left",
overflow: "ellipsis",
},
- // 4涓姸鎬佸垪 - 鏄惁鏍煎紡鍖栨樉绀�
- {
- field: "pressTightenNg",
- title: "鎷х揣NG",
- type: "select",
- width: 120,
- align: "center",
- bind: {
- key: "value",
- data: [
- { key: "0", value: "鍚�" },
- { key: "1", value: "鏄�" },
- ],
- },
- },
+ // 鐘舵�佸垪 - 绉婚櫎checkUnfinished锛屾柊澧炰骇鍝佺姸鎬�
{
field: "pressTightenOk",
title: "鎷х揣OK",
type: "select",
- width: 120,
+ width: 100,
align: "center",
bind: {
key: "value",
- data: [
- { key: "0", value: "鍚�" },
- { key: "1", value: "鏄�" },
- ],
+ data: booleanOptions,
},
},
{
field: "pressTightenUnfinished",
title: "鎷х揣鏈畬鎴�",
type: "select",
- width: 140,
+ width: 120,
align: "center",
bind: {
key: "value",
- data: [
- { key: "0", value: "鍚�" },
- { key: "1", value: "鏄�" },
- ],
+ data: booleanOptions,
},
},
{
- field: "checkUnfinished",
- title: "妫�娴嬫湭瀹屾垚",
+ field: "productStatus",
+ title: "浜у搧鐘舵��",
type: "select",
width: 120,
align: "center",
bind: {
key: "value",
- data: [
- { key: "0", value: "鍚�" },
- { key: "1", value: "鏄�" },
- ],
+ data: productStatusOptions,
},
},
- // {
- // field: "componentQty",
- // title: "闆朵欢鏁伴噺",
- // type: "int",
- // width: 90,
- // align: "center",
- // },
- // // 鎵姏/鍒氬害鐩稿叧 - decimal绫诲瀷锛堜繚鐣�2浣嶅皬鏁帮級
- // {
- // field: "torsioValue",
- // title: "鎵姏鍊�",
- // type: "decimal",
- // width: 90,
- // align: "center",
- // },
- // {
- // field: "torsioValueStandard",
- // title: "鎵姏鏍囧噯",
- // type: "decimal",
- // width: 100,
- // align: "center",
- // },
- // {
- // field: "stiffnessValue",
- // title: "鍒氬害鍊�",
- // type: "decimal",
- // width: 90,
- // align: "center",
- // },
- // {
- // field: "stiffnessValueStandard",
- // title: "鍒氬害鏍囧噯",
- // type: "decimal",
- // width: 100,
- // align: "center",
- // },
- // {
- // field: "testResult",
- // title: "娴嬭瘯缁撴灉",
- // type: "int",
- // width: 90,
- // align: "center",
- // },
- // 鍘嬭浣嶆娴嬪弬鏁� - 銆愭柊澧瀙ressPressure鍒椼�慸ecimal绫诲瀷
+ // 鍘嬭妫�娴嬪弬鏁板垪 - 浼樺寲鏍囬锛岀粺涓�鏍煎紡鍖�
{
- field: "pressHeight",
- title: "鍘嬭楂樺害",
+ field: "pressPressure",
+ title: "鍘嬭浣嶄笅鍘嬪帇鍔�",
type: "decimal",
- width: 100,
+ width: 120,
align: "center",
- },
- {
- field: "pressPressure", // 銆愭柊澧炪�戝帇瑁呬綅涓嬪帇鍘嬪姏
- title: "鍘嬭鍘嬪姏",
- type: "decimal",
- width: 100,
- align: "center",
- columnDescription: "鍘嬭浣嶄笅鍘嬪帇鍔�",
+ formatter: (row) => formatTwoDecimal(row.pressPressure),
},
{
field: "screwTorque",
- title: "鍘嬭鎵姏",
+ title: "鎷х揣妫�娴嬫壄鍔�",
type: "decimal",
- width: 100,
+ width: 120,
align: "center",
+ formatter: (row) => formatTwoDecimal(row.screwTorque),
},
{
field: "screwAngle",
- title: "鎷х揣瑙掑害",
+ title: "鎷х揣妫�娴嬭搴�",
type: "decimal",
- width: 100,
+ width: 120,
align: "center",
+ formatter: (row) => formatTwoDecimal(row.screwAngle),
},
- // 鎷х揣浣嶆娴嬮珮搴�
+ // 浜у搧妫�娴嬮珮搴﹀垪
+ {
+ field: "productCheckHeight",
+ title: "浜у搧妫�娴嬮珮搴�",
+ type: "decimal",
+ width: 120,
+ align: "center",
+ formatter: (row) => formatTwoDecimal(row.productCheckHeight),
+ },
+ {
+ field: "threadPositionHeight",
+ title: "铻虹汗浣嶇疆楂樺害",
+ type: "decimal",
+ width: 120,
+ align: "center",
+ formatter: (row) => formatTwoDecimal(row.threadPositionHeight),
+ },
{
field: "height1",
- title: "妫�娴嬮珮搴�1",
+ title: "楂樺害1",
type: "decimal",
width: 100,
align: "center",
+ formatter: (row) => formatTwoDecimal(row.height1),
},
{
field: "height2",
- title: "妫�娴嬮珮搴�2",
+ title: "楂樺害2",
type: "decimal",
width: 100,
align: "center",
+ formatter: (row) => formatTwoDecimal(row.height2),
},
{
field: "height3",
- title: "妫�娴嬮珮搴�3",
+ title: "楂樺害3",
type: "decimal",
width: 100,
align: "center",
+ formatter: (row) => formatTwoDecimal(row.height3),
},
- // 鍏叡瀛楁 - 鍒涘缓/淇敼淇℃伅
+ // 鍏叡瀛楁
{
field: "creater",
title: "鍒涘缓浜�",
@@ -538,7 +457,7 @@
},
]);
- // 鍔犲伐淇℃伅鏃犳槑缁嗭紝淇濇寔绌洪厤缃�
+ // 鍔犲伐淇℃伅鏃犳槑缁�
const detail = ref({
cnName: "",
table: "",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/views/basicinfo/processInfoDetail.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/views/basicinfo/processInfoDetail.vue"
index f267713..bd90e8c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/views/basicinfo/processInfoDetail.vue"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Client/src/views/basicinfo/processInfoDetail.vue"
@@ -19,7 +19,14 @@
export default defineComponent({
setup() {
- // 琛ㄦ牸鍩虹閰嶇疆 - 鏂板榛樿鍊掑簭銆佺粺涓�瑙勮寖
+ // 宸ュ叿鍑芥暟锛氭牸寮忓寲鏁板瓧涓轰袱浣嶅皬鏁�
+ const formatTwoDecimal = (value) => {
+ if (value === "" || value === null || value === undefined) return "";
+ const num = parseFloat(value);
+ return isNaN(num) ? "" : num.toFixed(2);
+ };
+
+ // 琛ㄦ牸鍩虹閰嶇疆
const table = ref({
key: "id",
footer: "Foots",
@@ -27,38 +34,51 @@
name: "processInfoDetail",
url: "/processInfoDetail/",
sortName: "createDate",
- sortOrder: "desc", // 鏂板锛氬垱寤烘椂闂撮粯璁ゅ�掑簭锛屽拰涓婚〉闈繚鎸佷竴鑷�
+ sortOrder: "desc", // 鍒涘缓鏃堕棿榛樿鍊掑簭
});
- // 缂栬緫琛ㄥ崟瀛楁 - 鍚屾涓婚〉闈紝鏂板pressPressure锛堝帇瑁呭帇鍔涳級锛屽尮閰嶅悗绔疄浣�
+ // 缂栬緫琛ㄥ崟瀛楁 - 涓ユ牸鍖归厤鍚庣Dt_ProcessInfo瀹炰綋
const editFormFields = ref({
- id: "",
+ id: 0, // 涓婚敭榛樿鍊兼敼涓烘暟瀛�0
palletCode: "",
productCode: "",
productName: "",
- productSn: "", // 娴佹按鍙�
- pressTightenNg: "", // 鍘嬭鎷х揣_鎷х揣NG
- pressTightenOk: "", // 鍘嬭鎷х揣_鎷х揣OK
- pressTightenUnfinished: "", // 鍘嬭鎷х揣_鏈鍔犲伐鏈畬鎴�
- checkUnfinished: "", // 妫�娴媉鏈妫�娴嬫湭瀹屾垚
- pressHeight: "", // 鍘嬭浣嶄笅鍘嬮珮搴�
- screwTorque: "", // 鍘嬭浣嶆嫥绱ф壄鍔�
- screwAngle: "", // 鍘嬭浣嶆嫥绱ц搴�
- pressPressure: "", // 銆愭柊澧炪�戝帇瑁呬綅涓嬪帇鍘嬪姏锛堝尮閰嶅悗绔疄浣擄級
- height1: "", // 鎷х揣浣嶆娴嬮珮搴�1
- height2: "", // 鎷х揣浣嶆娴嬮珮搴�2
- height3: "", // 鎷х揣浣嶆娴嬮珮搴�3
+ productSn: "",
+ pressTightenOk: 0, // 鏀逛负鏁板瓧榛樿鍊�
+ pressTightenUnfinished: 0, // 鏀逛负鏁板瓧榛樿鍊�
+ productStatus: 0, // 鏂板锛氫骇鍝佺姸鎬佸瓧娈�
+ screwTorque: "",
+ screwAngle: "",
+ pressPressure: "",
+ productCheckHeight: "",
+ threadPositionHeight: "",
+ height1: "",
+ height2: "",
+ height3: "",
});
- // 缂栬緫琛ㄥ崟閰嶇疆 - 鍙栨秷鍐椾綑鍒嗙被銆佸潎鍖�鎺掑竷锛屾柊澧炲帇瑁呭帇鍔涢」锛岃ˉ鍏ㄩ粯璁ゅ��/鏍¢獙锛岀粺涓�瀹藉害
+ // 浜у搧鐘舵�佷笅鎷夐�夐」锛堝尮閰嶅悗绔敞閲婏級
+ const productStatusOptions = [
+ { key: "0", value: "涓嶅悎鏍�" },
+ { key: "1", value: "鍚堟牸" },
+ { key: "2", value: "浜哄伐纭鍚堟牸" },
+ ];
+
+ // 甯冨皵鍨嬩笅鎷夐�夐」锛堥�氱敤锛�
+ const booleanOptions = [
+ { key: "0", value: "鍚�" },
+ { key: "1", value: "鏄�" },
+ ];
+
+ // 缂栬緫琛ㄥ崟閰嶇疆 - 淇瀛楁鍖归厤锛屼紭鍖栧竷灞�鍜屽懡鍚�
const editFormOptions = ref([
- // 绗竴琛岋細鍩虹鏍囪瘑锛屽搴﹀崗璋冿紝鍜屼富椤甸潰甯冨眬涓�鑷�
+ // 鍩虹淇℃伅琛�
[
{
title: "宸ヨ鏉跨紪鍙�",
field: "palletCode",
type: "input",
- width: 160,
+ width: 180,
require: true,
placeholder: "璇疯緭鍏ュ伐瑁呮澘缂栧彿",
},
@@ -66,7 +86,7 @@
title: "鎴愬搧缂栧彿",
field: "productCode",
type: "input",
- width: 160,
+ width: 180,
require: true,
placeholder: "璇疯緭鍏ユ垚鍝佺紪鍙�",
},
@@ -74,7 +94,7 @@
title: "鎴愬搧鍚嶇О",
field: "productName",
type: "input",
- width: 160,
+ width: 180,
require: true,
placeholder: "璇疯緭鍏ユ垚鍝佸悕绉�",
},
@@ -82,158 +102,172 @@
title: "娴佹按鍙�",
field: "productSn",
type: "input",
- width: 180,
+ width: 200,
require: false,
placeholder: "璇疯緭鍏ヤ骇鍝佹祦姘村彿",
},
],
- // 绗簩琛岋細4涓姸鎬佸垪+涓婚敭锛岃ˉ鍏ㄩ粯璁ゅ��0锛堝惁锛夛紝缁熶竴瀹藉害/瀵归綈锛岄殣钘忎富閿�
+ // 鍔犲伐鐘舵�佽 - 绉婚櫎涓嶅瓨鍦ㄧ殑checkUnfinished锛屾柊澧炰骇鍝佺姸鎬�
[
{
- title: "鎷х揣NG",
- field: "pressTightenNg",
- type: "select",
- width: 150,
- align: "center",
- defaultValue: "0", // 鏂板榛樿鍊硷紝鍜屼富椤甸潰涓�鑷�
- data: [
- { key: "0", value: "鍚�" },
- { key: "1", value: "鏄�" },
- ],
- },
- {
- title: "鎷х揣OK",
+ title: "鍘嬭鎷х揣_鎷х揣OK",
field: "pressTightenOk",
type: "select",
- width: 150,
+ width: 160,
align: "center",
- defaultValue: "0", // 鏂板榛樿鍊�
- data: [
- { key: "0", value: "鍚�" },
- { key: "1", value: "鏄�" },
- ],
+ defaultValue: 0,
+ data: booleanOptions,
},
{
- title: "鎷х揣鏈畬鎴�",
+ title: "鍘嬭鎷х揣_鏈鍔犲伐鏈畬鎴�",
field: "pressTightenUnfinished",
type: "select",
- width: 170,
+ width: 180,
align: "center",
- defaultValue: "0",
- data: [
- { key: "0", value: "鍚�" },
- { key: "1", value: "鏄�" },
- ],
+ defaultValue: 0,
+ data: booleanOptions,
},
{
- title: "妫�娴嬫湭瀹屾垚",
- field: "checkUnfinished",
+ title: "浜у搧鐘舵��",
+ field: "productStatus",
type: "select",
- width: 150,
+ width: 160,
align: "center",
- defaultValue: "0", // 鏂板榛樿鍊硷紝缁熶竴瑙勮寖
- data: [
- { key: "0", value: "鍚�" },
- { key: "1", value: "鏄�" },
- ],
+ defaultValue: 0,
+ data: productStatusOptions,
},
{
- title: "涓婚敭ID",
- field: "id",
+ title: "鍘嬭浣嶄笅鍘嬪帇鍔�",
+ field: "pressPressure",
type: "input",
- width: 100,
- hidden: true,
- readonly: true,
+ inputType: "number",
+ width: 180,
+ require: false,
+ attrs: { step: 0.01, min: 0 },
+ placeholder: "淇濈暀2浣嶅皬鏁�",
+ formatter: formatTwoDecimal,
+ onBlur: (e) => {
+ e.target.value = formatTwoDecimal(e.target.value);
+ },
},
],
+ // 鍘嬭妫�娴嬪弬鏁拌 - 浼樺寲鏍囬锛屽尮閰嶅悗绔敞閲�
[
{
- title: "鍘嬭楂樺害",
- field: "pressHeight",
- type: "input",
- inputType: "number",
- width: 160,
- require: false,
- attrs: { step: 0.01, min: 0 },
- placeholder: "淇濈暀2浣嶅皬鏁�",
- },
- {
- title: "鍘嬭鍘嬪姏",
- field: "pressPressure", // 鏂板鍘嬭鍘嬪姏椤�
- type: "input",
- inputType: "number",
- width: 160,
- require: false,
- attrs: { step: 0.01, min: 0 },
- placeholder: "淇濈暀2浣嶅皬鏁�",
- },
- {
- title: "鍘嬭鎵姏",
+ title: "鍘嬭浣嶆嫥绱ф娴嬫壄鍔�",
field: "screwTorque",
type: "input",
inputType: "number",
- width: 160,
+ width: 180,
require: false,
attrs: { step: 0.01, min: 0 },
placeholder: "淇濈暀2浣嶅皬鏁�",
+ formatter: formatTwoDecimal,
+ onBlur: (e) => {
+ e.target.value = formatTwoDecimal(e.target.value);
+ },
},
{
- title: "鎷х揣瑙掑害",
+ title: "鍘嬭浣嶆嫥绱ф娴嬭搴�",
field: "screwAngle",
type: "input",
inputType: "number",
- width: 160,
+ width: 180,
require: false,
attrs: { step: 0.01, min: 0 },
placeholder: "淇濈暀2浣嶅皬鏁�",
+ formatter: formatTwoDecimal,
+ onBlur: (e) => {
+ e.target.value = formatTwoDecimal(e.target.value);
+ },
+ },
+ {
+ title: "浜у搧妫�娴嬮珮搴�",
+ field: "productCheckHeight",
+ type: "input",
+ inputType: "number",
+ width: 180,
+ require: false,
+ attrs: { step: 0.01, min: 0 },
+ placeholder: "淇濈暀2浣嶅皬鏁�",
+ formatter: formatTwoDecimal,
+ onBlur: (e) => {
+ e.target.value = formatTwoDecimal(e.target.value);
+ },
+ },
+ {
+ title: "铻虹汗浣嶇疆楂樺害",
+ field: "threadPositionHeight",
+ type: "input",
+ inputType: "number",
+ width: 180,
+ require: false,
+ attrs: { step: 0.01, min: 0 },
+ placeholder: "淇濈暀2浣嶅皬鏁�",
+ formatter: formatTwoDecimal,
+ onBlur: (e) => {
+ e.target.value = formatTwoDecimal(e.target.value);
+ },
},
],
- // 绗簲琛岋細鎷х揣浣嶆娴嬮珮搴︼紝灏忔暟鏍¢獙锛屽眳涓帓甯冿紝缁熶竴瀹藉害
+ // 鎷х揣浣嶆娴嬮珮搴﹁
[
{
- title: "妫�娴嬮珮搴�1",
+ title: "鎷х揣浣嶆娴嬮珮搴�1",
field: "height1",
type: "input",
inputType: "number",
- width: 200,
+ width: 180,
require: false,
attrs: { step: 0.01, min: 0 },
placeholder: "淇濈暀2浣嶅皬鏁�",
+ formatter: formatTwoDecimal,
+ onBlur: (e) => {
+ e.target.value = formatTwoDecimal(e.target.value);
+ },
},
{
- title: "妫�娴嬮珮搴�2",
+ title: "鎷х揣浣嶆娴嬮珮搴�2",
field: "height2",
type: "input",
inputType: "number",
- width: 200,
+ width: 180,
require: false,
attrs: { step: 0.01, min: 0 },
placeholder: "淇濈暀2浣嶅皬鏁�",
+ formatter: formatTwoDecimal,
+ onBlur: (e) => {
+ e.target.value = formatTwoDecimal(e.target.value);
+ },
},
{
- title: "妫�娴嬮珮搴�3",
+ title: "鎷х揣浣嶆娴嬮珮搴�3",
field: "height3",
type: "input",
inputType: "number",
- width: 200,
+ width: 180,
require: false,
attrs: { step: 0.01, min: 0 },
placeholder: "淇濈暀2浣嶅皬鏁�",
+ formatter: formatTwoDecimal,
+ onBlur: (e) => {
+ e.target.value = formatTwoDecimal(e.target.value);
+ },
},
],
]);
- // 鎼滅储琛ㄥ崟瀛楁 - 淇濇寔鍜屼富椤甸潰銆佸師鏈変唬鐮佷竴鑷达紝鏍稿績鎼滅储椤规棤璋冩暣
+ // 鎼滅储琛ㄥ崟瀛楁 - 鍖归厤鍚庣瀹炰綋锛岀Щ闄ゆ棤鍏冲瓧娈�
const searchFormFields = ref({
palletCode: "",
productCode: "",
productName: "",
- productSn: "", // 娴佹按鍙锋悳绱�
- creater: "",
+ productSn: "",
+ productStatus: "", // 鏂板锛氫骇鍝佺姸鎬佹悳绱�
createDate: "",
});
- // 鎼滅储琛ㄥ崟閰嶇疆 - 浼樺寲瀹藉害鍖归厤甯冨眬锛屽拰涓婚〉闈㈠畬鍏ㄤ竴鑷�
+ // 鎼滅储琛ㄥ崟閰嶇疆 - 浼樺寲甯冨眬锛屾柊澧炰骇鍝佺姸鎬佹悳绱�
const searchFormOptions = ref([
[
{ title: "宸ヨ鏉跨紪鍙�", field: "palletCode", type: "like", width: 180 },
@@ -242,12 +276,18 @@
{ title: "娴佹按鍙�", field: "productSn", type: "like", width: 200 },
],
[
- { title: "鍒涘缓浜�", field: "creater", type: "like", width: 200 },
+ {
+ title: "浜у搧鐘舵��",
+ field: "productStatus",
+ type: "select",
+ width: 180,
+ data: productStatusOptions,
+ },
{ title: "鍒涘缓鏃堕棿", field: "createDate", type: "datetime", width: 380 },
],
]);
- // 琛ㄦ牸鍒楅厤缃� - 銆愭柊澧瀙ressPressure鍒椼�戯紝缁熶竴鍒楀悕/瀹藉害/绫诲瀷锛屼慨澶嶉瀛楁瘝澶у啓闂锛屼紭鍖栧榻�
+ // 琛ㄦ牸鍒楅厤缃� - 淇瀛楁鍖归厤锛屾柊澧炰骇鍝佺姸鎬佸垪锛屼紭鍖栨爣棰�
const columns = ref([
{
field: "id",
@@ -286,115 +326,107 @@
align: "left",
overflow: "ellipsis",
},
- // 4涓姸鎬佸垪 - 淇鍘熸湁PressTightenNg棣栧瓧姣嶅ぇ鍐欓棶棰橈紝缁熶竴瑙勮寖
- {
- field: "pressTightenNg",
- title: "鎷х揣NG",
- type: "select",
- width: 120,
- align: "center",
- bind: {
- key: "value",
- data: [
- { key: "0", value: "鍚�" },
- { key: "1", value: "鏄�" },
- ],
- },
- },
+ // 鐘舵�佸垪 - 绉婚櫎checkUnfinished锛屾柊澧炰骇鍝佺姸鎬�
{
field: "pressTightenOk",
title: "鎷х揣OK",
type: "select",
- width: 120,
+ width: 100,
align: "center",
bind: {
key: "value",
- data: [
- { key: "0", value: "鍚�" },
- { key: "1", value: "鏄�" },
- ],
+ data: booleanOptions,
},
},
{
field: "pressTightenUnfinished",
title: "鎷х揣鏈畬鎴�",
type: "select",
- width: 140,
+ width: 120,
align: "center",
bind: {
key: "value",
- data: [
- { key: "0", value: "鍚�" },
- { key: "1", value: "鏄�" },
- ],
+ data: booleanOptions,
},
},
{
- field: "checkUnfinished",
- title: "妫�娴嬫湭瀹屾垚",
+ field: "productStatus",
+ title: "浜у搧鐘舵��",
type: "select",
width: 120,
align: "center",
bind: {
key: "value",
- data: [
- { key: "0", value: "鍚�" },
- { key: "1", value: "鏄�" },
- ],
+ data: productStatusOptions,
},
},
+ // 鍘嬭妫�娴嬪弬鏁板垪 - 浼樺寲鏍囬锛岀粺涓�鏍煎紡鍖�
{
- field: "pressHeight",
- title: "鍘嬭楂樺害",
+ field: "pressPressure",
+ title: "鍘嬭浣嶄笅鍘嬪帇鍔�",
type: "decimal",
- width: 100,
+ width: 120,
align: "center",
- },
- {
- field: "pressPressure", // 鏂板鍘嬭鍘嬪姏鍒�
- title: "鍘嬭鍘嬪姏",
- type: "decimal",
- width: 100,
- align: "center",
- columnDescription: "鍘嬭浣嶄笅鍘嬪帇鍔�",
+ formatter: (row) => formatTwoDecimal(row.pressPressure),
},
{
field: "screwTorque",
- title: "鍘嬭鎵姏",
+ title: "鎷х揣妫�娴嬫壄鍔�",
type: "decimal",
- width: 100,
+ width: 120,
align: "center",
+ formatter: (row) => formatTwoDecimal(row.screwTorque),
},
{
field: "screwAngle",
- title: "鎷х揣瑙掑害",
+ title: "鎷х揣妫�娴嬭搴�",
type: "decimal",
- width: 100,
+ width: 120,
align: "center",
+ formatter: (row) => formatTwoDecimal(row.screwAngle),
},
- // 鎷х揣浣嶆娴嬮珮搴�
+ // 浜у搧妫�娴嬮珮搴﹀垪
+ {
+ field: "productCheckHeight",
+ title: "浜у搧妫�娴嬮珮搴�",
+ type: "decimal",
+ width: 120,
+ align: "center",
+ formatter: (row) => formatTwoDecimal(row.productCheckHeight),
+ },
+ {
+ field: "threadPositionHeight",
+ title: "铻虹汗浣嶇疆楂樺害",
+ type: "decimal",
+ width: 120,
+ align: "center",
+ formatter: (row) => formatTwoDecimal(row.threadPositionHeight),
+ },
{
field: "height1",
- title: "妫�娴嬮珮搴�1",
+ title: "楂樺害1",
type: "decimal",
width: 100,
align: "center",
+ formatter: (row) => formatTwoDecimal(row.height1),
},
{
field: "height2",
- title: "妫�娴嬮珮搴�2",
+ title: "楂樺害2",
type: "decimal",
width: 100,
align: "center",
+ formatter: (row) => formatTwoDecimal(row.height2),
},
{
field: "height3",
- title: "妫�娴嬮珮搴�3",
+ title: "楂樺害3",
type: "decimal",
width: 100,
align: "center",
+ formatter: (row) => formatTwoDecimal(row.height3),
},
- // 鍏叡瀛楁 - 鍒涘缓/淇敼淇℃伅锛屽拰涓婚〉闈竴鑷�
+ // 鍏叡瀛楁
{
field: "creater",
title: "鍒涘缓浜�",
@@ -425,7 +457,7 @@
},
]);
- // 鏃犱簩绾ф槑缁嗭紝淇濇寔绌洪厤缃笉鍙�
+ // 鍔犲伐淇℃伅鏃犳槑缁�
const detail = ref({
cnName: "",
table: "",
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.794.21998/CodeChunks.db" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.794.21998/CodeChunks.db"
index 54475ee..601eb0d 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.794.21998/CodeChunks.db"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.794.21998/CodeChunks.db"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.794.21998/SemanticSymbols.db" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.794.21998/SemanticSymbols.db"
index b9b9d10..74c916e 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.794.21998/SemanticSymbols.db"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.14.794.21998/SemanticSymbols.db"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2"
index 9f272c0..393dad0 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/DesignTimeBuild/.dtbcache.v2"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2"
index 2965807..81e7b76 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.futdcache.v2"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo"
index de8ccda..6a28682 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/v17/.suo"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/BoxingDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/BoxingDetailService.cs"
index 03b6dce..fa9372b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/BoxingDetailService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/BoxingDetailService.cs"
@@ -11,6 +11,7 @@
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_DTO.BasicInfo;
+using WIDESEAWCS_IBasicInfoService;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob;
@@ -22,6 +23,10 @@
private readonly IBoxingService _boxingService;
private readonly IFormulaService _formulaService;
private readonly IFormulaDetailService _formulaDetailService;
+ private readonly IProcessInfoDetailService _processInfoDetailService;
+ private readonly IScanStationService _scanStationService;
+
+
private readonly IUnitOfWorkManage _unitOfWorkManage;
public BoxingDetailService(
@@ -29,13 +34,18 @@
IFormulaService formulaService,
IBoxingService boxingService,
IFormulaDetailService formulaDetailService,
+ IProcessInfoDetailService processInfoDetailService,
+ IScanStationService scanStationService,
IUnitOfWorkManage unitOfWorkManage
) : base(BaseDal)
{
_formulaService = formulaService;
_boxingService = boxingService;
_formulaDetailService = formulaDetailService;
+ _processInfoDetailService = processInfoDetailService;
+ _scanStationService = scanStationService;
_unitOfWorkManage = unitOfWorkManage;
+
}
public IRepository<Dt_BoxingDetail> Repository => BaseDal;
@@ -103,6 +113,7 @@
/// <returns></returns>
public string IsComponentCodesEqual(List<string> boxingDetails, List<string> formulaDetails)
{
+
// 澶勭悊null闆嗗悎锛岃閬跨┖鎸囬拡寮傚父
var boxList = boxingDetails ?? new List<string>();
var formulaList = formulaDetails ?? new List<string>();
@@ -142,15 +153,17 @@
return WebResponseContent.Instance.Error("鎻愪氦鍙傛暟涓嶈兘涓虹┖");
}
string productCode = toolingBoardSubmitDto.FinishedProductCode?.Trim();
+
+ string proCode = string.Empty;
+ string proOther = string.Empty;
+
if (!string.IsNullOrWhiteSpace(productCode))
{
- string proCode = string.Empty;
- string proOther = string.Empty;
var proCodeMatch = System.Text.RegularExpressions.Regex.Match(productCode, @"TX(\d+)(?=\s|\||$)", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
if (proCodeMatch.Success)
{
- proCode = $"TX{proCodeMatch.Groups[1].Value.Trim()}"; // 鎷兼帴TX+鏁板瓧锛屼繚鎸佹牸寮忕粺涓�
+ proCode = $"TX{proCodeMatch.Groups[1].Value.Trim()}";
}
// 姝e垯2锛氬尮閰嶈繛缁殑10浣嶇函鏁板瓧锛堝叏灞�鍖归厤锛屽彇绗竴涓鍚堢殑鍗冲彲锛�
@@ -165,6 +178,12 @@
if (formulaModel == null)
{
return WebResponseContent.Instance.Error("鏃犳垚鍝侀厤鏂癸紝璇锋牳瀵规垚鍝佺紪鐮�");
+ }
+
+ Dt_ScanStation dt_ScanStation = _scanStationService.Repository.QueryFirst(x => x.StationCode == "001");
+ if (dt_ScanStation.StationEndProduct != proCode)
+ {
+ return WebResponseContent.Instance.Error("鎴愬搧缂栧彿閿欒");
}
List<Dt_FormulaDetail> dt_FormulaDetails = _formulaDetailService.Repository.QueryData(x => x.FormulaId == formulaModel.Id && x.IsScanned == 1);
@@ -193,6 +212,11 @@
if (!PalletCode.IsNotEmptyOrNull() || PalletCode == "NoRead")
{
throw new InvalidOperationException("鎵樼洏鐮佹湭鎵埌锛岃閲嶈瘯");
+ }
+ Dt_Boxing dt_Boxing = _boxingService.Repository.QueryFirst(x => x.PalletCode == PalletCode);
+ if(dt_Boxing != null)
+ {
+ throw new InvalidOperationException("鎵樼洏鐮侀噸澶嶆壂鎻�");
}
Dt_Boxing existBoxinModel = new Dt_Boxing();
existBoxinModel.PalletCode = PalletCode;
@@ -326,9 +350,18 @@
// #endregion
//}
//uow.Commit();
- //string msg = existBoxinModel == null ? "缁勭洏淇℃伅鏂板鎴愬姛锛�" : "缁勭洏淇℃伅淇敼鎴愬姛锛�";
+ string msg = null;
+ List<Dt_ProcessInfoDetail> dt_ProcessInfoDetail = _processInfoDetailService.Repository
+ .QueryData(x => x.ProductSn == proOther && x.ProductCode == proCode).ToList();
- return WebResponseContent.Instance.OK();
+ // 3. 鍒ゆ柇鏌ヨ缁撴灉锛屽瓨鍦ㄥ垯璧嬪�兼彁绀轰俊鎭�
+ if (dt_ProcessInfoDetail.Count<=3 && dt_ProcessInfoDetail.Count != 0)
+ {
+ msg = "宸叉湁娴佹按鍙�";
+ }
+
+ // 4. 杩斿洖鍝嶅簲锛堝瓨鍦ㄩ噸澶嶅垯msg鏄�"宸叉湁娴佹按鍙�"锛屼笉瀛樺湪鍒檓sg涓簄ull锛�
+ return WebResponseContent.Instance.OK(msg);
}
catch (Exception ex)
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/BoxingService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/BoxingService.cs"
index 0c26b86..00f5f64 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/BoxingService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/BoxingService.cs"
@@ -1,20 +1,80 @@
-锘縰sing System;
+锘縰sing Autofac.Core;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using WIDESEAWCS_Common;
+using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Core.BaseServices;
+using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_IBasicInfoService;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_BasicInfoService
{
public class BoxingService : ServiceBase<Dt_Boxing, IRepository<Dt_Boxing>>, IBoxingService
{
- public BoxingService(IRepository<Dt_Boxing> BaseDal) : base(BaseDal)
+ private readonly IProcessInfoService _processInfoService;
+ // 鐩存帴娉ㄥ叆 BoxingDetail 鐨勪粨鍌紝鏇夸唬娉ㄥ叆 BoxingDetailService
+ private readonly IRepository<Dt_BoxingDetail> _boxingDetailRepo;
+
+ public BoxingService(
+ IRepository<Dt_Boxing> BaseDal,
+ IProcessInfoService processInfoService,
+ // 鏂板娉ㄥ叆 BoxingDetail 浠撳偍
+ IRepository<Dt_BoxingDetail> boxingDetailRepo
+ ) : base(BaseDal)
{
+ _processInfoService = processInfoService;
+ _boxingDetailRepo = boxingDetailRepo; // 璧嬪��
}
public IRepository<Dt_Boxing> Repository => BaseDal;
+
+ //鍒犻櫎褰撳墠鎵樼洏
+ public WebResponseContent DeleteCurrentTray()
+ {
+ try
+ {
+ var PalletCode = TcpClientExample.Start("192.168.2.120", 2001);
+ if (!PalletCode.IsNotEmptyOrNull() || PalletCode == "NoRead")
+ {
+ return WebResponseContent.Instance.Error("鎵樼洏鐮佹湭鎵埌锛岃閲嶈瘯");
+ }
+ Db.Ado.BeginTran();
+
+ // 1. 鍒犻櫎 Boxing 涓昏〃鏁版嵁
+ Dt_Boxing dt_Boxing = BaseDal.QueryFirst(x => x.PalletCode == PalletCode);
+ if (dt_Boxing != null)
+ {
+ BaseDal.DeleteData(dt_Boxing);
+
+ // 2. 鐩存帴閫氳繃浠撳偍鍒犻櫎 BoxingDetail 鏁版嵁锛堟牳蹇冧慨鏀癸級
+ Dt_BoxingDetail dt_BoxingDetail = _boxingDetailRepo.QueryFirst(x => x.BoxingId == dt_Boxing.Id);
+ if (dt_BoxingDetail != null)
+ {
+ _boxingDetailRepo.DeleteData(dt_BoxingDetail);
+ }
+ }
+
+ // 3. 鍒犻櫎 ProcessInfo 鏁版嵁
+ Dt_ProcessInfo dt_ProcessInfo = _processInfoService.Repository.QueryFirst(x => x.PalletCode == PalletCode);
+ if (dt_ProcessInfo != null)
+ {
+ _processInfoService.Repository.DeleteData(dt_ProcessInfo);
+ }
+
+ Db.Ado.CommitTran();
+ return WebResponseContent.Instance.OK("鍒犻櫎鎴愬姛");
+ }
+ catch (Exception ex)
+ {
+ Db.Ado.RollbackTran();
+ throw new Exception(ex.Message);
+ }
+ }
+
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/ScanStationService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/ScanStationService.cs"
index 5345f81..a778204 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/ScanStationService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/ScanStationService.cs"
@@ -1,5 +1,6 @@
锘縰sing Autofac.Core;
using OfficeOpenXml;
+using OfficeOpenXml.Style;
using Spire.Xls;
using System;
using System.Collections.Generic;
@@ -126,34 +127,42 @@
/// <exception cref="Exception"></exception>
public WebResponseContent GetSignalStates()
{
- OtherDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceName == "涓绘帶PLC") as OtherDevice;
- if (device == null) throw new Exception("鏈壘鍒颁富鎺LC璁惧淇℃伅");
- if (!device.IsConnected) throw new Exception($"涓绘帶PLC璁惧閫氳寮傚父");
- //鑾峰彇淇″彿鐏姸鎬�
- var Heart = device.GetValue<R_PLCDBName, bool>(R_PLCDBName.rboolHeart);
- var EMG = device.GetValue<R_PLCDBName, bool>(R_PLCDBName.rboolEMG);
- var AutoExecuting = device.GetValue<R_PLCDBName, bool>(R_PLCDBName.rboolAutoExecuting);
- var OnlineExecuting = device.GetValue<R_PLCDBName, bool>(R_PLCDBName.rboolOnlineExecuting);
- var Error = device.GetValue<R_PLCDBName, bool>(R_PLCDBName.rboolError);
-
- //鑾峰彇鍚姩鏆傚仠鐘舵��
- var IsStarted = device.GetValue<W_PLCDBName, bool>(W_PLCDBName.wboolAutoStart);
- var IsPaused = device.GetValue<W_PLCDBName, bool>(W_PLCDBName.wboolAutoPause);
-
- //杩斿洖瀵硅薄
- var responseData = new
+ try
{
- // 淇″彿鐏姸鎬佹暟缁勶紙淇濇寔鍘熸湁椤哄簭锛�
- signalStates = new bool[] { Heart, EMG, AutoExecuting, OnlineExecuting, Error },
- // PLC鍚姩/鏆傚仠鐘舵�佸璞�
- plcStatus = new
+ OtherDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceName == "涓绘帶PLC") as OtherDevice;
+ if (device == null) throw new Exception("鏈壘鍒颁富鎺LC璁惧淇℃伅");
+ if (!device.IsConnected) throw new Exception($"涓绘帶PLC璁惧閫氳寮傚父");
+
+ //鑾峰彇淇″彿鐏姸鎬�
+ var Heart = device.GetValue<R_PLCDBName, bool>(R_PLCDBName.rboolHeart);
+ var EMG = device.GetValue<R_PLCDBName, bool>(R_PLCDBName.rboolEMG);
+ var AutoExecuting = device.GetValue<R_PLCDBName, bool>(R_PLCDBName.rboolAutoExecuting);
+ var OnlineExecuting = device.GetValue<R_PLCDBName, bool>(R_PLCDBName.rboolOnlineExecuting);
+ var Error = device.GetValue<R_PLCDBName, bool>(R_PLCDBName.rboolError);
+
+ //鑾峰彇鍚姩鏆傚仠鐘舵��
+ var IsStarted = device.GetValue<W_PLCDBName, bool>(W_PLCDBName.wboolAutoStart);
+ var IsPaused = device.GetValue<W_PLCDBName, bool>(W_PLCDBName.wboolAutoPause);
+
+ //杩斿洖瀵硅薄
+ var responseData = new
{
- isStarted = IsStarted,
- isPaused = IsPaused
- }
- };
- return WebResponseContent.Instance.OK(data: responseData);
+ // 淇″彿鐏姸鎬佹暟缁勶紙淇濇寔鍘熸湁椤哄簭锛�
+ signalStates = new bool[] { Heart, EMG, AutoExecuting, OnlineExecuting, Error },
+ // PLC鍚姩/鏆傚仠鐘舵�佸璞�
+ plcStatus = new
+ {
+ isStarted = IsStarted,
+ isPaused = IsPaused
+ }
+ };
+ return WebResponseContent.Instance.OK(data: responseData);
+ }
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
}
/// <summary>
@@ -176,13 +185,16 @@
}
List<Dt_FormulaDetail> dt_FormulaDetails = _formulaDetailService.Repository.QueryData(x => x.FormulaId == dt_Formula.Id);
+ // 鏂板leftPartSupplierCodes瀛楁瀛樺偍渚涙柟浠g爜
var responseData = new
{
finishedProductId = dt_Formula.Id,
finishedProduct = dt_Formula.ProductCode,
leftPartCodes = new List<string>(),
leftPartIds = new List<int>(),
- leftPartChecked = new List<int>()
+ leftPartChecked = new List<int>(),
+ // 瀛樺偍姣忎釜闆朵欢鐨勪緵鏂逛唬鐮�
+ leftPartSupplierCodes = new List<string>()
};
foreach (var detail in dt_FormulaDetails.Take(10))
@@ -190,6 +202,8 @@
responseData.leftPartCodes.Add(detail.ComponentCode ?? "");
responseData.leftPartIds.Add(detail.Id);
responseData.leftPartChecked.Add(detail.IsScanned);
+ // 娣诲姞渚涙柟浠g爜锛屼负绌烘椂杩斿洖绌哄瓧绗︿覆
+ responseData.leftPartSupplierCodes.Add(detail.SupplierCode ?? "");
}
int needFillCount = 10 - responseData.leftPartCodes.Count;
@@ -198,6 +212,8 @@
responseData.leftPartCodes.Add("");
responseData.leftPartIds.Add(0);
responseData.leftPartChecked.Add(0);
+ //琛ヨ冻10鏉℃暟鎹紝绌虹殑渚涙柟浠g爜杩斿洖绌哄瓧绗︿覆
+ responseData.leftPartSupplierCodes.Add("");
}
return WebResponseContent.Instance.OK("鑾峰彇宸︿晶鍒濆鏁版嵁鎴愬姛", responseData);
}
@@ -237,109 +253,144 @@
/// </summary>
/// <param name="dt_ProcessInfo"></param>
/// <returns></returns>
- public WebResponseContent ExportData(Dt_ScanStation dt_ScanStation)
+ public WebResponseContent ExportData()
{
-
- string fileName = $"{DateTime.Now.ToString("yyyyMMddHHssmm")}.xlsx";
- string templatePath = $"{AppDomain.CurrentDomain.BaseDirectory}ExprotTemplate\\鍙戠數鏈哄脊鎬ф敮鎾戜俊鎭寲娴佺▼鍗�.xlsx";//妯℃澘璺緞
- string savePath = $"{AppDomain.CurrentDomain.BaseDirectory}Download\\{fileName}";//淇濆瓨鏂囦欢璺緞
-
- using Stream templateStream = new FileStream(templatePath, FileMode.Open);
- using Stream saveStream = new FileStream(savePath, FileMode.Create);
- using ExcelPackage package = new ExcelPackage(saveStream, templateStream);
- ExcelWorksheet worksheet = package.Workbook.Worksheets["娴佺▼鍗�"];
- Dt_Formula formula = _formulaService.Repository.QueryFirst(x => x.ProductCode == dt_ScanStation.StationEndProduct);
- List<Dt_FormulaDetail> dt_FormulaDetails = _formulaDetailService.Repository.QueryData(x => x.FormulaId == formula.Id && x.IsScanned == 1).ToList();
- for (int i = dt_FormulaDetails.Count; i < 10; i++)
+ try
{
- dt_FormulaDetails.Add(new Dt_FormulaDetail());
- }
+ Dt_ScanStation dt_ScanStation = BaseDal.QueryFirst(x => x.StationCode == "001");
- worksheet.Cells[3, 5].Value = dt_ScanStation.StationEndProduct;//鎴愬搧缂栧彿
- worksheet.Cells[3, 17].Value = dt_ScanStation.LastProductSn.ObjToInt() - dt_ScanStation.FirstProductSn.ObjToInt() + 1;//鏁伴噺;
- worksheet.Cells[3, 29].Value = dt_ScanStation.FirstProductSn + "-" + dt_ScanStation.LastProductSn;//娴佹按鍙�
- worksheet.Cells[4, 5].Value = DateTime.Now.ToString("yyyy/MM/dd");//缁勮鏃ユ湡
- worksheet.Cells[4, 17].Value = dt_ScanStation.AssembleUser;//缁勮浜哄憳
+ string fileName = $"{DateTime.Now.ToString("yyyyMMddHHssmm")}" + $"{dt_ScanStation.StationEndProduct}.xlsx";
+ string templatePath = $"{AppDomain.CurrentDomain.BaseDirectory}ExprotTemplate\\鍙戠數鏈哄脊鎬ф敮鎾戜俊鎭寲娴佺▼鍗�.xlsx";//妯℃澘璺緞
+ // 鑾峰彇绯荤粺妗岄潰璺緞
+ string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\娴佺▼鍗�";
+ //string desktopPath = "C:\\Users\\Administrator\\Desktop";
+ string savePath = Path.Combine(desktopPath, fileName);
- int row = 7;
- for (int j = 0; j < 5; j++)
- {
- worksheet.Cells[row, 1].Value = dt_FormulaDetails[j].ComponentName;
- worksheet.Cells[row, 5].Value = dt_FormulaDetails[j].ComponentCode;
- worksheet.Cells[row, 12].Value = dt_FormulaDetails[j].SupplierCode;
-
- worksheet.Cells[row, 19].Value = dt_FormulaDetails[j + 5].ComponentName;
- worksheet.Cells[row, 23].Value = dt_FormulaDetails[j + 5].ComponentCode;
- worksheet.Cells[row, 30].Value = dt_FormulaDetails[j + 5].SupplierCode;
- row++;
- }
-
- row = 13;
- for (int j = 0; j < 4; j++)
- {
- worksheet.Cells[row + j, 12].Value = "鈽� 鏄� 鈻� 鍚�";
- worksheet.Cells[row + j, 30].Value = "鈽� 鏄� 鈻� 鍚�";
- }
- worksheet.Cells[17, 12].Value = "鈽� 鏄� 鈻� 鍚�";
- worksheet.Cells[23, 5].Value = "鈽� 鏄� 鈻� 鍚�";
-
- List<Dt_ProcessInfoDetail> dt_ProcessInfoDetails = _processInfoDetailService.Repository
- .QueryData(x => x.ProductCode == dt_ScanStation.StationEndProduct
- && x.ProductSn.CompareTo(dt_ScanStation.LastProductSn) >= 0
- && x.ProductSn.CompareTo(dt_ScanStation.LastProductSn) <= 0)
- .OrderBy(x => x.CreateDate)
- .ToList();
- row = 27;
- ExcelRange baseStyleRow = worksheet.Cells[$"{row}:{row}"];
- foreach (var item in dt_ProcessInfoDetails)
- {
- if (row > 61)
+ using Stream templateStream = new FileStream(templatePath, FileMode.Open);
+ using Stream saveStream = new FileStream(savePath, FileMode.Create);
+ using ExcelPackage package = new ExcelPackage(saveStream, templateStream);
+ ExcelWorksheet worksheet = package.Workbook.Worksheets["娴佺▼鍗�"];
+ Dt_Formula formula = _formulaService.Repository.QueryFirst(x => x.ProductCode == dt_ScanStation.StationEndProduct);
+ List<Dt_FormulaDetail> dt_FormulaDetails = _formulaDetailService.Repository.QueryData(x => x.FormulaId == formula.Id && x.IsScanned == 1).ToList();
+ for (int i = dt_FormulaDetails.Count; i < 10; i++)
{
- var sourceRange = worksheet.Cells[row - 1, 1, row - 1, 36];
- var targetRange = worksheet.Cells[row, 1, row, 36];
-
- // 1. 澶嶅埗鍚堝苟瑙勫垯锛堝師鏈夐�昏緫淇濈暀锛�
- this.CopyCellMerge(worksheet, sourceRange, targetRange);
- // 2. 澶嶅埗鏍峰紡锛堝吋瀹规墍鏈塃PPlus鐗堟湰锛�
- targetRange.StyleID = sourceRange.StyleID;
- // 3. 鍚屾琛岄珮
- worksheet.Row(row).Height = worksheet.Row(row - 1).Height;
+ dt_FormulaDetails.Add(new Dt_FormulaDetail());
}
- worksheet.Cells[row, 1].Value = item.ProductSn;
- worksheet.Cells[row, 7].Value = item.Height2;
- worksheet.Cells[row, 13].Value = item.Height1;
- worksheet.Cells[row, 19].Value = item.PressPressure;
- worksheet.Cells[row, 25].Value = item.ScrewTorque;
- if (item.PressTightenUnfinished == 1)
- {
- worksheet.Cells[row, 31].Value = "鍘嬭鎷х揣寮傚父";
- }
- else if (item.CheckUnfinished == 1)
- {
- worksheet.Cells[row, 31].Value = "妫�娴嬪紓甯�";
- }
- else
- {
- worksheet.Cells[row, 31].Value = "姝e父";
- }
- row++;
+
+ worksheet.Cells[3, 5].Value = dt_ScanStation.StationEndProduct;//鎴愬搧缂栧彿
+ worksheet.Cells[3, 17].Value = dt_ScanStation.LastProductSn.ObjToInt() - dt_ScanStation.FirstProductSn.ObjToInt() + 1;//鏁伴噺;
+ worksheet.Cells[3, 29].Value = dt_ScanStation.FirstProductSn + "-" + dt_ScanStation.LastProductSn;//娴佹按鍙�
+ worksheet.Cells[4, 5].Value = DateTime.Now.ToString("yyyy/MM/dd");//缁勮鏃ユ湡
+ worksheet.Cells[4, 17].Value = dt_ScanStation.AssembleUser;//缁勮浜哄憳
+
+
+ int row = 7;
+ for (int j = 0; j < 5; j++)
+ {
+ worksheet.Cells[row, 1].Value = dt_FormulaDetails[j].ComponentName;
+ worksheet.Cells[row, 5].Value = dt_FormulaDetails[j].ComponentCode;
+ worksheet.Cells[row, 12].Value = dt_FormulaDetails[j].SupplierCode;
+
+ worksheet.Cells[row, 19].Value = dt_FormulaDetails[j + 5].ComponentName;
+ worksheet.Cells[row, 23].Value = dt_FormulaDetails[j + 5].ComponentCode;
+ worksheet.Cells[row, 30].Value = dt_FormulaDetails[j + 5].SupplierCode;
+ row++;
+ }
+
+ row = 13;
+ for (int j = 0; j < 4; j++)
+ {
+ worksheet.Cells[row + j, 12].Value = "鈽� 鏄� 鈻� 鍚�";
+ worksheet.Cells[row + j, 30].Value = "鈽� 鏄� 鈻� 鍚�";
+ }
+ worksheet.Cells[17, 12].Value = "鈽� 鏄� 鈻� 鍚�";
+ worksheet.Cells[23, 5].Value = "鈽� 鏄� 鈻� 鍚�";
+
+ worksheet.Cells[26, 7].Value = formula.ProductHeight;
+ worksheet.Cells[26, 13].Value = formula.ScrewTorqueOutput;
+ worksheet.Cells[26, 19].Value = formula.ScrewDownsetDistance;
+ worksheet.Cells[26, 25].Value = formula.PressFastenTorque;
+
+
+ List<Dt_ProcessInfoDetail> dt_ProcessInfoDetails = _processInfoDetailService.Repository
+ .QueryData(x => x.ProductCode == dt_ScanStation.StationEndProduct
+ && x.ProductSn.CompareTo(dt_ScanStation.FirstProductSn) >= 0
+ && x.ProductSn.CompareTo(dt_ScanStation.LastProductSn) <= 0)
+ .OrderBy(x => x.CreateDate)
+ .ToList();
+ row = 27;
+ ExcelRange baseStyleRow = worksheet.Cells[$"{row}:{row}"];
+ foreach (var item in dt_ProcessInfoDetails)
+ {
+ if (row > 61)
+ {
+ var sourceRange = worksheet.Cells[row - 1, 1, row - 1, 36];
+ var targetRange = worksheet.Cells[row, 1, row, 36];
+
+ // 1. 澶嶅埗鍚堝苟瑙勫垯锛堝師鏈夐�昏緫淇濈暀锛�
+ CopyCellMerge(worksheet, sourceRange, targetRange);
+ // 2. 澶嶅埗鏍峰紡锛堝吋瀹规墍鏈塃PPlus鐗堟湰锛�
+ targetRange.StyleID = sourceRange.StyleID;
+ // 3. 鍚屾琛岄珮
+ worksheet.Row(row).Height = worksheet.Row(row - 1).Height;
+ }
+
+ worksheet.Cells[row, 1].Value = item.ProductSn;
+ worksheet.Cells[row, 7].Value = item.ProductCheckHeight;
+ worksheet.Cells[row, 7].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
+ worksheet.Cells[row, 7].Style.Fill.BackgroundColor.SetColor(SixLabors.ImageSharp.Color.Yellow);
+
+ worksheet.Cells[row, 13].Value = item.ThreadPositionHeight;
+ worksheet.Cells[row, 13].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
+ worksheet.Cells[row, 13].Style.Fill.BackgroundColor.SetColor(SixLabors.ImageSharp.Color.Yellow);
+
+ worksheet.Cells[row, 19].Value = item.PressPressure;
+ worksheet.Cells[row, 19].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
+ worksheet.Cells[row, 19].Style.Fill.BackgroundColor.SetColor(SixLabors.ImageSharp.Color.Yellow);
+
+ worksheet.Cells[row, 25].Value = item.ScrewTorque;
+ worksheet.Cells[row, 25].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
+ worksheet.Cells[row, 25].Style.Fill.BackgroundColor.SetColor(SixLabors.ImageSharp.Color.Yellow);
+
+ worksheet.Cells[row, 31].Value = item.ProductStatus == 0 ? "涓嶅悎鏍�" : item.ProductStatus == 1 ? "鍚堟牸" : "浜哄伐纭鍚堟牸";
+ //if (item.PressTightenUnfinished == 1)
+ //{
+ // worksheet.Cells[row, 31].Value = "鍘嬭鎷х揣寮傚父";
+ //}
+ //else
+ //{
+ // worksheet.Cells[row, 31].Value = "姝e父";
+ //}
+ row++;
+
+ }
+ //worksheet.DeleteRow(row, worksheet.Dimension.End.Row - row + 1);
+
+ package.Save();
+
+ string pdfFileName = $"{DateTime.Now.ToString("yyyyMMddHHssmm")}" + $"{dt_ScanStation.StationEndProduct}.pdf";
+ //string pdfPath = $"{AppDomain.CurrentDomain.BaseDirectory}Download\\{pdfFileName}";
+ string pdfPath = Path.Combine(desktopPath, pdfFileName);
+
+ Workbook workbook = new Workbook();
+ workbook.LoadFromFile(savePath);
+
+ // 璁剧疆杞崲閫夐」锛屽寘鍚墍鏈夊伐浣滆〃
+ workbook.ConverterSetting.SheetFitToPage = true;
+
+ // 淇濆瓨鎵�鏈夊伐浣滆〃鍒板悓涓�涓狿DF鏂囦欢
+ workbook.SaveToFile(pdfPath, FileFormat.PDF);
+
+ //// 杞崲绗竴涓伐浣滆〃鍒癙DF
+ //workbook.SaveToFile(pdfPath, FileFormat.PDF);
+ return WebResponseContent.Instance.OK(data: new { path = pdfPath, fileName = pdfFileName });
}
- //worksheet.DeleteRow(row, worksheet.Dimension.End.Row - row + 1);
-
- package.Save();
-
- string pdfFileName = $"{DateTime.Now.ToString("yyyyMMddHHssmm")}.pdf";
- string pdfPath = $"{AppDomain.CurrentDomain.BaseDirectory}Download\\{pdfFileName}";
-
- Workbook workbook = new Workbook();
- workbook.LoadFromFile(savePath);
-
- // 杞崲绗竴涓伐浣滆〃鍒癙DF
- workbook.SaveToFile(pdfPath, FileFormat.PDF);
- return WebResponseContent.Instance.OK(data: new { path = pdfPath, fileName = pdfFileName });
-
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Common/PLCEnum/W_PLCDBName.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Common/PLCEnum/W_PLCDBName.cs"
index 824384e..98a70e4 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Common/PLCEnum/W_PLCDBName.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Common/PLCEnum/W_PLCDBName.cs"
@@ -48,6 +48,10 @@
/// 鍘嬭浣嶄笉鎷х揣
/// </summary>
wboolLocation8ScanDone,
+ /// <summary>
+ /// 鍘嬭浣嶄笉娴嬪簳鏉�
+ /// </summary>
+ wboolLocation9ScanDone,
/// <summary>
/// 鍘嬭浣嶄骇鍝侀暱搴�
@@ -103,5 +107,26 @@
/// </summary>
wrealCheckPalletCode,
+ /// <summary>
+ /// 鍘嬭鍘嬪姏宸��
+ /// </summary>
+ wrealPressPressure,
+ /// <summary>
+ /// 鍘嬭鎵姏宸��
+ /// </summary>
+ wrealTighteningTorque,
+ /// <summary>
+ /// 妫�娴嬮珮搴﹀樊鍊�
+ /// </summary>
+ wrealProdHeightDiff,
+ /// <summary>
+ /// 铻虹汗浣嶇疆宸��
+ /// </summary>
+ wrealScrewHeight,
+ /// <summary>
+ /// 绱у浐鎵煩宸��
+ /// </summary>
+ wrealFastenTorque,
+
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Common/Spire.XLS.dll" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Common/Spire.XLS.dll"
new file mode 100644
index 0000000..e8bd6de
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Common/Spire.XLS.dll"
Binary files differ
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IBoxingService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IBoxingService.cs"
index 84ad303..ae3f78a 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IBoxingService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IBoxingService.cs"
@@ -3,6 +3,7 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseRepository;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Model.Models;
@@ -12,5 +13,7 @@
public interface IBoxingService : IService<Dt_Boxing>
{
public IRepository<Dt_Boxing> Repository { get; }
+
+ public WebResponseContent DeleteCurrentTray();
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IScanStationService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IScanStationService.cs"
index 00b5dae..8f1f331 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IScanStationService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/IScanStationService.cs"
@@ -31,7 +31,7 @@
public WebResponseContent UpdatePartScannedStatus(UpdatePartScannedStatusRequest updatePartScannedStatusRequest);
// 涓嬭浇娴佺▼鍗�
- public WebResponseContent ExportData(Dt_ScanStation dt_ScanStation);
+ public WebResponseContent ExportData();
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_Formula.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_Formula.cs"
index eb28322..75cb8be 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_Formula.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_Formula.cs"
@@ -1,12 +1,13 @@
-锘縰sing System;
+锘縰sing Magicodes.ExporterAndImporter.Core;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Numeric;
+using SqlSugar;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
-using OfficeOpenXml.FormulaParsing.Excel.Functions.Numeric;
-using SqlSugar;
using WIDESEAWCS_Core.DB.Models;
-
+using Magicodes.IE.Core;
namespace WIDESEAWCS_Model.Models
{
[SugarTable(nameof(Dt_Formula), "閰嶆柟淇℃伅琛�")]
@@ -15,107 +16,170 @@
/// <summary>
/// 涓婚敭
/// </summary>
+ ///
+ [ImporterHeader(IsIgnore = true)]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "涓婚敭")]
[SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")]
public int Id { get; set; }
/// <summary>
/// 鎴愬搧缂栧彿
/// </summary>
- [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎴愬搧缂栧彿")]
+ ///
+ [ImporterHeader(Name = "鎴愬搧缂栧彿")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "鎴愬搧缂栧彿")]
+ [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "鎴愬搧缂栧彿")]
public string ProductCode { get; set; }
/// <summary>
/// 鎴愬搧鍚嶇О
/// </summary>
+ [ImporterHeader(Name = "鎴愬搧鍚嶇О")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "鎴愬搧鍚嶇О")]
[SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎴愬搧鍚嶇О")]
public string ProductName { get; set; }
/// <summary>
/// 鍘嬭浣嶄骇鍝侀暱搴�
/// </summary>
+ [ImporterHeader(Name = "浜у搧闀垮害")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "浜у搧闀垮害")]
[SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鍘嬭浣嶄骇鍝侀暱搴�")]
public decimal? ProductLength { get; set; }
/// <summary>
/// 鍘嬭浣嶄骇鍝佸搴�
/// </summary>
+ [ImporterHeader(Name = "浜у搧瀹藉害")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "浜у搧瀹藉害")]
[SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鍘嬭浣嶄骇鍝佸搴�")]
public decimal? ProductWidth { get; set; }
/// <summary>
/// 鍘嬭浣嶄骇鍝侀珮搴�
/// </summary>
+ [ImporterHeader(Name = "浜у搧楂樺害")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "浜у搧楂樺害")]
[SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鍘嬭浣嶄骇鍝侀珮搴�")]
public decimal? ProductHeight { get; set; }
/// <summary>
/// 鍘嬭浣嶄笉鎷х揣
/// </summary>
+ [ImporterHeader(Name = "涓嶆嫥绱�")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "涓嶆嫥绱�")]
[SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "鍘嬭浣嶄笉鎷х揣")]
public int? PressNoTighten { get; set; }
/// <summary>
- /// 鍘嬭浣嶆嫥绱т笅闄嶉珮搴�
+ /// 鍘嬭浣嶄笉娴嬪簳鏉�
+ /// 0-妫�娴� 1-涓嶆娴�
/// </summary>
- [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鍘嬭浣嶆嫥绱т笅闄嶉珮搴�")]
+ [ImporterHeader(Name = "涓嶆祴搴曟澘")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "涓嶆祴搴曟澘")]
+ [SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "鍘嬭浣嶄笉娴嬪簳鏉�")]
+ public int? PressNoCheckBottomPlate { get; set; }
+
+ /// <summary>
+ /// 淇濆帇鍘嬪姏
+ /// </summary>
+ [ImporterHeader(Name = "淇濆帇鍘嬪姏")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "淇濆帇鍘嬪姏")]
+ [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "淇濆帇鍘嬪姏")]
public decimal? ScrewDownsetDistance { get; set; }
/// <summary>
- /// 鍘嬭浣嶆嫥绱ф壄鍔�
+ /// 涓績楂樺害
/// </summary>
- [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鍘嬭浣嶆嫥绱ф壄鍔�")]
+ [ImporterHeader(Name = "涓績楂樺害")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "涓績楂樺害")]
+ [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "涓績楂樺害")]
public decimal? ScrewTorqueOutput { get; set; }
/// <summary>
/// 鍘嬭浣嶈嚜鍔ㄦ嫥绱х▼搴忓彿
/// </summary>
+ [ImporterHeader(Name = "鑷姩鎷х揣绋嬪簭鍙�")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "鑷姩鎷х揣绋嬪簭鍙�")]
[SugarColumn(IsNullable = true, ColumnDescription = "鍘嬭浣嶈嚜鍔ㄦ嫥绱х▼搴忓彿")]
public int? DintAutoScrewOn { get; set; }
/// <summary>
/// 鍘嬭浣嶇揣鍥烘壄鐭�
/// </summary>
+ [ImporterHeader(Name = "绱у浐鎵煩")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "绱у浐鎵煩")]
[SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鍘嬭浣嶇揣鍥烘壄鐭�", DefaultValue = "0.00")]
public decimal? PressFastenTorque { get; set; }
/// <summary>
/// P0P1瀹藉害
/// </summary>
+ [ImporterHeader(Name = "P0P1瀹藉害")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "P0P1瀹藉害")]
[SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "P0P1瀹藉害")]
public decimal? P0P1Width { get; set; }
/// <summary>
/// P0P2瀹藉害
/// </summary>
+ [ImporterHeader(Name = "P0P2瀹藉害")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "P0P2瀹藉害")]
[SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "P0P2瀹藉害")]
public decimal? P0P2Width { get; set; }
/// <summary>
/// P0P3瀹藉害
/// </summary>
+ [ImporterHeader(Name = "P0P3瀹藉害")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "P0P3瀹藉害")]
[SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "P0P3瀹藉害")]
public decimal? P0P3Width { get; set; }
/// <summary>
- /// P1P3楂樺害
+ /// 鍨墖楂樺害
/// </summary>
- [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "P1P3楂樺害")]
- public decimal? P1P3Height { get; set; }
+ [ImporterHeader(Name = "鍨墖楂樺害")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "鍨墖楂樺害")]
+ [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鍨墖楂樺害")]
+ public decimal? GasketHeight { get; set; }
+
/// <summary>
- /// P2P3楂樺害
+ /// 鍘嬭鍘嬪姏宸��
/// </summary>
- [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "P2P3楂樺害")]
- public decimal? P2P3Height { get; set; }
+ [ImporterHeader(Name = "鍘嬪姏宸��")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "鍘嬪姏宸��")]
+ [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鍘嬭鍘嬪姏宸��")]
+ public decimal? PressPressureDiff { get; set; }
/// <summary>
- /// 浜у搧鍥剧墖璺緞
+ /// 鍘嬭鎵姏宸��
/// </summary>
- [SugarColumn(IsNullable = true, Length = 500, ColumnDescription = "浜у搧鍥剧墖璺緞")]
- public string ProductImagePath { get; set; }
+ [ImporterHeader(Name = "鎵姏宸��")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "鎵姏宸��")]
+ [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鍘嬭鎵姏宸��")]
+ public decimal? PressTorqueDiff { get; set; }
+
+ /// <summary>
+ /// 妫�娴嬮珮搴﹀樊鍊�
+ /// </summary>
+ [ImporterHeader(Name = "楂樺害宸��")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "楂樺害宸��")]
+ [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "妫�娴嬮珮搴﹀樊鍊�")]
+ public decimal? DetectHeightDiff { get; set; }
+
+ /// <summary>
+ /// 铻虹汗浣嶇疆宸��
+ /// </summary>
+ [ImporterHeader(Name = "铻虹汗宸��")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "铻虹汗宸��")]
+ [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "铻虹汗浣嶇疆宸��")]
+ public decimal? ScrewPositionDiff { get; set; }
[SugarColumn(IsIgnore = true)]//涓嶅弬涓庢暟鎹簱鏄犲皠锛屾祴璇曚娇鐢�
[Navigate(NavigateType.OneToMany, nameof(Dt_FormulaDetail.FormulaId), nameof(Id))]
public List<Dt_FormulaDetail> Details { get; set; }
+
}
}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_FormulaDetail.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_FormulaDetail.cs"
index daf7a87..7a61fc0 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_FormulaDetail.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_FormulaDetail.cs"
@@ -1,10 +1,12 @@
-锘縰sing SqlSugar;
+锘縰sing Magicodes.ExporterAndImporter.Core;
+using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEAWCS_Core.DB.Models;
+using Magicodes.IE.Core;
namespace WIDESEAWCS_Model.Models
{
@@ -14,35 +16,47 @@
/// <summary>
/// 涓婚敭
/// </summary>
+ [ImporterHeader(IsIgnore = true)]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "涓婚敭")]
[SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")]
public int Id { get; set; }
/// <summary>
/// 閰嶆柟淇℃伅涓婚敭
/// </summary>
+ [ImporterHeader(Name = "閰嶆柟淇℃伅涓婚敭")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "閰嶆柟淇℃伅涓婚敭")]
[SugarColumn(IsNullable = false, ColumnDescription = "閰嶆柟淇℃伅涓婚敭")]
public int FormulaId { get; set; }
/// <summary>
/// 闆朵欢缂栧彿
/// </summary>
+ [ImporterHeader(Name = "闆朵欢缂栧彿")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "闆朵欢缂栧彿")]
[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "闆朵欢缂栧彿")]
public string ComponentCode { get; set; }
/// <summary>
/// 闆朵欢鍚嶇О
/// </summary>
+ [ImporterHeader(Name = "闆朵欢鍚嶇О")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "闆朵欢鍚嶇О")]
[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "闆朵欢鍚嶇О")]
public string ComponentName { get; set; }
/// <summary>
/// 渚涙柟浠g爜
/// </summary>
+ [ImporterHeader(Name = "渚涙柟浠g爜")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "渚涙柟浠g爜")]
[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "渚涙柟浠g爜")]
public string SupplierCode { get; set; }
/// <summary>
/// 鏄惁鎵爜
/// </summary>
+ [ImporterHeader(Name = "鏄惁鎵爜")]
+ [ExporterHeader(null, 11f, null, true, true, false, 0, KnownColor.Empty, DisplayName = "鏄惁鎵爜")]
[SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "鏄惁鎵爜")]
public int IsScanned { get; set; }
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ProcessInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ProcessInfo.cs"
index 1c252a5..473be2e 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ProcessInfo.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ProcessInfo.cs"
@@ -42,12 +42,6 @@
public string ProductSn { get; set; }
/// <summary>
- /// 鍘嬭鎷х揣_鎷х揣NG
- /// </summary>
- [SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "鍘嬭鎷х揣_鎷х揣NG")]
- public int? PressTightenNg { get; set; }
-
- /// <summary>
/// 鍘嬭鎷х揣_鎷х揣OK
/// </summary>
[SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "鍘嬭鎷х揣_鎷х揣OK")]
@@ -60,52 +54,13 @@
public int? PressTightenUnfinished { get; set; }
/// <summary>
- /// 妫�娴媉鏈妫�娴嬫湭瀹屾垚
+ /// 浜у搧鐘舵��
+ /// 0 - 涓嶅悎鏍�
+ /// 1 - 鍚堟牸
+ /// 2 - 浜哄伐纭鍚堟牸
/// </summary>
- [SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "妫�娴媉鏈妫�娴嬫湭瀹屾垚")]
- public int? CheckUnfinished { get; set; }
-
- /// <summary>
- /// 闆朵欢鏁伴噺
- /// </summary>
- [SugarColumn(IsNullable = true, ColumnDescription = "闆朵欢鏁伴噺")]
- public int? ComponentQty { get; set; }
-
- /// <summary>
- /// 鎵姏鍊�
- /// </summary>
- [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鎵姏鍊�")]
- public decimal? TorsioValue { get; set; }
-
- /// <summary>
- /// 鎵姏鍊兼爣鍑�
- /// </summary>
- [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鎵姏鍊兼爣鍑�")]
- public decimal? TorsioValueStandard { get; set; }
-
- /// <summary>
- /// 鍒氬害鍊�
- /// </summary>
- [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鍒氬害鍊�")]
- public decimal? StiffnessValue { get; set; }
-
- /// <summary>
- /// 鍒氬害鍊兼爣鍑�
- /// </summary>
- [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鍒氬害鍊兼爣鍑�")]
- public decimal? StiffnessValueStandard { get; set; }
-
- /// <summary>
- /// 娴嬭瘯缁撴灉
- /// </summary>
- [SugarColumn(IsNullable = true, ColumnDescription = "娴嬭瘯缁撴灉")]
- public int? TestResult { get; set; }
-
- /// <summary>
- /// 鍘嬭浣嶄笅鍘嬫娴嬮珮搴�
- /// </summary>
- [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鍘嬭浣嶄笅鍘嬫娴嬮珮搴�")]
- public decimal? PressHeight { get; set; }
+ [SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "浜у搧鐘舵��")]
+ public int? ProductStatus { get; set; }
/// <summary>
/// 鍘嬭浣嶆嫥绱ф娴嬫壄鍔�
@@ -126,6 +81,18 @@
public decimal? PressPressure { get; set; }
/// <summary>
+ /// 浜у搧妫�娴嬮珮搴�
+ /// </summary>
+ [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "浜у搧妫�娴嬮珮搴�")]
+ public decimal? ProductCheckHeight { get; set; }
+
+ /// <summary>
+ /// 铻虹汗浣嶇疆楂樺害
+ /// </summary>
+ [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "铻虹汗浣嶇疆楂樺害")]
+ public decimal? ThreadPositionHeight { get; set; }
+
+ /// <summary>
/// 鎷х揣浣嶆娴嬮珮搴�1
/// </summary>
[SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鎷х揣浣嶆娴嬮珮搴�1")]
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ProcessInfoDetail.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ProcessInfoDetail.cs"
index 745b084..3ed9bf0 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ProcessInfoDetail.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ProcessInfoDetail.cs"
@@ -42,12 +42,6 @@
public string ProductSn { get; set; }
/// <summary>
- /// 鍘嬭鎷х揣_鎷х揣NG
- /// </summary>
- [SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "鍘嬭鎷х揣_鎷х揣NG")]
- public int? PressTightenNg { get; set; }
-
- /// <summary>
/// 鍘嬭鎷х揣_鎷х揣OK
/// </summary>
[SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "鍘嬭鎷х揣_鎷х揣OK")]
@@ -60,52 +54,10 @@
public int? PressTightenUnfinished { get; set; }
/// <summary>
- /// 妫�娴媉鏈妫�娴嬫湭瀹屾垚
+ /// 浜у搧鐘舵��
/// </summary>
- [SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "妫�娴媉鏈妫�娴嬫湭瀹屾垚")]
- public int? CheckUnfinished { get; set; }
-
- /// <summary>
- /// 闆朵欢鏁伴噺
- /// </summary>
- [SugarColumn(IsNullable = true, ColumnDescription = "闆朵欢鏁伴噺")]
- public int? ComponentQty { get; set; }
-
- /// <summary>
- /// 鎵姏鍊�
- /// </summary>
- [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鎵姏鍊�")]
- public decimal? TorsioValue { get; set; }
-
- /// <summary>
- /// 鎵姏鍊兼爣鍑�
- /// </summary>
- [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鎵姏鍊兼爣鍑�")]
- public decimal? TorsioValueStandard { get; set; }
-
- /// <summary>
- /// 鍒氬害鍊�
- /// </summary>
- [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鍒氬害鍊�")]
- public decimal? StiffnessValue { get; set; }
-
- /// <summary>
- /// 鍒氬害鍊兼爣鍑�
- /// </summary>
- [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鍒氬害鍊兼爣鍑�")]
- public decimal? StiffnessValueStandard { get; set; }
-
- /// <summary>
- /// 娴嬭瘯缁撴灉
- /// </summary>
- [SugarColumn(IsNullable = true, ColumnDescription = "娴嬭瘯缁撴灉")]
- public int? TestResult { get; set; }
-
- /// <summary>
- /// 鍘嬭浣嶄笅鍘嬫娴嬮珮搴�
- /// </summary>
- [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鍘嬭浣嶄笅鍘嬫娴嬮珮搴�")]
- public decimal? PressHeight { get; set; }
+ [SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "浜у搧鐘舵��")]
+ public int? ProductStatus { get; set; }
/// <summary>
/// 鍘嬭浣嶆嫥绱ф娴嬫壄鍔�
@@ -126,6 +78,18 @@
public decimal? PressPressure { get; set; }
/// <summary>
+ /// 浜у搧妫�娴嬮珮搴�
+ /// </summary>
+ [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "浜у搧妫�娴嬮珮搴�")]
+ public decimal? ProductCheckHeight { get; set; }
+
+ /// <summary>
+ /// 铻虹汗浣嶇疆楂樺害
+ /// </summary>
+ [SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "铻虹汗浣嶇疆楂樺害")]
+ public decimal? ThreadPositionHeight { get; set; }
+
+ /// <summary>
/// 鎷х揣浣嶆娴嬮珮搴�1
/// </summary>
[SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鎷х揣浣嶆娴嬮珮搴�1")]
@@ -142,6 +106,5 @@
/// </summary>
[SugarColumn(IsNullable = true, DecimalDigits = 2, ColumnDescription = "鎷х揣浣嶆娴嬮珮搴�3")]
public decimal? Height3 { get; set; }
-
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ScanStation.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ScanStation.cs"
index 0ea8af4..1e10e1b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ScanStation.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/Dt_ScanStation.cs"
@@ -59,62 +59,5 @@
[SugarColumn(IsNullable = true, DefaultValue = "0", ColumnDescription = "鏄惁鎵爜")]
public int IsScanned { get; set; }
- ///// <summary>
- ///// 闆朵欢鏁伴噺
- ///// </summary>
- //[SugarColumn(IsNullable = true, ColumnDescription = "闆朵欢鏁伴噺")]
- //public int StationComponentQty { get; set; }
-
- ///// <summary>
- ///// 闆朵欢1
- ///// </summary>
- //[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "闆朵欢1")]
- //public string StationComponent1 { get; set; }
-
- ///// <summary>
- ///// 闆朵欢2
- ///// </summary>
- //[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "闆朵欢2")]
- //public string StationComponent2 { get; set; }
- ///// <summary>
- ///// 闆朵欢3
- ///// </summary>
- //[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "闆朵欢3")]
- //public string StationComponent3 { get; set; }
- ///// <summary>
- ///// 闆朵欢4
- ///// </summary>
- //[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "闆朵欢4")]
- //public string StationComponent4 { get; set; }
- ///// <summary>
- ///// 闆朵欢5
- ///// </summary>
- //[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "闆朵欢5")]
- //public string StationComponent5 { get; set; }
- ///// <summary>
- ///// 闆朵欢6
- ///// </summary>
- //[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "闆朵欢6")]
- //public string StationComponent6 { get; set; }
- ///// <summary>
- ///// 闆朵欢7
- ///// </summary>
- //[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "闆朵欢7")]
- //public string StationComponent7 { get; set; }
- ///// <summary>
- ///// 闆朵欢8
- ///// </summary>
- //[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "闆朵欢8")]
- //public string StationComponent8 { get; set; }
- ///// <summary>
- ///// 闆朵欢9
- ///// </summary>
- //[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "闆朵欢9")]
- //public string StationComponent9 { get; set; }
- ///// <summary>
- ///// 闆朵欢10
- ///// </summary>
- //[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "闆朵欢10")]
- //public string StationComponent10 { get; set; }
}
}
\ No newline at end of file
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/BoxingController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/BoxingController.cs"
index 55aac0f..d006159 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/BoxingController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/BoxingController.cs"
@@ -1,6 +1,13 @@
-锘縰sing Microsoft.AspNetCore.Mvc;
+锘縰sing Autofac.Core;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
using WIDESEAWCS_BasicInfoService;
+using WIDESEAWCS_Common;
+using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseController;
+using WIDESEAWCS_Core.BaseRepository;
+using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_IBasicInfoService;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_Server.Controllers.BoxingInfo
@@ -12,9 +19,17 @@
[ApiController]
public class BoxingController : ApiBaseController<IBoxingService, Dt_Boxing>
{
+
public BoxingController(IBoxingService service) : base(service)
{
+
+ }
+ //鍒犻櫎褰撳墠鎵樼洏
+ [HttpPost, Route("DeleteCurrentTray"), AllowAnonymous]
+ public WebResponseContent DeleteCurrentTray()
+ {
+ return Service.DeleteCurrentTray();
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/BoxingDetailController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/BoxingDetailController.cs"
index 9c85305..cc2ec0b 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/BoxingDetailController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/BoxingDetailController.cs"
@@ -13,7 +13,7 @@
/// </summary>
[Route("api/boxingDetail")]
[ApiController]
- public class BoxingDetailController : ApiBaseController<IBoxingDetailService, Dt_Boxing>
+ public class BoxingDetailController : ApiBaseController<IBoxingDetailService, Dt_BoxingDetail>
{
public BoxingDetailController(IBoxingDetailService service) : base(service)
{
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/ScanStationController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/ScanStationController.cs"
index b9b34fe..38917f2 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/ScanStationController.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/BasicInfo/ScanStationController.cs"
@@ -83,9 +83,9 @@
/// <param name="dt_ProcessInfo"></param>
/// <returns></returns>
[HttpPost, Route("ExportData"), AllowAnonymous]
- public WebResponseContent ExportData([FromBody] Dt_ScanStation dt_ScanStation)
+ public WebResponseContent ExportData()
{
- return Service.ExportData(dt_ScanStation);
+ return Service.ExportData();
}
}
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/Debug/net6.0/WIDESEAWCS_TaskInfoService.AssemblyInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/Debug/net6.0/WIDESEAWCS_TaskInfoService.AssemblyInfo.cs"
index 8e68a52..5821c49 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/Debug/net6.0/WIDESEAWCS_TaskInfoService.AssemblyInfo.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/Debug/net6.0/WIDESEAWCS_TaskInfoService.AssemblyInfo.cs"
@@ -14,7 +14,7 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("WIDESEAWCS_TaskInfoService")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+15b3879cd259108e7ebb755fe02c190f28f1e20c")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+8aa5f0e094e6ff51aa7c47d5b4e8331a16eb09ff")]
[assembly: System.Reflection.AssemblyProductAttribute("WIDESEAWCS_TaskInfoService")]
[assembly: System.Reflection.AssemblyTitleAttribute("WIDESEAWCS_TaskInfoService")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/Debug/net6.0/WIDESEAWCS_TaskInfoService.AssemblyInfoInputs.cache" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/Debug/net6.0/WIDESEAWCS_TaskInfoService.AssemblyInfoInputs.cache"
index e74a44e..4ed3999 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/Debug/net6.0/WIDESEAWCS_TaskInfoService.AssemblyInfoInputs.cache"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/Debug/net6.0/WIDESEAWCS_TaskInfoService.AssemblyInfoInputs.cache"
@@ -1 +1 @@
-2fcc0eeacc37ee31f32434a719cbb8cb3eedf35ecc022754a7ce9ac39f254105
+c97e13df12cbbd7b4f052106b0c5e3e54606d4e7d7c3571cbd36adfdc2f442d8
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PLCJob.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PLCJob.cs"
index 34303d0..ed85f36 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PLCJob.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Tasks/PLCJob.cs"
@@ -27,7 +27,6 @@
private readonly IProcessInfoDetailService _processDetailInfoService;
private readonly IUnitOfWorkManage _unitOfWorkManage;
private readonly IScanStationService _scanStationService;
- //private readonly string PalletCode = "PL107";
public PLCJob(IBoxingService boxingService,
IBoxingDetailService boxingDetailService,
@@ -300,13 +299,23 @@
{
device.SetValue(W_PLCDBName.wboolLocation8ScanDone,true);
}
+ else
+ {
+ device.SetValue(W_PLCDBName.wboolLocation8ScanDone, false);
+ }
+
device.SetValue(W_PLCDBName.wrealProductLength, dt_Formula.ProductLength);
device.SetValue(W_PLCDBName.wrealProductWidth, dt_Formula.ProductWidth);
- device.SetValue(W_PLCDBName.wrealProductHeight, dt_Formula.ProductHeight);
+ device.SetValue(W_PLCDBName.wrealProductHeight, dt_Formula.ProductHeight + dt_Formula.GasketHeight);
device.SetValue(W_PLCDBName.wrealScrewDownsetDistance, dt_Formula.ScrewDownsetDistance);
//涓績楂樺害
- device.SetValue(W_PLCDBName.wrealScrewTorque, dt_Formula.ScrewTorqueOutput);
+ device.SetValue(W_PLCDBName.wrealScrewTorque, dt_Formula.ScrewTorqueOutput + dt_Formula.GasketHeight);
device.SetValue(W_PLCDBName.wrealAutoScrewProgramNo, dt_Formula.DintAutoScrewOn);
+ device.SetValue(W_PLCDBName.wrealPressPressure, dt_Formula.PressPressureDiff);
+ device.SetValue(W_PLCDBName.wrealTighteningTorque, dt_Formula.PressTorqueDiff);
+ device.SetValue(W_PLCDBName.wrealFastenTorque, dt_Formula.PressFastenTorque);
+
+
//鍘嬭鎵爜瀹屾垚
device.SetValue(W_PLCDBName.wboolLocation2ScanDone, true);
@@ -354,15 +363,13 @@
//鎺ユ敹鏁版嵁
- decimal PressHeight = (decimal)device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectPressHeight);
decimal ScrewTorque = (decimal)device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectScrewTorque);
decimal ScrewAngle = (decimal)device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectScrewAngle);
decimal PressPressure = (decimal)device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectPressForce);
- bool PressTightenNg = device.GetValue<R_PLCDBName, bool>(R_PLCDBName.rrealPressScrewByScrewNG);
bool PressTightenOk = device.GetValue<R_PLCDBName, bool>(R_PLCDBName.rrealPressScrewByScrewOK);
bool PressTightenUnfinished = device.GetValue<R_PLCDBName, bool>(R_PLCDBName.rrealPressScrewByProcessUnfinished);
-
+
//娣诲姞鍒版暟鎹簱
Dt_ProcessInfo dt_ProcessInfo = new Dt_ProcessInfo()
@@ -371,14 +378,22 @@
ProductCode = dt_Formula.ProductCode,
ProductName = dt_Formula.ProductName,
ProductSn = dt_Boxing.BoxingNo,
- PressTightenNg = PressTightenNg?1:0,
- PressTightenOk = PressTightenOk?1:0,
- PressTightenUnfinished = PressTightenUnfinished?1:0,
- PressHeight = PressHeight,
+ ProductStatus = 1,
+ PressTightenOk = PressTightenOk ? 1 : 0,
+ PressTightenUnfinished = PressTightenUnfinished ? 1 : 0,
ScrewTorque = ScrewTorque,
ScrewAngle = ScrewAngle,
PressPressure = PressPressure,
};
+
+ if (
+ PressPressure > dt_Formula.ScrewDownsetDistance + dt_Formula.PressPressureDiff || PressPressure < dt_Formula.ScrewDownsetDistance - dt_Formula.PressPressureDiff ||
+ ScrewTorque > dt_Formula.PressFastenTorque + dt_Formula.PressTorqueDiff || ScrewTorque < dt_Formula.PressFastenTorque - dt_Formula.PressTorqueDiff
+ )
+ {
+ dt_ProcessInfo.ProductStatus = 0;
+ }
+
_processInfoService.Repository.AddData(dt_ProcessInfo);
// 鍘嬭淇℃伅涓婁紶瀹屾垚
@@ -427,14 +442,27 @@
return;
}
Dt_Formula dt_Formula = _formulaService.Repository.QueryFirst(x => x.ProductCode == dt_Boxing.ProductCode);
+ if(dt_Formula.PressNoCheckBottomPlate == 1)
+ {
+ device.SetValue(W_PLCDBName.wboolLocation9ScanDone, true);
+ }
+ else
+ {
+ device.SetValue(W_PLCDBName.wboolLocation9ScanDone, false);
+ }
+
//鍐欏叆PLC
device.SetValue(W_PLCDBName.wrealCheckPalletCode, dt_Boxing.Id % 100);
device.SetValue(W_PLCDBName.wrealP0P1Width, dt_Formula.P0P1Width);
device.SetValue(W_PLCDBName.wrealP0P2Width, dt_Formula.P0P2Width);
device.SetValue(W_PLCDBName.wrealP0P3Width, dt_Formula.P0P3Width);
- device.SetValue(W_PLCDBName.wrealP0P3Width, dt_Formula.P0P3Width);
- device.SetValue(W_PLCDBName.wrealP1P3Height, dt_Formula.P1P3Height);
- device.SetValue(W_PLCDBName.wrealP2P3Height, dt_Formula.P2P3Height);
+ device.SetValue(W_PLCDBName.wrealP1P3Height, dt_Formula.ScrewTorqueOutput + dt_Formula.GasketHeight);
+ device.SetValue(W_PLCDBName.wrealP2P3Height, dt_Formula.ProductHeight + dt_Formula.GasketHeight);
+ device.SetValue(W_PLCDBName.wrealProdHeightDiff, dt_Formula.DetectHeightDiff);
+ device.SetValue(W_PLCDBName.wrealScrewHeight, dt_Formula.ScrewPositionDiff);
+
+
+
//妫�娴嬫壂鐮佸畬鎴�
device.SetValue(W_PLCDBName.wboolLocation3ScanDone, true);
@@ -486,7 +514,14 @@
decimal Height1 = (decimal)device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectHeight1);//113
decimal Height2 = (decimal)device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectHeight2);//92
decimal Height3 = (decimal)device.GetValue<R_PLCDBName, float>(R_PLCDBName.rrealDetectHeight3);//11
- bool CheckUnfinished = device.GetValue<R_PLCDBName, bool>(R_PLCDBName.rrealDetectByInspectUnfinished);
+ if(dt_Formula.PressNoCheckBottomPlate == 1)
+ {
+ Height3 = 0;
+ }
+
+ //bool CheckUnfinished = device.GetValue<R_PLCDBName, bool>(R_PLCDBName.rrealDetectByInspectUnfinished);
+
+
Dt_ProcessInfo dt_ProcessInfo = _processInfoService.Repository.QueryFirst(x => x.PalletCode == dt_Boxing.PalletCode);
int id = 0;
@@ -498,7 +533,6 @@
ProductCode = dt_Formula.ProductCode,
ProductName = dt_Formula.ProductName,
ProductSn = dt_Boxing.BoxingNo,
- CheckUnfinished = CheckUnfinished?1:0,
};
id = _processInfoService.Repository.AddData(dt_ProcessInfo);
}
@@ -506,10 +540,23 @@
{
id = dt_ProcessInfo.Id;
}
+ decimal? ThreadPositionHeight = Height1 - Height3 - dt_Formula.GasketHeight;
+ decimal? ProductCheckHeight = Height2 - Height3 - dt_Formula.GasketHeight;
+
dt_ProcessInfo.Id = id;
- dt_ProcessInfo.Height1 = Height1 = Height1 - Height3;
- dt_ProcessInfo.Height2 = Height2 = Height2 - Height3;
+ dt_ProcessInfo.ThreadPositionHeight = ThreadPositionHeight;
+ dt_ProcessInfo.ProductCheckHeight = ProductCheckHeight;
+ dt_ProcessInfo.Height1 = Height1;
+ dt_ProcessInfo.Height2 = Height2;
dt_ProcessInfo.Height3 = Height3;
+
+ if(
+ ProductCheckHeight > dt_Formula.ProductHeight + dt_Formula.DetectHeightDiff || ProductCheckHeight < dt_Formula.ProductHeight - dt_Formula.DetectHeightDiff ||
+ ThreadPositionHeight > dt_Formula.ScrewTorqueOutput + dt_Formula.ScrewPositionDiff || ThreadPositionHeight < dt_Formula.ScrewTorqueOutput - dt_Formula.ScrewPositionDiff
+ )
+ {
+ dt_ProcessInfo.ProductStatus = 0;
+ }
_processInfoService.Repository.UpdateData(dt_ProcessInfo);
//妫�娴嬩俊鎭笂浼犲畬鎴�
@@ -551,16 +598,22 @@
throw new InvalidOperationException("鎵樼洏涓虹┖");
}
Dt_Boxing dt_Boxing = _boxingService.Repository.QueryFirst(x => x.PalletCode == PalletCode);
+ WriteInfo("涓嬬嚎鎵爜缁勭洏鏁版嵁",$"{PalletCode}_boxingService鏌ヨ{dt_Boxing}");
+
if (dt_Boxing != null)
{
+ WriteInfo("涓嬬嚎鎵爜缁勭洏鏁版嵁", $"{PalletCode}_boxingService鍒犻櫎{dt_Boxing}");
_boxingService.Repository.DeleteData(dt_Boxing);
+
List<Dt_BoxingDetail> dt_BoxingDetails = _boxingDetailService.Repository.QueryData(x => x.BoxingId == dt_Boxing.Id);
if (dt_BoxingDetails != null)
{
+ WriteInfo("涓嬬嚎鎵爜缁勭洏鏁版嵁", $"{PalletCode}_boxingService鍒犻櫎{dt_BoxingDetails}");
_boxingDetailService.Repository.DeleteData(dt_BoxingDetails);
}
}
Dt_ProcessInfo dt_ProcessInfo = _processInfoService.Repository.QueryFirst(x => x.PalletCode == PalletCode);
+ WriteInfo("涓嬬嚎鎵爜缁勭洏鏁版嵁", $"{PalletCode}_processInfoService鏌ヨ{dt_ProcessInfo}");
if (dt_ProcessInfo != null)
{
Dt_ProcessInfoDetail dt_ProcessInfoDetail = new Dt_ProcessInfoDetail()
@@ -569,14 +622,14 @@
ProductCode = dt_ProcessInfo.ProductCode?.ToString() ?? "",
ProductName = dt_ProcessInfo.ProductName?.ToString() ?? "",
ProductSn = dt_ProcessInfo.ProductSn,
- PressTightenNg = dt_ProcessInfo.PressTightenNg,
PressTightenOk = dt_ProcessInfo.PressTightenOk,
PressTightenUnfinished = dt_ProcessInfo.PressTightenUnfinished,
- CheckUnfinished = dt_ProcessInfo.CheckUnfinished,
- PressHeight = dt_ProcessInfo.PressHeight,
+ ProductStatus = dt_ProcessInfo.ProductStatus,
ScrewTorque = dt_ProcessInfo.ScrewTorque,
ScrewAngle = dt_ProcessInfo.ScrewAngle,
PressPressure = dt_ProcessInfo.PressPressure,
+ ThreadPositionHeight = dt_ProcessInfo.ThreadPositionHeight,
+ ProductCheckHeight = dt_ProcessInfo.ProductCheckHeight,
Height1 = dt_ProcessInfo.Height1,
Height2 = dt_ProcessInfo.Height2,
Height3 = dt_ProcessInfo.Height3,
@@ -584,7 +637,9 @@
CreateDate = DateTime.Now
};
_processDetailInfoService.Repository.AddData(dt_ProcessInfoDetail);
+ WriteInfo("涓嬬嚎鎵爜缁勭洏鏁版嵁", $"{PalletCode}_processInfoService鍒犻櫎{dt_ProcessInfo}");
_processInfoService.DeleteData(dt_ProcessInfo);
+
}
uow.Commit();
//涓嬬嚎鎵爜瀹屾垚
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\345\217\221\347\224\265\346\234\272\345\274\271\346\200\247\346\224\257\346\222\221BOM\347\273\223\346\236\204\345\217\212\345\267\245\350\211\272\345\217\202\346\225\260.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\345\217\221\347\224\265\346\234\272\345\274\271\346\200\247\346\224\257\346\222\221BOM\347\273\223\346\236\204\345\217\212\345\267\245\350\211\272\345\217\202\346\225\260.pdf"
new file mode 100644
index 0000000..0557ea0
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\345\217\221\347\224\265\346\234\272\345\274\271\346\200\247\346\224\257\346\222\221BOM\347\273\223\346\236\204\345\217\212\345\267\245\350\211\272\345\217\202\346\225\260.pdf"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\345\217\221\347\224\265\346\234\272\345\274\271\346\200\247\346\224\257\346\222\221\344\277\241\346\201\257\345\214\226\346\265\201\347\250\213\345\215\241-\346\263\250\351\207\212.pdf" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\345\217\221\347\224\265\346\234\272\345\274\271\346\200\247\346\224\257\346\222\221\344\277\241\346\201\257\345\214\226\346\265\201\347\250\213\345\215\241-\346\263\250\351\207\212.pdf"
new file mode 100644
index 0000000..e40ca98
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\345\217\221\347\224\265\346\234\272\345\274\271\346\200\247\346\224\257\346\222\221\344\277\241\346\201\257\345\214\226\346\265\201\347\250\213\345\215\241-\346\263\250\351\207\212.pdf"
Binary files differ
--
Gitblit v1.9.3