Browse Source

修改工单状态颜色

linwenxin 1 year ago
parent
commit
cf91a97f00

+ 71 - 0
src/mixin/orderListColumn.js

@@ -0,0 +1,71 @@
+
+import ywgdjs from "@/assets/ywgdjs.png"
+import yjs from "@/assets/yjs.png"
+
+export default {
+  data() {
+    return {
+
+    }
+  },
+  methods: {
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      if (item.jname === 'orderFlags') {
+        defaultData.render = (h, { row, index, column }) => {
+          return (
+            <div style="padding:0 6px;display:flex;align-items:center;">
+              {(row[column.columnAttributes.prop] || []).map(item => {
+                if (item.tagName == "已完工") {
+                  return (
+                    <img src={ywgdjs} style="width:16px;height:16px;margin:0 3px;" />
+                  )
+                } else if (item.tagName == "已结算") {
+                  return (
+                    <img src={yjs} style="width:16px;height:16px;margin:0 3px;" />
+                  )
+                } else {
+                  return (
+                    <div style="display: inline-block;border:1px solid #409EFF; color:#409EFF;padding:4px;border-radius: 4px;margin:2px 2px 0 0; font-size: 12px!important; line-height: 12px !important;">
+                      {item.tagName}
+                    </div>
+                  )
+                }
+              })}
+            </div>
+          )
+        }
+      }
+      if (item.jname === 'appointmentTime') {
+        defaultData.render = (h, { row, index, column }) => {
+          return (
+            <div style="padding:0 6px;cursor: pointer;">
+              {row[column.columnAttributes.prop] ? row[column.columnAttributes.prop].split(" ")[0] : ""}
+            </div>
+          )
+        }
+      }
+      if (item.jname === "orderStatus") {
+        defaultData.render = (h, { row, index, column }) => {
+          var colors = {
+            DJD: "#00acff",
+            DSHPG: "#ff27bf",
+            DWDPG: "#236cfe",
+            DYY: "#0d07ff",
+            FWZ: "#00ee5a",
+            YCD: "#ff3030",
+            YJS: "#02b100",
+            YQX: "#ffbd2f",
+            YWG: "#f77233",
+          }
+          return (
+            <div style={`padding:0 6px;cursor: pointer;color:${colors[Object.entries(row.selectMapData.orderStatus).find(([key, val]) => val == row.orderStatus)?.[0] || '']};`}>
+              {row[column.columnAttributes.prop]}
+            </div>
+          )
+        }
+      }
+      return defaultData
+    },
+  }
+}

+ 22 - 62
src/views/valueAddedService/extendedWarrantyWork/index.vue

@@ -9,14 +9,13 @@
 import TemplatePage from '@/components/template/template-page-1.vue'
 import import_mixin from '@/components/template/import_mixin.js'
 import { orderBaseList, orderBaseListExport } from "@/api/workOrderPool.js"
