Răsfoiți Sursa

隐患排查分类

yanghao 1 săptămână în urmă
părinte
comite
b47e628b19

+ 1 - 1
package.json

@@ -9,7 +9,7 @@
     "dev": "vite --mode env.local",
     "dev": "vite --mode env.local",
     "dev-server": "vite --mode dev",
     "dev-server": "vite --mode dev",
     "ts:check": "vue-tsc --noEmit",
     "ts:check": "vue-tsc --noEmit",
-    "build:local": "node --max_old_space_size=4096 ./node_modules/vite/bin/vite.js build",
+    "build:local": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build",
     "build:dev": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode dev",
     "build:dev": "node --max_old_space_size=8192 ./node_modules/vite/bin/vite.js build --mode dev",
     "build:test": "node --max_old_space_size=4096 ./node_modules/vite/bin/vite.js build --mode test",
     "build:test": "node --max_old_space_size=4096 ./node_modules/vite/bin/vite.js build --mode test",
     "build:stage": "node --max_old_space_size=4096 ./node_modules/vite/bin/vite.js build --mode stage",
     "build:stage": "node --max_old_space_size=4096 ./node_modules/vite/bin/vite.js build --mode stage",

+ 1 - 2
src/api/pms/bom/index.ts

@@ -5,7 +5,6 @@ export interface BomVO {
   name: string
   name: string
   code: string
   code: string
   parentId: number
   parentId: number
-  deptId?: number
   deviceCategoryId: number
   deviceCategoryId: number
   status: number
   status: number
   sort: number
   sort: number
@@ -14,7 +13,7 @@ export interface BomVO {
 }
 }
 
 
 export interface BomListTreeReqVO extends PageParam {
 export interface BomListTreeReqVO extends PageParam {
-  deptId?: number
+  deviceCategoryId?: number
   name?: string
   name?: string
   status?: number
   status?: number
 }
 }

+ 23 - 0
src/main.ts

@@ -49,25 +49,44 @@ import DataVVue3 from '@kjgl77/datav-vue3'
 
 
 // 创建实例
 // 创建实例
 const setupAll = async () => {
 const setupAll = async () => {
+  console.time('app:init')
   const app = createApp(App)
   const app = createApp(App)
 
 
+  console.time('app:setupI18n')
   await setupI18n(app)
   await setupI18n(app)
+  console.timeEnd('app:setupI18n')
 
 
+  console.time('app:setupStore')
   setupStore(app)
   setupStore(app)
+  console.timeEnd('app:setupStore')
 
 
+  console.time('app:setupGlobCom')
   setupGlobCom(app)
   setupGlobCom(app)
+  console.timeEnd('app:setupGlobCom')
 
 
+  console.time('app:setupElementPlus')
   setupElementPlus(app)
   setupElementPlus(app)
+  console.timeEnd('app:setupElementPlus')
 
 
+  console.time('app:setupFormCreate')
   setupFormCreate(app)
   setupFormCreate(app)
+  console.timeEnd('app:setupFormCreate')
 
 
+  console.time('app:setupRouter')
   setupRouter(app)
   setupRouter(app)
+  console.timeEnd('app:setupRouter')
 
 
   // directives 指令
   // directives 指令
+  console.time('app:setupDirectives')
   setupAuth(app)
   setupAuth(app)
   setupMountedFocus(app)
   setupMountedFocus(app)
+  console.timeEnd('app:setupDirectives')
 
 
+  console.time('router:isReady')
   await router.isReady()
   await router.isReady()
+  console.timeEnd('router:isReady')
+
+  console.time('app:usePluginsAfterRouterReady')
   app.use(DataVVue3)
   app.use(DataVVue3)
 
 
   app.use(DataVVue3)
   app.use(DataVVue3)
@@ -79,8 +98,12 @@ const setupAll = async () => {
     v: '4.0',
     v: '4.0',
     tk: import.meta.env.VITE_TK
     tk: import.meta.env.VITE_TK
   })
   })
+  console.timeEnd('app:usePluginsAfterRouterReady')
 
 
+  console.time('app:mount')
   app.mount('#app')
   app.mount('#app')
+  console.timeEnd('app:mount')
+  console.timeEnd('app:init')
 }
 }
 
 
 setupAll()
 setupAll()

+ 14 - 0
src/permission.ts

@@ -126,31 +126,45 @@ router.beforeEach(async (to, from, next) => {
 
 
       next({ path: '/' })
       next({ path: '/' })
     } else {
     } else {
+      console.time('permission:first-load')
       // 获取所有字典
       // 获取所有字典
       const dictStore = useDictStoreWithOut()
       const dictStore = useDictStoreWithOut()
       const userStore = useUserStoreWithOut()
       const userStore = useUserStoreWithOut()
       const permissionStore = usePermissionStoreWithOut()
       const permissionStore = usePermissionStoreWithOut()
       if (!dictStore.getIsSetDict) {
       if (!dictStore.getIsSetDict) {
+        console.time('permission:dict:setDictMap')
         await dictStore.setDictMap()
         await dictStore.setDictMap()
+        console.timeEnd('permission:dict:setDictMap')
+      } else {
+        console.timeLog('permission:first-load', 'dict cache hit')
       }
       }
 
 
       if (!userStore.getIsSetUser) {
       if (!userStore.getIsSetUser) {
         console.log(from, to)
         console.log(from, to)
         isRelogin.show = true
         isRelogin.show = true
+        console.time('permission:user:setUserInfoAction')
         await userStore.setUserInfoAction()
         await userStore.setUserInfoAction()
+        console.timeEnd('permission:user:setUserInfoAction')
         isRelogin.show = false
         isRelogin.show = false
         // 后端过滤菜单
         // 后端过滤菜单
+        console.time('permission:generateRoutes')
         await permissionStore.generateRoutes()
         await permissionStore.generateRoutes()
+        console.timeEnd('permission:generateRoutes')
+        console.time('permission:addRoutes')
         permissionStore.getAddRouters.forEach((route) => {
         permissionStore.getAddRouters.forEach((route) => {
           router.addRoute(route as unknown as RouteRecordRaw) // 动态添加可访问路由表
           router.addRoute(route as unknown as RouteRecordRaw) // 动态添加可访问路由表
         })
         })
+        console.timeEnd('permission:addRoutes')
         const redirectPath = from.query.redirect || to.path
         const redirectPath = from.query.redirect || to.path
         // 修复跳转时不带参数的问题
         // 修复跳转时不带参数的问题
         const redirect = decodeURIComponent(redirectPath as string)
         const redirect = decodeURIComponent(redirectPath as string)
         const { paramsObject: query } = parseURL(redirect)
         const { paramsObject: query } = parseURL(redirect)
         const nextData = to.path === redirect ? { ...to, replace: true } : { path: redirect, query }
         const nextData = to.path === redirect ? { ...to, replace: true } : { path: redirect, query }
+        console.timeEnd('permission:first-load')
         next(nextData)
         next(nextData)
       } else {
       } else {
+        console.timeLog('permission:first-load', 'user cache hit')
+        console.timeEnd('permission:first-load')
         next()
         next()
       }
       }
     }
     }

+ 8 - 13
src/views/pms/bom/index.vue

