Эх сурвалжийг харах

✨ feat(日报): 添加审批状态

Zimo 3 өдөр өмнө
parent
commit
fda0886f84

+ 22 - 4
src/components/DailyTableColumn/index.vue

@@ -3,16 +3,20 @@
     <el-table-column v-if="col.children" :label="col.label" align="center">
       <template v-for="(child, childIndex) in col.children" :key="childIndex">
         <el-table-column v-if="child.isTag" v-bind="child" align="center" resizable>
-          <template #default="scope">
-            <dict-tag :type="child.dictType!" :value="scope.row[child.prop!]" />
+          <template #default="{ row }">
+            <dict-tag v-if="child.dictType" :type="child.dictType!" :value="row[child.prop!]" />
+            <el-tag :type="tagType(row[child.prop!])" v-else>{{
+              child.formatter?.(row) || ''
+            }}</el-tag>
           </template>
         </el-table-column>
         <el-table-column v-else v-bind="child" align="center" resizable />
       </template>
     </el-table-column>
     <el-table-column v-else-if="col.isTag" v-bind="col" align="center" resizable>
-      <template #default="scope">
-        <dict-tag :type="col.dictType!" :value="scope.row[col.prop!]" />
+      <template #default="{ row }">
+        <dict-tag v-if="col.dictType" :type="col.dictType!" :value="row[col.prop!]" />
+        <el-tag :type="tagType(row[col.prop!])" v-else>{{ col.formatter?.(row) || '' }}</el-tag>
       </template>
     </el-table-column>
     <el-table-column v-else v-bind="col" align="center" resizable />
@@ -30,6 +34,7 @@ interface ColumnProps {
   children?: ColumnProps[]
   isTag?: boolean
   dictType?: string
+  formatter?: (row: any) => any
   [key: string]: any
 }
 
@@ -38,4 +43,17 @@ const props = defineProps<{
 }>()
 
 const { columns } = toRefs(props)
+
+const tagType = (status: number) => {
+  switch (status) {
+    case 0:
+      return 'info'
+    case 10:
+      return 'primary'
+    case 20:
+      return 'success'
+    case 30:
+      return 'danger'
+  }
+}
 </script>

+ 21 - 1
src/views/pms/iotrhdailyreport/approval.vue

@@ -81,6 +81,26 @@ const columns = ref<Column[]>([
     'min-width': '120px',
     isTag: true,
     dictType: DICT_TYPE.PMS_PROJECT_TASK_SCHEDULE
+  },
+  {
+    label: '审批状态',
+    prop: 'auditStatus',
+    'min-width': '120px',
+    isTag: true,
+    formatter: (row: List) => {
+      switch (row.auditStatus) {
+        case 0:
+          return '待提交'
+        case 10:
+          return '待审批'
+        case 20:
+          return '审批通过'
+        case 30:
+          return '审批拒绝'
+        default:
+          return ''
+      }
+    }
   }
   // {
   //   label: '搬迁安装天数',
@@ -229,7 +249,7 @@ const calculateColumnWidths = (colums: Column[]) => {
                 return getTextWidth(formatter ? formatter(v) : v[prop!])
               })
             ]
-          ) + (isTag ? 30 : 20),
+          ) + (isTag ? 40 : 20),
           200
         ]
       ) + 'px'

+ 21 - 1
src/views/pms/iotrhdailyreport/fill.vue

@@ -82,6 +82,26 @@ const columns = ref<Column[]>([
     isTag: true,
     dictType: DICT_TYPE.PMS_PROJECT_TASK_SCHEDULE
   },
+  {
+    label: '审批状态',
+    prop: 'auditStatus',
+    'min-width': '120px',
+    isTag: true,
+    formatter: (row: List) => {
+      switch (row.auditStatus) {
+        case 0:
+          return '待提交'
+        case 10:
+          return '待审批'
+        case 20:
+          return '审批通过'
+        case 30:
+          return '审批拒绝'
+        default:
+          return ''
+      }
+    }
+  },
   {
     label: '搬迁安装天数',
     prop: 'relocationDays',
@@ -229,7 +249,7 @@ const calculateColumnWidths = (colums: Column[]) => {
                 return getTextWidth(formatter ? formatter(v) : v[prop!])
               })
             ]
-          ) + (isTag ? 30 : 20),
+          ) + (isTag ? 40 : 20),
           200
         ]
       ) + 'px'

+ 21 - 1
src/views/pms/iotrydailyreport/approval.vue

