Răsfoiți Sursa

pms 瑞都日报 虚拟项目

zhangcl 2 săptămâni în urmă
părinte
comite
887fd5ae7d

+ 17 - 14
src/views/pms/iotprojectinfo/IotProjectInfoForm.vue

@@ -45,20 +45,6 @@
           </el-form-item>
         </el-col>
       </el-row>
-      <!--
-      <el-row>
-        <el-col :span="12">
-          <el-form-item label="总数" prop="workloadTotal">
-            <el-input v-model="formData.workloadTotal" placeholder="请输入工作量总数" />
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="已完成" prop="workloadFinish">
-            <el-input v-model="formData.workloadFinish" placeholder="已完成工作量" disabled/>
-          </el-form-item>
-        </el-col>
-      </el-row>
-      -->
       <el-row>
         <el-col :span="12">
           <el-form-item label="开始时间" prop="startTime">
@@ -177,7 +163,22 @@
             </div>
           </el-form-item>
         </el-col>
+
         <el-col :span="12">
+          <el-form-item label="虚拟项目" prop="contractSubject">
+            <el-switch
+              v-model="formData.contractSubject"
+              active-value="Y"
+              inactive-value="N"
+              active-text="是"
+              inactive-text="否"
+            />
+          </el-form-item>
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-col :span="24">
           <el-form-item label="备注" prop="remark">
             <el-input v-model="formData.remark" placeholder="请输入备注" type="textarea" />
           </el-form-item>
@@ -286,6 +287,7 @@ const formData = ref({
   deptName: undefined,
   contractName: undefined,
   contractCode: undefined,
+  contractSubject: 'N', // 添加虚拟项目字段,默认值为'N'
   workloadTotal: undefined,
   workloadFinish: undefined,
   startTime: undefined,
@@ -587,6 +589,7 @@ const resetForm = () => {
     deptName: undefined,
     contractName: undefined,
     contractCode: undefined,
+    contractSubject: 'N', // 重置时设置默认值
     workloadTotal: undefined,
     workloadFinish: undefined,
     startTime: undefined,

+ 20 - 1
src/views/pms/iotrddailyreport/FillDailyReportForm.vue

@@ -1032,11 +1032,30 @@ const initDeviceData = (reportData: any) => {
 }
 
 // 表单验证规则
-const formRules = reactive({
+/* const formRules = reactive({
   timeRange: [{ required: true, message: '时间节点不能为空', trigger: 'change' }],
   rdStatus: [{ required: true, message: '施工状态不能为空', trigger: 'change' }],
   techniqueIds: [{ required: true, message: '施工工艺不能为空', trigger: 'change' }],
   productionStatus: [{ required: true, message: '当日生产动态不能为空', trigger: 'blur' }]
+}) */
+
+const formRules = computed(() => {
+  // 判断是否为虚拟项目
+  const isVirtualProject = dailyReportData.value.virtualProject === 'Y'
+
+  // 基础校验规则(时间节点、当日生产动态始终必填)
+  const rules = {
+    timeRange: [{ required: true, message: '时间节点不能为空', trigger: 'change' }],
+    productionStatus: [{ required: true, message: '当日生产动态不能为空', trigger: 'blur' }]
+  }
+
+  // 非虚拟项目时,添加施工状态、施工工艺的必填校验
+  if (!isVirtualProject) {
+    rules.rdStatus = [{ required: true, message: '施工状态不能为空', trigger: 'change' }]
+    rules.techniqueIds = [{ required: true, message: '施工工艺不能为空', trigger: 'change' }]
+  }
+
+  return rules
 })
 
 const queryParams = reactive({