@@ -4,8 +4,8 @@ import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
 import * as BomApi from '@/api/pms/bom'
 import * as BomApi from '@/api/pms/bom'
 import { CommonBomMaterialApi, CommonBomMaterialVO } from '@/api/pms/commonbommaterial'
 import { CommonBomMaterialApi, CommonBomMaterialVO } from '@/api/pms/commonbommaterial'
 import { useTreeStore } from '@/store/modules/treeStore'
 import { useTreeStore } from '@/store/modules/treeStore'
-import { useUserStore } from '@/store/modules/user'
 import BomForm from './BomForm.vue'
 import BomForm from './BomForm.vue'
+import DeviceCategoryTree from '@/components/DeviceCategoryTree/index.vue'
 import MaterialList from '@/views/pms/bom/MaterialList.vue'
 import MaterialList from '@/views/pms/bom/MaterialList.vue'
 import MaterialListDrawer from '@/views/pms/bom/MaterialListDrawer.vue'
 import MaterialListDrawer from '@/views/pms/bom/MaterialListDrawer.vue'
 
 
@@ -23,13 +23,10 @@ const message = useMessage()
 const treeStore = useTreeStore()
 const treeStore = useTreeStore()
 const { ZmTable, ZmTableColumn } = useTableComponents<BomRow>()
 const { ZmTable, ZmTableColumn } = useTableComponents<BomRow>()
 
 
-const rootDeptId = 156
-const deptId = useUserStore().getUser.deptId || rootDeptId
-
 const initQuery: BomApi.BomListTreeReqVO = {
 const initQuery: BomApi.BomListTreeReqVO = {
   pageNo: 1,
   pageNo: 1,
   pageSize: 10,
   pageSize: 10,
-  deptId: undefined,
+  deviceCategoryId: undefined,
   name: undefined,
   name: undefined,
   status: undefined
   status: undefined
 }
 }
@@ -119,9 +116,9 @@ const handleCurrentChange = (val: number) => {
   getList()
   getList()
 }
 }
 
 
-const handleDeptNodeClick = async (row: Tree) => {
+const handleDeviceCategoryTreeNodeClick = async (row: Tree) => {
   clearRowSelection()
   clearRowSelection()
-  queryParams.deptId = row.id
+  queryParams.deviceCategoryId = row.id
   queryParams.pageNo = 1
   queryParams.pageNo = 1
   await getList()
   await getList()
 }
 }
