Browse Source

Merge branch 'lin_yb' of ssh://gogs.zfire.top:2222/zfire-front/zfire-newmall-admin into develop

linwenxin 1 year ago
parent
commit
edde0dc6ae
1 changed files with 264 additions and 3 deletions
  1. 264 3
      src/views/workOrder/workOrderPool/detailModule/Payment/index.vue

+ 264 - 3
src/views/workOrder/workOrderPool/detailModule/Payment/index.vue

@@ -4,7 +4,8 @@
       <template v-if="payData.length">
         <zj-form-container :formAttributes="{ 'label-position': 'top' }">
           <template v-for="(item, index) in payData">
-            <zj-form-module :title="'支付费用' + (index + 1)" :form-data="payData[index]" :form-items="formItems">
+            <zj-form-module :title="'支付费用' + (index + 1)" :form-data="payData[index]"
+              :form-items="[formItemsL1, formItems][workOrderType]">
               <div v-if="item.examineStatus === 'FAIL'" style="text-align:right">
                 <el-button size="mini" type="danger" plain @click="enginMaterialCancelFun(item)">取消申请</el-button>
               </div>
@@ -21,7 +22,6 @@
 import { listPageV2 } from "@/api/workOrder/appraise";
 import { tableDataParsing } from "@/utils/common.js"
 import { changeOrderGetOrderList, enginMaterialDetailWorker, enginMaterialCancel } from "@/api/workOrderPool.js";
