Ver Fonte

费用调整

xy há 1 semana atrás
pai
commit
676b9ebb81

+ 8 - 2
yudao-ui-admin-vue3/src/views/pressure2/boilertaskorder/components/TaskOrderDetailDialog.vue

@@ -106,9 +106,15 @@
           <el-descriptions-item label="收费形式">
             {{ PressureFeeTypeMap[taskOrderDetail.feeType] || '-' }}
           </el-descriptions-item>
-          <el-descriptions-item label="收费金额">
+          <el-descriptions-item label="金额">
             {{ taskOrderDetail.payAmount || 0 }}
           </el-descriptions-item>
+          <el-descriptions-item label="减免比例">
+            {{ taskOrderDetail.reductionRadio ? Big(taskOrderDetail.reductionRadio).times(100).toString() : 0}}%
+          </el-descriptions-item>
+          <el-descriptions-item label="实际费用">
+            {{ taskOrderDetail.actualAmount || 0 }}
+          </el-descriptions-item>
           <el-descriptions-item label="应收法定金额">
            {{ taskOrderDetail.shouldAmount || 0 }}
           </el-descriptions-item>
@@ -1027,7 +1033,7 @@ import {TaskOrderApi} from "@/api/pressure/taskorder";
 import OrderDialog from "@/views/pressure2/boilertaskorder/components/OrderDialog.vue";
 import {checkRole} from "@/utils/permission";
 import {getStrDictOptions} from "@/utils/dict";
-
+import Big from 'big.js';
 
 const userStore = useUserStore()
 const userInfo = computed(() => userStore.user)

+ 68 - 2
yudao-ui-admin-vue3/src/views/pressure2/financialFees/detail.vue

@@ -65,6 +65,7 @@ import { FormExpose } from '@/components/Form'
 import { usePlanNewStore } from '@/store/modules/planNew'
 import { useDictStore } from '@/store/modules/dict'
 import {DICT_TYPE, getStrDictOptions} from "@/utils/dict";
+import {PressureTaskOrderTaskStatus, PressureTaskOrderTaskStatusMap} from "@/utils/constants";
 
 const { loadDone, loadStart } = usePageLoading()
 const router = useRouter()
@@ -81,6 +82,37 @@ const formRef = ref<FormExpose>()
 interface FormSchemaNew extends FormSchema {
   getContent: (item: FormSchemaNew, unitInfo: TaskOrderContractUnitPageVO) => string
 }