@@ -252,13 +249,11 @@ onMounted(() => {
 <template>
 <template>
   <div
   <div
     class="grid grid-cols-[auto_1fr] grid-rows-[auto_1fr] gap-4 h-[calc(100vh-20px-var(--top-tool-height)-var(--tags-view-height)-var(--app-footer-height))]">
     class="grid grid-cols-[auto_1fr] grid-rows-[auto_1fr] gap-4 h-[calc(100vh-20px-var(--top-tool-height)-var(--tags-view-height)-var(--app-footer-height))]">
-    <DeptTreeSelect
-      :top-id="rootDeptId"
-      :deptId="deptId"
-      v-model="queryParams.deptId"
+    <DeviceCategoryTree
+      v-model="queryParams.deviceCategoryId"
       :show-title="false"
       :show-title="false"
-      request-api="getSimpleDeptList"
-      class="row-span-2" />
+      class="row-span-2"
+      @node-click="handleDeviceCategoryTreeNodeClick" />
 
 
     <el-form
     <el-form
       ref="queryFormRef"
       ref="queryFormRef"

+ 44 - 87
src/views/pms/iotrydailyreport/ry-form.vue

@@ -338,7 +338,7 @@ const rules = reactive<FormRules>({
   reportDetails: [{ required: true, message: '请填写生产动态', type: 'array' }],
   reportDetails: [{ required: true, message: '请填写生产动态', type: 'array' }],
   constructionBrief: [
   constructionBrief: [
     {
     {
-      required: isApproval.value,
+      required: !isMainFieldDisabled.value,
       message: '请填写施工简报',
       message: '请填写施工简报',
       type: 'string',
       type: 'string',
       trigger: ['blur', 'change']
       trigger: ['blur', 'change']
@@ -479,8 +479,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
     header-class="mb-0!"
     header-class="mb-0!"
     size="100%"
     size="100%"
     :close-on-click-modal="false"
     :close-on-click-modal="false"
-    :close-on-press-escape="false"
-  >
+    :close-on-press-escape="false">
     <template #header>
     <template #header>
       <span class="text-xl font-bold text-[var(--el-text-color-primary)]">
       <span class="text-xl font-bold text-[var(--el-text-color-primary)]">
         {{ type === 'edit' ? '编辑日报' : '审批日报' }}
         {{ type === 'edit' ? '编辑日报' : '审批日报' }}
@@ -495,13 +494,11 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
       :model="form"
       :model="form"
       v-loading="loading"
       v-loading="loading"
       require-asterisk-position="right"
       require-asterisk-position="right"
-      :disabled="formType === 'readonly' && type !== 'approval'"
-    >
+      :disabled="formType === 'readonly' && type !== 'approval'">
       <!-- 顶部提示区 -->
       <!-- 顶部提示区 -->
       <div class="flex flex-col gap-3 text-sm mb-4">
       <div class="flex flex-col gap-3 text-sm mb-4">
         <div
         <div
-          class="rounded-md border border-blue-100 bg-blue-50/80 p-3 dark:border-blue-900/30 dark:bg-blue-900/10"
-        >
+          class="rounded-md border border-blue-100 bg-blue-50/80 p-3 dark:border-blue-900/30 dark:bg-blue-900/10">
           <div class="flex flex-col gap-2.5">
           <div class="flex flex-col gap-2.5">
             <div class="flex items-center justify-between">
             <div class="flex items-center justify-between">
               <div class="text-gray-600 dark:text-gray-400">
               <div class="text-gray-600 dark:text-gray-400">
@@ -509,8 +506,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
                 当日油耗
                 当日油耗
               </div>
               </div>
               <span
               <span
-                class="inline-flex items-center rounded border border-red-200 bg-red-100 px-2 py-0.5 text-xs font-medium text-red-600 dark:bg-red-900/20 dark:border-red-800 dark:text-red-400"
-              >
+                class="inline-flex items-center rounded border border-red-200 bg-red-100 px-2 py-0.5 text-xs font-medium text-red-600 dark:bg-red-900/20 dark:border-red-800 dark:text-red-400">
                 >9000升 红色预警
                 >9000升 红色预警
               </span>
               </span>
             </div>
             </div>
@@ -520,8 +516,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
                 进尺 + 其它生产 + 非生产 = 24H
                 进尺 + 其它生产 + 非生产 = 24H
               </div>
               </div>
               <span
               <span
-                class="inline-flex items-center rounded border border-orange-200 bg-orange-100 px-2 py-0.5 text-xs font-medium text-orange-600 dark:bg-orange-900/20 dark:border-orange-800 dark:text-orange-400"
-              >
+                class="inline-flex items-center rounded border border-orange-200 bg-orange-100 px-2 py-0.5 text-xs font-medium text-orange-600 dark:bg-orange-900/20 dark:border-orange-800 dark:text-orange-400">
                 ≠24H 橙色预警
                 ≠24H 橙色预警
               </span>
               </span>
             </div>
             </div>
@@ -529,12 +524,10 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
         </div>
         </div>
         <div
         <div
           v-if="isEdit && form.opinion"
           v-if="isEdit && form.opinion"
-          class="flex gap-3 rounded-md border border-yellow-200 bg-yellow-50 p-3 dark:border-yellow-800 dark:bg-yellow-900/10"
-        >
+          class="flex gap-3 rounded-md border border-yellow-200 bg-yellow-50 p-3 dark:border-yellow-800 dark:bg-yellow-900/10">
           <Icon
           <Icon
             icon="ep:warning-filled"
             icon="ep:warning-filled"
-            class="mt-0.5 shrink-0 text-base text-yellow-600 dark:text-yellow-500"
-          />
+            class="mt-0.5 shrink-0 text-base text-yellow-600 dark:text-yellow-500" />
           <div class="flex flex-col">
           <div class="flex flex-col">
             <h4 class="mb-1 font-bold text-yellow-800 dark:text-yellow-500">审核意见</h4>
             <h4 class="mb-1 font-bold text-yellow-800 dark:text-yellow-500">审核意见</h4>
             <p class="leading-relaxed text-gray-600 dark:text-gray-400">{{ form.opinion }}</p>
             <p class="leading-relaxed text-gray-600 dark:text-gray-400">{{ form.opinion }}</p>
@@ -559,8 +552,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
             v-model="form.taskId"
             v-model="form.taskId"
             placeholder="请选择任务井"
             placeholder="请选择任务井"
             :options="wellOptions"
             :options="wellOptions"
-            :disabled="form.auditStatus !== 20 && form.auditStatus !== 30"
-          />
+            :disabled="form.auditStatus !== 20 && form.auditStatus !== 30" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="施工区域" prop="location">
         <el-form-item label="施工区域" prop="location">
           <el-input v-model="form.location" disabled />
           <el-input v-model="form.location" disabled />
@@ -569,14 +561,12 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
           <el-select
           <el-select
             v-model="form.rigStatus"
             v-model="form.rigStatus"
             placeholder="请选择施工状态"
             placeholder="请选择施工状态"
-            :disabled="isMainFieldDisabled"
-          >
+            :disabled="isMainFieldDisabled">
             <el-option
             <el-option
               v-for="(dict, index) in getStrDictOptions(DICT_TYPE.PMS_PROJECT_TASK_RY_SCHEDULE)"
               v-for="(dict, index) in getStrDictOptions(DICT_TYPE.PMS_PROJECT_TASK_RY_SCHEDULE)"
               :key="index"
               :key="index"
               :label="dict.label"
               :label="dict.label"
-              :value="dict.value"
-            />
+              :value="dict.value" />
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
         <el-form-item label="设计井深(m)" prop="designWellDepth">
         <el-form-item label="设计井深(m)" prop="designWellDepth">
@@ -590,8 +580,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
             :disabled="isMainFieldDisabled"
             :disabled="isMainFieldDisabled"
             :controls="false"
             :controls="false"
             align="left"
             align="left"
-            class="w-full!"
-          />
+            class="w-full!" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="当日用电量(kWh)" prop="dailyPowerUsage">
         <el-form-item label="当日用电量(kWh)" prop="dailyPowerUsage">
           <el-input-number
           <el-input-number
@@ -602,8 +591,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
             :disabled="isMainFieldDisabled"
             :disabled="isMainFieldDisabled"
             :controls="false"
             :controls="false"
             align="left"
             align="left"
-            class="w-full!"
-          />
+            class="w-full!" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="当日油耗(升)" prop="dailyFuel">
         <el-form-item label="当日油耗(升)" prop="dailyFuel">
           <el-input-number
           <el-input-number
@@ -615,8 +603,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
             :disabled="isMainFieldDisabled"
             :disabled="isMainFieldDisabled"
             :controls="false"
             :controls="false"
             align="left"
             align="left"
-            class="w-full!"
-          />
+            class="w-full!" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="泥浆密度(g/cm³)" prop="mudDensity">
         <el-form-item label="泥浆密度(g/cm³)" prop="mudDensity">
           <el-input-number
           <el-input-number
@@ -627,8 +614,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
             :disabled="isMainFieldDisabled"
             :disabled="isMainFieldDisabled"
             :controls="false"
             :controls="false"
             align="left"
             align="left"
-            class="w-full!"
-          />
+            class="w-full!" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="泥浆粘度(S)" prop="mudViscosity">
         <el-form-item label="泥浆粘度(S)" prop="mudViscosity">
           <el-input-number
           <el-input-number
@@ -639,8 +625,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
             :disabled="isMainFieldDisabled"
             :disabled="isMainFieldDisabled"
             :controls="false"
             :controls="false"
             align="left"
             align="left"
-            class="w-full!"
-          />
+            class="w-full!" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="水平段长度(m)" prop="lateralLength">
         <el-form-item label="水平段长度(m)" prop="lateralLength">
           <el-input-number
           <el-input-number
@@ -651,8 +636,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
             :disabled="isMainFieldDisabled"
             :disabled="isMainFieldDisabled"
             :controls="false"
             :controls="false"
             align="left"
             align="left"
-            class="w-full!"
-          />
+            class="w-full!" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="井斜(°)" prop="wellInclination">
         <el-form-item label="井斜(°)" prop="wellInclination">
           <el-input-number
           <el-input-number
@@ -663,8 +647,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
             :disabled="isMainFieldDisabled"
             :disabled="isMainFieldDisabled"
             :controls="false"
             :controls="false"
             align="left"
             align="left"
-            class="w-full!"
-          />
+            class="w-full!" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="方位(°)" prop="azimuth">
         <el-form-item label="方位(°)" prop="azimuth">
           <el-input-number
           <el-input-number
@@ -675,8 +658,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
             :disabled="isMainFieldDisabled"
             :disabled="isMainFieldDisabled"
             :controls="false"
             :controls="false"
             align="left"
             align="left"
-            class="w-full!"
-          />
+            class="w-full!" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="设计井身结构" prop="designWellStruct">
         <el-form-item label="设计井身结构" prop="designWellStruct">
           <el-input
           <el-input
@@ -684,8 +666,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
             placeholder=""
             placeholder=""
             type="textarea"
             type="textarea"
             disabled
             disabled
-            autosize
-          />
+            autosize />
         </el-form-item>
         </el-form-item>
         <el-form-item label="人员情况" prop="personnel">
         <el-form-item label="人员情况" prop="personnel">
           <el-input
           <el-input
@@ -694,8 +675,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
             type="textarea"
             type="textarea"
             :max-length="1000"
             :max-length="1000"
             autosize
             autosize
-            :disabled="isMainFieldDisabled"
-          />
+            :disabled="isMainFieldDisabled" />
         </el-form-item>
         </el-form-item>
         <el-form-item class="col-span-2" label="备注" prop="remark">
         <el-form-item class="col-span-2" label="备注" prop="remark">
           <el-input
           <el-input
@@ -703,8 +683,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
             type="textarea"
             type="textarea"
             autosize
             autosize
             maxlength="1000"
             maxlength="1000"
-            :disabled="isMainFieldDisabled"
-          />
+            :disabled="isMainFieldDisabled" />
         </el-form-item>
         </el-form-item>
 
 
         <div class="col-span-2">
         <div class="col-span-2">
@@ -718,8 +697,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
               link
               link
               :icon="Plus"
               :icon="Plus"
               @click="addProductionStatusRow"
               @click="addProductionStatusRow"
-              :disabled="isMainFieldDisabled"
-            >
+              :disabled="isMainFieldDisabled">
               添加一行
               添加一行
             </el-button>
             </el-button>
           </div>
           </div>
@@ -736,8 +714,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
                       message: '请选择日期',
                       message: '请选择日期',
                       trigger: ['change', 'blur'],
                       trigger: ['change', 'blur'],
                       type: 'number'
                       type: 'number'
-                    }"
-                  >
+                    }">
                     <el-date-picker
                     <el-date-picker
                       v-model="row.reportDate"
                       v-model="row.reportDate"
                       placeholder="选择日期"
                       placeholder="选择日期"
@@ -745,8 +722,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
                       class="w-full!"
                       class="w-full!"
                       value-format="x"
                       value-format="x"
                       :disabled="isMainFieldDisabled"
                       :disabled="isMainFieldDisabled"
-                      @change="inputCurrentDepth()"
-                    />
+                      @change="inputCurrentDepth()" />
                   </el-form-item>
                   </el-form-item>
                 </template>
                 </template>
               </ZmTableColumn>
               </ZmTableColumn>
@@ -761,8 +737,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
                       required: true,
                       required: true,
                       message: '请选择开始时间',
                       message: '请选择开始时间',
                       trigger: ['change', 'blur']
                       trigger: ['change', 'blur']
-                    }"
-                  >
+                    }">
                     <el-time-picker
                     <el-time-picker
                       v-model="row.startTime"
                       v-model="row.startTime"
                       placeholder="选择开始时间"
                       placeholder="选择开始时间"
@@ -771,8 +746,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
                       value-format="HH:mm"
                       value-format="HH:mm"
                       class="w-full!"
                       class="w-full!"
                       @change="acalculateDuration(row)"
                       @change="acalculateDuration(row)"
-                      :disabled="isMainFieldDisabled"
-                    />
+                      :disabled="isMainFieldDisabled" />
                   </el-form-item>
                   </el-form-item>
                 </template>
                 </template>
               </ZmTableColumn>
               </ZmTableColumn>
@@ -786,8 +760,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
                       required: true,
                       required: true,
                       message: '请选择结束时间',
                       message: '请选择结束时间',
                       trigger: ['change', 'blur']
                       trigger: ['change', 'blur']
-                    }"
-                  >
+                    }">
                     <el-time-picker
                     <el-time-picker
                       v-model="row.endTime"
                       v-model="row.endTime"
                       placeholder="选择结束时间"
                       placeholder="选择结束时间"
@@ -796,8 +769,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
                       value-format="HH:mm"
                       value-format="HH:mm"
                       class="w-full!"
                       class="w-full!"
                       @change="acalculateDuration(row)"
                       @change="acalculateDuration(row)"
-                      :disabled="isMainFieldDisabled"
-                    />
+                      :disabled="isMainFieldDisabled" />
                   </el-form-item>
                   </el-form-item>
                 </template>
                 </template>
               </ZmTableColumn>
               </ZmTableColumn>
@@ -809,8 +781,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
                     v-if="$index >= 0"
                     v-if="$index >= 0"
                     :prop="`reportDetails.${$index}.currentOperation`"
                     :prop="`reportDetails.${$index}.currentOperation`"
                     :rules="{ required: true, message: '请输入工况', trigger: ['change', 'blur'] }"
                     :rules="{ required: true, message: '请输入工况', trigger: ['change', 'blur'] }"
-                    class="mb-0!"
-                  >
+                    class="mb-0!">
                     <el-input
                     <el-input
                       v-model="row.currentOperation"
                       v-model="row.currentOperation"
                       type="textarea"
                       type="textarea"
@@ -818,8 +789,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
                       show-word-limit
                       show-word-limit
                       :maxlength="1000"
                       :maxlength="1000"
                       placeholder="请输入工况"
                       placeholder="请输入工况"
-                      :disabled="isMainFieldDisabled"
-                    />
+                      :disabled="isMainFieldDisabled" />
                   </el-form-item>
                   </el-form-item>
                 </template>
                 </template>
               </ZmTableColumn>
               </ZmTableColumn>
@@ -837,8 +807,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
                       },
                       },
                       { validator: validateLastCurrentDepth, trigger: ['change', 'blur'] }
                       { validator: validateLastCurrentDepth, trigger: ['change', 'blur'] }
                     ]"
                     ]"
