From 8845ac3d32217b6cf765934dc29dffe0065232d8 Mon Sep 17 00:00:00 2001
From: 周宾 <2802492122@qq.com>
Date: 星期三, 17 十二月 2025 16:29:29 +0800
Subject: [PATCH] 海川开心-修改生产管控
---
src/pages/inspectionUpload/index.vue | 21 ++++--
src/pages/productionManagement/operationScheduling/components/formDia.vue | 61 +++++++++++++++++---
src/pages/productionManagement/operationScheduling/index.vue | 24 +++++--
src/pages/productionManagement/productionReporting/index.vue | 22 +++++--
4 files changed, 98 insertions(+), 30 deletions(-)
diff --git a/src/pages/inspectionUpload/index.vue b/src/pages/inspectionUpload/index.vue
index caf3783..7eb3626 100644
--- a/src/pages/inspectionUpload/index.vue
+++ b/src/pages/inspectionUpload/index.vue
@@ -702,10 +702,8 @@
// 鑾峰彇褰撳墠鍒嗙被鐨勬枃浠跺垪琛�
const getCurrentFiles = () => {
- console.log('currentUploadType',currentUploadType.value)
switch (currentUploadType.value) {
case 'before':
- console.log('beforeModelValue',beforeModelValue.value)
return beforeModelValue.value
case 'after':
return afterModelValue.value
@@ -817,7 +815,6 @@
infoData.value.storageBlobDTO = arr;
// 娣诲姞寮傚父鐘舵�佷俊鎭�
infoData.value.hasException = hasException.value;
-
const result = await uploadInspectionTask({...infoData.value});
// 妫�鏌ユ彁浜ょ粨鏋�
@@ -940,7 +937,19 @@
const getAttachmentsByType = (typeValue) => {
return attachmentList.value.filter(file => file.type === typeValue) || []
}
-
+// 鑾峰彇type鍊�
+const getTabType = () => {
+ switch (currentUploadType.value) {
+ case 'before':
+ return 0
+ case 'after':
+ return 1
+ case 'issue':
+ return 2
+ default:
+ return 0
+ }
+}
// 鑾峰彇褰撳墠鏌ョ湅绫诲瀷鐨勯檮浠�
const getCurrentViewAttachments = () => {
switch (currentViewType.value) {
@@ -1299,13 +1308,12 @@
filePath: filePath,
name: 'files',
formData: {
- type: uploadStatusType.value || 0
+ type: getTabType() || 0
},
header: {
'Authorization': `Bearer ${token}`
}
};
- console.log('uploadParams',uploadParams)
const uploadTask = uni.uploadFile({
...uploadParams,
success: (res) => {
@@ -1385,7 +1393,6 @@
// 涓婁紶鎴愬姛鍥炶皟
const handleUploadSuccess = (res, file) => {
- console.log(res,file)
if (res.code === 200 && res.data && Array.isArray(res.data) && res.data.length > 0) {
const uploadedFile = res.data[0];
diff --git a/src/pages/productionManagement/operationScheduling/components/formDia.vue b/src/pages/productionManagement/operationScheduling/components/formDia.vue
index c5b0599..ae1c644 100644
--- a/src/pages/productionManagement/operationScheduling/components/formDia.vue
+++ b/src/pages/productionManagement/operationScheduling/components/formDia.vue
@@ -26,22 +26,38 @@
<up-input v-model="row.type" placeholder="璇疯緭鍏�" />
</up-form-item>
<up-form-item label="鎺掍骇鏁伴噺" label-width="80">
- <up-input v-model.number="row.schedulingNum" type="number" placeholder="璇疯緭鍏�" />
+ <uni-number-box v-model="row.schedulingNum" :min="0" :step="0.1" style="width: 100%;" background="#2979FF" color="#fff" />
</up-form-item>
<up-form-item label="宸ユ椂瀹氶" label-width="80">
- <up-input v-model.number="row.workHours" type="number" placeholder="璇疯緭鍏�" />
+ <uni-number-box v-model="row.workHours" :min="0" :step="0.1" style="width: 100%;" background="#2979FF" color="#fff" />
</up-form-item>
- <up-form-item label="鎺掍骇鏃ユ湡" label-width="80" @click="openDatePicker(index)">
- <up-input v-model="row.schedulingDate" placeholder="閫夋嫨鏃ユ湡" readonly @click="openDatePicker(index)" />
+ <up-form-item label="鎺掍骇鏃ユ湡" label-width="80">
+ <view class="select-box" @click.stop="openDatePicker(index)">
+ <view class="label" :class="[row.schedulingDate?'':'un-value']">
+ {{row.schedulingDate||'閫夋嫨鏃ユ湡'}}
+ </view>
+ <view class="value">
+ <up-icon name="calendar"></up-icon>
+ </view>
+ </view>
+ <!-- <up-input v-model="row.schedulingDate" placeholder="閫夋嫨鏃ユ湡" :border="false" readonly @click="openDatePicker(index)" />
<template #right>
<up-icon name="calendar" @click="openDatePicker(index)"></up-icon>
- </template>
+ </template> -->
</up-form-item>
- <up-form-item label="鎺掍骇浜�" label-width="80" @click="openUserPicker(index)">
- <up-input v-model="row.schedulingUserName" placeholder="閫夋嫨浜哄憳" readonly @click="openUserPicker(index)" />
+ <up-form-item label="鎺掍骇浜�" label-width="80">
+ <view class="select-box" @click.stop="openUserPicker(index)">
+ <view class="label" :class="[row.schedulingUserName?'':'un-value']">
+ {{row.schedulingUserName||'閫夋嫨浜哄憳'}}
+ </view>
+ <view class="value">
+ <up-icon name="arrow-right"></up-icon>
+ </view>
+ </view>
+ <!-- <up-input v-model="row.schedulingUserName" placeholder="閫夋嫨浜哄憳" readonly @click="openUserPicker(index)" />
<template #right>
<up-icon name="arrow-right" @click="openUserPicker(index)"></up-icon>
- </template>
+ </template> -->
</up-form-item>
<up-form-item label="澶囨敞" label-width="80">
<up-input v-model="row.remark" placeholder="璇疯緭鍏ュ娉�" />
@@ -252,10 +268,13 @@
min-height: 0;
}
.row-card {
- background: #fff;
+ background: #f5f5f5;
border-radius: 10px;
- padding: 8px;
+ padding: 20rpx;
box-shadow: 0 2px 8px rgba(0,0,0,0.05);
+ box-sizing: border-box;
+ // border: 1px solid #f5f5f5;
+ margin-bottom: 20rpx;
}
.row-header {
display: flex;
@@ -279,4 +298,26 @@
justify-content: flex-end;
padding-top: 8px;
}
+.select-box{
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: space-between;
+ flex: 1;
+ border-radius: 4px;
+ box-sizing: border-box;
+ padding: 6px 9px;
+ border-width: 0.5px !important;
+ border-color: #dadbde !important;
+ border-style: solid;
+ height: 100%;
+ .label{
+ min-height: 1.4em;
+ color: rgb(48, 49, 51);
+ font-size: 15px;
+ }
+ .un-value{
+ color: #999;
+ }
+}
</style>
\ No newline at end of file
diff --git a/src/pages/productionManagement/operationScheduling/index.vue b/src/pages/productionManagement/operationScheduling/index.vue
index a3d86a5..a731731 100644
--- a/src/pages/productionManagement/operationScheduling/index.vue
+++ b/src/pages/productionManagement/operationScheduling/index.vue
@@ -6,15 +6,13 @@
<u-form>
<view class="form-row">
<u-form-item label="瀹㈡埛鍚嶇О" label-width="80">
- <up-input v-model="searchForm.customerName" placeholder="璇疯緭鍏�" clearable @change="handleQuery" />
- </u-form-item>
- <u-form-item label="椤圭洰鍚嶇О" label-width="80">
- <up-input v-model="searchForm.projectName" placeholder="璇疯緭鍏�" clearable @change="handleQuery" />
+ <up-input v-model="searchForm.customerName" placeholder="璇疯緭鍏�" clearable />
</u-form-item>
</view>
<view class="form-row">
- <u-form-item label="鐘舵��" label-width="80">
- <up-input v-model="statusDisplay" placeholder="璇烽�夋嫨鐘舵��" readonly @click="showStatusPicker = true" />
+ <u-form-item label="鐘舵��" label-width="80" style="flex:1">
+ <uni-data-select v-model="searchForm.status" :localdata="statusList"></uni-data-select>
+ <!-- <up-input v-model="statusDisplay" placeholder="璇烽�夋嫨鐘舵��" readonly @click="showStatusPicker = true" /> -->
</u-form-item>
</view>
<view class="form-actions">
@@ -39,11 +37,12 @@
<view class="row"><text class="label">娲惧伐鏃ユ湡</text><text class="value">{{ item.schedulingDate }}</text></view>
<view class="row"><text class="label">娲惧伐浜�</text><text class="value">{{ item.schedulingUserName }}</text></view>
<view class="row"><text class="label">鍚堝悓鍙�</text><text class="value">{{ item.salesContractNo }}</text></view>
- <view class="row"><text class="label">瀹㈡埛鍚堝悓鍙�</text><text class="value">{{ item.customerContractNo }}</text></view>
+ <!-- <view class="row"><text class="label">瀹㈡埛鍚堝悓鍙�</text><text class="value">{{ item.customerContractNo }}</text></view> -->
<view class="row"><text class="label">瀹㈡埛鍚嶇О</text><text class="value">{{ item.customerName }}</text></view>
<view class="row"><text class="label">浜у搧澶х被</text><text class="value">{{ item.productCategory }}</text></view>
<view class="row"><text class="label">瑙勬牸鍨嬪彿</text><text class="value">{{ item.specificationModel }}</text></view>
<view class="row"><text class="label">缁戝畾鏈哄櫒</text><text class="value">{{ item.speculativeTradingName }}</text></view>
+ <view class="row"><text class="label">浜х嚎</text><text class="value">{{ item.productionLine }}</text></view>
<view class="row inline">
<view class="col"><text class="label">鍗曚綅</text><text class="value">{{ item.unit }}</text></view>
<view class="col"><text class="label">鎺掍骇鎬绘暟</text><text class="value">{{ item.schedulingNum }}</text></view>
@@ -94,6 +93,17 @@
import dayjs from 'dayjs'
import { listPageProcess, productionDispatchDelete } from '@/api/productionManagement/operationScheduling.js'
+const statusList = reactive([{
+ text:'寰呮帓浜�',
+ value: 1
+},{
+ text:'鎺掍骇涓�',
+ value: 2
+},{
+ text:'宸叉帓浜�',
+ value: 3
+}])
+
const data = reactive({
searchForm: {
staffName: "",
diff --git a/src/pages/productionManagement/productionReporting/index.vue b/src/pages/productionManagement/productionReporting/index.vue
index b8b92f4..2a114cc 100644
--- a/src/pages/productionManagement/productionReporting/index.vue
+++ b/src/pages/productionManagement/productionReporting/index.vue
@@ -8,13 +8,11 @@
<u-form-item label="瀹㈡埛鍚嶇О" label-width="80">
<up-input v-model="searchForm.customerName" placeholder="璇疯緭鍏�" clearable @change="handleQuery" />
</u-form-item>
- <u-form-item label="椤圭洰鍚嶇О" label-width="80">
- <up-input v-model="searchForm.projectName" placeholder="璇疯緭鍏�" clearable @change="handleQuery" />
- </u-form-item>
</view>
<view class="form-row">
- <u-form-item label="鐘舵��" label-width="80">
- <up-input v-model="statusDisplay" placeholder="璇烽�夋嫨鐘舵��" readonly @click="showStatusPicker = true" />
+ <u-form-item label="鐘舵��" label-width="80" style="flex:1">
+ <uni-data-select v-model="searchForm.status" :localdata="statusList"></uni-data-select>
+ <!-- <up-input v-model="statusDisplay" placeholder="璇烽�夋嫨鐘舵��" readonly @click="showStatusPicker = true" /> -->
</u-form-item>
</view>
<view class="form-actions">
@@ -37,7 +35,7 @@
<view class="row"><text class="label">鎺掍骇鏃ユ湡</text><text class="value">{{ item.schedulingDate }}</text></view>
<view class="row"><text class="label">鎺掍骇浜�</text><text class="value">{{ item.schedulingUserName }}</text></view>
<view class="row"><text class="label">鍚堝悓鍙�</text><text class="value">{{ item.salesContractNo }}</text></view>
- <view class="row"><text class="label">瀹㈡埛鍚堝悓鍙�</text><text class="value">{{ item.customerContractNo }}</text></view>
+ <!-- <view class="row"><text class="label">瀹㈡埛鍚堝悓鍙�</text><text class="value">{{ item.customerContractNo }}</text></view> -->
<view class="row"><text class="label">瀹㈡埛鍚嶇О</text><text class="value">{{ item.customerName }}</text></view>
<view class="row"><text class="label">浜у搧澶х被</text><text class="value">{{ item.productCategory }}</text></view>
<view class="row"><text class="label">瑙勬牸鍨嬪彿</text><text class="value">{{ item.specificationModel }}</text></view>
@@ -70,6 +68,18 @@
import PageHeader from '@/components/PageHeader.vue'
import FormDia from './components/formDia.vue'
import { workListPage } from "@/api/productionManagement/productionReporting.js";
+
+const statusList = reactive([{
+ text:'寰呯敓浜�',
+ value: 1
+},{
+ text:'鎺掍骇涓�',
+ value: 2
+},{
+ text:'鐢熶骇涓�',
+ value: 3
+}])
+
const data = reactive({
searchForm: {
customerName: "",
--
Gitblit v1.9.3