+// 任务单状态映射
+const taskStatusMap = ref<OptItem[]>([
+  {
+    label: '待认领',
+    value: PressureTaskOrderTaskStatus.WAIT_CONFIRM
+  },
+  {
+    label: '已作废',
+    value: PressureTaskOrderTaskStatus.CANCELLED
+  },
+  {
+    label: '审核中(修改任务单)',
+    value: PressureTaskOrderTaskStatus.AUDITING_EDIT
+  },
+  {
+    label: '审核中(作废任务单)',
+    value: PressureTaskOrderTaskStatus.AUDITING_CANCEL
+  },
+  {
+    label: '审核中(修改时间)',
+    value: PressureTaskOrderTaskStatus.AUDITING_TIME
+  },
+  {
+    label: '待录入',
+    value: PressureTaskOrderTaskStatus.CONFIRMED
+  },
+  {
+    label: '报告办结',
+    value: PressureTaskOrderTaskStatus.REPORT_END
+  }
+])
 const schema = ref<FormSchemaNew[]>([
   {
     label: '使用单位',
@@ -234,6 +266,32 @@ const columns = ref<SmartTableColumn[]>([
       )
     }
   },
+  {
+    label: '任务单状态',
+    prop: 'taskStatus',
+    search: {
+      type: 'select',
+      sort: 2,
+      fieldProps: {
+        placeholder: '请选择任务单状态',
+        clearable: true,
+        multiple: true,
+        collapseTags: true,
+        collapseTagsTooltip:true,
+        maxCollapseTags: "1"
+      },
+      prop: 'taskStatusList',
+      options: taskStatusMap.value
+    },
+    fieldProps: {
+      align: 'center',
+      minWidth: 150,
+      showOverflowTooltip: true
+    },
+    render: (row, value) => {
+      return PressureTaskOrderTaskStatusMap[value] || '-'
+    }
+  },
   {
     label: '结算状态',
     prop: 'paymentStatus',
@@ -361,8 +419,16 @@ const columns = ref<SmartTableColumn[]>([
       showOverflowTooltip: true
     },
     render: (row, value) => {
-      // return `${value || 0}(${row.checkType === 100 ? '法定' : '服务'})`
-      return value || 0
+      const amount = value || 0
+      if (!row.shouldAmount && !row.serviceAmount) {
+        return `${amount}`
+      }
+      
+      const labels = []
+      if (row.shouldAmount) labels.push('法定')
+      if (row.serviceAmount) labels.push('服务')
+      
+      return `${amount}(${labels.join('/')})`
     }
   },
   {

+ 6 - 1
yudao-ui-admin-vue3/src/views/pressure2/orderConfirm/boilerDetail.vue

@@ -712,6 +712,7 @@ const formData = ref<Record<string,any>>({
     name: '',
     id: ''
   },
+  useUnitId: '',
   useUnitSocialCreditCode: '',
   useUnitAddress: '',
   useUnitZipcode: '',
@@ -858,8 +859,9 @@ const getDetail = async () => {
       },
       useUnitName: {
         name: orderDetail.value?.useUnitName || '',
-        id: ''
+        id: orderDetail.value?.useUnitId || ''
       },
+      useUnitId: orderDetail.value?.useUnitId || '',
       deptName: orderDetail.value?.deptName || '',
       equipDistrict: orderDetail.value?.equipDistrict ? Number(orderDetail.value.equipDistrict) : undefined,
       equipDistrictName: orderDetail.value?.equipDistrictName || '',
@@ -1355,6 +1357,7 @@ const submitAcceptance = async () => {
       shouldAmount: formData.value.shouldAmount,
       reduceFee: formData.value.reduceFee,
       useUnitName: formData.value?.useUnitName?.name,
+      useUnitId: formData.value?.useUnitName?.id,
       teamList: selectedCheckers.value.reduce((acc, checker) => {
         const existingTeam = acc.find(team => team.groupTeamId === checker.groupTeamId)
         if (existingTeam) {
@@ -1438,6 +1441,7 @@ const saveAcceptance = async () => {
       unitName: orderDetail.value?.unitName?.name,
       warningDay: orderDetail.value?.warningDay,
       useUnitName: formData.value?.useUnitName?.name,
+      useUnitId: formData.value?.useUnitName?.id,
       teamList: formData.value.teamList.reduce((acc: any[], item: any) => {
         const existingGroup = acc.find(
           group => group.groupTeamId === item.groupTeamId
@@ -1513,6 +1517,7 @@ const handleChangeUnit = async (unitInfo:any) => {
   formData.value.socialCreditCode = unitInfo.socialCreditCode;
   formData.value.unitAddress = unitInfo.addr
   formData.value.zipCode = unitInfo.post
+  formData.value.useUnitId = unitInfo.id
   if(orderDetail.value?.checkType != 200){
     formData.value.feeNature = unitInfo.isExempt === '1' ? `${PressureFeeNature.SMZFC}` : `${PressureFeeNature.BSMZFC}`
   }

+ 6 - 1
yudao-ui-admin-vue3/src/views/pressure2/orderConfirm/pipeDetail.vue

@@ -765,6 +765,7 @@ const formData = ref<Record<string,any>>({
     name: '',
     id: ''
   },
+  useUnitId: '',
   useUnitSocialCreditCode: '',
   useUnitAddress: '',
   useUnitZipcode: '',
@@ -918,8 +919,9 @@ const getDetail = async () => {
       },
       useUnitName: {
         name: orderDetail.value?.useUnitName || '',
-        id: ''
+        id: orderDetail.value?.useUnitId || ''
       },
+      useUnitId: orderDetail.value?.useUnitId || '',
       deptName: orderDetail.value?.deptName || '',
       equipDistrict: orderDetail.value?.equipDistrict ? Number(orderDetail.value.equipDistrict) : undefined,
       equipDistrictName: orderDetail.value?.equipDistrictName || '',
@@ -1620,6 +1622,7 @@ const submitAcceptance = async () => {
       shouldAmount: formData.value.shouldAmount,
       reduceFee: formData.value.reduceFee,
       useUnitName: formData.value?.useUnitName?.name,
+      useUnitId: formData.value?.useUnitName?.id,
       teamList: selectedCheckers.value.reduce((acc: any[], item: any) => {
         const existingGroup = acc.find(
           group => group.groupTeamId === item.groupTeamId
@@ -1704,6 +1707,7 @@ const saveAcceptance = async () => {
       unitName: orderDetail.value?.unitName?.name,
       warningDay: orderDetail.value?.warningDay,
       useUnitName: formData.value?.useUnitName?.name,
+      useUnitId: formData.value?.useUnitName?.id,
       teamList: formData.value.teamList.reduce((acc: any[], item: any) => {
         const existingGroup = acc.find(
           group => group.groupTeamId === item.groupTeamId
@@ -1802,6 +1806,7 @@ const handleChangeUseUnit = async (unitInfo:any) => {
   formData.value.useUnitSocialCreditCode = unitInfo.socialCreditCode;
   formData.value.useUnitAddress = unitInfo.addr
   formData.value.useUnitZipcode = unitInfo.post
+  formData.value.useUnitId = unitInfo.id
   // 获取单位默认联系人
   const {list: unitDefaultContact} = await getUnitContacts({
     pageNo: 1,

+ 10 - 7
yudao-ui-admin-vue3/src/views/pressure2/pipetaskorder/components/TaskOrderDetailDialog.vue

@@ -106,12 +106,15 @@
           <el-descriptions-item label="收费形式">
             {{ PressureFeeTypeMap[taskOrderDetail.feeType] || '-' }}
           </el-descriptions-item>
-          <!-- <el-descriptions-item label="收费金额">
-            {{ taskOrderDetail.payAmount || '-'  }}
-          </el-descriptions-item> -->
-          <el-descriptions-item label="收费金额">
-            {{ taskOrderDetail.payAmount || '-'  }}
-          </el-descriptions-item> 
+          <el-descriptions-item label="总金额">
+            {{ taskOrderDetail.payAmount || 0 }}
+          </el-descriptions-item>
+          <el-descriptions-item label="减免比例">
+            {{ taskOrderDetail.reductionRadio ? Big(taskOrderDetail.reductionRadio).times(100).toString() : 0}}%
+          </el-descriptions-item>
+          <el-descriptions-item label="实际费用">
+            {{ taskOrderDetail.actualAmount || 0 }}
+          </el-descriptions-item>
           <el-descriptions-item label="应收法定金额">
            {{ taskOrderDetail.shouldAmount || 0 }}
           </el-descriptions-item>
@@ -1056,7 +1059,7 @@ import calcCheckItemFee from './calcCheckItemFee.vue'
 import {InspectionNatureTypeApi} from "../../../../api/pressure2/inspectionnaturetype";
 import {checkRole} from "@/utils/permission";
 import {BoilerTaskOrderApi} from "@/api/pressure2/boilertaskorder";
-
+import Big from 'big.js';
 
 const userStore = useUserStore()
 const userInfo = computed(() => userStore.user)