-                    class="mb-0!"
-                  >
+                    class="mb-0!">
                     <el-input-number
                     <el-input-number
                       v-model="row.currentDepth"
                       v-model="row.currentDepth"
                       :min="0"
                       :min="0"
@@ -847,8 +816,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
                       align="left"
                       align="left"
                       placeholder="请输入结束井深"
                       placeholder="请输入结束井深"
                       :disabled="isMainFieldDisabled"
                       :disabled="isMainFieldDisabled"
-                      @input="() => inputCurrentDepth()"
-                    >
+                      @input="() => inputCurrentDepth()">
                       <template #suffix> m </template>
                       <template #suffix> m </template>
                     </el-input-number>
                     </el-input-number>
                   </el-form-item>
                   </el-form-item>
@@ -861,8 +829,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
                     v-if="$index >= 0"
                     v-if="$index >= 0"
                     :prop="`reportDetails.${$index}.constructionDetail`"
                     :prop="`reportDetails.${$index}.constructionDetail`"
                     :rules="{ required: true, message: '请输入详细描述', trigger: 'blur' }"
                     :rules="{ required: true, message: '请输入详细描述', trigger: 'blur' }"
-                    class="mb-0!"
-                  >
+                    class="mb-0!">
                     <el-input
                     <el-input
                       v-model="row.constructionDetail"
                       v-model="row.constructionDetail"
                       type="textarea"
                       type="textarea"
@@ -870,8 +837,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
                       show-word-limit
                       show-word-limit
                       :maxlength="1000"
                       :maxlength="1000"
                       placeholder="请输入详细描述"
                       placeholder="请输入详细描述"
-                      :disabled="isMainFieldDisabled"
-                    />
+                      :disabled="isMainFieldDisabled" />
                   </el-form-item>
                   </el-form-item>
                 </template>
                 </template>
               </ZmTableColumn>
               </ZmTableColumn>
@@ -883,8 +849,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
                     type="danger"
                     type="danger"
                     :icon="Delete"
                     :icon="Delete"
                     @click="removeProductionStatusRow($index)"
                     @click="removeProductionStatusRow($index)"
-                    :disabled="isMainFieldDisabled"
-                  >
+                    :disabled="isMainFieldDisabled">
                     删除
                     删除
                   </el-button>
                   </el-button>
                 </template>
                 </template>
@@ -902,8 +867,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
             resize="none"
             resize="none"
             :maxlength="1000"
             :maxlength="1000"
             placeholder="请输入当日施工简报"
             placeholder="请输入当日施工简报"
