From 20215f3e0a35ab72d3011b3c88574ca8a15b7773 Mon Sep 17 00:00:00 2001
From: 周宾 <2802492122@qq.com>
Date: 星期三, 17 十二月 2025 11:14:49 +0800
Subject: [PATCH] 海川开心-修改生产管控-生产派工
---
src/pages/productionManagement/productionDispatching/components/DispatchModal.vue | 168 +++++++++++++++++++++++++++----------------------------
1 files changed, 82 insertions(+), 86 deletions(-)
diff --git a/src/pages/productionManagement/productionDispatching/components/DispatchModal.vue b/src/pages/productionManagement/productionDispatching/components/DispatchModal.vue
index 95c3705..d6fd25e 100644
--- a/src/pages/productionManagement/productionDispatching/components/DispatchModal.vue
+++ b/src/pages/productionManagement/productionDispatching/components/DispatchModal.vue
@@ -1,7 +1,7 @@
<template>
- <up-popup
- v-model:show="show"
- mode="bottom"
+ <uni-popup
+ ref="popupRef"
+ type="bottom"
:round="20"
:safeAreaInsetBottom="true"
@close="handleClose"
@@ -26,19 +26,33 @@
>
<!-- 椤圭洰鍩烘湰淇℃伅 -->
<view class="form-section">
- <text class="section-title">椤圭洰淇℃伅</text>
- <up-form-item label="椤圭洰鍚嶇О" prop="projectName">
+ <text class="section-title">浜у搧淇℃伅</text>
+ <!-- <up-form-item label="椤圭洰鍚嶇О" prop="projectName">
<up-input
v-model="form.projectName"
disabled
placeholder="椤圭洰鍚嶇О"
/>
- </up-form-item>
+ </up-form-item> -->
<up-form-item label="浜у搧澶х被" prop="productCategory">
<up-input
v-model="form.productCategory"
disabled
placeholder="浜у搧澶х被"
+ />
+ </up-form-item>
+ <up-form-item label="瑙勬牸鍨嬪彿" prop="specificationModel">
+ <up-input
+ v-model="form.specificationModel"
+ disabled
+ placeholder="瑙勬牸鍨嬪彿"
+ />
+ </up-form-item>
+ <up-form-item label="缁戝畾鏈哄櫒" prop="speculativeTradingName">
+ <up-input
+ v-model="form.speculativeTradingName"
+ disabled
+ placeholder="缁戝畾鏈哄櫒"
/>
</up-form-item>
</view>
@@ -76,22 +90,14 @@
<view class="form-section">
<text class="section-title">娲惧伐淇℃伅</text>
<up-form-item label="娲惧伐浜�" prop="schedulingUserId" required>
- <up-input
- v-model="selectedUserName"
- placeholder="璇烽�夋嫨娲惧伐浜�"
- readonly
- @click="showUserPicker = true"
- suffixIcon="arrow-down"
- />
+ <uni-data-select v-model="form.schedulingUserId" :localdata="userColumns" :clear="false"></uni-data-select>
</up-form-item>
<up-form-item label="娲惧伐鏃ユ湡" prop="schedulingDate" required>
- <up-input
- v-model="form.schedulingDate"
- placeholder="璇烽�夋嫨娲惧伐鏃ユ湡"
- readonly
- @click="showDatePicker = true"
- suffixIcon="calendar"
- />
+ <uni-datetime-picker type="date" :clear-icon="false" v-model="form.schedulingDate">
+ <view class="datetime-picker-value">
+ {{form.schedulingDate}}
+ </view>
+ </uni-datetime-picker>
</up-form-item>
</view>
</up-form>
@@ -115,23 +121,7 @@
/>
</view>
</view>
-
- <!-- 浜哄憳閫夋嫨鍣� -->
- <up-picker
- v-model="showUserPicker"
- :columns="userColumns"
- @confirm="handleUserSelect"
- @cancel="showUserPicker = false"
- />
-
- <!-- 鏃ユ湡閫夋嫨鍣� -->
- <up-datetime-picker
- v-model="showDatePicker"
- mode="date"
- @confirm="handleDateSelect"
- @cancel="showDatePicker = false"
- />
- </up-popup>
+ </uni-popup>
</template>
<script setup>
@@ -146,26 +136,16 @@
const emit = defineEmits(['confirm']);
// 寮圭獥鏄剧ず鐘舵��
-const show = ref(false);
+const popupRef = ref();
const submitting = ref(false);
-
-// 閫夋嫨鍣ㄦ樉绀虹姸鎬�
-const showUserPicker = ref(false);
-const showDatePicker = ref(false);
// 鐢ㄦ埛鍒楄〃
const userList = ref([]);
-const userColumns = computed(() => [
- userList.value.map(user => ({
- label: user.nickName,
+const userColumns = computed(() => {
+ return userList.value.map(user => ({
+ text: user.nickName,
value: user.userId
}))
-]);
-
-// 閫変腑鐨勭敤鎴峰悕绉帮紙鐢ㄤ簬鏄剧ず锛�
-const selectedUserName = computed(() => {
- const user = userList.value.find(u => u.userId === form.schedulingUserId);
- return user ? user.nickName : '';
});
// 琛ㄥ崟鏁版嵁
@@ -182,15 +162,15 @@
// 琛ㄥ崟楠岃瘉瑙勫垯
const rules = reactive({
- schedulingNum: [
- { required: true, message: "璇疯緭鍏ユ帓浜ф暟閲�", trigger: "blur" }
- ],
- schedulingUserId: [
- { required: true, message: "璇烽�夋嫨娲惧伐浜�", trigger: "change" }
- ],
- schedulingDate: [
- { required: true, message: "璇烽�夋嫨娲惧伐鏃ユ湡", trigger: "change" }
- ]
+ // schedulingNum: [
+ // { required: true, message: "璇疯緭鍏ユ帓浜ф暟閲�", trigger: "blur" }
+ // ],
+ // schedulingUserId: [
+ // { required: true, message: "璇烽�夋嫨娲惧伐浜�", trigger: "change" }
+ // ],
+ // schedulingDate: [
+ // { required: true, message: "璇烽�夋嫨娲惧伐鏃ユ湡", trigger: "change" }
+ // ]
});
// 琛ㄥ崟寮曠敤
@@ -210,9 +190,9 @@
schedulingUserId: userStore.id,
schedulingDate: dayjs().format("YYYY-MM-DD")
});
-
- show.value = true;
+ popupRef.value.open()
} catch (error) {
+ console.log(error)
uni.showToast({
title: '鍔犺浇鐢ㄦ埛鍒楄〃澶辫触',
icon: 'error'
@@ -231,29 +211,30 @@
}
};
-// 澶勭悊鐢ㄦ埛閫夋嫨
-const handleUserSelect = (params) => {
- if (params.value && params.value.length > 0) {
- form.schedulingUserId = params.value[0];
- }
- showUserPicker.value = false;
-};
-
-// 澶勭悊鏃ユ湡閫夋嫨
-const handleDateSelect = (params) => {
- if (params.value) {
- form.schedulingDate = dayjs(params.value).format("YYYY-MM-DD");
- }
- showDatePicker.value = false;
-};
-
// 纭娲惧伐
const handleConfirm = async () => {
+ if(!form.schedulingNum){
+ uni.showToast({
+ title: '璇疯緭鍏ユ帓浜ф暟閲�',
+ icon:'none'
+ })
+ return
+ }
+ if(!form.schedulingUserId){
+ uni.showToast({
+ title: '璇烽�夋嫨娲惧伐浜�',
+ icon:'none'
+ })
+ return
+ }
+ if(!form.schedulingDate){
+ uni.showToast({
+ title: '璇烽�夋嫨娲惧伐鏃ユ湡',
+ icon:'none'
+ })
+ return
+ }
try {
- // 琛ㄥ崟楠岃瘉
- const valid = await formRef.value?.validate();
- if (!valid) return;
-
if (form.schedulingNum <= 0) {
uni.showToast({
title: '鎺掍骇鏁伴噺蹇呴』澶т簬0',
@@ -292,10 +273,7 @@
// 鍏抽棴寮圭獥
const handleClose = () => {
- show.value = false;
- showUserPicker.value = false;
- showDatePicker.value = false;
-
+ popupRef.value.close()
// 閲嶇疆琛ㄥ崟
Object.assign(form, {
projectName: "",
@@ -353,6 +331,24 @@
flex: 1;
padding: 0 20px;
overflow-y: auto;
+ .datetime-picker-value{
+ font-size: 14px;
+ border: 1px solid #e5e5e5;
+ box-sizing: border-box;
+ border-radius: 4px;
+ padding: 0 5px;
+ padding-left: 10px;
+ position: relative;
+ display: flex;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ user-select: none;
+ flex-direction: row;
+ align-items: center;
+ width: 100%;
+ flex: 1;
+ height: 35px;
+ }
}
.form-section {
--
Gitblit v1.9.3