2 Комити d5c4c2bf52 ... 6119bcb89d

Аутор SHA1 Порука Датум
  Zimo 6119bcb89d 运行记录生产动态选择日期 пре 4 дана
  Zimo 9d62e7775f 瑞鹰日报施工简报调整 пре 4 дана

+ 28 - 6
src/views/pms/iotopeationfill/index1.vue

@@ -246,12 +246,30 @@
               </div>
               <el-form-item prop="reportDetails" class="table-form-item">
                 <ZmTable :data="reportDetails" :loading="false" class="mb-4">
-                  <ZmTableColumn
-                    label="日期"
-                    :width="105"
-                    cover-formatter
-                    :real-value="() => createTime"
-                  />
+                  <ZmTableColumn label="日期" :width="180" prop="reportDate">
+                    <template #default="{ row, $index }">
+                      <el-form-item
+                        v-if="$index >= 0"
+                        class="mb-0!"
+                        :prop="`reportDetails.${$index}.reportDate`"
+                        :rules="{
+                          required: true,
+                          message: '请选择日期',
+                          trigger: ['change', 'blur'],
+                          type: 'number'
+                        }"
+                      >
+                        <el-date-picker
+                          v-model="row.reportDate"
+                          placeholder="选择日期"
+                          clearable
+                          class="w-full!"
+                          value-format="x"
+                          :disabled="fillStatus === '1'"
+                        />
+                      </el-form-item>
+                    </template>
+                  </ZmTableColumn>
 
                   <ZmTableColumn :width="130" label="开始时间" prop="startTime">
                     <template #default="{ row, $index }">
@@ -427,6 +445,7 @@ import { useRoute } from 'vue-router'
 import { calculateDuration, formatT } from '@/utils/formatTime'
 import { Delete, Plus } from '@element-plus/icons-vue'
 import { useDebounceFn } from '@vueuse/core'
+import dayjs from 'dayjs'
 
 /** 运行记录填报 列表 */
 defineOptions({ name: 'FillOrderInfo' })
@@ -474,6 +493,7 @@ const queryParams = reactive<any>({
 })
 
 interface ReportDetail {
+  reportDate: number
   startTime: string
   endTime: string
   duration: number
@@ -489,6 +509,7 @@ const addProductionStatusRow = () => {
     reportDetails.value = []
   }
   reportDetails.value.push({
+    reportDate: createTime ? dayjs(createTime).valueOf() : dayjs().valueOf(),
     startTime: '',
     endTime: '',
     duration: 0,
@@ -732,6 +753,7 @@ const getList = async () => {
     await getAttrList()
     IotOpeationFillApi.getReportDetails(deptId.split(',')[3]).then((res) => {
       reportDetails.value = (res ? (res as any[]) : []).map((item) => ({
+        reportDate: item.reportDate ?? dayjs(createTime).valueOf(),
         startTime: formatT(item.startTime),
         endTime: formatT(item.endTime),
         duration: item.duration,

+ 9 - 9
src/views/pms/iotrydailyreport/ry-form.vue

@@ -321,7 +321,12 @@ const rules = reactive<FormRules>({
   // productionStatus: [{ required: true, message: '请输入生产动态', trigger: ['blur', 'change'] }],
   reportDetails: [{ required: true, message: '请填写生产动态', type: 'array' }],
   constructionBrief: [
-    { required: true, message: '请填写施工简报', type: 'string', trigger: ['blur', 'change'] }
+    {
+      required: isApproval.value,
+      message: '请填写施工简报',
+      type: 'string',
+      trigger: ['blur', 'change']
+    }
   ],
 
   // 生产时间绑定校验
@@ -685,7 +690,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth(val: any, ind
                       required: true,
                       message: '请选择日期',
                       trigger: ['change', 'blur'],
-                      type: 'date'
+                      type: 'number'
                     }"
                   >
                     <el-date-picker
@@ -842,12 +847,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth(val: any, ind
           </el-form-item>
         </div>
 
-        <el-form-item
-          v-if="isApproval"
-          class="col-span-2"
-          label="当日施工简报"
-          prop="constructionBrief"
-        >
+        <el-form-item class="col-span-2" label="当日施工简报" prop="constructionBrief">
           <el-input
             v-model="form.constructionBrief"
             type="textarea"
@@ -856,7 +856,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth(val: any, ind
             resize="none"
             :maxlength="1000"
             placeholder="请输入当日施工简报"
-            :disabled="formType === 'readonly'"
+            :disabled="!isApproval"
           />
         </el-form-item>
 

+ 9 - 9
src/views/pms/iotrydailyreport/ry-xj-form.vue

@@ -304,7 +304,12 @@ const rules = reactive<FormRules>({
   repairStatus: [{ required: true, message: '请选择施工状态', trigger: ['change', 'blur'] }],
   reportDetails: [{ required: true, message: '请填写生产动态', type: 'array' }],
   constructionBrief: [
-    { required: true, message: '请填写施工简报', type: 'string', trigger: ['blur', 'change'] }
+    {
+      required: isApproval.value,
+      message: '请填写施工简报',
+      type: 'string',
+      trigger: ['blur', 'change']
+    }
   ],
 
   // 生产时间绑定校验
@@ -650,7 +655,7 @@ const orange = computed(() => {
                       required: true,
                       message: '请选择日期',
                       trigger: ['change', 'blur'],
-                      type: 'date'
+                      type: 'number'
                     }"
                   >
                     <el-date-picker
@@ -778,12 +783,7 @@ const orange = computed(() => {
           </el-form-item>
         </div>
 
-        <el-form-item
-          v-if="isApproval"
-          class="col-span-2"
-          label="当日施工简报"
-          prop="constructionBrief"
-        >
+        <el-form-item class="col-span-2" label="当日施工简报" prop="constructionBrief">
           <el-input
             v-model="form.constructionBrief"
             type="textarea"
@@ -792,7 +792,7 @@ const orange = computed(() => {
             resize="none"
             :maxlength="1000"
             placeholder="请输入当日施工简报"
-            :disabled="formType === 'readonly'"
+            :disabled="!isApproval"
           />
         </el-form-item>