-            :disabled="!isApproval"
-          />
+            :disabled="isMainFieldDisabled" />
         </el-form-item>
         </el-form-item>
 
 
         <el-form-item class="col-span-2" label="下步计划" prop="nextPlan">
         <el-form-item class="col-span-2" label="下步计划" prop="nextPlan">
@@ -915,8 +879,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
             resize="none"
             resize="none"
             :maxlength="1000"
             :maxlength="1000"
             placeholder="请输入下步计划"
             placeholder="请输入下步计划"
-            :disabled="isMainFieldDisabled"
-          />
+            :disabled="isMainFieldDisabled" />
         </el-form-item>
         </el-form-item>
 
 
         <!-- 时间信息 -->
         <!-- 时间信息 -->
@@ -937,8 +900,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
             align="left"
             align="left"
             placeholder="进尺+其他+非生产=24H"
             placeholder="进尺+其他+非生产=24H"
             :disabled="isMainFieldDisabled"
             :disabled="isMainFieldDisabled"
-            :class="{ 'orange-input': orange }"
-          />
+            :class="{ 'orange-input': orange }" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="其它生产时间(H)" prop="otherProductionTime">
         <el-form-item label="其它生产时间(H)" prop="otherProductionTime">
           <el-input-number
           <el-input-number
@@ -950,8 +912,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
             align="left"
             align="left"
             placeholder="请输入其它生产时间(H)"
             placeholder="请输入其它生产时间(H)"
             :disabled="isMainFieldDisabled"
             :disabled="isMainFieldDisabled"
-            :class="{ 'orange-input': orange }"
-          />
+            :class="{ 'orange-input': orange }" />
         </el-form-item>
         </el-form-item>
 
 
         <!-- 循环渲染11个具体非生产时间 -->
         <!-- 循环渲染11个具体非生产时间 -->
@@ -959,8 +920,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
           v-for="field in NON_PROD_FIELDS"
           v-for="field in NON_PROD_FIELDS"
           :key="field.key"
           :key="field.key"
           :label="field.label + '(H)'"
           :label="field.label + '(H)'"
-          :prop="field.key"
-        >
+          :prop="field.key">
           <el-input-number
           <el-input-number
             class="!w-full"
             class="!w-full"
             :min="0"
             :min="0"
@@ -969,8 +929,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
             :controls="false"
             :controls="false"
             align="left"
             align="left"
             :disabled="isMainFieldDisabled"
             :disabled="isMainFieldDisabled"
-            :class="{ 'orange-input': orange }"
-          />
+            :class="{ 'orange-input': orange }" />
         </el-form-item>
         </el-form-item>
 
 
         <!-- 其他非生产原因 -->
         <!-- 其他非生产原因 -->
@@ -978,8 +937,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
           <el-input
           <el-input
             v-model="form.otherNptReason"
             v-model="form.otherNptReason"
             placeholder="请输入其他非生产原因"
             placeholder="请输入其他非生产原因"
-            :disabled="isMainFieldDisabled"
-          />
+            :disabled="isMainFieldDisabled" />
         </el-form-item>
         </el-form-item>
 
 
         <!-- 审批意见 -->
         <!-- 审批意见 -->