@@ -111,6 +111,26 @@ const columns = ref<Column[]>([
     'min-width': '120px',
     isTag: true,
     dictType: DICT_TYPE.PMS_PROJECT_TASK_SCHEDULE
+  },
+  {
+    label: '审批状态',
+    prop: 'auditStatus',
+    'min-width': '120px',
+    isTag: true,
+    formatter: (row: List) => {
+      switch (row.auditStatus) {
+        case 0:
+          return '待提交'
+        case 10:
+          return '待审批'
+        case 20:
+          return '审批通过'
+        case 30:
+          return '审批拒绝'
+        default:
+          return ''
+      }
+    }
   }
   // {
   //   label: '搬迁安装天数',
@@ -259,7 +279,7 @@ const calculateColumnWidths = (colums: Column[]) => {
                 return getTextWidth(formatter ? formatter(v) : v[prop!])
               })
             ]
-          ) + (isTag ? 30 : 20),
+          ) + (isTag ? 40 : 20),
           200
         ]
       ) + 'px'

+ 21 - 1
src/views/pms/iotrydailyreport/fill.vue

@@ -117,6 +117,26 @@ const columns = ref<Column[]>([
     isTag: true,
     dictType: DICT_TYPE.PMS_PROJECT_TASK_RY_SCHEDULE
   },
+  {
+    label: '审批状态',
+    prop: 'auditStatus',
+    'min-width': '120px',
+    isTag: true,
+    formatter: (row: List) => {
+      switch (row.auditStatus) {
+        case 0:
+          return '待提交'
+        case 10:
+          return '待审批'
+        case 20:
+          return '审批通过'
+        case 30:
+          return '审批拒绝'
+        default:
+          return ''
+      }
+    }
+  },
   {
     label: '上井次完井时间',
     prop: 'latestWellDoneTime',
@@ -328,7 +348,7 @@ const calculateColumnWidths = (colums: Column[]) => {
                 return getTextWidth(formatter ? formatter(v) : v[prop!])
               })
             ]
-          ) + (isTag ? 30 : 20),
+          ) + (isTag ? 40 : 20),
           200
         ]
       ) + 'px'

+ 21 - 1
src/views/pms/iotrydailyreport/xapproval.vue

@@ -86,6 +86,26 @@ const columns = ref<Column[]>([
     'min-width': '120px',
     isTag: true,
     dictType: DICT_TYPE.PMS_PROJECT_TASK_RY_REPAIR_SCHEDULE
+  },
+  {
+    label: '审批状态',
+    prop: 'auditStatus',
+    'min-width': '120px',
+    isTag: true,
+    formatter: (row: List) => {
+      switch (row.auditStatus) {
+        case 0:
+          return '待提交'
+        case 10:
+          return '待审批'
+        case 20:
+          return '审批通过'
+        case 30:
+          return '审批拒绝'
+        default:
+          return ''
+      }
+    }
   }
   // {
   //   label: '总施工井数',
@@ -247,7 +267,7 @@ const calculateColumnWidths = (colums: Column[]) => {
                 return getTextWidth(formatter ? formatter(v) : v[prop!])
               })
             ]
-          ) + (isTag ? 30 : 20),
+          ) + (isTag ? 40 : 20),
           200
         ]
       ) + 'px'

+ 21 - 1
src/views/pms/iotrydailyreport/xfill.vue

@@ -87,6 +87,26 @@ const columns = ref<Column[]>([
     isTag: true,
     dictType: DICT_TYPE.PMS_PROJECT_TASK_RY_REPAIR_SCHEDULE
   },
+  {
+    label: '审批状态',
+    prop: 'auditStatus',
+    'min-width': '120px',
+    isTag: true,
+    formatter: (row: List) => {
+      switch (row.auditStatus) {
+        case 0:
+          return '待提交'
+        case 10:
+          return '待审批'
+        case 20:
+          return '审批通过'
+        case 30:
+          return '审批拒绝'
+        default:
+          return ''
+      }
+    }
+  },
   {
     label: '总施工井数',
     prop: 'totalConstructionWells',
@@ -247,7 +267,7 @@ const calculateColumnWidths = (colums: Column[]) => {
                 return getTextWidth(formatter ? formatter(v) : v[prop!])
               })
             ]
-          ) + (isTag ? 30 : 20),
+          ) + (isTag ? 40 : 20),
           200
         ]
       ) + 'px'