-import ywgdjs from "@/assets/ywgdjs.png"
-import yjs from "@/assets/yjs.png"
+import orderListColumn from "@/mixin/orderListColumn"
 import operation_mixin from '@/components/template/operation_mixin.js'
 export default {
   components: {
     TemplatePage,
   },
-  mixins: [import_mixin,operation_mixin],
+  mixins: [import_mixin, operation_mixin, orderListColumn],
   data() {
     return {
       // 表格属性
@@ -50,7 +49,7 @@ export default {
       var pam = JSON.parse(JSON.stringify(p))
       try {
         pam.params.push(
-          { "param": "a.order_status", "compare": "=", "value": ["YWG","YJS"] }
+          { "param": "a.order_status", "compare": "=", "value": ["YWG", "YJS"] }
         )
         pam.isYb = true
         cb && cb(pam)
@@ -62,68 +61,29 @@ export default {
     // 列表导出函数
     exportList: orderBaseListExport,
 
-    // 表格列解析渲染数据更改
-    columnParsing(item, defaultData) {
-      if (item.jname === 'orderFlags') {
-        defaultData.render = (h, { row, index, column }) => {
-          return (
-            <div style="padding:0 6px;display:flex;align-items:center;">
-              {(row[column.columnAttributes.prop] || []).map(item => {
-                if (item.tagName == "已完工") {
-                  return (
-                    <img src={ywgdjs} style="width:22px;height:22px;" />
-                  )
-                } else if (item.tagName == "已结算") {
-                  return (
-                    <img src={yjs} style="width:22px;height:22px;" />
-                  )
-                } else {
-                  return (
-                    <div style="display: inline-block;border:1px solid #409EFF; color:#409EFF;padding:0 2px;border-radius: 4px;margin:2px 2px 0 0;">
-                      {item.tagName}
-                    </div>
-                  )
-                }
-              })}
-            </div>
-          )
-        }
-      }
-      if (item.jname === 'appointmentTime') {
-        defaultData.render = (h, { row, index, column }) => {
-          return (
-            <div style="padding:0 6px;cursor: pointer;">
-              {row[column.columnAttributes.prop] ? row[column.columnAttributes.prop].split(" ")[0] : ""}
-            </div>
-          )
-        }
-      }
-      return defaultData
-    },
-
     // 监听勾选变化
     selectionChange(data) {
       this.recordSelected = data
     },
-		
-	// 表格操作列
-	operation() {
-		return this.operationBtn({
-			detail: {
-				btnType: 'text',
-				click: ({ row, index, column }) => {
-					this.$router.push({
-						name: 'workOrderPool',
-						params: {
-							pageName: row.id,
-							pageType: 'detail',
-							pageCode: row.id,
-						},
-					})
-				}
-			}
-		})
-	},
+
+    // 表格操作列
+    operation() {
+      return this.operationBtn({
+        detail: {
+          btnType: 'text',
+          click: ({ row, index, column }) => {
+            this.$router.push({
+              name: 'workOrderPool',
+              params: {
+                pageName: row.id,
+                pageType: 'detail',
+                pageCode: row.id,
+              },
+            })
+          }
+        }
+      })
+    },
   }
 }
 </script>

+ 1088 - 1128
src/views/workOrder/completedToBeSettled/index.vue

@@ -1,8 +1,8 @@
 <template>
-	<template-page ref="pageRef" :getList="getList" :optionsEvensGroup="optionsEvensGroup" :columnParsing="columnParsing"
-		:tableAttributes="tableAttributes" :tableEvents="tableEvents" :moreParameters="moreParameters"
-		:screeningAnalysis="screeningAnalysis" :filterMethod="filterMethod" :replaceOrNotMap="true">
-	</template-page>
+  <template-page ref="pageRef" :getList="getList" :optionsEvensGroup="optionsEvensGroup" :columnParsing="columnParsing"
+    :tableAttributes="tableAttributes" :tableEvents="tableEvents" :moreParameters="moreParameters"
+    :screeningAnalysis="screeningAnalysis" :filterMethod="filterMethod" :replaceOrNotMap="true">
+  </template-page>
 </template>
 
 <script>
@@ -13,1150 +13,1110 @@ import { listPageV2 as listPageV3 } from "@/api/workOrder/settlementStandardInst
 import { listPageV2 as listPageV2Repair } from "@/api/workOrder/settlementStandardRepair";
 import { orderBaseList2, orderBaseStatusCount2, orderBaseSettleNormDetail2, settleNormInstallQuery, orderBaseSettleNormConfirm, settleNormOtherQuery, orderBaseSettleNormReset } from "@/api/workOrderPool.js"
 import { listPageV2 } from "@/api/workOrder/orderType";
-import ywgdjs from "@/assets/ywgdjs.png"
-import yjs from "@/assets/yjs.png"
+import orderListColumn from "@/mixin/orderListColumn"
 import { required } from '@/components/template/rules_verify.js'
 export default {
-	components: {
-		TemplatePage,
-	},
-	mixins: [import_mixin, operation_mixin],
-	data() {
-		return {
-			// 表格属性
-			tableAttributes: {
-				columnExpand: this.columnExpand
-			},
-			// 表格事件
-			tableEvents: {
-				'expand-change': this.expandChange
-			},
-			orderTypeList: [],
-			orderStatusList: [],
-		}
-	},
-	computed: {
-		moreParameters() {
-			return [
-				{
-					name: '工单类型',
-					key: 'orderSmallType',
-					value: '',
-					conditions: [{
-						label: "全部",
-						value: ""
-					}, ...this.orderTypeList]
-				},
-				{
-					name: '工单状态',
-					key: 'orderStatus',
-					value: this.$route.query.orderStatus || "",
-					conditions: [{
-						label: "全部",
-						value: ""
-					}, ...this.orderStatusList]
-				}
-			]
-		},
-		// 用户信息
-		userInfo() {
-			return JSON.parse(localStorage.getItem('greemall_user'))
-		},
-		// 事件组合
-		optionsEvensGroup() {
-			return []
-		}
-	},
-	created() {
-		// 获取工单类型
-		listPageV2({ "pageNum": 1, "pageSize": -1, "params": [{ "param": "a.status", "compare": "=", "value": "true" }] }).then(res => {
-			this.orderTypeList = res.data.records.map(item => ({
-				value: item.id,
-				label: item.orderSmallTypeText
-			}))
-		})
-	},
-	methods: {
+  components: {
+    TemplatePage,
+  },
+  mixins: [import_mixin, operation_mixin, orderListColumn],
+  data() {
+    return {
+      // 表格属性
+      tableAttributes: {
+        columnExpand: this.columnExpand
+      },
+      // 表格事件
+      tableEvents: {
+        'expand-change': this.expandChange
+      },
+      orderTypeList: [],
+      orderStatusList: [],
+    }
+  },
+  computed: {
+    moreParameters() {
+      return [
+        {
+          name: '工单类型',
+          key: 'orderSmallType',
+          value: '',
+          conditions: [{
+            label: "全部",
+            value: ""
+          }, ...this.orderTypeList]
+        },
+        {
+          name: '工单状态',
+          key: 'orderStatus',
+          value: this.$route.query.orderStatus || "",
+          conditions: [{
+            label: "全部",
+            value: ""
+          }, ...this.orderStatusList]
+        }
+      ]
+    },
+    // 用户信息
+    userInfo() {
+      return JSON.parse(localStorage.getItem('greemall_user'))
+    },
+    // 事件组合
+    optionsEvensGroup() {
+      return []
+    }
+  },
+  created() {
+    // 获取工单类型
+    listPageV2({ "pageNum": 1, "pageSize": -1, "params": [{ "param": "a.status", "compare": "=", "value": "true" }] }).then(res => {
+      this.orderTypeList = res.data.records.map(item => ({
+        value: item.id,
+        label: item.orderSmallTypeText
+      }))
+    })
+  },
+  methods: {
 
-		screeningAnalysis(jname, val) {
-			if (jname == 'orderFlags') {
-				return (val || []).map(item => item.tagName).join(',')
-			} else {
-				return val
-			}
-		},
+    screeningAnalysis(jname, val) {
+      if (jname == 'orderFlags') {
+        return (val || []).map(item => item.tagName).join(',')
+      } else {
+        return val
+      }
+    },
 
-		filterMethod(value, row, column) {
-			if (column['property'] == 'orderFlags') {
-				return (row[column['property']] || []).map(item => item.tagName).join(',') === value
-			}
-			return row[column['property']] === value
-		},
+    filterMethod(value, row, column) {
+      if (column['property'] == 'orderFlags') {
+        return (row[column['property']] || []).map(item => item.tagName).join(',') === value
+      }
+      return row[column['property']] === value
+    },
 
-		// 获取统计
-		getOrderBaseStatusCount(...p) {
-			orderBaseStatusCount2(...p).then(res => {
-				this.orderStatusList = [{
-					label: "已完工待结算",
-					value: "YWG"
-				}, {
-					label: "已结算",
-					value: "YJS"
-				}].map(item => {
-					var data = res.data.find(val => val.orderStatus == item.value)
-					if (data) {
-						item.label = `${item.label}(${data.total})`
-					}
-					return item
-				})
-			})
-		},
+    // 获取统计
+    getOrderBaseStatusCount(...p) {
+      orderBaseStatusCount2(...p).then(res => {
+        this.orderStatusList = [{
+          label: "已完工待结算",
+          value: "YWG"
+        }, {
+          label: "已结算",
+          value: "YJS"
+        }].map(item => {
+          var data = res.data.find(val => val.orderStatus == item.value)
+          if (data) {
+            item.label = `${item.label}(${data.total})`
+          }
+          return item
+        })
+      })
+    },
 
-		// 列表请求函数
-		getList(p, cb) {
-			var pam = JSON.parse(JSON.stringify(p))
-			try {
-				if (pam.orderStatus) {
-					pam.params.push({ "param": "a.order_status", "compare": "=", "value": pam.orderStatus })
-				}
-				if (pam.orderSmallType) {
-					pam.params.push({ "param": "a.order_small_type", "compare": "=", "value": pam.orderSmallType })
-				}
-				cb && cb(pam)
-				return orderBaseList2(pam)
-			} catch (err) {
-			} finally {
-				this.$nextTick(() => {
-					this.getOrderBaseStatusCount({ orderSmallType: pam.orderSmallType || "" })
-				})
-			}
-		},
+    // 列表请求函数
+    getList(p, cb) {
+      var pam = JSON.parse(JSON.stringify(p))
+      try {
+        if (pam.orderStatus) {
+          pam.params.push({ "param": "a.order_status", "compare": "=", "value": pam.orderStatus })
+        }
+        if (pam.orderSmallType) {
+          pam.params.push({ "param": "a.order_small_type", "compare": "=", "value": pam.orderSmallType })
+        }
+        cb && cb(pam)
+        return orderBaseList2(pam)
+      } catch (err) {
+      } finally {
+        this.$nextTick(() => {
+          this.getOrderBaseStatusCount({ orderSmallType: pam.orderSmallType || "" })
+        })
+      }
+    },
 
-		// 表格列解析渲染数据更改
-		columnParsing(item, defaultData) {
-			if (item.jname === 'orderFlags') {
-				defaultData.render = (h, { row, index, column }) => {
-					return (
-						<div style="padding:0 6px;display:flex;align-items:center;">
-							{(row[column.columnAttributes.prop] || []).map(item => {
-								if (item.tagName == "已完工") {
-									return (
-										<img src={ywgdjs} style="width:22px;height:22px;" />
-									)
-								} else if (item.tagName == "已结算") {
-									return (
-										<img src={yjs} style="width:22px;height:22px;" />
-									)
-								} else {
-									return (
-										<div style="display: inline-block;border:1px solid #409EFF; color:#409EFF;padding:0 2px;border-radius: 4px;margin:2px 2px 0 0;">
-											{item.tagName}
-										</div>
-									)
-								}
-							})}
-						</div>
-					)
-				}
-			}
-			if (item.jname === 'appointmentTime') {
-				defaultData.render = (h, { row, index, column }) => {
-					return (
-						<div style="padding:0 6px;cursor: pointer;">
-							{row[column.columnAttributes.prop] ? row[column.columnAttributes.prop].split(" ")[0] : ""}
-						</div>
-					)
-				}
-			}
-			return defaultData
-		},
+    expandChange(row) {
+      if (!row.expandData) {
+        orderBaseSettleNormDetail2({
+          id: row.id,
+          orderProductId: row.pgOrderProductId
+        }).then(res => {
+          this.zhuzhuang(res.data).then(res => {
+            row.expandData = res
+          })
+        })
+      }
+    },
 
-		expandChange(row) {
-			if (!row.expandData) {
-				orderBaseSettleNormDetail2({
-					id: row.id,
-					orderProductId: row.pgOrderProductId
-				}).then(res => {
-					this.zhuzhuang(res.data).then(res => {
-						row.expandData = res
-					})
-				})
-			}
-		},
+    columnExpand(h, { row, column, index }) {
+      var expandDataForm = row.expandData
+      var rowZhu = row
+      return expandDataForm ? (<div style="box-sizing: border-box;padding: 10px 10px 0px 50px;">
+        <zj-form-container form-data={expandDataForm}
+          formAttributes={{ 'label-position': 'top' }}
+          styleSwitch={false}>
+          <zj-form-module title="费用结算" showHade={false} form-data={expandDataForm}
+            form-items={[{
+              md: 24,
+              name: 'slot-component',
+              formItemAttributes: {
+                label: '费用结算',
+                prop: 'normList',
+              },
+              render: (h, { props, onInput }) => {
+                var { formData } = props
+                var columns = [{
+                  columnAttributes: {
+                    label: '工单类型',
+                    prop: 'typeName'
+                  },
+                },
+                {
+                  columnAttributes: {
+                    label: '结算工单来源',
+                    prop: 'channelId',
+                    width: '110'
+                  },
+                  render: (h, { row, column, index }) => {
+                    return this.panfuan(row) ? <div class="redbordererr">
+                      <el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
+                        <el-select
+                          disabled={expandDataForm.normListBj || !row.bianji}
+                          value={row[column.columnAttributes.prop]}
+                          onInput={(val) => { row[column.columnAttributes.prop] = val }}
+                          onChange={(val) => {
+                            row.parentCategoryId = ""
+                            row.parentCategoryName = ""
+                            row.categoryId = ""
+                            row.categoryName = ""
+                            row.label = ""
+                            row.normAmount = ""
+                            row.repairAmount = ""
+                            row.settleNormId = ""
+                            if (val) {
+                              var data = this.classifyListChuLi(expandDataForm.classifyList, "orderChannelId", "orderChannelText").find(item => item.value == val)
+                              row.channelText = data.label
+                            } else {
+                              row.channelText = ""
+                            }
+                          }}
+                          placeholder="请选择">
+                          {this.classifyListChuLi(expandDataForm.classifyList, "orderChannelId", "orderChannelText").map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
+                        </el-select>
+                      </el-form-item>
+                    </div> : null
+                  }
+                },
+                {
+                  columnAttributes: {
+                    label: '结算产品大类',
+                    prop: 'parentCategoryId',
+                    width: '110'
+                  },
+                  render: (h, { row, column, index }) => {
+                    return this.panfuan(row) ? <div class="redbordererr">
+                      <el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
+                        <el-select
+                          disabled={expandDataForm.normListBj || !row.bianji}
+                          value={row[column.columnAttributes.prop]}
+                          onInput={(val) => { row[column.columnAttributes.prop] = val }}
+                          onChange={(val) => {
+                            row.categoryId = ""
+                            row.categoryName = ""
+                            row.label = ""
+                            row.normAmount = ""
+                            row.repairAmount = ""
+                            row.settleNormId = ""
+                            if (val) {
+                              var data = this.classifyListChuLi(expandDataForm.classifyList, "parentCategoryId", "parentCategoryName", (item) => item.orderChannelId == row.channelId).find(item => item.value == val)
+                              row.parentCategoryName = data.label
+                            } else {
+                              row.parentCategoryName = ""
+                            }
+                          }}
+                          placeholder="请选择">
+                          {this.classifyListChuLi(expandDataForm.classifyList, "parentCategoryId", "parentCategoryName", (item) => item.orderChannelId == row.channelId).map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
+                        </el-select>
+                      </el-form-item>
+                    </div> : null
+                  }
+                },
+                {
+                  columnAttributes: {
+                    label: '结算产品小类',
+                    prop: 'categoryId',
+                    width: '110'
+                  },
+                  render: (h, { row, column, index }) => {
+                    return this.panfuan(row) ? <div class="redbordererr">
+                      <el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
+                        <el-select
+                          disabled={expandDataForm.normListBj || !row.bianji}
+                          value={row[column.columnAttributes.prop]}
+                          onInput={(val) => { row[column.columnAttributes.prop] = val }}
+                          onChange={(val) => {
+                            row.label = ""
+                            row.normAmount = ""
+                            row.repairAmount = ""
+                            row.settleNormId = ""
+                            if (val) {
+                              var data = this.classifyListChuLi(expandDataForm.classifyList, "categoryId", "categoryName", (item) => item.orderChannelId == row.channelId && item.parentCategoryId == row.parentCategoryId).find(item => item.value == val)
+                              row.categoryName = data.label
+                            } else {
+                              row.categoryName = ""
+                            }
+                          }}
+                          placeholder="请选择">
+                          {this.classifyListChuLi(expandDataForm.classifyList, "categoryId", "categoryName", (item) => item.orderChannelId == row.channelId && item.parentCategoryId == row.parentCategoryId).map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
+                        </el-select>
+                      </el-form-item>
+                    </div> : null
+                  }
+                },
+                ...(() => {
+                  if (expandDataForm.orderType == 'INSTALL') {
+                    return [
+                      {
+                        columnAttributes: {
+                          label: '结算功率',
+                          prop: 'label'
+                        },
+                        render: (h, { row, column, index }) => {
+                          return this.panfuan(row) ? <div class="redbordererr">
+                            <el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
+                              <el-select
+                                disabled={expandDataForm.normListBj || !row.bianji}
+                                value={row[column.columnAttributes.prop]}
+                                onInput={(val) => { row[column.columnAttributes.prop] = val }}
+                                onChange={(val) => {
+                                  if (val) {
+                                    var data = this.getflList(expandDataForm.gonglv, row).find(item => item.label == val)
+                                    row.normAmount = data.normAmount
+                                    row.settleNormId = data.id
+                                  } else {
+                                    row.normAmount = ""
+                                    row.settleNormId = ""
+                                  }
+                                }}
+                                placeholder="请选择">
+                                {this.getflList(expandDataForm.gonglv, row).map((item, index_) => <el-option key={index_} label={item.label} value={item.label}></el-option>)}
+                              </el-select>
+                            </el-form-item>
+                          </div> : null
+                        }
+                      },
+                      {
+                        columnAttributes: {
+                          label: '结算标准(元/套)',
+                          prop: 'normAmount',
+                          width: "160px"
+                        },
+                      },
+                      {
+                        columnAttributes: {
+                          label: '结算数量',
+                          prop: 'settleNum',
+                          width: "160px"
+                        },
+                        render: (h, { row, column, index }) => {
+                          return this.panfuan(row) ? <div class="redbordererr">
+                            <el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
+                              <el-input
+                                type="number"
+                                disabled={expandDataForm.normListBj || !row.bianji}
+                                value={row[column.columnAttributes.prop]}
+                                onInput={(val) => { row[column.columnAttributes.prop] = val }}
+                                placeholder="请输入内容"
+                              >
+                              </el-input>
+                            </el-form-item>
+                          </div> : null
+                        }
+                      },
+                      {
+                        columnAttributes: {
+                          label: '结算金额(元)',
+                          prop: 'settleAmount',
+                          width: "160px"
+                        },
+                        render: (h, { row, column, index }) => {
+                          row.settleAmount = (((Number(row.normAmount || 0) * Number(row.settleNum || 0)) * 100) / 100).toFixed(2)
+                          return this.panfuan(row) ? <div class="redbordererr">
+                            {row.settleAmount}
+                          </div> : null
+                        }
+                      },
+                    ]
+                  }
+                  return []
+                })(),
+                ...(() => {
+                  if (expandDataForm.orderType == 'REPAIR') {
+                    return [
+                      {
+                        columnAttributes: {
+                          label: '质保类型',
+                          prop: 'label'
+                        },
+                        render: (h, { row, column, index }) => {
+                          return this.panfuan(row) ? <div class="redbordererr">
+                            <el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
+                              <el-select
+                                disabled={expandDataForm.normListBj || !row.bianji}
+                                value={row[column.columnAttributes.prop]}
+                                onInput={(val) => { row[column.columnAttributes.prop] = val }}
+                                onChange={(val) => {
+                                  if (val) {
+                                    var data = this.getflList(expandDataForm.gonglr, row).find(item => item.label == val)
+                                    row.repairAmount = data.repairAmount
+                                    row.normAmount = data.normAmount
+                                    row.settleNormId = data.id
+                                  } else {
+                                    row.repairAmount = ""
+                                    row.normAmount = ""
+                                    row.settleNormId = ""
+                                  }
+                                }}
+                                placeholder="请选择">
+                                {this.getflList(expandDataForm.gonglr, row).map((item, index_) => <el-option key={index_} label={({ INSIDE: '保内', OUT: '保外' })[item.label]} value={item.label}></el-option>)}
+                              </el-select>
+                            </el-form-item>
+                          </div> : null
+                        }
+                      },
+                      {
+                        columnAttributes: {
+                          label: '上门费(元/单)',
+                          prop: 'repairAmount',
+                          width: '110'
+                        },
+                        render: (h, { row, column, index }) => {
+                          return this.panfuan(row) ? <div class="redbordererr">
+                            <el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
+                              <el-input
+                                disabled={expandDataForm.normListBj || !row.bianji}
+                                type="number"
+                                value={row[column.columnAttributes.prop]}
+                                onInput={(val) => { row[column.columnAttributes.prop] = val }}
+                                placeholder="请输入内容"
+                              >
+                              </el-input>
+                            </el-form-item>
+                          </div> : null
+                        }
+                      },
+                      {
+                        columnAttributes: {
+                          label: '维修费结算比例%',
+                          prop: 'normAmount',
+                          width: '110'
+                        },
+                        render: (h, { row, column, index }) => {
+                          return this.panfuan(row) ? <div class="redbordererr">
+                            {row[column.columnAttributes.prop]}%
+                          </div> : null
+                        }
+                      },
+                      {
+                        columnAttributes: {
+                          label: '维修费用结算',
+                          prop: 'repairNormAmount',
+                          width: '110'
+                        },
+                        render: (h, { row, column, index }) => {
+                          return this.panfuan(row) ? <div class="redbordererr">
+                            <el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
+                              <el-input
+                                disabled={expandDataForm.normListBj || !row.bianji}
+                                type="number"
+                                value={row[column.columnAttributes.prop]}
+                                onInput={(val) => { row[column.columnAttributes.prop] = val }}
+                                placeholder="请输入内容"
+                              >
+                              </el-input>
+                            </el-form-item>
+                          </div> : null
+                        }
+                      },
+                      {
+                        columnAttributes: {
+                          label: '结算数量',
+                          prop: 'settleNum',
+                          width: "160px"
+                        },
+                        render: (h, { row, column, index }) => {
+                          return this.panfuan(row) ? <div class="redbordererr">
+                            <el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
+                              <el-input
+                                type="number"
+                                disabled={expandDataForm.normListBj || !row.bianji}
+                                value={row[column.columnAttributes.prop]}
+                                onInput={(val) => { row[column.columnAttributes.prop] = val }}
+                                placeholder="请输入内容"
+                              >
+                              </el-input>
+                            </el-form-item>
+                          </div> : null
+                        }
+                      },
+                      {
+                        columnAttributes: {
+                          label: '结算金额(元)',
+                          prop: 'settleAmount',
+                          width: "160px"
+                        },
+                        render: (h, { row, column, index }) => {
+                          row.settleAmount = (((Number(row.repairAmount || 0) + (Number(row.normAmount || 0) / 100) * Number(row.repairNormAmount || 0) * Number(row.settleNum || 0)) * 100) / 100).toFixed(2)
+                          return this.panfuan(row) ? <div class="redbordererr">
+                            {row.settleAmount}
+                          </div> : null
+                        }
+                      },
+                    ]
+                  }
+                  return []
+                })(),
+                {
+                  columnAttributes: {
+                    label: '备注',
+                    prop: 'remark',
+                    width: "200px"
+                  },
+                  render: (h, { row, column, index }) => {
+                    return this.panfuan(row) ? <div class="redbordererr">
+                      <el-form-item label="" label-width="0px">
+                        <el-input
+                          disabled={expandDataForm.normListBj || !row.bianji}
+                          value={row[column.columnAttributes.prop]}
+                          onInput={(val) => { row[column.columnAttributes.prop] = val }}
+                          placeholder="请输入内容"
+                        >
+                        </el-input>
+                      </el-form-item>
+                    </div> : null
+                  }
+                },
+                {
+                  columnAttributes: {
+                    label: '工程师名称',
+                    prop: 'workerName',
+                    width: "140px"
+                  },
+                  render: (h, { row, column, index }) => {
+                    return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
+                      {expandDataForm?.normList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
+                    </div>
+                  }
+                },
+                {
+                  columnAttributes: {
+                    label: '联系电话',
+                    prop: 'workerMobile',
+                    width: '140px'
+                  },
+                  render: (h, { row, column, index }) => {
+                    return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
+                      {expandDataForm?.normList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
+                    </div>
+                  }
+                },
+                {
+                  columnAttributes: {
+                    label: '结算费用',
+                    prop: 'settleAmount',
+                    width: "140px"
+                  },
+                  render: (h, { row, column, index }) => {
+                    return <div class="redbordererr">
+                      <el-form-item label="" label-width="0px" prop={`normList.${row.pfuqinid}.workerList.${row.zijideid}.${column.columnAttributes.prop}`} rules={required}>
+                        <el-input
+                          type="number"
+                          disabled={!expandDataForm.normList[row.pfuqinid].bianji || expandDataForm?.normList[row.pfuqinid]?.workerList?.[row.zijideid]?.["poolStatus"] == "YES"}
+                          value={expandDataForm?.normList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
+                          onInput={(val) => {
+                            expandDataForm.normList[row.pfuqinid].workerList[row.zijideid][column.columnAttributes.prop] = val
+                          }}
+                          placeholder="请输入内容"
+                        >
+                        </el-input>
+                      </el-form-item>
+                    </div>
+                  }
+                }, {
+                  columnAttributes: {
+                    label: '确认人',
+                    prop: 'confirmBy',
+                    width: "100px"
+                  },
+                  render: (h, { row, column, index }) => {
+                    return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
+                      {expandDataForm?.normList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
+                    </div>
+                  }
+                },
+                {
+                  columnAttributes: {
+                    label: '确认时间',
+                    prop: 'confirmTime',
+                    width: "140px"
+                  },
+                  render: (h, { row, column, index }) => {
+                    return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
+                      {expandDataForm?.normList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
+                    </div>
+                  }
+                },
+                {
+                  columnAttributes: {
+                    label: '汇总状态',
+                    prop: 'poolStatus',
+                    width: "100px"
+                  },
+                  render: (h, { row, column, index }) => {
+                    return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
+                      {({ "NO": "未汇总", "YES": "已汇总" })[expandDataForm?.normList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]]}
+                    </div>
+                  }
+                }, {
+                  columnAttributes: {
+                    label: '操作',
+                    prop: '',
+                    fixed: 'right',
+                    width: "120px"
+                  },
+                  render: (h, { row, column, index }) => {
+                    return expandDataForm.settleStatus == 'YWG' || (expandDataForm.settleStatus == 'YJS' && expandDataForm?.normList[row.pfuqinid]?.workerList?.find(item => item.poolStatus == "NO")) ? (<div class="redbordererr redbordererranniuright" style="padding:0 6px;">
+                      {expandDataForm.normList[row.pfuqinid].bianji ? <el-button type="text" onClick={
+                        () => {
+                          var yjsje = [0, 0, 0, expandDataForm?.normList[row.pfuqinid]?.workerList?.filter(item => item.poolStatus == "YES").map(item => item.settleAmount)].reduce(function (prev, curr, idx, arr) {
+                            return prev + curr;
+                          })
+                          var nou = expandDataForm?.normList[row.pfuqinid]?.workerList?.filter(item => item.poolStatus == "NO")
+                          var qian = ((((Number(expandDataForm?.normList[row.pfuqinid]["settleAmount"]) - yjsje) / nou.length) * 100) / 100).toFixed(2)
+                          var rongyu = ((Number(expandDataForm?.normList[row.pfuqinid]["settleAmount"]) - yjsje) - (qian * nou.length)).toFixed(2)
+                          nou.map((item, index) => {
+                            if (index === 0) {
+                              item.settleAmount = (Number(qian) + Number(rongyu)).toFixed(2)
+                            } else {
+                              item.settleAmount = qian
+                            }
+                          })
+                        }
+                      }>平分费用</el-button> : null}
+                      {expandDataForm.normList[row.pfuqinid].bianji ? <el-button type="text" onClick={
+                        () => {
+                          this.itemOrderBaseSettleNormReset(rowZhu, "normList", () => {
+                            expandDataForm.normList[row.pfuqinid].bianji = false
+                          })
+                        }
+                      }>确定</el-button> : null}
+                      {!expandDataForm.normList[row.pfuqinid].bianji ? <el-button type="text" onClick={
+                        () => {
+                          expandDataForm.normList[row.pfuqinid].bianji = true
+                        }
+                      }>修改</el-button> : null}
+                      {!expandDataForm.showOtherNormList ? <el-button type="text" onClick={
+                        () => {
+                          expandDataForm.showOtherNormList = true
+                        }
+                      }>添加其他费用</el-button> : null}
+                    </div>) : null
+                  }
+                }]
+                return (
+                  <zj-table
+                    columns={columns}
+                    table-data={formData.normList}
+                    tableAttributes={{
+                      'span-method': ({ row, column, rowIndex, columnIndex }) => {
+                        if (columnIndex === columns.length - 1) {
+                          if (row.zijideid == 0) {
+                            return {
+                              rowspan: formData.normList[row.pfuqinid].workerList?.length,
+                              colspan: 1
+                            };
+                          } else {
+                            return {
+                              rowspan: 0,
+                              colspan: 0
+                            };
+                          }
+                        }
+                      }
+                    }}
+                  />
+                )
+              }
+            },
+            {
+              md: 24,
+              isShow: expandDataForm.showOtherNormList,
+              name: 'slot-component',
+              formItemAttributes: {
+                label: '其他费用结算',
+                prop: 'otherNormList',
+              },
+              render: (h, { props, onInput }) => {
+                var { formData } = props
+                var columns = [{
+                  columnAttributes: {
+                    label: '结算工单来源',
+                    prop: 'channelId',
+                    width: '110'
+                  },
+                  render: (h, { row, column, index }) => {
+                    return this.panfuan(row) ? <div class="redbordererr">
+                      <el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
+                        <el-select
+                          disabled={expandDataForm.otherNormListBj || !row.bianji}
+                          value={row[column.columnAttributes.prop]}
+                          onInput={(val) => { row[column.columnAttributes.prop] = val }}
+                          onChange={(val) => {
+                            row.type = ""
+                            row.label = ""
+                            row.normAmount = ""
+                            row.settleNormId = ""
+                            row.settleNum = ""
+                            if (val) {
+                              var data = this.classifyListChuLi(expandDataForm.otherList, "orderChannelId", "orderChannelText").find(item => item.value == val)
+                              row.channelText = data.label
+                            } else {
+                              row.channelText = ""
+                            }
+                          }}
+                          placeholder="请选择">
+                          {this.classifyListChuLi(expandDataForm.otherList, "orderChannelId", "orderChannelText").map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
+                        </el-select>
+                      </el-form-item>
+                    </div> : null
+                  }
+                },
+                {
+                  columnAttributes: {
+                    label: '费用类型',
+                    prop: 'type'
+                  },
+                  render: (h, { row, column, index }) => {
+                    return this.panfuan(row) ? <div class="redbordererr">
+                      <el-form-item label="" label-width="0px">
+                        <el-select
+                          disabled={expandDataForm.otherNormListBj || !row.bianji}
+                          value={row[column.columnAttributes.prop]}
+                          onInput={(val) => { row[column.columnAttributes.prop] = val }}
+                          onChange={(val) => {
+                            row.label = ""
+                            row.normAmount = ""
+                            row.settleNormId = ""
+                            row.settleNum = ""
+                          }}
+                          placeholder="请选择">
+                          {this.classifyListChuLi(expandDataForm.otherList, "type", "typeName", (item) => item.orderChannelId == row.channelId).map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
+                        </el-select>
+                      </el-form-item>
+                    </div> : null
+                  }
+                },
+                {
+                  columnAttributes: {
+                    label: '规格',
+                    prop: 'label'
+                  },
+                  render: (h, { row, column, index }) => {
+                    return this.panfuan(row) ? <div class="redbordererr">
+                      <el-form-item label="" label-width="0px">
+                        <el-select
+                          disabled={expandDataForm.otherNormListBj || !row.bianji}
+                          value={row[column.columnAttributes.prop]}
+                          onInput={(val) => { row[column.columnAttributes.prop] = val }}
+                          onChange={(val) => {
+                            row.settleNum = ""
+                            if (val) {
+                              var data = this.classifyListChuLi(expandDataForm.otherList, "label", "label", (item) => { return item.orderChannelId == row.channelId && item.type == row.type }, "normAmount", "id").find(item => item.label == val)
+                              row.normAmount = data.normAmount
+                              row.settleNormId = data.id
+                            } else {
+                              row.normAmount = ""
+                              row.settleNormId = ""
+                            }
+                          }}
+                          placeholder="请选择">
+                          {this.classifyListChuLi(expandDataForm.otherList, "label", "label", (item) => item.orderChannelId == row.channelId && item.type == row.type).map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
+                        </el-select>
+                      </el-form-item>
+                    </div> : null
+                  }
+                },
+                {
+                  columnAttributes: {
+                    label: '单价(元/套)',
+                    prop: 'normAmount',
+                    width: "160px"
+                  },
+                },
+                {
+                  columnAttributes: {
+                    label: '数量',
+                    prop: 'settleNum',
+                    width: "160px"
+                  },
+                  render: (h, { row, column, index }) => {
+                    return this.panfuan(row) ? <div class="redbordererr">
+                      <el-form-item label="" label-width="0px">
+                        <el-input
+                          type="number"
+                          disabled={expandDataForm.otherNormListBj || !row.bianji}
+                          value={row[column.columnAttributes.prop]}
+                          onInput={(val) => { row[column.columnAttributes.prop] = val }}
+                          placeholder="请输入内容"
+                        >
+                        </el-input>
+                      </el-form-item>
+                    </div> : null
+                  }
+                },
+                {
+                  columnAttributes: {
+                    label: '结算金额(元)',
+                    prop: 'settleAmount',
+                    width: "160px"
+                  },
+                  render: (h, { row, column, index }) => {
+                    row.settleAmount = (((Number(row.normAmount || 0) * Number(row.settleNum || 0)) * 100) / 100).toFixed(2)
+                    return this.panfuan(row) ? <div class="redbordererr">
+                      {row.settleAmount}
+                    </div> : null
+                  }
+                },
+                {
+                  columnAttributes: {
+                    label: '备注',
+                    prop: 'remark',
+                    width: "200px"
+                  },
+                  render: (h, { row, column, index }) => {
+                    return this.panfuan(row) ? <div class="redbordererr">
+                      <el-form-item label="" label-width="0px">
+                        <el-input
+                          disabled={expandDataForm.otherNormListBj || !row.bianji}
+                          value={row[column.columnAttributes.prop]}
+                          onInput={(val) => { row[column.columnAttributes.prop] = val }}
+                          placeholder="请输入内容"
+                        >
+                        </el-input>
+                      </el-form-item>
+                    </div> : null
+                  }
+                },
+                {
+                  columnAttributes: {
+                    label: '工程师名称',
+                    prop: 'workerName',
+                    width: "140px"
+                  },
+                  render: (h, { row, column, index }) => {
+                    return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
+                      {expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
+                    </div>
+                  }
+                },
+                {
+                  columnAttributes: {
+                    label: '联系电话',
+                    prop: 'workerMobile',
+                    width: '140px'
+                  },
+                  render: (h, { row, column, index }) => {
+                    return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
+                      {expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
+                    </div>
+                  }
+                },
+                {
+                  columnAttributes: {
+                    label: '结算费用',
+                    prop: 'settleAmount',
+                    width: "140px"
+                  },
+                  render: (h, { row, column, index }) => {
+                    return <div class="redbordererr">
+                      <el-form-item label="" label-width="0px" prop={`otherNormList.${row.pfuqinid}.workerList.${row.zijideid}.${column.columnAttributes.prop}`} rules={required}>
+                        <el-input
+                          type="number"
+                          disabled={!expandDataForm.otherNormList[row.pfuqinid].bianji || expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.[row.zijideid]?.["poolStatus"] == "YES"}
+                          value={expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
+                          onInput={(val) => {
+                            expandDataForm.otherNormList[row.pfuqinid].workerList[row.zijideid][column.columnAttributes.prop] = val
+                          }}
+                          placeholder="请输入内容"
+                        >
+                        </el-input>
+                      </el-form-item>
+                    </div>
+                  }
+                }, {
+                  columnAttributes: {
+                    label: '确认人',
+                    prop: 'confirmBy',
+                    width: "100px"
+                  },
+                  render: (h, { row, column, index }) => {
+                    return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
+                      {expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
+                    </div>
+                  }
+                },
+                {
+                  columnAttributes: {
+                    label: '确认时间',
+                    prop: 'confirmTime',
+                    width: "140px"
+                  },
+                  render: (h, { row, column, index }) => {
+                    return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
+                      {expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
+                    </div>
+                  }
+                },
+                {
+                  columnAttributes: {
+                    label: '汇总状态',
+                    prop: 'poolStatus',
+                    width: "100px"
+                  },
+                  render: (h, { row, column, index }) => {
+                    return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
+                      {({ "NO": "未汇总", "YES": "已汇总" })[expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]]}
+                    </div>
+                  }
+                }, {
+                  columnAttributes: {
+                    label: '操作',
+                    prop: '',
+                    fixed: 'right',
+                    width: "120px"
+                  },
+                  render: (h, { row, column, index }) => {
+                    return expandDataForm.settleStatus == 'YWG' || (expandDataForm.settleStatus == 'YJS' && expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.find(item => item.poolStatus == "NO")) ? (<div class="redbordererr redbordererranniuright" style="padding:0 6px;display:flex;align-items:center;">
+                      {expandDataForm.otherNormList[row.pfuqinid].bianji ? <el-button type="text" onClick={
+                        () => {
+                          var yjsje = [0, 0, 0, expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.filter(item => item.poolStatus == "YES").map(item => item.settleAmount)].reduce(function (prev, curr, idx, arr) {
+                            return prev + curr;
+                          })
+                          var nou = expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.filter(item => item.poolStatus == "NO")
+                          var qian = ((((Number(expandDataForm?.otherNormList[row.pfuqinid]["settleAmount"]) - yjsje) / nou.length) * 100) / 100).toFixed(2)
+                          var rongyu = ((Number(expandDataForm?.otherNormList[row.pfuqinid]["settleAmount"]) - yjsje) - (qian * nou.length)).toFixed(2)
+                          nou.map((item, index) => {
+                            if (index === 0) {
+                              item.settleAmount = (Number(qian) + Number(rongyu)).toFixed(2)
+                            } else {
+                              item.settleAmount = qian
+                            }
+                          })
+                        }
+                      }>平分费用</el-button> : null}
+                      {expandDataForm.otherNormList[row.pfuqinid].bianji ? <el-button type="text" onClick={
+                        () => {
+                          this.itemOrderBaseSettleNormReset(rowZhu, "otherNormList", () => {
+                            expandDataForm.otherNormList[row.pfuqinid].bianji = false
+                          })
+                        }
+                      }>确定</el-button> : null}
+                      {!expandDataForm.otherNormList[row.pfuqinid].bianji ? <el-button type="text" onClick={
+                        () => {
+                          expandDataForm.otherNormList[row.pfuqinid].bianji = true
+                        }
+                      }>修改</el-button> : null}
+                    </div>) : null
+                  }
+                }]
+                return (
+                  <zj-table
+                    columns={columns}
+                    table-data={formData.otherNormList}
+                    tableAttributes={{
+                      'span-method': ({ row, column, rowIndex, columnIndex }) => {
+                        if (columnIndex === columns.length - 1) {
+                          if (row.zijideid == 0) {
+                            return {
+                              rowspan: formData.otherNormList[row.pfuqinid].workerList?.length,
+                              colspan: 1
+                            };
+                          } else {
+                            return {
+                              rowspan: 0,
+                              colspan: 0
+                            };
+                          }
+                        }
+                      }
+                    }}
+                  />
+                )
+              }
+            }]} />
+        </zj-form-container>
+      </div>) : null
+    },
 
-		columnExpand(h, { row, column, index }) {
-			var expandDataForm = row.expandData
-			var rowZhu = row
-			return expandDataForm ? (<div style="box-sizing: border-box;padding: 10px 10px 0px 50px;">
-				<zj-form-container form-data={expandDataForm}
-					formAttributes={{ 'label-position': 'top' }}
-					styleSwitch={false}>
-					<zj-form-module title="费用结算" showHade={false} form-data={expandDataForm}
-						form-items={[{
-							md: 24,
-							name: 'slot-component',
-							formItemAttributes: {
-								label: '费用结算',
-								prop: 'normList',
-							},
-							render: (h, { props, onInput }) => {
-								var { formData } = props
-								var columns = [{
-									columnAttributes: {
-										label: '工单类型',
-										prop: 'typeName'
-									},
-								},
-								{
-									columnAttributes: {
-										label: '结算工单来源',
-										prop: 'channelId',
-										width: '110'
-									},
-									render: (h, { row, column, index }) => {
-										return this.panfuan(row) ? <div class="redbordererr">
-											<el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
-												<el-select
-													disabled={expandDataForm.normListBj || !row.bianji}
-													value={row[column.columnAttributes.prop]}
-													onInput={(val) => { row[column.columnAttributes.prop] = val }}
-													onChange={(val) => {
-														row.parentCategoryId = ""
-														row.parentCategoryName = ""
-														row.categoryId = ""
-														row.categoryName = ""
-														row.label = ""
-														row.normAmount = ""
-														row.repairAmount = ""
-														row.settleNormId = ""
-														if (val) {
-															var data = this.classifyListChuLi(expandDataForm.classifyList, "orderChannelId", "orderChannelText").find(item => item.value == val)
-															row.channelText = data.label
-														} else {
-															row.channelText = ""
-														}
-													}}
-													placeholder="请选择">
-													{this.classifyListChuLi(expandDataForm.classifyList, "orderChannelId", "orderChannelText").map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
-												</el-select>
-											</el-form-item>
-										</div> : null
-									}
-								},
-								{
-									columnAttributes: {
-										label: '结算产品大类',
-										prop: 'parentCategoryId',
-										width: '110'
-									},
-									render: (h, { row, column, index }) => {
-										return this.panfuan(row) ? <div class="redbordererr">
-											<el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
-												<el-select
-													disabled={expandDataForm.normListBj || !row.bianji}
-													value={row[column.columnAttributes.prop]}
-													onInput={(val) => { row[column.columnAttributes.prop] = val }}
-													onChange={(val) => {
-														row.categoryId = ""
-														row.categoryName = ""
-														row.label = ""
-														row.normAmount = ""
-														row.repairAmount = ""
-														row.settleNormId = ""
-														if (val) {
-															var data = this.classifyListChuLi(expandDataForm.classifyList, "parentCategoryId", "parentCategoryName", (item) => item.orderChannelId == row.channelId).find(item => item.value == val)
-															row.parentCategoryName = data.label
-														} else {
-															row.parentCategoryName = ""
-														}
-													}}
-													placeholder="请选择">
-													{this.classifyListChuLi(expandDataForm.classifyList, "parentCategoryId", "parentCategoryName", (item) => item.orderChannelId == row.channelId).map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
-												</el-select>
-											</el-form-item>
-										</div> : null
-									}
-								},
-								{
-									columnAttributes: {
-										label: '结算产品小类',
-										prop: 'categoryId',
-										width: '110'
-									},
-									render: (h, { row, column, index }) => {
-										return this.panfuan(row) ? <div class="redbordererr">
-											<el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
-												<el-select
-													disabled={expandDataForm.normListBj || !row.bianji}
-													value={row[column.columnAttributes.prop]}
-													onInput={(val) => { row[column.columnAttributes.prop] = val }}
-													onChange={(val) => {
-														row.label = ""
-														row.normAmount = ""
-														row.repairAmount = ""
-														row.settleNormId = ""
-														if (val) {
-															var data = this.classifyListChuLi(expandDataForm.classifyList, "categoryId", "categoryName", (item) => item.orderChannelId == row.channelId && item.parentCategoryId == row.parentCategoryId).find(item => item.value == val)
-															row.categoryName = data.label
-														} else {
-															row.categoryName = ""
-														}
-													}}
-													placeholder="请选择">
-													{this.classifyListChuLi(expandDataForm.classifyList, "categoryId", "categoryName", (item) => item.orderChannelId == row.channelId && item.parentCategoryId == row.parentCategoryId).map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
-												</el-select>
-											</el-form-item>
-										</div> : null
-									}
-								},
-								...(() => {
-									if (expandDataForm.orderType == 'INSTALL') {
-										return [
-											{
-												columnAttributes: {
-													label: '结算功率',
-													prop: 'label'
-												},
-												render: (h, { row, column, index }) => {
-													return this.panfuan(row) ? <div class="redbordererr">
-														<el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
-															<el-select
-																disabled={expandDataForm.normListBj || !row.bianji}
-																value={row[column.columnAttributes.prop]}
-																onInput={(val) => { row[column.columnAttributes.prop] = val }}
-																onChange={(val) => {
-																	if (val) {
-																		var data = this.getflList(expandDataForm.gonglv, row).find(item => item.label == val)
-																		row.normAmount = data.normAmount
-																		row.settleNormId = data.id
-																	} else {
-																		row.normAmount = ""
-																		row.settleNormId = ""
-																	}
-																}}
-																placeholder="请选择">
-																{this.getflList(expandDataForm.gonglv, row).map((item, index_) => <el-option key={index_} label={item.label} value={item.label}></el-option>)}
-															</el-select>
-														</el-form-item>
-													</div> : null
-												}
-											},
-											{
-												columnAttributes: {
-													label: '结算标准(元/套)',
-													prop: 'normAmount',
-													width: "160px"
-												},
-											},
-											{
-												columnAttributes: {
-													label: '结算数量',
-													prop: 'settleNum',
-													width: "160px"
-												},
-												render: (h, { row, column, index }) => {
-													return this.panfuan(row) ? <div class="redbordererr">
-														<el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
-															<el-input
-																type="number"
-																disabled={expandDataForm.normListBj || !row.bianji}
-																value={row[column.columnAttributes.prop]}
-																onInput={(val) => { row[column.columnAttributes.prop] = val }}
-																placeholder="请输入内容"
-															>
-															</el-input>
-														</el-form-item>
-													</div> : null
-												}
-											},
-											{
-												columnAttributes: {
-													label: '结算金额(元)',
-													prop: 'settleAmount',
-													width: "160px"
-												},
-												render: (h, { row, column, index }) => {
-													row.settleAmount = (((Number(row.normAmount || 0) * Number(row.settleNum || 0)) * 100) / 100).toFixed(2)
-													return this.panfuan(row) ? <div class="redbordererr">
-														{row.settleAmount}
-													</div> : null
-												}
-											},
-										]
-									}
-									return []
-								})(),
-								...(() => {
-									if (expandDataForm.orderType == 'REPAIR') {
-										return [
-											{
-												columnAttributes: {
-													label: '质保类型',
-													prop: 'label'
-												},
-												render: (h, { row, column, index }) => {
-													return this.panfuan(row) ? <div class="redbordererr">
-														<el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
-															<el-select
-																disabled={expandDataForm.normListBj || !row.bianji}
-																value={row[column.columnAttributes.prop]}
-																onInput={(val) => { row[column.columnAttributes.prop] = val }}
-																onChange={(val) => {
-																	if (val) {
-																		var data = this.getflList(expandDataForm.gonglr, row).find(item => item.label == val)
-																		row.repairAmount = data.repairAmount
-																		row.normAmount = data.normAmount
-																		row.settleNormId = data.id
-																	} else {
-																		row.repairAmount = ""
-																		row.normAmount = ""
-																		row.settleNormId = ""
-																	}
-																}}
-																placeholder="请选择">
-																{this.getflList(expandDataForm.gonglr, row).map((item, index_) => <el-option key={index_} label={({ INSIDE: '保内', OUT: '保外' })[item.label]} value={item.label}></el-option>)}
-															</el-select>
-														</el-form-item>
-													</div> : null
-												}
-											},
-											{
-												columnAttributes: {
-													label: '上门费(元/单)',
-													prop: 'repairAmount',
-													width: '110'
-												},
-												render: (h, { row, column, index }) => {
-													return this.panfuan(row) ? <div class="redbordererr">
-														<el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
-															<el-input
-																disabled={expandDataForm.normListBj || !row.bianji}
-																type="number"
-																value={row[column.columnAttributes.prop]}
-																onInput={(val) => { row[column.columnAttributes.prop] = val }}
-																placeholder="请输入内容"
-															>
-															</el-input>
-														</el-form-item>
-													</div> : null
-												}
-											},
-											{
-												columnAttributes: {
-													label: '维修费结算比例%',
-													prop: 'normAmount',
-													width: '110'
-												},
-												render: (h, { row, column, index }) => {
-													return this.panfuan(row) ? <div class="redbordererr">
-														{row[column.columnAttributes.prop]}%
-													</div> : null
-												}
-											},
-											{
-												columnAttributes: {
-													label: '维修费用结算',
-													prop: 'repairNormAmount',
-													width: '110'
-												},
-												render: (h, { row, column, index }) => {
-													return this.panfuan(row) ? <div class="redbordererr">
-														<el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
-															<el-input
-																disabled={expandDataForm.normListBj || !row.bianji}
-																type="number"
-																value={row[column.columnAttributes.prop]}
-																onInput={(val) => { row[column.columnAttributes.prop] = val }}
-																placeholder="请输入内容"
-															>
-															</el-input>
-														</el-form-item>
-													</div> : null
-												}
-											},
-											{
-												columnAttributes: {
-													label: '结算数量',
-													prop: 'settleNum',
-													width: "160px"
-												},
-												render: (h, { row, column, index }) => {
-													return this.panfuan(row) ? <div class="redbordererr">
-														<el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
-															<el-input
-																type="number"
-																disabled={expandDataForm.normListBj || !row.bianji}
-																value={row[column.columnAttributes.prop]}
-																onInput={(val) => { row[column.columnAttributes.prop] = val }}
-																placeholder="请输入内容"
-															>
-															</el-input>
-														</el-form-item>
-													</div> : null
-												}
-											},
-											{
-												columnAttributes: {
-													label: '结算金额(元)',
-													prop: 'settleAmount',
-													width: "160px"
-												},
-												render: (h, { row, column, index }) => {
-													row.settleAmount = (((Number(row.repairAmount || 0) + (Number(row.normAmount || 0) / 100) * Number(row.repairNormAmount || 0) * Number(row.settleNum || 0)) * 100) / 100).toFixed(2)
-													return this.panfuan(row) ? <div class="redbordererr">
-														{row.settleAmount}
-													</div> : null
-												}
-											},
-										]
-									}
-									return []
-								})(),
-								{
-									columnAttributes: {
-										label: '备注',
-										prop: 'remark',
-										width: "200px"
-									},
-									render: (h, { row, column, index }) => {
-										return this.panfuan(row) ? <div class="redbordererr">
-											<el-form-item label="" label-width="0px">
-												<el-input
-													disabled={expandDataForm.normListBj || !row.bianji}
-													value={row[column.columnAttributes.prop]}
-													onInput={(val) => { row[column.columnAttributes.prop] = val }}
-													placeholder="请输入内容"
-												>
-												</el-input>
-											</el-form-item>
-										</div> : null
-									}
-								},
-								{
-									columnAttributes: {
-										label: '工程师名称',
-										prop: 'workerName',
-										width: "140px"
-									},
-									render: (h, { row, column, index }) => {
-										return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
-											{expandDataForm?.normList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
-										</div>
-									}
-								},
-								{
-									columnAttributes: {
-										label: '联系电话',
-										prop: 'workerMobile',
-										width: '140px'
-									},
-									render: (h, { row, column, index }) => {
-										return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
-											{expandDataForm?.normList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
-										</div>
-									}
-								},
-								{
-									columnAttributes: {
-										label: '结算费用',
-										prop: 'settleAmount',
-										width: "140px"
-									},
-									render: (h, { row, column, index }) => {
-										return <div class="redbordererr">
-											<el-form-item label="" label-width="0px" prop={`normList.${row.pfuqinid}.workerList.${row.zijideid}.${column.columnAttributes.prop}`} rules={required}>
-												<el-input
-													type="number"
-													disabled={!expandDataForm.normList[row.pfuqinid].bianji || expandDataForm?.normList[row.pfuqinid]?.workerList?.[row.zijideid]?.["poolStatus"] == "YES"}
-													value={expandDataForm?.normList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
-													onInput={(val) => {
-														expandDataForm.normList[row.pfuqinid].workerList[row.zijideid][column.columnAttributes.prop] = val
-													}}
-													placeholder="请输入内容"
-												>
-												</el-input>
-											</el-form-item>
-										</div>
-									}
-								}, {
-									columnAttributes: {
-										label: '确认人',
-										prop: 'confirmBy',
-										width: "100px"
-									},
-									render: (h, { row, column, index }) => {
-										return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
-											{expandDataForm?.normList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
-										</div>
-									}
-								},
-								{
-									columnAttributes: {
-										label: '确认时间',
-										prop: 'confirmTime',
-										width: "140px"
-									},
-									render: (h, { row, column, index }) => {
-										return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
-											{expandDataForm?.normList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
-										</div>
-									}
-								},
-								{
-									columnAttributes: {
-										label: '汇总状态',
-										prop: 'poolStatus',
-										width: "100px"
-									},
-									render: (h, { row, column, index }) => {
-										return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
-											{({ "NO": "未汇总", "YES": "已汇总" })[expandDataForm?.normList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]]}
-										</div>
-									}
-								}, {
-									columnAttributes: {
-										label: '操作',
-										prop: '',
-										fixed: 'right',
-										width: "120px"
-									},
-									render: (h, { row, column, index }) => {
-										return expandDataForm.settleStatus == 'YWG' || (expandDataForm.settleStatus == 'YJS' && expandDataForm?.normList[row.pfuqinid]?.workerList?.find(item => item.poolStatus == "NO")) ? (<div class="redbordererr redbordererranniuright" style="padding:0 6px;">
-											{expandDataForm.normList[row.pfuqinid].bianji ? <el-button type="text" onClick={
-												() => {
-													var yjsje = [0, 0, 0, expandDataForm?.normList[row.pfuqinid]?.workerList?.filter(item => item.poolStatus == "YES").map(item => item.settleAmount)].reduce(function (prev, curr, idx, arr) {
-														return prev + curr;
-													})
-													var nou = expandDataForm?.normList[row.pfuqinid]?.workerList?.filter(item => item.poolStatus == "NO")
-													var qian = ((((Number(expandDataForm?.normList[row.pfuqinid]["settleAmount"]) - yjsje) / nou.length) * 100) / 100).toFixed(2)
-													var rongyu = ((Number(expandDataForm?.normList[row.pfuqinid]["settleAmount"]) - yjsje) - (qian * nou.length)).toFixed(2)
-													nou.map((item, index) => {
-														if (index === 0) {
-															item.settleAmount = (Number(qian) + Number(rongyu)).toFixed(2)
-														} else {
-															item.settleAmount = qian
-														}
-													})
-												}
-											}>平分费用</el-button> : null}
-											{expandDataForm.normList[row.pfuqinid].bianji ? <el-button type="text" onClick={
-												() => {
-													this.itemOrderBaseSettleNormReset(rowZhu, "normList", () => {
-														expandDataForm.normList[row.pfuqinid].bianji = false
-													})
-												}
-											}>确定</el-button> : null}
-											{!expandDataForm.normList[row.pfuqinid].bianji ? <el-button type="text" onClick={
-												() => {
-													expandDataForm.normList[row.pfuqinid].bianji = true
-												}
-											}>修改</el-button> : null}
-											{!expandDataForm.showOtherNormList ? <el-button type="text" onClick={
-												() => {
-													expandDataForm.showOtherNormList = true
-												}
-											}>添加其他费用</el-button> : null}
-										</div>) : null
-									}
-								}]
-								return (
-									<zj-table
-										columns={columns}
-										table-data={formData.normList}
-										tableAttributes={{
-											'span-method': ({ row, column, rowIndex, columnIndex }) => {
-												if (columnIndex === columns.length - 1) {
-													if (row.zijideid == 0) {
-														return {
-															rowspan: formData.normList[row.pfuqinid].workerList?.length,
-															colspan: 1
-														};
-													} else {
-														return {
-															rowspan: 0,
-															colspan: 0
-														};
-													}
-												}
-											}
-										}}
-									/>
-								)
-							}
-						},
-						{
-							md: 24,
-							isShow: expandDataForm.showOtherNormList,
-							name: 'slot-component',
-							formItemAttributes: {
-								label: '其他费用结算',
-								prop: 'otherNormList',
-							},
-							render: (h, { props, onInput }) => {
-								var { formData } = props
-								var columns = [{
-									columnAttributes: {
-										label: '结算工单来源',
-										prop: 'channelId',
-										width: '110'
-									},
-									render: (h, { row, column, index }) => {
-										return this.panfuan(row) ? <div class="redbordererr">
-											<el-form-item label="" label-width="0px" prop={`normList.${index}.${column.columnAttributes.prop}`} rules={required}>
-												<el-select
-													disabled={expandDataForm.otherNormListBj || !row.bianji}
-													value={row[column.columnAttributes.prop]}
-													onInput={(val) => { row[column.columnAttributes.prop] = val }}
-													onChange={(val) => {
-														row.type = ""
-														row.label = ""
-														row.normAmount = ""
-														row.settleNormId = ""
-														row.settleNum = ""
-														if (val) {
-															var data = this.classifyListChuLi(expandDataForm.otherList, "orderChannelId", "orderChannelText").find(item => item.value == val)
-															row.channelText = data.label
-														} else {
-															row.channelText = ""
-														}
-													}}
-													placeholder="请选择">
-													{this.classifyListChuLi(expandDataForm.otherList, "orderChannelId", "orderChannelText").map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
-												</el-select>
-											</el-form-item>
-										</div> : null
-									}
-								},
-								{
-									columnAttributes: {
-										label: '费用类型',
-										prop: 'type'
-									},
-									render: (h, { row, column, index }) => {
-										return this.panfuan(row) ? <div class="redbordererr">
-											<el-form-item label="" label-width="0px">
-												<el-select
-													disabled={expandDataForm.otherNormListBj || !row.bianji}
-													value={row[column.columnAttributes.prop]}
-													onInput={(val) => { row[column.columnAttributes.prop] = val }}
-													onChange={(val) => {
-														row.label = ""
-														row.normAmount = ""
-														row.settleNormId = ""
-														row.settleNum = ""
-													}}
-													placeholder="请选择">
-													{this.classifyListChuLi(expandDataForm.otherList, "type", "typeName", (item) => item.orderChannelId == row.channelId).map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
-												</el-select>
-											</el-form-item>
-										</div> : null
-									}
-								},
-								{
-									columnAttributes: {
-										label: '规格',
-										prop: 'label'
-									},
-									render: (h, { row, column, index }) => {
-										return this.panfuan(row) ? <div class="redbordererr">
-											<el-form-item label="" label-width="0px">
-												<el-select
-													disabled={expandDataForm.otherNormListBj || !row.bianji}
-													value={row[column.columnAttributes.prop]}
-													onInput={(val) => { row[column.columnAttributes.prop] = val }}
-													onChange={(val) => {
-														row.settleNum = ""
-														if (val) {
-															var data = this.classifyListChuLi(expandDataForm.otherList, "label", "label", (item) => { return item.orderChannelId == row.channelId && item.type == row.type }, "normAmount", "id").find(item => item.label == val)
-															row.normAmount = data.normAmount
-															row.settleNormId = data.id
-														} else {
-															row.normAmount = ""
-															row.settleNormId = ""
-														}
-													}}
-													placeholder="请选择">
-													{this.classifyListChuLi(expandDataForm.otherList, "label", "label", (item) => item.orderChannelId == row.channelId && item.type == row.type).map((item, index_) => <el-option key={index_} label={item.label} value={item.value}></el-option>)}
-												</el-select>
-											</el-form-item>
-										</div> : null
-									}
-								},
-								{
-									columnAttributes: {
-										label: '单价(元/套)',
-										prop: 'normAmount',
-										width: "160px"
-									},
-								},
-								{
-									columnAttributes: {
-										label: '数量',
-										prop: 'settleNum',
-										width: "160px"
-									},
-									render: (h, { row, column, index }) => {
-										return this.panfuan(row) ? <div class="redbordererr">
-											<el-form-item label="" label-width="0px">
-												<el-input
-													type="number"
-													disabled={expandDataForm.otherNormListBj || !row.bianji}
-													value={row[column.columnAttributes.prop]}
-													onInput={(val) => { row[column.columnAttributes.prop] = val }}
-													placeholder="请输入内容"
-												>
-												</el-input>
-											</el-form-item>
-										</div> : null
-									}
-								},
-								{
-									columnAttributes: {
-										label: '结算金额(元)',
-										prop: 'settleAmount',
-										width: "160px"
-									},
-									render: (h, { row, column, index }) => {
-										row.settleAmount = (((Number(row.normAmount || 0) * Number(row.settleNum || 0)) * 100) / 100).toFixed(2)
-										return this.panfuan(row) ? <div class="redbordererr">
-											{row.settleAmount}
-										</div> : null
-									}
-								},
-								{
-									columnAttributes: {
-										label: '备注',
-										prop: 'remark',
-										width: "200px"
-									},
-									render: (h, { row, column, index }) => {
-										return this.panfuan(row) ? <div class="redbordererr">
-											<el-form-item label="" label-width="0px">
-												<el-input
-													disabled={expandDataForm.otherNormListBj || !row.bianji}
-													value={row[column.columnAttributes.prop]}
-													onInput={(val) => { row[column.columnAttributes.prop] = val }}
-													placeholder="请输入内容"
-												>
-												</el-input>
-											</el-form-item>
-										</div> : null
-									}
-								},
-								{
-									columnAttributes: {
-										label: '工程师名称',
-										prop: 'workerName',
-										width: "140px"
-									},
-									render: (h, { row, column, index }) => {
-										return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
-											{expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
-										</div>
-									}
-								},
-								{
-									columnAttributes: {
-										label: '联系电话',
-										prop: 'workerMobile',
-										width: '140px'
-									},
-									render: (h, { row, column, index }) => {
-										return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
-											{expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
-										</div>
-									}
-								},
-								{
-									columnAttributes: {
-										label: '结算费用',
-										prop: 'settleAmount',
-										width: "140px"
-									},
-									render: (h, { row, column, index }) => {
-										return <div class="redbordererr">
-											<el-form-item label="" label-width="0px" prop={`otherNormList.${row.pfuqinid}.workerList.${row.zijideid}.${column.columnAttributes.prop}`} rules={required}>
-												<el-input
-													type="number"
-													disabled={!expandDataForm.otherNormList[row.pfuqinid].bianji || expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.[row.zijideid]?.["poolStatus"] == "YES"}
-													value={expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
-													onInput={(val) => {
-														expandDataForm.otherNormList[row.pfuqinid].workerList[row.zijideid][column.columnAttributes.prop] = val
-													}}
-													placeholder="请输入内容"
-												>
-												</el-input>
-											</el-form-item>
-										</div>
-									}
-								}, {
-									columnAttributes: {
-										label: '确认人',
-										prop: 'confirmBy',
-										width: "100px"
-									},
-									render: (h, { row, column, index }) => {
-										return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
-											{expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
-										</div>
-									}
-								},
-								{
-									columnAttributes: {
-										label: '确认时间',
-										prop: 'confirmTime',
-										width: "140px"
-									},
-									render: (h, { row, column, index }) => {
-										return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
-											{expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]}
-										</div>
-									}
-								},
-								{
-									columnAttributes: {
-										label: '汇总状态',
-										prop: 'poolStatus',
-										width: "100px"
-									},
-									render: (h, { row, column, index }) => {
-										return <div class="redbordererr" style="padding:0 6px;display:flex;align-items:center;">
-											{({ "NO": "未汇总", "YES": "已汇总" })[expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.[row.zijideid]?.[column.columnAttributes.prop]]}
-										</div>
-									}
-								}, {
-									columnAttributes: {
-										label: '操作',
-										prop: '',
-										fixed: 'right',
-										width: "120px"
-									},
-									render: (h, { row, column, index }) => {
-										return expandDataForm.settleStatus == 'YWG' || (expandDataForm.settleStatus == 'YJS' && expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.find(item => item.poolStatus == "NO")) ? (<div class="redbordererr redbordererranniuright" style="padding:0 6px;display:flex;align-items:center;">
-											{expandDataForm.otherNormList[row.pfuqinid].bianji ? <el-button type="text" onClick={
-												() => {
-													var yjsje = [0, 0, 0, expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.filter(item => item.poolStatus == "YES").map(item => item.settleAmount)].reduce(function (prev, curr, idx, arr) {
-														return prev + curr;
-													})
-													var nou = expandDataForm?.otherNormList[row.pfuqinid]?.workerList?.filter(item => item.poolStatus == "NO")
-													var qian = ((((Number(expandDataForm?.otherNormList[row.pfuqinid]["settleAmount"]) - yjsje) / nou.length) * 100) / 100).toFixed(2)
-													var rongyu = ((Number(expandDataForm?.otherNormList[row.pfuqinid]["settleAmount"]) - yjsje) - (qian * nou.length)).toFixed(2)
-													nou.map((item, index) => {
-														if (index === 0) {
-															item.settleAmount = (Number(qian) + Number(rongyu)).toFixed(2)
-														} else {
-															item.settleAmount = qian
-														}
-													})
-												}
-											}>平分费用</el-button> : null}
-											{expandDataForm.otherNormList[row.pfuqinid].bianji ? <el-button type="text" onClick={
-												() => {
-													this.itemOrderBaseSettleNormReset(rowZhu, "otherNormList", () => {
-														expandDataForm.otherNormList[row.pfuqinid].bianji = false
-													})
-												}
-											}>确定</el-button> : null}
-											{!expandDataForm.otherNormList[row.pfuqinid].bianji ? <el-button type="text" onClick={
-												() => {
-													expandDataForm.otherNormList[row.pfuqinid].bianji = true
-												}
-											}>修改</el-button> : null}
-										</div>) : null
-									}
-								}]
-								return (
-									<zj-table
-										columns={columns}
-										table-data={formData.otherNormList}
-										tableAttributes={{
-											'span-method': ({ row, column, rowIndex, columnIndex }) => {
-												if (columnIndex === columns.length - 1) {
-													if (row.zijideid == 0) {
-														return {
-															rowspan: formData.otherNormList[row.pfuqinid].workerList?.length,
-															colspan: 1
-														};
-													} else {
-														return {
-															rowspan: 0,
-															colspan: 0
-														};
-													}
-												}
-											}
-										}}
-									/>
-								)
-							}
-						}]} />
-				</zj-form-container>
-			</div>) : null
-		},
+    itemOrderBaseSettleNormReset(data, type, cb) {
+      try {
+        data.expandData.normList.filter(item => !!item.id).map(item => {
+          if ([0, 0, 0, ...item.workerList?.map(val => Number(val.settleAmount))].reduce(function (prev, curr, idx, arr) {
+            return prev + curr;
+          }) !== Number(item.settleAmount)) {
+            throw new Error(`费用信息-${item.channelText}-${item.parentCategoryName}-${item.categoryName}-${item.label}:合计结算总金额与总金额不等`);
+          }
+        })
+        data.expandData.otherNormList.filter(item => !!item.id).map(item => {
+          if ([0, 0, 0, ...item.workerList?.map(val => Number(val.settleAmount))].reduce(function (prev, curr, idx, arr) {
+            return prev + curr;
+          }) !== Number(item.settleAmount)) {
+            throw new Error(`其他费用信息-${item.channelText}-${item.type}-${item.label}:合计结算总金额与总金额不等`);
+          }
+        })
+      } catch (err) {
+        this.$message.warning(err.message)
+        return
+      }
 
-		itemOrderBaseSettleNormReset(data, type, cb) {
-			try {
-				data.expandData.normList.filter(item => !!item.id).map(item => {
-					if ([0, 0, 0, ...item.workerList?.map(val => Number(val.settleAmount))].reduce(function (prev, curr, idx, arr) {
-						return prev + curr;
-					}) !== Number(item.settleAmount)) {
-						throw new Error(`费用信息-${item.channelText}-${item.parentCategoryName}-${item.categoryName}-${item.label}:合计结算总金额与总金额不等`);
-					}
-				})
-				data.expandData.otherNormList.filter(item => !!item.id).map(item => {
-					if ([0, 0, 0, ...item.workerList?.map(val => Number(val.settleAmount))].reduce(function (prev, curr, idx, arr) {
-						return prev + curr;
-					}) !== Number(item.settleAmount)) {
-						throw new Error(`其他费用信息-${item.channelText}-${item.type}-${item.label}:合计结算总金额与总金额不等`);
-					}
-				})
-			} catch (err) {
-				this.$message.warning(err.message)
-				return
-			}
+      var { classifyList, gonglr, gonglv, otherList, normListBj, otherNormListBj, showOtherNormList, ...pam } = data.expandData;
+      var pams = {
+        ...pam,
+        ...(() => {
+          if (type == "normList") {
+            return {
+              normList: pam.normList.filter(item => !!item.id),
+            }
+          }
+          return {
+            normList: [],
+          }
+        })(),
+        ...(() => {
+          if (type == "otherNormList") {
+            return {
+              otherNormList: pam.otherNormList.filter(item => !!item.id),
+            }
+          }
+          return {
+            otherNormList: [],
+          }
+        })(),
+      };
+      ([orderBaseSettleNormConfirm, orderBaseSettleNormReset])[pams[type]?.map(item => item.workerList?.find(resdata => !!resdata.settleOrderId))?.find(item => item) ? 1 : 0](pams).then(res => {
+        orderBaseSettleNormDetail2({
+          id: data.id,
+          orderProductId: data.pgOrderProductId
+        }).then(res => {
+          this.zhuzhuang(res.data).then(res => {
+            data.expandData = res
+          })
+        })
+        cb && cb()
+        this.$message({
+          type: 'success',
+          message: '结算成功'
+        })
+      })
+    },
 
-			var { classifyList, gonglr, gonglv, otherList, normListBj, otherNormListBj, showOtherNormList, ...pam } = data.expandData;
-			var pams = {
-				...pam,
-				...(() => {
-					if (type == "normList") {
-						return {
-							normList: pam.normList.filter(item => !!item.id),
-						}
-					}
-					return {
-						normList: [],
-					}
-				})(),
-				...(() => {
-					if (type == "otherNormList") {
-						return {
-							otherNormList: pam.otherNormList.filter(item => !!item.id),
-						}
-					}
-					return {
-						otherNormList: [],
-					}
-				})(),
-			};
-			([orderBaseSettleNormConfirm, orderBaseSettleNormReset])[pams[type]?.map(item => item.workerList?.find(resdata => !!resdata.settleOrderId))?.find(item => item) ? 1 : 0](pams).then(res => {
-				orderBaseSettleNormDetail2({
-					id: data.id,
-					orderProductId: data.pgOrderProductId
-				}).then(res => {
-					this.zhuzhuang(res.data).then(res => {
-						data.expandData = res
-					})
-				})
-				cb && cb()
-				this.$message({
-					type: 'success',
-					message: '结算成功'
-				})
-			})
-		},
+    zhuzhuang(data) {
+      return new Promise((r, j) => {
+        var orderChannelId
+        var normList = []
+        var pfuqinid = 0
+        data.normListBj = false
+        data.otherNormListBj = false
+        data.showOtherNormList = false
+        data.normList.map((item, index) => {
+          if (!orderChannelId) { orderChannelId = item.orderChannelId }
+          item.settleNum = item.settleNum || ""
+          normList.push({ ...item, pfuqinid: pfuqinid, zijideid: 0, bianji: !item.workerList?.find(resdata => !!resdata.settleOrderId) })
+          item.workerList?.map((resdata, ind_) => {
+            if (resdata.settleOrderId) { data.normListBj = true }
+            if (ind_ !== 0) { normList.push({ pfuqinid: pfuqinid, zijideid: ind_ }) }
+            if (ind_ == item.workerList?.length - 1) { pfuqinid += (ind_ + 1) }
+          })
+        })
+        var otherNormList = []
+        var qtpfuqinid = 0
+        data.otherNormList.map((item, index) => {
+          item.settleNum = item.settleNum || ""
+          otherNormList.push({ ...item, pfuqinid: qtpfuqinid, zijideid: 0, bianji: !item.workerList?.find(resdata => !!resdata.settleOrderId) })
+          if (!data.showOtherNormList) {
+            data.showOtherNormList = !!item.workerList?.find(resdata => !!resdata.settleOrderId)
+          }
+          item.workerList?.map((resdata, ind_) => {
+            if (resdata.settleOrderId) { data.otherNormListBj = true }
+            if (ind_ !== 0) { otherNormList.push({ pfuqinid: qtpfuqinid, zijideid: ind_ }) }
+            if (ind_ == item.workerList?.length - 1) { qtpfuqinid += (ind_ + 1) }
+          })
+        })
+        Promise.all([
+          listPageV3({ "pageNum": 1, "pageSize": -1 }),
+          listPageV2Repair({ "pageNum": 1, "pageSize": -1 }),
+          settleNormInstallQuery({
+            settleNormType: data.orderType,
+            type: data.orderSmallType
+          }),
+          settleNormOtherQuery()
+        ]).then(([res1, res2, res3, res4]) => {
+          r({
+            ...data,
+            normList,
+            otherNormList,
+            gonglv: res1.data.records,
+            gonglr: res2.data.records,
+            classifyList: res3.data,
+            otherList: res4.data,
+          })
 
-		zhuzhuang(data) {
-			return new Promise((r, j) => {
-				var orderChannelId
-				var normList = []
-				var pfuqinid = 0
-				data.normListBj = false
-				data.otherNormListBj = false
-				data.showOtherNormList = false
-				data.normList.map((item, index) => {
-					if (!orderChannelId) { orderChannelId = item.orderChannelId }
-					item.settleNum = item.settleNum || ""
-					normList.push({ ...item, pfuqinid: pfuqinid, zijideid: 0, bianji: !item.workerList?.find(resdata => !!resdata.settleOrderId) })
-					item.workerList?.map((resdata, ind_) => {
-						if (resdata.settleOrderId) { data.normListBj = true }
-						if (ind_ !== 0) { normList.push({ pfuqinid: pfuqinid, zijideid: ind_ }) }
-						if (ind_ == item.workerList?.length - 1) { pfuqinid += (ind_ + 1) }
-					})
-				})
-				var otherNormList = []
-				var qtpfuqinid = 0
-				data.otherNormList.map((item, index) => {
-					item.settleNum = item.settleNum || ""
-					otherNormList.push({ ...item, pfuqinid: qtpfuqinid, zijideid: 0, bianji: !item.workerList?.find(resdata => !!resdata.settleOrderId) })
-					if (!data.showOtherNormList) {
-						data.showOtherNormList = !!item.workerList?.find(resdata => !!resdata.settleOrderId)
-					}
-					item.workerList?.map((resdata, ind_) => {
-						if (resdata.settleOrderId) { data.otherNormListBj = true }
-						if (ind_ !== 0) { otherNormList.push({ pfuqinid: qtpfuqinid, zijideid: ind_ }) }
-						if (ind_ == item.workerList?.length - 1) { qtpfuqinid += (ind_ + 1) }
-					})
-				})
-				Promise.all([
-					listPageV3({ "pageNum": 1, "pageSize": -1 }),
-					listPageV2Repair({ "pageNum": 1, "pageSize": -1 }),
-					settleNormInstallQuery({
-						settleNormType: data.orderType,
-						type: data.orderSmallType
-					}),
-					settleNormOtherQuery()
-				]).then(([res1, res2, res3, res4]) => {
-					r({
-						...data,
-						normList,
-						otherNormList,
-						gonglv: res1.data.records,
-						gonglr: res2.data.records,
-						classifyList: res3.data,
-						otherList: res4.data,
-					})
+        }).catch(j)
+      })
+    },
 
-				}).catch(j)
-			})
-		},
+    panfuan(item) {
+      if (!!item.id) {
+        return true
+      } else {
+        return false
+      }
+    },
 
-		panfuan(item) {
-			if (!!item.id) {
-				return true
-			} else {
-				return false
-			}
-		},
+    classifyListChuLi(list, value, label, func, ...keys) {
+      var obj = {};
+      list.map(item => {
+        if (func && !func(item)) {
+          return
+        }
+        obj[item[value]] = {
+          label: item[label]
+        }
+        for (var key of keys) {
+          obj[item[value]][key] = item[key]
+        }
+      })
+      return Object.keys(obj).map(value => {
+        return {
+          value: value,
+          ...obj[value]
+        }
+      })
+    },
 
-		classifyListChuLi(list, value, label, func, ...keys) {
-			var obj = {};
-			list.map(item => {
-				if (func && !func(item)) {
-					return
-				}
-				obj[item[value]] = {
-					label: item[label]
-				}
-				for (var key of keys) {
-					obj[item[value]][key] = item[key]
-				}
-			})
-			return Object.keys(obj).map(value => {
-				return {
-					value: value,
-					...obj[value]
-				}
-			})
-		},
+    getflList(list = [], row = {},) {
+      return list.filter(item => (
+        item.type == row.type &&
+        item.parentCategoryId == row.parentCategoryId &&
+        item.categoryId == row.categoryId
+      ))
+    },
 
-		getflList(list = [], row = {},) {
-			return list.filter(item => (
-				item.type == row.type &&
-				item.parentCategoryId == row.parentCategoryId &&
-				item.categoryId == row.categoryId
-			))
-		},
-
-	}
+  }
 }
 </script>
 
 <style lang="scss">
 .redbordererranniuright {
-	.el-button {
-		margin-left: 0px;
-		margin-right: 10px;
-	}
+  .el-button {
+    margin-left: 0px;
+    margin-right: 10px;
+  }
 }
 </style>

+ 2 - 42
src/views/workOrder/workOrderPool/index.vue

@@ -45,8 +45,7 @@ import Detail from './detail'
 import Reassignment from "./components/reassignment/index.vue"
 import Reschedule from "./components/reschedule/index.vue"
 import { commonTemplateDownload } from '@/api/common.js'
-import ywgdjs from "@/assets/ywgdjs.png"
-import yjs from "@/assets/yjs.png"
+import orderListColumn from "@/mixin/orderListColumn"
 export default {
   components: {
     TemplatePage,
@@ -55,7 +54,7 @@ export default {
     Reassignment,
     Reschedule
   },
-  mixins: [import_mixin, operation_mixin],
+  mixins: [import_mixin, operation_mixin, orderListColumn],
   data() {
     return {
       id: this.$route.query.id || '',
@@ -316,45 +315,6 @@ export default {
     // 列表导出函数
     exportList: orderBaseListExport,
 
-    // 表格列解析渲染数据更改
-    columnParsing(item, defaultData) {
-      if (item.jname === 'orderFlags') {
-        defaultData.render = (h, { row, index, column }) => {
-          return (
-            <div style="padding:0 6px;display:flex;align-items:center;">
-              {(row[column.columnAttributes.prop] || []).map(item => {
-                if (item.tagName == "已完工") {
-                  return (
-                    <img src={ywgdjs} style="width:22px;height:22px;" />
-                  )
-                } else if (item.tagName == "已结算") {
-                  return (
-                    <img src={yjs} style="width:22px;height:22px;" />
-                  )
-                } else {
-                  return (
-                    <div style="display: inline-block;border:1px solid #409EFF; color:#409EFF;padding:0 2px;border-radius: 4px;margin:2px 2px 0 0;">
-                      {item.tagName}
-                    </div>
-                  )
-                }
-              })}
-            </div>
-          )
-        }
-      }
-      if (item.jname === 'appointmentTime') {
-        defaultData.render = (h, { row, index, column }) => {
-          return (
-            <div style="padding:0 6px;cursor: pointer;">
-              {row[column.columnAttributes.prop] ? row[column.columnAttributes.prop].split(" ")[0] : ""}
-            </div>
-          )
-        }
-      }
-      return defaultData
-    },
-
     // 监听勾选变化
     selectionChange(data) {
       this.recordSelected = data