@@ -991,8 +949,7 @@ const inputCurrentDepth = useDebounceFn(function inputCurrentDepth() {
               maxlength="1000"
               maxlength="1000"
               type="textarea"
               type="textarea"
               :autosize="{ minRows: 3 }"
               :autosize="{ minRows: 3 }"
-              :disabled="formType === 'readonly'"
-            />
+              :disabled="formType === 'readonly'" />
           </el-form-item>
           </el-form-item>
         </div>
         </div>
       </div>
       </div>

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

@@ -337,7 +337,7 @@ const rules = reactive<FormRules>({
   reportDetails: [{ required: true, message: '请填写生产动态', type: 'array' }],
   reportDetails: [{ required: true, message: '请填写生产动态', type: 'array' }],
   constructionBrief: [
   constructionBrief: [
     {
     {
-      required: isApproval.value,
+      required: !isMainFieldDisabled.value,
       message: '请填写施工简报',
       message: '请填写施工简报',
       type: 'string',
       type: 'string',
       trigger: ['blur', 'change']
       trigger: ['blur', 'change']
@@ -471,8 +471,7 @@ const allocatedTimeDisabled = computed(() => {
     :model-value="visible"
     :model-value="visible"
     @update:model-value="emits('update:visible', $event)"
     @update:model-value="emits('update:visible', $event)"
     header-class="mb-0!"
     header-class="mb-0!"
-    size="100%"
-  >
+    size="100%">
     <template #header>
     <template #header>
       <span class="text-xl font-bold text-[var(--el-text-color-primary)]">
       <span class="text-xl font-bold text-[var(--el-text-color-primary)]">
         {{ type === 'edit' ? '编辑日报' : '审批日报' }}
         {{ type === 'edit' ? '编辑日报' : '审批日报' }}
@@ -487,13 +486,11 @@ const allocatedTimeDisabled = computed(() => {
       :model="form"
       :model="form"
       v-loading="loading"
       v-loading="loading"
       require-asterisk-position="right"
       require-asterisk-position="right"
-      :disabled="formType === 'readonly' && type !== 'approval'"
-    >
+      :disabled="formType === 'readonly' && type !== 'approval'">
       <!-- 顶部提示区 -->
       <!-- 顶部提示区 -->
       <div class="flex flex-col gap-3 text-sm mb-4">
       <div class="flex flex-col gap-3 text-sm mb-4">
         <div
         <div
-          class="rounded-md border border-blue-100 bg-blue-50/80 p-3 dark:border-blue-900/30 dark:bg-blue-900/10"
-        >
+          class="rounded-md border border-blue-100 bg-blue-50/80 p-3 dark:border-blue-900/30 dark:bg-blue-900/10">
           <div class="flex flex-col gap-2.5">
           <div class="flex flex-col gap-2.5">
             <div class="flex items-center justify-between">
             <div class="flex items-center justify-between">
               <div class="text-gray-600 dark:text-gray-400">
               <div class="text-gray-600 dark:text-gray-400">
@@ -501,8 +498,7 @@ const allocatedTimeDisabled = computed(() => {
                 生产时间/额定生产时间
                 生产时间/额定生产时间
               </div>
               </div>
               <span
               <span
-                class="inline-flex items-center rounded border border-red-200 bg-red-100 px-2 py-0.5 text-xs font-medium text-red-600 dark:bg-red-900/20 dark:border-red-800 dark:text-red-400"
-              >
+                class="inline-flex items-center rounded border border-red-200 bg-red-100 px-2 py-0.5 text-xs font-medium text-red-600 dark:bg-red-900/20 dark:border-red-800 dark:text-red-400">
                 >100% 红色预警
                 >100% 红色预警
               </span>
               </span>
             </div>
             </div>
@@ -512,8 +508,7 @@ const allocatedTimeDisabled = computed(() => {
                 生产 + 非生产 = 额定生产
                 生产 + 非生产 = 额定生产
               </div>
               </div>
               <span
               <span
-                class="inline-flex items-center rounded border border-orange-200 bg-orange-100 px-2 py-0.5 text-xs font-medium text-orange-600 dark:bg-orange-900/20 dark:border-orange-800 dark:text-orange-400"
-              >
+                class="inline-flex items-center rounded border border-orange-200 bg-orange-100 px-2 py-0.5 text-xs font-medium text-orange-600 dark:bg-orange-900/20 dark:border-orange-800 dark:text-orange-400">
                 ≠额定生产 橙色预警
                 ≠额定生产 橙色预警
               </span>
               </span>
             </div>
             </div>
@@ -523,8 +518,7 @@ const allocatedTimeDisabled = computed(() => {
                 当日油耗
                 当日油耗
               </div>
               </div>
               <span
               <span
-                class="inline-flex items-center rounded border border-blue-200 bg-blue-100 px-2 py-0.5 text-xs font-medium text-blue-600 dark:bg-blue-900/20 dark:border-blue-800 dark:text-blue-400"
-              >
+                class="inline-flex items-center rounded border border-blue-200 bg-blue-100 px-2 py-0.5 text-xs font-medium text-blue-600 dark:bg-blue-900/20 dark:border-blue-800 dark:text-blue-400">
                 >3500升 蓝色预警
                 >3500升 蓝色预警
               </span>
               </span>
             </div>
             </div>
@@ -532,12 +526,10 @@ const allocatedTimeDisabled = computed(() => {
         </div>
         </div>
         <div
         <div
           v-if="isEdit && form.opinion"
           v-if="isEdit && form.opinion"
-          class="flex gap-3 rounded-md border border-yellow-200 bg-yellow-50 p-3 dark:border-yellow-800 dark:bg-yellow-900/10"
-        >
+          class="flex gap-3 rounded-md border border-yellow-200 bg-yellow-50 p-3 dark:border-yellow-800 dark:bg-yellow-900/10">
           <Icon
           <Icon
             icon="ep:warning-filled"
             icon="ep:warning-filled"
-            class="mt-0.5 shrink-0 text-base text-yellow-600 dark:text-yellow-500"
-          />
+            class="mt-0.5 shrink-0 text-base text-yellow-600 dark:text-yellow-500" />
           <div class="flex flex-col">
           <div class="flex flex-col">
             <h4 class="mb-1 font-bold text-yellow-800 dark:text-yellow-500">审核意见</h4>
             <h4 class="mb-1 font-bold text-yellow-800 dark:text-yellow-500">审核意见</h4>
             <p class="leading-relaxed text-gray-600 dark:text-gray-400">{{ form.opinion }}</p>
             <p class="leading-relaxed text-gray-600 dark:text-gray-400">{{ form.opinion }}</p>
@@ -562,8 +554,7 @@ const allocatedTimeDisabled = computed(() => {
             v-model="form.taskId"
             v-model="form.taskId"
             placeholder="请选择任务井"
             placeholder="请选择任务井"
             :options="wellOptions"
             :options="wellOptions"
-            :disabled="form.auditStatus !== 20 && form.auditStatus !== 30"
-          />
+            :disabled="form.auditStatus !== 20 && form.auditStatus !== 30" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="施工区域" prop="location">
         <el-form-item label="施工区域" prop="location">
           <el-input v-model="form.location" disabled />
           <el-input v-model="form.location" disabled />
@@ -573,16 +564,14 @@ const allocatedTimeDisabled = computed(() => {
             v-model="form.repairStatus"
             v-model="form.repairStatus"
             placeholder="请选择"
             placeholder="请选择"
             clearable
             clearable
-            :disabled="isMainFieldDisabled"
-          >
+            :disabled="isMainFieldDisabled">
             <el-option
             <el-option
               v-for="(dict, index) in getStrDictOptions(
               v-for="(dict, index) in getStrDictOptions(
                 DICT_TYPE.PMS_PROJECT_TASK_RY_REPAIR_SCHEDULE
                 DICT_TYPE.PMS_PROJECT_TASK_RY_REPAIR_SCHEDULE
               )"
               )"
               :key="index"
               :key="index"
               :label="dict.label"
               :label="dict.label"
-              :value="dict.value"
-            />
+              :value="dict.value" />
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
         <el-form-item :label="t('project.technology')" prop="technique">
         <el-form-item :label="t('project.technology')" prop="technique">
@@ -591,8 +580,7 @@ const allocatedTimeDisabled = computed(() => {
               v-for="(dict, index) in getStrDictOptions(DICT_TYPE.PMS_PROJECT_RY_TECHNOLOGY)"
               v-for="(dict, index) in getStrDictOptions(DICT_TYPE.PMS_PROJECT_RY_TECHNOLOGY)"
               :key="index"
               :key="index"
               :label="dict.label"
               :label="dict.label"
-              :value="dict.value"
-            />
+              :value="dict.value" />
           </el-select>
           </el-select>
         </el-form-item>
         </el-form-item>
         <el-form-item label="井别" prop="wellCategory">
         <el-form-item label="井别" prop="wellCategory">
@@ -616,8 +604,7 @@ const allocatedTimeDisabled = computed(() => {
             placeholder="请输入当日油耗(升)"
             placeholder="请输入当日油耗(升)"
             :disabled="isMainFieldDisabled"
             :disabled="isMainFieldDisabled"
             :controls="false"
             :controls="false"
-            align="left"
-          />
+            align="left" />
         </el-form-item>
         </el-form-item>
         <el-form-item :label="t('project.currentOperation')" prop="currentOperation">
         <el-form-item :label="t('project.currentOperation')" prop="currentOperation">
           <el-input
           <el-input
@@ -626,8 +613,7 @@ const allocatedTimeDisabled = computed(() => {
             type="textarea"
             type="textarea"
             autosize
             autosize
             :maxlength="1000"
             :maxlength="1000"
-            :disabled="isMainFieldDisabled"
-          />
+            :disabled="isMainFieldDisabled" />
         </el-form-item>
         </el-form-item>
         <el-form-item :label="t('project.nextPlan')" prop="nextPlan">
         <el-form-item :label="t('project.nextPlan')" prop="nextPlan">
           <el-input
           <el-input
@@ -636,8 +622,7 @@ const allocatedTimeDisabled = computed(() => {
             type="textarea"
             type="textarea"
             autosize
             autosize
             :maxlength="1000"
             :maxlength="1000"
-            :disabled="isMainFieldDisabled"
-          />
+            :disabled="isMainFieldDisabled" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="运行时效" prop="transitTime">
         <el-form-item label="运行时效" prop="transitTime">
           <el-input
           <el-input
@@ -645,8 +630,7 @@ const allocatedTimeDisabled = computed(() => {
             placeholder="运行时效"
             placeholder="运行时效"
             disabled
             disabled
             :class="{ 'warning-input': transitTime.original >= 1.0 }"
             :class="{ 'warning-input': transitTime.original >= 1.0 }"
-            id="transitTimeInput"
-          />
+            id="transitTimeInput" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="全员数量" prop="totalStaffNum">
         <el-form-item label="全员数量" prop="totalStaffNum">
           <el-input-number
           <el-input-number
@@ -656,8 +640,7 @@ const allocatedTimeDisabled = computed(() => {
             :min="0"
             :min="0"
             v-model="form.totalStaffNum"
             v-model="form.totalStaffNum"
             placeholder="请输入全员数量"
             placeholder="请输入全员数量"
-            class="w-full!"
-          />
+            class="w-full!" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="在岗人数" prop="onDutyStaffNum">
         <el-form-item label="在岗人数" prop="onDutyStaffNum">
           <el-input-number
           <el-input-number
@@ -665,8 +648,7 @@ const allocatedTimeDisabled = computed(() => {
             v-model="onDutyStaffNum"
             v-model="onDutyStaffNum"
             placeholder=""
             placeholder=""
             disabled
             disabled
-            class="w-full!"
-          />
+            class="w-full!" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="休假人员数量" prop="leaveStaffNum">
         <el-form-item label="休假人员数量" prop="leaveStaffNum">
           <el-input-number
           <el-input-number
@@ -676,15 +658,13 @@ const allocatedTimeDisabled = computed(() => {
             :min="0"
             :min="0"
             v-model="form.leaveStaffNum"
             v-model="form.leaveStaffNum"
             placeholder="请输入休假人员数量"
             placeholder="请输入休假人员数量"
-            class="w-full!"
-          />
+            class="w-full!" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="白班跟班干部" prop="daySupervisors">
         <el-form-item label="白班跟班干部" prop="daySupervisors">
           <el-input
           <el-input
             v-model="form.daySupervisors"
             v-model="form.daySupervisors"
             placeholder="请输入白班跟班干部"
             placeholder="请输入白班跟班干部"
-            :disabled="isMainFieldDisabled"
-          />
+            :disabled="isMainFieldDisabled" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="备注" prop="remark">
         <el-form-item label="备注" prop="remark">
           <el-input
           <el-input
@@ -692,15 +672,13 @@ const allocatedTimeDisabled = computed(() => {
             type="textarea"
             type="textarea"
             autosize
             autosize
             maxlength="1000"
             maxlength="1000"
-            :disabled="isMainFieldDisabled"
-          />
+            :disabled="isMainFieldDisabled" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="夜班跟班干部" prop="nightSupervisors">
         <el-form-item label="夜班跟班干部" prop="nightSupervisors">
           <el-input
           <el-input
             v-model="form.nightSupervisors"
             v-model="form.nightSupervisors"
             placeholder="请输入夜班跟班干部"
             placeholder="请输入夜班跟班干部"
-            :disabled="isMainFieldDisabled"
-          />
+            :disabled="isMainFieldDisabled" />
         </el-form-item>
         </el-form-item>
 
 
         <div class="col-span-2">
         <div class="col-span-2">
@@ -714,8 +692,7 @@ const allocatedTimeDisabled = computed(() => {
               link
               link
               :icon="Plus"
               :icon="Plus"
               @click="addProductionStatusRow"
               @click="addProductionStatusRow"
-              :disabled="isMainFieldDisabled"
-            >
+              :disabled="isMainFieldDisabled">
               添加一行
               添加一行
             </el-button>
             </el-button>
           </div>
           </div>
@@ -732,16 +709,14 @@ const allocatedTimeDisabled = computed(() => {
                       message: '请选择日期',
                       message: '请选择日期',
                       trigger: ['change', 'blur'],
                       trigger: ['change', 'blur'],
                       type: 'number'
                       type: 'number'
-                    }"
-                  >
+                    }">
                     <el-date-picker
                     <el-date-picker
                       v-model="row.reportDate"
                       v-model="row.reportDate"
                       placeholder="选择日期"
                       placeholder="选择日期"
                       clearable
                       clearable
                       class="w-full!"
                       class="w-full!"
                       value-format="x"
                       value-format="x"
-                      :disabled="isMainFieldDisabled"
-                    />
+                      :disabled="isMainFieldDisabled" />
                   </el-form-item>
                   </el-form-item>
                 </template>
                 </template>
               </ZmTableColumn>
               </ZmTableColumn>
@@ -756,8 +731,7 @@ const allocatedTimeDisabled = computed(() => {
                       required: true,
                       required: true,
                       message: '请选择开始时间',
                       message: '请选择开始时间',
                       trigger: ['change', 'blur']
                       trigger: ['change', 'blur']
-                    }"
-                  >
+                    }">
                     <el-time-picker
                     <el-time-picker
                       v-model="row.startTime"
                       v-model="row.startTime"
                       placeholder="选择开始时间"
                       placeholder="选择开始时间"
@@ -766,8 +740,7 @@ const allocatedTimeDisabled = computed(() => {
                       value-format="HH:mm"
                       value-format="HH:mm"
                       class="w-full!"
                       class="w-full!"
                       @change="calculate(row)"
                       @change="calculate(row)"
-                      :disabled="isMainFieldDisabled"
-                    />
+                      :disabled="isMainFieldDisabled" />
                   </el-form-item>
                   </el-form-item>
                 </template>
                 </template>
               </ZmTableColumn>
               </ZmTableColumn>
@@ -781,8 +754,7 @@ const allocatedTimeDisabled = computed(() => {
                       required: true,
                       required: true,
                       message: '请选择结束时间',
                       message: '请选择结束时间',
                       trigger: ['change', 'blur']
                       trigger: ['change', 'blur']
-                    }"
-                  >
+                    }">
                     <el-time-picker
                     <el-time-picker
                       v-model="row.endTime"
                       v-model="row.endTime"
                       placeholder="选择结束时间"
                       placeholder="选择结束时间"
@@ -791,8 +763,7 @@ const allocatedTimeDisabled = computed(() => {
                       value-format="HH:mm"
                       value-format="HH:mm"
                       class="w-full!"
                       class="w-full!"
                       @change="calculate(row)"
                       @change="calculate(row)"
-                      :disabled="isMainFieldDisabled"
-                    />
+                      :disabled="isMainFieldDisabled" />
                   </el-form-item>
                   </el-form-item>
                 </template>
                 </template>
               </ZmTableColumn>
               </ZmTableColumn>
@@ -804,8 +775,7 @@ const allocatedTimeDisabled = computed(() => {
                     v-if="$index >= 0"
                     v-if="$index >= 0"
                     :prop="`reportDetails.${$index}.currentOperation`"
                     :prop="`reportDetails.${$index}.currentOperation`"
                     :rules="{ required: true, message: '请输入工况', trigger: ['change', 'blur'] }"
                     :rules="{ required: true, message: '请输入工况', trigger: ['change', 'blur'] }"
-                    class="mb-0!"
-                  >
+                    class="mb-0!">
                     <el-input
                     <el-input
                       v-model="row.currentOperation"
                       v-model="row.currentOperation"
                       type="textarea"
                       type="textarea"
@@ -814,8 +784,7 @@ const allocatedTimeDisabled = computed(() => {
                       show-word-limit
                       show-word-limit
                       :maxlength="1000"
                       :maxlength="1000"
                       placeholder="请输入工况"
                       placeholder="请输入工况"
-                      :disabled="isMainFieldDisabled"
-                    />
+                      :disabled="isMainFieldDisabled" />
                   </el-form-item>
                   </el-form-item>
                 </template>
                 </template>
               </ZmTableColumn>
               </ZmTableColumn>
@@ -826,8 +795,7 @@ const allocatedTimeDisabled = computed(() => {
                     v-if="$index >= 0"
                     v-if="$index >= 0"
                     :prop="`reportDetails.${$index}.constructionDetail`"
                     :prop="`reportDetails.${$index}.constructionDetail`"
                     :rules="{ required: true, message: '请输入详细描述', trigger: 'blur' }"
                     :rules="{ required: true, message: '请输入详细描述', trigger: 'blur' }"
-                    class="mb-0!"
-                  >
+                    class="mb-0!">
                     <el-input
                     <el-input
                       v-model="row.constructionDetail"
                       v-model="row.constructionDetail"
                       type="textarea"
                       type="textarea"
@@ -836,8 +804,7 @@ const allocatedTimeDisabled = computed(() => {
                       show-word-limit
                       show-word-limit
                       :maxlength="1000"
                       :maxlength="1000"
                       placeholder="请输入详细描述"
                       placeholder="请输入详细描述"
-                      :disabled="isMainFieldDisabled"
-                    />
+                      :disabled="isMainFieldDisabled" />
                   </el-form-item>
                   </el-form-item>
                 </template>
                 </template>
               </ZmTableColumn>
               </ZmTableColumn>
@@ -847,8 +814,7 @@ const allocatedTimeDisabled = computed(() => {
                   <el-form-item
                   <el-form-item
                     v-if="$index >= 0"
                     v-if="$index >= 0"
                     class="mb-0!"
                     class="mb-0!"
-                    :prop="`reportDetails.${$index}.allocatedTime`"
-                  >
+                    :prop="`reportDetails.${$index}.allocatedTime`">
                     <el-input-number
                     <el-input-number
                       v-model="row.allocatedTime"
                       v-model="row.allocatedTime"
                       :disabled="isMainFieldDisabled || allocatedTimeDisabled"
                       :disabled="isMainFieldDisabled || allocatedTimeDisabled"
@@ -858,8 +824,7 @@ const allocatedTimeDisabled = computed(() => {
                       placeholder="请输入定额时长"
                       placeholder="请输入定额时长"
                       class="!w-full"
                       class="!w-full"
                       :precision="2"
                       :precision="2"
-                      @input="computedAllocatedEfficiency(row)"
-                    />
+                      @input="computedAllocatedEfficiency(row)" />
                   </el-form-item>
                   </el-form-item>
                 </template>
                 </template>
               </ZmTableColumn>
               </ZmTableColumn>
@@ -872,8 +837,7 @@ const allocatedTimeDisabled = computed(() => {
                 :formatter="
                 :formatter="
                   (row) =>
                   (row) =>
                     row.allocatedEfficiency ? `${(row.allocatedEfficiency * 100).toFixed(2)}%` : ''
                     row.allocatedEfficiency ? `${(row.allocatedEfficiency * 100).toFixed(2)}%` : ''
-                "
-              />
+                " />
 
 
               <ZmTableColumn label="操作" width="80" fixed="right" align="center">
               <ZmTableColumn label="操作" width="80" fixed="right" align="center">
                 <template #default="{ $index }">
                 <template #default="{ $index }">
@@ -882,8 +846,7 @@ const allocatedTimeDisabled = computed(() => {
                     type="danger"
                     type="danger"
                     :icon="Delete"
                     :icon="Delete"
                     @click="removeProductionStatusRow($index)"
                     @click="removeProductionStatusRow($index)"
-                    :disabled="isMainFieldDisabled"
-                  >
+                    :disabled="isMainFieldDisabled">
                     删除
                     删除
                   </el-button>
                   </el-button>
                 </template>
                 </template>
@@ -901,8 +864,7 @@ const allocatedTimeDisabled = computed(() => {
             resize="none"
             resize="none"
             :maxlength="1000"
             :maxlength="1000"
             placeholder="请输入当日施工简报"
             placeholder="请输入当日施工简报"
-            :disabled="!isApproval"
-          />
+            :disabled="isMainFieldDisabled" />
         </el-form-item>
         </el-form-item>
 
 
         <!-- 时间信息 -->
         <!-- 时间信息 -->
@@ -922,8 +884,7 @@ const allocatedTimeDisabled = computed(() => {
             align="left"
             align="left"
             placeholder="请输入额定生产时间(H)"
             placeholder="请输入额定生产时间(H)"
             :disabled="isMainFieldDisabled"
             :disabled="isMainFieldDisabled"
-            :class="{ 'orange-input': orange }"
-          />
+            :class="{ 'orange-input': orange }" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="生产时间(H)" prop="productionTime">
         <el-form-item label="生产时间(H)" prop="productionTime">
           <el-input-number
           <el-input-number
@@ -934,8 +895,7 @@ const allocatedTimeDisabled = computed(() => {
             align="left"
             align="left"
             placeholder="请输入生产时间(H)"
             placeholder="请输入生产时间(H)"
             :disabled="isMainFieldDisabled"
             :disabled="isMainFieldDisabled"
-            :class="{ 'orange-input': orange }"
-          />
+            :class="{ 'orange-input': orange }" />
         </el-form-item>
         </el-form-item>
 
 
         <!-- 循环渲染11个具体非生产时间 -->
         <!-- 循环渲染11个具体非生产时间 -->
@@ -943,8 +903,7 @@ const allocatedTimeDisabled = computed(() => {
           v-for="field in NON_PROD_FIELDS"
           v-for="field in NON_PROD_FIELDS"
           :key="field.key"
           :key="field.key"
           :label="field.label + '(H)'"
           :label="field.label + '(H)'"
-          :prop="field.key"
-        >
+          :prop="field.key">
           <el-input-number
           <el-input-number
             class="!w-full"
             class="!w-full"
             :min="0"
             :min="0"
@@ -952,8 +911,7 @@ const allocatedTimeDisabled = computed(() => {
             :controls="false"
             :controls="false"
             align="left"
             align="left"
             :disabled="isMainFieldDisabled"
             :disabled="isMainFieldDisabled"
-            :class="{ 'orange-input': orange }"
-          />
+            :class="{ 'orange-input': orange }" />
         </el-form-item>
         </el-form-item>
 
 
         <!-- 其他非生产原因 -->
         <!-- 其他非生产原因 -->
@@ -961,8 +919,7 @@ const allocatedTimeDisabled = computed(() => {
           <el-input
           <el-input
             v-model="form.otherNptReason"
             v-model="form.otherNptReason"
             placeholder="请输入其他非生产原因"
             placeholder="请输入其他非生产原因"
-            :disabled="isMainFieldDisabled"
-          />
+            :disabled="isMainFieldDisabled" />
         </el-form-item>
         </el-form-item>
 
 
         <!-- 审批意见 -->
         <!-- 审批意见 -->
@@ -974,8 +931,7 @@ const allocatedTimeDisabled = computed(() => {
               maxlength="1000"
               maxlength="1000"
               type="textarea"
               type="textarea"
               :autosize="{ minRows: 3 }"
               :autosize="{ minRows: 3 }"
-              :disabled="formType === 'readonly'"
-            />
+              :disabled="formType === 'readonly'" />
           </el-form-item>
           </el-form-item>
         </div>
         </div>
       </div>
       </div>