-
 export default {
   props: {
     id: {
@@ -48,7 +48,7 @@ export default {
     },
   },
   computed: {
-    formItems() {
+    formItemsL1() {
       return [{
         md: 24,
         name: 'slot-component',
@@ -234,6 +234,267 @@ export default {
           )
         }
       }]
+    },
+    formItems() {
+      return [{
+        md: 24,
+        name: 'slot-component',
+        formItemAttributes: {
+          label: '基本信息',
+        },
+        render: (h, { props, onInput }) => {
+          var { formData } = props
+          return (
+            <el-descriptions border title="" column={2} colon={false} labelStyle={{ width: '13%' }} contentStyle={{ width: '37%' }}>
+              <el-descriptions-item label="所属商户">
+                {formData.companyWechatName}
+              </el-descriptions-item>
+              <el-descriptions-item label="申请单号">
+                {formData.orderId}
+              </el-descriptions-item>
+              <el-descriptions-item label="项目名称">
+                {formData.rpProjectRepairName}
+              </el-descriptions-item>
+              <el-descriptions-item label="工单单号">
+                {formData.workerOrderId}
+              </el-descriptions-item>
+              <el-descriptions-item label="负责人">
+                {formData.userName}
+              </el-descriptions-item>
+              <el-descriptions-item label="联系电话">
+                {formData.userMobile}
+              </el-descriptions-item>
+              <el-descriptions-item label="项目地址">
+                {formData.pgOrderBase.address}
+              </el-descriptions-item>
+              <el-descriptions-item label="创单人">
+                {formData.pgOrderBase.createBy}
+              </el-descriptions-item>
+              <el-descriptions-item label="创单人电话">
+                {formData.pgOrderBase.createMobile}
+              </el-descriptions-item>
+              <el-descriptions-item label="创单时间">
+                {formData.pgOrderBase.createTime}
+              </el-descriptions-item>
+              <el-descriptions-item label="工单类型">
+                {formData.orderSmallTypeText}
+              </el-descriptions-item>
+              <el-descriptions-item label="网点名称">
+                {formData.websitName}
+              </el-descriptions-item>
+              <el-descriptions-item label="申请人">
+                {formData.workerName}
+              </el-descriptions-item>
+              <el-descriptions-item label="联系电话">
+                {formData.workerMobile}
+              </el-descriptions-item>
+              <el-descriptions-item label="申请时间">
+                {formData.createTime}
+              </el-descriptions-item>
+              <el-descriptions-item label="包含全部费用">
+                {({ YES: "是", NO: "否" })[formData.isAllFee]}
+              </el-descriptions-item>
+
+              {formData.isAllFee == "NO" || formData.payType == "WECHAT" || formData.payType == "LINE" ? <el-descriptions-item label="费用支付方式">
+                {({ EXAMINE: "审批后结算", SITE: "现场支付" })[formData.feePayMethod]}
+              </el-descriptions-item> : null}
+
+              {(formData.isAllFee == "NO" || formData.payType == "WECHAT") && formData.feePayMethod == "EXAMINE" ? [
+                <el-descriptions-item label="费用单状态">
+                  {({ WAIT: "待审", OK: "通过", FAIL: "驳回", PAID: "现场支付", NO: "取消", NO_PAID: "未支付" })[formData.examineStatus]}
+                </el-descriptions-item>,
+                <el-descriptions-item label="审批人">
+                  {formData.examineName}
+                </el-descriptions-item>,
+                <el-descriptions-item label="审批时间">
+                  {formData.examineTime}
+                </el-descriptions-item>,
+                <el-descriptions-item label="取消人">
+                  {formData.cancelName}
+                </el-descriptions-item>,
+                <el-descriptions-item label="取消时间">
+                  {formData.cancelTime}
+                </el-descriptions-item>
+              ] : null}
+
+              {formData.payType == "LINE" && formData.feePayMethod == "EXAMINE" ? [
+                <el-descriptions-item label="结算状态">
+                  {({ WAIT: "待结算", OVER: "已结算" })[formData.status]}
+                </el-descriptions-item>,
+                <el-descriptions-item label="结算人">
+                  {formData.settleName}
+                </el-descriptions-item>,
+                <el-descriptions-item label="结算时间">
+                  {formData.settleTime}
+                </el-descriptions-item>
+              ] : null}
+            </el-descriptions>
+          )
+        }
+      }, {
+        md: 24,
+        name: 'slot-component',
+        formItemAttributes: {
+          label: '费用明细',
+        },
+        render: (h, { props, onInput }) => {
+          var { formData } = props
+          return (
+            <zj-table
+              columns={[{
+                columnAttributes: {
+                  label: '费用名称',
+                  prop: 'goodsName',
+                }
+              }, {
+                columnAttributes: {
+                  label: '费用类型',
+                  prop: 'chargeType',
+                },
+                render: (h, { row, column, index }) => {
+                  return (
+                    <div style="padding-left:10px">
+                      {({ MCC: "辅材物料", ACC: "配件物料", SERV: "服务收费" })[row.chargeType]}
+                    </div>
+                  )
+                }
+              }, {
+                columnAttributes: {
+                  label: '单价',
+                  prop: 'goodsAmount',
+                }
+              }, {
+                columnAttributes: {
+                  label: '数量',
+                  prop: 'num',
+                }
+              }, {
+                columnAttributes: {
+                  label: '费用金额',
+                  prop: 'totalAmount',
+                }
+              },
+              ]}
+              table-data={formData.rpMaterialOrderItems}
+            />
+          )
+        }
+      },
+      {
+        md: 8,
+        isShow: this?.payData?.length && this?.payData[0]?.goodsType == "M",
+        name: 'slot-component',
+        formItemAttributes: {
+          label: '辅材费用合计',
+        },
+        render: (h, { props, onInput }) => {
+          var { formData } = props
+          return <span>{[0, 0, 0, ...formData.rpMaterialOrderItems.filter(item => item.chargeType == "MCC").map(item => item.totalAmount)].reduce(function (prev, curr, idx, arr) {
+            return prev + curr;
+          }).toFixed(2)}</span>
+        }
+      },
+      {
+        md: 8,
+        isShow: this?.payData?.length && this?.payData[0]?.goodsType == "P",
+        name: 'slot-component',
+        formItemAttributes: {
+          label: '配件费用合计',
+        },
+        render: (h, { props, onInput }) => {
+          var { formData } = props
+          return <span>{[0, 0, 0, ...formData.rpMaterialOrderItems.filter(item => item.chargeType == "ACC").map(item => item.totalAmount)].reduce(function (prev, curr, idx, arr) {
+            return prev + curr;
+          }).toFixed(2)}</span>
+        }
+      },
+      {
+        md: 8,
+        name: 'slot-component',
+        formItemAttributes: {
+          label: '服务收费费用合计',
+        },
+        render: (h, { props, onInput }) => {
+          var { formData } = props
+          return <span>{[0, 0, 0, ...formData.rpMaterialOrderItems.filter(item => item.chargeType == "SERV").map(item => item.totalAmount)].reduce(function (prev, curr, idx, arr) {
+            return prev + curr;
+          }).toFixed(2)}</span>
+        }
+      },
+      {
+        md: 8,
+        name: 'slot-component',
+        formItemAttributes: {
+          label: '总金额',
+        },
+        render: (h, { props, onInput }) => {
+          var { formData } = props
+          return <span>{[0, 0, 0, ...formData.rpMaterialOrderItems.map(item => item.totalAmount)].reduce(function (prev, curr, idx, arr) {
+            return prev + curr;
+          }).toFixed(2)}</span>
+        }
+      }, {
+        name: 'el-input',
+        md: 24,
+        attributes: { disabled: true, type: "textarea", placeholder: '' },
+        formItemAttributes: { label: '申请备注', prop: 'remark' },
+      },
+      {
+        md: 24,
+        name: 'slot-component',
+        formItemAttributes: {
+          label: '交易记录',
+        },
+        render: (h, { props, onInput }) => {
+          var { formData } = props
+          return (
+            <zj-table
+              columns={[{
+                columnAttributes: {
+                  label: 'id',
+                  prop: 'orderId',
+                }
+              }, {
+                columnAttributes: {
+                  label: '交易类型',
+                  prop: 'goodsType',
+                },
+                render: (h, { row }) => {
+                  return <div>
+                    {({ M: "辅材", P: "配件" })[row.goodsType]}
+                  </div>
+                }
+              }, {
+                columnAttributes: {
+                  label: '交易金额',
+                  prop: 'totalAmount',
+                }
+              }, {
+                columnAttributes: {
+                  label: '交易状态',
+                  prop: 'payStatus',
+                },
+                render: (h, { row }) => {
+                  return <div>
+                    {({ CANCEL: "取消", WAIT: "待支付", PAID: "已支付" })[row.payStatus]}
+                  </div>
+                }
+              }, {
+                columnAttributes: {
+                  label: '交易时间',
+                  prop: 'payTime',
+                }
+              }, {
+                columnAttributes: {
+                  label: '创建时间',
+                  prop: 'createTime',
+                }
+              }]}
+              table-data={[formData]}
+            />
+          )
+        }
+      }]
     }
   },
   methods: {