Просмотр исходного кода

Merge branch 'dev' of http://110.41.163.243:9980/kd-aiot/kd-aiot-frontend-eom into dev

huzhiz 1 год назад
Родитель
Сommit
01afadd1a3
23 измененных файлов с 664 добавлено и 519 удалено
  1. 2 2
      src/BIZComponents/product-list.vue
  2. 2 0
      src/BIZComponents/selectStockLedger/selectStockLedgerDialog.vue
  3. 165 161
      src/components/addDoc/file-table-listTemplate.vue
  4. 1 0
      src/components/addDoc/main.vue
  5. 6 6
      src/public-path.js
  6. 4 4
      src/views/home/index.vue
  7. 58 58
      src/views/purchasingManage/purchaseOrder/invoice/components/inventoryTable.vue
  8. 1 6
      src/views/purchasingManage/purchaseOrder/outSourceSend/components/addOrEditDialog.vue
  9. 45 4
      src/views/purchasingManage/purchaseOrder/outSourceSend/components/inventoryTable.vue
  10. 12 5
      src/views/purchasingManage/purchasePlanManage/components/splitDialog.vue
  11. 1 1
      src/views/purchasingManage/purchasePlanManage/index.vue
  12. 1 0
      src/views/saleManage/businessOpportunity/components/drawer.vue
  13. 7 0
      src/views/saleManage/saleOrder/customerReturnOrder/index.vue
  14. 7 0
      src/views/saleManage/saleOrder/entrustedReceive/index.vue
  15. 20 2
      src/views/saleManage/saleOrder/index.vue
  16. 58 58
      src/views/saleManage/saleOrder/invoice/components/inventoryTable.vue
  17. 7 0
      src/views/saleManage/saleOrder/invoice/index.vue
  18. 16 10
      src/views/saleManage/saleOrder/invoiceConfirm/index.vue
  19. 7 0
      src/views/saleManage/saleOrder/returnGoods/index.vue
  20. 2 0
      src/views/salesServiceManagement/components/sparePartsList.vue
  21. 1 1
      src/views/salesServiceManagement/workOrder/components/declarationDialog.vue
  22. 30 4
      src/views/salesServiceManagement/workOrder/index.vue
  23. 211 197
      src/views/transportManager/driverBook/components/addOrEditDialog.vue

+ 2 - 2
src/BIZComponents/product-list.vue

@@ -1,5 +1,5 @@
 <template>
 <template>
-  <el-dialog
+  <ele-modal
     title="选择产品"
     title="选择产品"
     :visible.sync="visible"
     :visible.sync="visible"
     v-if="visible"
     v-if="visible"
@@ -150,7 +150,7 @@
       ref="cBomRef"
       ref="cBomRef"
       @changeParent="getSelectionCbom"
       @changeParent="getSelectionCbom"
     ></c-bom-list>
     ></c-bom-list>
-  </el-dialog>
+  </ele-modal>
 </template>
 </template>
 
 
 <script>
 <script>

+ 2 - 0
src/BIZComponents/selectStockLedger/selectStockLedgerDialog.vue

@@ -8,6 +8,8 @@
     :close-on-press-escape="false"
     :close-on-press-escape="false"
     append-to-body
     append-to-body
     width="70%"
     width="70%"
+    :maxable="true"
+    :resizable="true"
   >
   >
     <el-card shadow="never">
     <el-card shadow="never">
       <item-search @search="reload" ref="refSeavch"></item-search>
       <item-search @search="reload" ref="refSeavch"></item-search>

+ 165 - 161
src/components/addDoc/file-table-listTemplate.vue

@@ -6,10 +6,10 @@
       :columns="columns"
       :columns="columns"
       :datasource="datasource"
       :datasource="datasource"
       tool-class="ele-toolbar-form"
       tool-class="ele-toolbar-form"
-      :needPage="false"
       row-key="id"
       row-key="id"
       :selection.sync="selection"
       :selection.sync="selection"
       :toolbar="false"
       :toolbar="false"
+      height="600px"
     >
     >
       <!-- 操作列 -->
       <!-- 操作列 -->
       <template v-slot:action="{ row }">
       <template v-slot:action="{ row }">
@@ -28,172 +28,176 @@
 </template>
 </template>
 
 
 <script>
 <script>
-import { filePageAPI } from './api';
-import browse from './browse.vue';
+  import { filePageAPI } from './api';
+  import browse from './browse.vue';
 
 
-export default {
-  components: { browse },
-  props: {
-    // 上级
-    parentData: {
-      type: Object,
-      default: () => {}
+  export default {
+    components: { browse },
+    props: {
+      // 上级
+      parentData: {
+        type: Object,
+        default: () => {}
+      },
+
+      disabledTableList: {
+        //已选择列表
+        default: () => []
+      }
     },
     },
 
 
-    disabledTableList: {
-      //已选择列表
-      default: () => []
-    }
-  },
+    data() {
+      return {
+        selection: [],
+        columns: [
+          {
+            width: 45,
+            type: 'selection',
+            columnKey: 'selection',
+            align: 'center',
+            reserveSelection: true,
+            selectable: (row, index) => {
+              return !this.disabledTableList
+                .map((item) => item.id)
+                .includes(row.id);
+            }
+          },
+          {
+            label: '编码',
+            prop: 'code',
+            width: 180,
+            align: 'center',
+            fixed: 'left',
+            showOverflowTooltip: true
+          },
+          {
+            prop: 'name',
+            label: '文档名称',
+            align: 'center',
+            slot: 'name',
+            showOverflowTooltip: true,
+            minWidth: 200
+          },
+          {
+            prop: 'storagePath',
+            label: '文件名称',
+            align: 'center',
 
 
-  data() {
-    return {
-      selection: [],
-      columns: [
-        {
-          width: 45,
-          type: 'selection',
-          columnKey: 'selection',
-          align: 'center',
-          selectable: (row, index) => {
-            return !this.disabledTableList
-              .map((item) => item.id)
-              .includes(row.id);
-          }
-        },
-        {
-          label: '编码',
-          prop: 'code',
-          width: 180,
-          align: 'center',
-          fixed: 'left',
-          showOverflowTooltip: true
-        },
-        {
-          prop: 'name',
-          label: '文档名称',
-          align: 'center',
-          slot: 'name',
-          showOverflowTooltip: true,
-          minWidth: 200
-        },
-        {
-          prop: 'storagePath',
-          label: '文件名称',
-          align: 'center',
-
-          showOverflowTooltip: true,
-          minWidth: 200,
-          formatter: (_row, _column, cellValue) => {
-            return cellValue[0]?.name;
-          }
-        },
-        {
-          prop: 'version',
-          label: '版本',
-          align: 'center',
-          showOverflowTooltip: true,
-          minWidth: 100
-        },
-        {
-          prop: 'checkOutUserName',
-          label: '检出人',
-          align: 'center',
-          showOverflowTooltip: true,
-          minWidth: 100
-        },
-        {
-          prop: 'checkOutStatus',
-          label: '检出状态',
-          align: 'center',
-          showOverflowTooltip: true,
-          minWidth: 100,
-          formatter: (_row, _column, cellValue) => {
-            return cellValue == 1 ? '已检出' : '';
+            showOverflowTooltip: true,
+            minWidth: 200,
+            formatter: (_row, _column, cellValue) => {
+              return cellValue[0]?.name;
+            }
+          },
+          {
+            prop: 'version',
+            label: '版本',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 100
+          },
+          {
+            prop: 'checkOutUserName',
+            label: '检出人',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 100
+          },
+          {
+            prop: 'checkOutStatus',
+            label: '检出状态',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 100,
+            formatter: (_row, _column, cellValue) => {
+              return cellValue == 1 ? '已检出' : '';
+            }
+          },
+          {
+            prop: 'checkOutTime',
+            label: '检出时间',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 160
+          },
+          {
+            prop: 'createUserName',
+            label: '创建人',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 100
+          },
+          {
+            prop: 'createTime',
+            label: '创建时间',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 160,
+            formatter: (_row, _column, cellValue) => {
+              return this.$util.toDateString(cellValue);
+            }
+          },
+          {
+            prop: 'updateUserName',
+            label: '修改人',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 100
+          },
+          {
+            prop: 'updateTime',
+            label: '修改时间',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 160
+          },
+          {
+            prop: 'sizeUnit',
+            label: '文档大小',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 100
+          },
+          {
+            columnKey: 'action',
+            label: '操作',
+            width: 150,
+            align: 'center',
+            resizable: false,
+            slot: 'action',
+            showOverflowTooltip: true,
+            fixed: 'right'
           }
           }
-        },
-        {
-          prop: 'checkOutTime',
-          label: '检出时间',
-          align: 'center',
-          showOverflowTooltip: true,
-          minWidth: 160
-        },
-        {
-          prop: 'createUserName',
-          label: '创建人',
-          align: 'center',
-          showOverflowTooltip: true,
-          minWidth: 100
-        },
-        {
-          prop: 'createTime',
-          label: '创建时间',
-          align: 'center',
-          showOverflowTooltip: true,
-          minWidth: 160,
-          formatter: (_row, _column, cellValue) => {
-            return this.$util.toDateString(cellValue);
-          }
-        },
-        {
-          prop: 'updateUserName',
-          label: '修改人',
-          align: 'center',
-          showOverflowTooltip: true,
-          minWidth: 100
-        },
-        {
-          prop: 'updateTime',
-          label: '修改时间',
-          align: 'center',
-          showOverflowTooltip: true,
-          minWidth: 160
-        },
-        {
-          prop: 'sizeUnit',
-          label: '文档大小',
-          align: 'center',
-          showOverflowTooltip: true,
-          minWidth: 100
-        },
-        {
-          columnKey: 'action',
-          label: '操作',
-          width: 150,
-          align: 'center',
-          resizable: false,
-          slot: 'action',
-          showOverflowTooltip: true,
-          fixed: 'right'
-        }
-      ]
-    };
-  },
-  created() {},
-
-  methods: {
-    /* 表格数据源 */
-    datasource({ page, limit, where, order }) {
-      return filePageAPI({
-        ...where,
-        ...order,
-        pageNum: page,
-        size: limit,
-        directoryId: this.parentData?.id
-      });
-    },
-    /* 刷新表格 */
-    reload(where) {
-      this.$refs.table.reload({ pageNum: 1, where: where });
+        ]
+      };
     },
     },
+    created() {},
 
 
-    browseOpen(row) {
-      this.$refs.browseRef.open(row);
-    },
-    getTableList() {
-      return JSON.parse(JSON.stringify(this.selection));
+    methods: {
+      /* 表格数据源 */
+      datasource({ page, limit, where, order }) {
+        return filePageAPI({
+          ...where,
+          ...order,
+          pageNum: page,
+          size: limit,
+          directoryId: this.parentData?.id
+        });
+      },
+      /* 刷新表格 */
+      reload(where) {
+        this.$refs.table.reload({ pageNum: 1, where: where });
+      },
+
+      browseOpen(row) {
+        this.$refs.browseRef.open(row);
+      },
+      getTableList() {
+        return JSON.parse(JSON.stringify(this.selection));
+      },
+      setSelectedRows(data) {
+        this.$refs.table.setSelectedRows(data);
+      }
     }
     }
-  }
-};
+  };
 </script>
 </script>

+ 1 - 0
src/components/addDoc/main.vue

@@ -212,6 +212,7 @@ export default {
         return;
         return;
       }
       }
       this.tableList.push(...list);
       this.tableList.push(...list);
+      this.$refs.doc_templateRef.$refs.tableRef.setSelectedRows([])
     }
     }
   }
   }
 };
 };

+ 6 - 6
src/public-path.js

@@ -1,11 +1,11 @@
 (function () {
 (function () {
   if (window.__POWERED_BY_QIANKUN__) {
   if (window.__POWERED_BY_QIANKUN__) {
-    if (process.env.NODE_ENV === 'development') {
-      // eslint-disable-next-line
-      __webpack_public_path__ = `//localhost:8080/eom/`;
-      console.log('__webpack_public_path__', __webpack_public_path__);
-      return;
-    }
+    // if (process.env.NODE_ENV === 'development') {
+    //   // eslint-disable-next-line
+    //   __webpack_public_path__ = `//localhost:${process.env.VUE_APP_PORT}/`;
+    //   console.log('__webpack_public_path__', __webpack_public_path__);
+    //   return;
+    // }
     // eslint-disable-next-line
     // eslint-disable-next-line
     __webpack_public_path__ = window.__INJECTED_PUBLIC_PATH_BY_QIANKUN__;
     __webpack_public_path__ = window.__INJECTED_PUBLIC_PATH_BY_QIANKUN__;
     // __webpack_public_path__ = `${process.env.BASE_URL}/`
     // __webpack_public_path__ = `${process.env.BASE_URL}/`

+ 4 - 4
src/views/home/index.vue

@@ -108,7 +108,7 @@
         indexGroup().then((res) => {
         indexGroup().then((res) => {
           console.log(res, 'res');
           console.log(res, 'res');
           this.barOption = barOption(
           this.barOption = barOption(
-            res.saleAndPurchaseGroup.monthName,
+            res.saleAndPurchaseGroup?.monthName,
             [
             [
               {
               {
                 name: '采购',
                 name: '采购',
@@ -133,19 +133,19 @@
             ],
             ],
           );
           );
           this.barOption1 = barOption(
           this.barOption1 = barOption(
-            res.payableAndReceivableGroup.monthName,
+            res.payableAndReceivableGroup?.monthName,
             [
             [
               {
               {
                 name: '应收',
                 name: '应收',
                 barWidth: '25%',
                 barWidth: '25%',
-                data: res.payableAndReceivableGroup.receivableCounts,
+                data: res.payableAndReceivableGroup?.receivableCounts,
                 type: 'bar',
                 type: 'bar',
                 yAxisIndex: 0 // 使用第一个Y轴
                 yAxisIndex: 0 // 使用第一个Y轴
               },
               },
               {
               {
                 name: '应付',
                 name: '应付',
                 barWidth: '25%',
                 barWidth: '25%',
-                data: res.payableAndReceivableGroup.payableCounts,
+                data: res.payableAndReceivableGroup?.payableCounts,
                 type: 'bar',
                 type: 'bar',
                 yAxisIndex: 0 // 使用第一个Y轴
                 yAxisIndex: 0 // 使用第一个Y轴
               }
               }

+ 58 - 58
src/views/purchasingManage/purchaseOrder/invoice/components/inventoryTable.vue

@@ -469,64 +469,64 @@
             slot: 'weightUnit',
             slot: 'weightUnit',
             align: 'center'
             align: 'center'
           },
           },
-          {
-            width: 160,
-            prop: 'pricingWay',
-            label: '计价方式',
-            slot: 'pricingWay',
-            align: 'center',
-            formatter: (row, column) => {
-              return row.pricingWay == 1
-                ? '按数量计费'
-                : row.pricingWay == 2
-                ? '按重量计费'
-                : '';
-            }
-          },
-          {
-            width: 160,
-            prop: 'singlePrice',
-            label: '单价',
-            slot: 'singlePrice',
-            align: 'center'
-          },
-          {
-            width: 120,
-            prop: 'taxRate',
-            label: '税率',
-            formatter: (_row, _column, cellValue) => {
-              return _row.taxRate ? _row.taxRate + '%' : '';
-            },
-            align: 'center'
-          },
-          {
-            width: 180,
-            prop: 'notaxSinglePrice',
-            label: '不含税单价',
-            slot: 'notaxSinglePrice',
-            align: 'center'
-          },
-          {
-            width: 160,
-            prop: 'discountSinglePrice',
-            label: '折后单价',
-            slot: 'discountSinglePrice',
-            align: 'center'
-          },
-          {
-            width: 120,
-            prop: 'totalPrice',
-            label: '合计',
-            slot: 'totalPrice',
-            align: 'center'
-          },
-          {
-            width: 120,
-            prop: 'discountTotalPrice',
-            label: '折后合计',
-            slot: 'discountTotalPrice',
-            align: 'center'
-          },
+          // {
+          //   width: 160,
+          //   prop: 'pricingWay',
+          //   label: '计价方式',
+          //   slot: 'pricingWay',
+          //   align: 'center',
+          //   formatter: (row, column) => {
+          //     return row.pricingWay == 1
+          //       ? '按数量计费'
+          //       : row.pricingWay == 2
+          //       ? '按重量计费'
+          //       : '';
+          //   }
+          // },
+          // {
+          //   width: 160,
+          //   prop: 'singlePrice',
+          //   label: '单价',
+          //   slot: 'singlePrice',
+          //   align: 'center'
+          // },
+          // {
+          //   width: 120,
+          //   prop: 'taxRate',
+          //   label: '税率',
+          //   formatter: (_row, _column, cellValue) => {
+          //     return _row.taxRate ? _row.taxRate + '%' : '';
+          //   },
+          //   align: 'center'
+          // },
+          // {
+          //   width: 180,
+          //   prop: 'notaxSinglePrice',
+          //   label: '不含税单价',
+          //   slot: 'notaxSinglePrice',
+          //   align: 'center'
+          // },
+          // {
+          //   width: 160,
+          //   prop: 'discountSinglePrice',
+          //   label: '折后单价',
+          //   slot: 'discountSinglePrice',
+          //   align: 'center'
+          // },
+          // {
+          //   width: 120,
+          //   prop: 'totalPrice',
+          //   label: '合计',
+          //   slot: 'totalPrice',
+          //   align: 'center'
+          // },
+          // {
+          //   width: 120,
+          //   prop: 'discountTotalPrice',
+          //   label: '折后合计',
+          //   slot: 'discountTotalPrice',
+          //   align: 'center'
+          // },
           {
           {
             prop: 'provenance',
             prop: 'provenance',
             label: '产地',
             label: '产地',

+ 1 - 6
src/views/purchasingManage/purchaseOrder/outSourceSend/components/addOrEditDialog.vue

@@ -89,12 +89,7 @@
         <el-col :span="12">
         <el-col :span="12">
           <el-form-item prop="sendFiles" label="附件">
           <el-form-item prop="sendFiles" label="附件">
             <fileMain v-model="form.files"></fileMain>
             <fileMain v-model="form.files"></fileMain>
-            <!--            <fileUpload-->
-            <!--              v-model="form.files"-->
-            <!--              module="main"-->
-            <!--              :showLib="false"-->
-            <!--              :limit="10"-->
-            <!--            />-->
+      
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="12"> </el-col>
         <el-col :span="12"> </el-col>

+ 45 - 4
src/views/purchasingManage/purchaseOrder/outSourceSend/components/inventoryTable.vue

@@ -151,6 +151,26 @@
       <template v-slot:headerWarehouseId="{ column }">
       <template v-slot:headerWarehouseId="{ column }">
         <span class="is-required">{{ column.label }}</span>
         <span class="is-required">{{ column.label }}</span>
       </template>
       </template>
+      <template v-slot:taskName="scope">
+        <el-form-item
+          style="margin-bottom: 20px"
+          :prop="'datasource.' + scope.$index + '.taskName'"
+        >
+          <el-input
+            v-model="scope.row.taskName"
+            placeholder="请选择"
+            style="width: 60%; margin-right: 10px"
+            disabled
+          ></el-input>
+          <el-button
+            v-if="scope.row.productCode"
+            size="small"
+            type="primary"
+            @click.native="handleTaskinstance(scope.row, scope.$index)"
+            >选择
+          </el-button>
+        </el-form-item>
+      </template>
       <!-- 操作列 -->
       <!-- 操作列 -->
       <template v-slot:action="scope">
       <template v-slot:action="scope">
         <el-popconfirm
         <el-popconfirm
@@ -172,6 +192,12 @@
       :isGetInventoryTotal="true"
       :isGetInventoryTotal="true"
       @changeParent="changeParent"
       @changeParent="changeParent"
     ></product-list>
     ></product-list>
+    <taskinstance-dialog
+      ref="taskinstanceDialogRef"
+      v-if="taskinstanceDialogFlag"
+      @saveTaskInstance="saveTaskInstance"
+      :visible.sync="taskinstanceDialogFlag"
+    ></taskinstance-dialog>
   </el-form>
   </el-form>
 </template>
 </template>
 <script>
 <script>
@@ -183,6 +209,7 @@
     getWarehouseOutStock,
     getWarehouseOutStock,
     getIdWarehouseList
     getIdWarehouseList
   } from '@/api/saleManage/saleorder';
   } from '@/api/saleManage/saleorder';
+  import taskinstanceDialog from '@/BIZComponents/procedure/taskinstanceDialog.vue';
 
 
   import tabMixins from '@/mixins/tableColumnsMixin';
   import tabMixins from '@/mixins/tableColumnsMixin';
   import { getFile } from '@/api/system/file';
   import { getFile } from '@/api/system/file';
@@ -202,7 +229,7 @@
     },
     },
     components: {
     components: {
       fileMain,
       fileMain,
-      productList
+      productList,taskinstanceDialog
     },
     },
     data() {
     data() {
       const defaultForm = {
       const defaultForm = {
@@ -223,6 +250,7 @@
         allPrice: 0.0,
         allPrice: 0.0,
         numberReg,
         numberReg,
         defaultForm,
         defaultForm,
+        taskinstanceDialogFlag:false,
         warehouseList: [],
         warehouseList: [],
         form: {
         form: {
           datasource: []
           datasource: []
@@ -352,7 +380,7 @@
           //   slot: 'orderTotalCount'
           //   slot: 'orderTotalCount'
           // },
           // },
           {
           {
-            minWidth: 150,
+            minWidth: 300,
             prop: 'taskName',
             prop: 'taskName',
             label: '工序',
             label: '工序',
             slot: 'taskName',
             slot: 'taskName',
@@ -618,7 +646,12 @@
           warehouseOutStock
           warehouseOutStock
         );
         );
       },
       },
-
+      handleTaskinstance(row, index) {
+        this.taskinstanceDialogFlag = true;
+        this.$nextTick(() => {
+          this.$refs.taskinstanceDialogRef.open(row, index);
+        });
+      },
       //修改数量更新合计
       //修改数量更新合计
       changeNum(val, row, index) {
       changeNum(val, row, index) {
         this.$set(
         this.$set(
@@ -730,7 +763,15 @@
           }
           }
         });
         });
       },
       },
-
+      saveTaskInstance(row = {}) {
+        this.$set(this.form.datasource[row.index], 'taskId', row.id);
+        this.$set(this.form.datasource[row.index], 'taskName', row.name);
+        this.$set(
+          this.form.datasource[row.index],
+          'routingId',
+          row.produceRoutingId
+        );
+      },
       validateTotalCount(row) {
       validateTotalCount(row) {
         return (rule, value, callback) => {
         return (rule, value, callback) => {
           if (isNaN(value) || Number(value) <= 0) {
           if (isNaN(value) || Number(value) <= 0) {

+ 12 - 5
src/views/purchasingManage/purchasePlanManage/components/splitDialog.vue

@@ -615,10 +615,11 @@
           return;
           return;
         }
         }
         let form = deepClone(this.form);
         let form = deepClone(this.form);
-        console.log(this.form);
         form.detailList = form.detailList.filter((item) =>
         form.detailList = form.detailList.filter((item) =>
           this.selection.map((item) => item.id).includes(item.id)
           this.selection.map((item) => item.id).includes(item.id)
         );
         );
+        this.openStaffSelection(this.splitFormList.length)
+
         this.splitFormList.push(form);
         this.splitFormList.push(form);
       },
       },
       handleRemove(formIndex, index, row) {
       handleRemove(formIndex, index, row) {
@@ -655,16 +656,22 @@
         // console.log(this.selection[index], 'this.selection[index]');
         // console.log(this.selection[index], 'this.selection[index]');
       },
       },
       openStaffSelection(index) {
       openStaffSelection(index) {
+        console.log(index,'index')
         this.$refs.staffSelection.open(
         this.$refs.staffSelection.open(
-          this.form.responsibleName
-            ? [{ name: this.form.responsibleName, id: this.form.responsibleId }]
+          this.splitFormList[index]?.responsibleName
+            ? [
+                {
+                  name: this.splitFormList[index]?.responsibleName,
+                  id: this.splitFormList[index]?.responsibleId
+                }
+              ]
             : []
             : []
         );
         );
         this.currentIndex = index;
         this.currentIndex = index;
       },
       },
       confirmStaffSelection(data) {
       confirmStaffSelection(data) {
-        // this.form.responsibleName = (data && data[0].name) || '';
-        // this.form.responsibleId = (data && data[0].id) || '';
+        console.log(data,'data')
+          
         this.$set(
         this.$set(
           this.splitFormList[this.currentIndex],
           this.splitFormList[this.currentIndex],
           'responsibleId',
           'responsibleId',

+ 1 - 1
src/views/purchasingManage/purchasePlanManage/index.vue

@@ -209,7 +209,7 @@
                 icon="el-icon-edit"
                 icon="el-icon-edit"
                 v-if="
                 v-if="
                   [2].includes(row.status) &&
                   [2].includes(row.status) &&
-                  !row.isCut &&
+                  !row.isCut &&row.parentId==0&&
                   [0, 100, 101, 103].includes(row.progress)&&!orderSourceType.includes(row.sourceType)
                   [0, 100, 101, 103].includes(row.progress)&&!orderSourceType.includes(row.sourceType)
                 "
                 "
                 @click="handleSplit(row)"
                 @click="handleSplit(row)"

+ 1 - 0
src/views/saleManage/businessOpportunity/components/drawer.vue

@@ -154,6 +154,7 @@
 
 
     methods: {
     methods: {
       async open(row) {
       async open(row) {
+        this.activeName= '详细信息',
         this.row = await getDetail(row.id);
         this.row = await getDetail(row.id);
         this.drawer = true;
         this.drawer = true;
         this.$nextTick(() => {
         this.$nextTick(() => {

+ 7 - 0
src/views/saleManage/saleOrder/customerReturnOrder/index.vue

@@ -247,6 +247,13 @@ export default {
           showOverflowTooltip: true,
           showOverflowTooltip: true,
           minWidth: 140
           minWidth: 140
         },
         },
+        {
+            prop: 'productCodes',
+            label: '产品编码',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 160
+          },
         {
         {
           prop: 'batchNo',
           prop: 'batchNo',
           label: '批次号',
           label: '批次号',

+ 7 - 0
src/views/saleManage/saleOrder/entrustedReceive/index.vue

@@ -235,6 +235,13 @@
             showOverflowTooltip: true,
             showOverflowTooltip: true,
             minWidth: 140
             minWidth: 140
           },
           },
+          {
+            prop: 'productCodes',
+            label: '产品编码',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 160
+          },
           {
           {
             prop: 'batchNo',
             prop: 'batchNo',
             label: '批次号',
             label: '批次号',

+ 20 - 2
src/views/saleManage/saleOrder/index.vue

@@ -162,7 +162,9 @@
                   :underline="false"
                   :underline="false"
                   icon="el-icon-plus"
                   icon="el-icon-plus"
                   @click="handleCommand('saleOrderReminder', row)"
                   @click="handleCommand('saleOrderReminder', row)"
-                  v-if="[2].includes(row.orderStatus)&&clientEnvironmentId!=5"
+                  v-if="
+                    [2].includes(row.orderStatus) && clientEnvironmentId != 5
+                  "
                 >
                 >
                   催单
                   催单
                 </el-link>
                 </el-link>
@@ -540,7 +542,23 @@
             showOverflowTooltip: true,
             showOverflowTooltip: true,
             minWidth: 170
             minWidth: 170
           },
           },
-
+          {
+            prop: 'arrivalWays',
+            label: '到货方式',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 170,
+            formatter: (_row, _column, cellValue) => {
+              return _row.arrivalWays
+                ? _row.arrivalWays
+                    .split(',')
+                    .map((val) => {
+                      return val == 1 ? '一次性到货' : '分批到货';
+                    })
+                    .toString()
+                : '';
+            }
+          },
           {
           {
             prop: 'orderStatus',
             prop: 'orderStatus',
             label: '审核状态',
             label: '审核状态',

+ 58 - 58
src/views/saleManage/saleOrder/invoice/components/inventoryTable.vue

@@ -652,70 +652,70 @@
             slot: 'weightUnit',
             slot: 'weightUnit',
             align: 'center'
             align: 'center'
           },
           },
-          {
-            width: 160,
-            prop: 'pricingWay',
-            label: '计价方式',
-            slot: 'pricingWay',
-            align: 'center',
-            formatter: (row, column) => {
-              return row.pricingWay == 1
-                ? '按数量计费'
-                : row.pricingWay == 2
-                ? '按重量计费'
-                : '';
-            }
-          },
-          {
-            width: 180,
-            prop: 'singlePrice',
-            label: '单价',
-            slot: 'singlePrice',
-            align: 'center'
-          },
-          {
-            width: 160,
-            prop: 'taxRate',
-            label: '税率',
-            formatter: (_row, _column, cellValue) => {
-              return _row.taxRate ? _row.taxRate + '%' : '';
-            },
-            align: 'center'
-          },
-          {
-            width: 180,
-            prop: 'notaxSinglePrice',
-            label: '不含税单价',
-            slot: 'notaxSinglePrice',
-            align: 'center'
-          },
-          {
-            width: 160,
-            prop: 'discountSinglePrice',
-            label: '折后单价',
-            slot: 'discountSinglePrice',
-            align: 'center'
-          },
-          {
-            width: 120,
-            prop: 'totalPrice',
-            label: '合计',
-            slot: 'totalPrice',
-            align: 'center'
-          },
+          // {
+          //   width: 160,
+          //   prop: 'pricingWay',
+          //   label: '计价方式',
+          //   slot: 'pricingWay',
+          //   align: 'center',
+          //   formatter: (row, column) => {
+          //     return row.pricingWay == 1
+          //       ? '按数量计费'
+          //       : row.pricingWay == 2
+          //       ? '按重量计费'
+          //       : '';
+          //   }
+          // },
+          // {
+          //   width: 180,
+          //   prop: 'singlePrice',
+          //   label: '单价',
+          //   slot: 'singlePrice',
+          //   align: 'center'
+          // },
+          // {
+          //   width: 160,
+          //   prop: 'taxRate',
+          //   label: '税率',
+          //   formatter: (_row, _column, cellValue) => {
+          //     return _row.taxRate ? _row.taxRate + '%' : '';
+          //   },
+          //   align: 'center'
+          // },
+          // {
+          //   width: 180,
+          //   prop: 'notaxSinglePrice',
+          //   label: '不含税单价',
+          //   slot: 'notaxSinglePrice',
+          //   align: 'center'
+          // },
+          // {
+          //   width: 160,
+          //   prop: 'discountSinglePrice',
+          //   label: '折后单价',
+          //   slot: 'discountSinglePrice',
+          //   align: 'center'
+          // },
+          // {
+          //   width: 120,
+          //   prop: 'totalPrice',
+          //   label: '合计',
+          //   slot: 'totalPrice',
+          //   align: 'center'
+          // },
           // {
           // {
           //   width: 160,
           //   width: 160,
           //   prop: 'notaxTotalPrice',
           //   prop: 'notaxTotalPrice',
           //   label: '含税合计',
           //   label: '含税合计',
           //   align: 'center'
           //   align: 'center'
           // },
           // },
-          {
-            width: 120,
-            prop: 'discountTotalPrice',
-            label: '折后合计',
-            slot: 'discountTotalPrice',
-            align: 'center'
-          },
+          // {
+          //   width: 120,
+          //   prop: 'discountTotalPrice',
+          //   label: '折后合计',
+          //   slot: 'discountTotalPrice',
+          //   align: 'center'
+          // },
           {
           {
             width: 80,
             width: 80,
             prop: 'deliveryDays',
             prop: 'deliveryDays',

+ 7 - 0
src/views/saleManage/saleOrder/invoice/index.vue

@@ -299,6 +299,13 @@
             showOverflowTooltip: true,
             showOverflowTooltip: true,
             minWidth: 140
             minWidth: 140
           },
           },
+          {
+            prop: 'productCodes',
+            label: '产品编码',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 160
+          },
           {
           {
             prop: 'batchNo',
             prop: 'batchNo',
             label: '批次号',
             label: '批次号',

+ 16 - 10
src/views/saleManage/saleOrder/invoiceConfirm/index.vue

@@ -119,7 +119,6 @@
                 </el-link>
                 </el-link>
               </template>
               </template>
             </el-popconfirm>
             </el-popconfirm>
-    
           </template>
           </template>
         </ele-pro-table>
         </ele-pro-table>
       </div>
       </div>
@@ -175,7 +174,7 @@
   import tabMixins from '@/mixins/tableColumnsMixin';
   import tabMixins from '@/mixins/tableColumnsMixin';
 
 
   export default {
   export default {
-    mixins: [dictMixins,tabMixins],
+    mixins: [dictMixins, tabMixins],
     components: {
     components: {
       processSubmitDialog,
       processSubmitDialog,
       printTemplate,
       printTemplate,
@@ -258,13 +257,20 @@
           //   showOverflowTooltip: true,
           //   showOverflowTooltip: true,
           //   minWidth: 200
           //   minWidth: 200
           // },
           // },
-          // {
-          //   prop: 'productNames',
-          //   label: '产品名称',
-          //   align: 'center',
-          //   showOverflowTooltip: true,
-          //   minWidth: 140
-          // },
+          {
+            prop: 'productNames',
+            label: '产品名称',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 140
+          },
+          {
+            prop: 'productCodes',
+            label: '产品编码',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 160
+          },
           {
           {
             prop: 'batchNo',
             prop: 'batchNo',
             label: '批次号',
             label: '批次号',
@@ -331,7 +337,7 @@
             fixed: 'right'
             fixed: 'right'
           }
           }
         ],
         ],
-        cacheKeyUrl:'eos-436e7400-saleManage-invoiceConfirm',
+        cacheKeyUrl: 'eos-436e7400-saleManage-invoiceConfirm'
       };
       };
     },
     },
     computed: {},
     computed: {},

+ 7 - 0
src/views/saleManage/saleOrder/returnGoods/index.vue

@@ -294,6 +294,13 @@
             showOverflowTooltip: true,
             showOverflowTooltip: true,
             minWidth: 140
             minWidth: 140
           },
           },
+          {
+            prop: 'productCodes',
+            label: '产品编码',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 160
+          },
           {
           {
             prop: 'batchNo',
             prop: 'batchNo',
             label: '批次号',
             label: '批次号',

+ 2 - 0
src/views/salesServiceManagement/components/sparePartsList.vue

@@ -163,6 +163,7 @@
             ></el-input>
             ></el-input>
           </el-form-item>
           </el-form-item>
         </template>
         </template>
+        <!-- 现在如果是查主数据的话 还可以选择仓库 -->
         <template v-slot:warehouseId="scope">
         <template v-slot:warehouseId="scope">
           <el-form-item
           <el-form-item
             v-if="scope.row.typeId == '2'"
             v-if="scope.row.typeId == '2'"
@@ -469,6 +470,7 @@ export default {
   },
   },
   created() {},
   created() {},
   mounted() {
   mounted() {
+    console.log(this.obtain,'obtain')
     if (this.source == '配件回收') {
     if (this.source == '配件回收') {
       this.typeIdList = [
       this.typeIdList = [
         {
         {

+ 1 - 1
src/views/salesServiceManagement/workOrder/components/declarationDialog.vue

@@ -199,7 +199,7 @@
                 </el-form-item>
                 </el-form-item>
               </el-col>
               </el-col>
               <el-col :span="24" class="ele-body-customA">
               <el-col :span="24" class="ele-body-customA">
-                <info ref="infoRef" source="报工信息" type="view" :isPurchaseNeed="false"></info>
+                <info ref="infoRef"  source="报工信息" state="可操作" type="view" :isPurchaseNeed="false"></info>
               </el-col>
               </el-col>
               <el-col :span="24">
               <el-col :span="24">
                 <headerTitle title="配件申请清单" style="margin-top: 10px"></headerTitle>
                 <headerTitle title="配件申请清单" style="margin-top: 10px"></headerTitle>

+ 30 - 4
src/views/salesServiceManagement/workOrder/index.vue

@@ -1,7 +1,14 @@
 <template>
 <template>
   <div class="ele-body">
   <div class="ele-body">
     <el-card shadow="never" v-loading="loading">
     <el-card shadow="never" v-loading="loading">
-      <work-search :levelList="levelList" @search="reload"></work-search>
+      <work-search ref="workSearch" :levelList="levelList" @search="reload"></work-search>
+      <el-tabs v-model="orderStatus" type="card" @tab-click="handleClick">
+        <el-tab-pane label="全部" name="all"></el-tab-pane>
+        <el-tab-pane label="待执行" name="0"></el-tab-pane>
+        <el-tab-pane label="执行中" name="1"></el-tab-pane>
+        <el-tab-pane label="待验收" name="3"></el-tab-pane>
+        <el-tab-pane label="已完成" name="5"></el-tab-pane>
+      </el-tabs>
       <!-- 数据表格 -->
       <!-- 数据表格 -->
       <ele-pro-table
       <ele-pro-table
         ref="table"
         ref="table"
@@ -66,7 +73,7 @@
               >验收</el-dropdown-item>
               >验收</el-dropdown-item>
               <el-dropdown-item command="evaluate" v-if="row.orderStatus == 4">评价</el-dropdown-item>
               <el-dropdown-item command="evaluate" v-if="row.orderStatus == 4">评价</el-dropdown-item>
             </el-dropdown-menu>
             </el-dropdown-menu>
-          </el-dropdown> -->
+          </el-dropdown>-->
           <el-link
           <el-link
             type="primary"
             type="primary"
             v-if="row.orderStatus == 0"
             v-if="row.orderStatus == 0"
@@ -182,7 +189,8 @@ export default {
       },
       },
       contactInfoVOS: [],
       contactInfoVOS: [],
       workOrderStatus: [
       workOrderStatus: [
-        { code: 0, label: '待接收' },
+        // { code: 0, label: '待接收' },
+        { code: 0, label: '待执行' },
         { code: 1, label: '已接收' },
         { code: 1, label: '已接收' },
         { code: 2, label: '执行中' },
         { code: 2, label: '执行中' },
         { code: 3, label: '待验收' },
         { code: 3, label: '待验收' },
@@ -361,7 +369,8 @@ export default {
       loading: false,
       loading: false,
       row: {},
       row: {},
       levelData: {},
       levelData: {},
-      levelList: []
+      levelList: [],
+      orderStatus: 'all'
     };
     };
   },
   },
   computed: {},
   computed: {},
@@ -369,6 +378,9 @@ export default {
     this.getLevelCode('fault_level');
     this.getLevelCode('fault_level');
   },
   },
   methods: {
   methods: {
+    handleClick(e) {
+      this.reload({});
+    },
     //查询问题等级字典
     //查询问题等级字典
     async getLevelCode(code) {
     async getLevelCode(code) {
       const res = await getByCode(code);
       const res = await getByCode(code);
@@ -389,6 +401,20 @@ export default {
     },
     },
     /* 刷新表格 */
     /* 刷新表格 */
     reload(where) {
     reload(where) {
+      console.log(where, 'where');
+      console.log(this.orderStatus, 'orderStatus');
+      // 判断如果是选择的全部 不用传参
+      if (this.orderStatus == 'all') {
+        where = where ? delete where.orderStatus : '';
+        return this.$refs.table.reload({ page: 1, where });
+      }
+      // 不是的话 赋值工单状态
+      if (!where) {
+        where = { orderStatus: this.orderStatus };
+      } else {
+        where.orderStatus = this.orderStatus;
+      }
+      console.log(where, 'where');
       this.$refs.table.reload({ page: 1, where });
       this.$refs.table.reload({ page: 1, where });
     },
     },
     async cancel(row) {
     async cancel(row) {

+ 211 - 197
src/views/transportManager/driverBook/components/addOrEditDialog.vue

@@ -11,29 +11,33 @@
     :maxable="true"
     :maxable="true"
     :resizable="true"
     :resizable="true"
   >
   >
-    <el-form ref="form" :rules="rules" :model="form" class="el-form-box" label-width="120px">
+    <el-form
+      ref="form"
+      :rules="rules"
+      :model="form"
+      class="el-form-box"
+      label-width="120px"
+    >
       <headerTitle title="基本信息"></headerTitle>
       <headerTitle title="基本信息"></headerTitle>
-      <el-row >
+      <el-row>
         <el-col :span="12">
         <el-col :span="12">
           <el-row>
           <el-row>
             <el-col :span="20">
             <el-col :span="20">
               <el-form-item
               <el-form-item
                 label="姓名"
                 label="姓名"
                 prop="driverName"
                 prop="driverName"
-                style="margin-bottom: 22px">
+                style="margin-bottom: 22px"
+              >
                 <el-input v-model="form.driverName" clearable></el-input>
                 <el-input v-model="form.driverName" clearable></el-input>
               </el-form-item>
               </el-form-item>
             </el-col>
             </el-col>
-            <el-col :span="4" style="display: flex; justify-content: flex-end;">
+            <el-col :span="4" style="display: flex; justify-content: flex-end">
               <el-button type="primary" @click="handlePerson">选择</el-button>
               <el-button type="primary" @click="handlePerson">选择</el-button>
             </el-col>
             </el-col>
           </el-row>
           </el-row>
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item
-            label="性别"
-            prop="sex"
-            style="margin-bottom: 22px">
+          <el-form-item label="性别" prop="sex" style="margin-bottom: 22px">
             <el-select v-model="form.sex" clearable style="width: 100%">
             <el-select v-model="form.sex" clearable style="width: 100%">
               <el-option label="男" :value="1"></el-option>
               <el-option label="男" :value="1"></el-option>
               <el-option label="女" :value="2"></el-option>
               <el-option label="女" :value="2"></el-option>
@@ -41,49 +45,42 @@
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
       </el-row>
       </el-row>
-      <el-row >
+      <el-row>
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item
-            label="手机号"
-            prop="phone"
-            style="margin-bottom: 22px">
+          <el-form-item label="手机号" prop="phone" style="margin-bottom: 22px">
             <el-input v-model="form.phone" clearable></el-input>
             <el-input v-model="form.phone" clearable></el-input>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item
-            label="年龄"
-            prop="age"
-            style="margin-bottom: 22px">
+          <el-form-item label="年龄" prop="age" style="margin-bottom: 22px">
             <el-input v-model="form.age" clearable></el-input>
             <el-input v-model="form.age" clearable></el-input>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
-
       </el-row>
       </el-row>
-      <el-row >
+      <el-row>
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item
-            label="籍贯"
-            prop="JG"
-            style="margin-bottom: 22px">
-            <regions-select style="width: 100%" v-model="city" @getCheckedNodes="getCheckedNodes" placeholder="请选择省市区" />
+          <el-form-item label="籍贯" prop="JG" style="margin-bottom: 22px">
+            <regions-select
+              style="width: 100%"
+              v-model="city"
+              @getCheckedNodes="getCheckedNodes"
+              placeholder="请选择省市区"
+            />
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
-          <el-form-item
-            label="邮箱"
-            prop="email"
-            style="margin-bottom: 22px">
+          <el-form-item label="邮箱" prop="email" style="margin-bottom: 22px">
             <el-input v-model="form.email" clearable></el-input>
             <el-input v-model="form.email" clearable></el-input>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
       </el-row>
       </el-row>
-      <el-row >
+      <el-row>
         <el-col :span="12">
         <el-col :span="12">
           <el-form-item
           <el-form-item
             label="身份证号"
             label="身份证号"
             prop="personId"
             prop="personId"
-            style="margin-bottom: 22px">
+            style="margin-bottom: 22px"
+          >
             <el-input v-model="form.personId" clearable></el-input>
             <el-input v-model="form.personId" clearable></el-input>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
@@ -91,219 +88,236 @@
           <el-form-item
           <el-form-item
             label="驾驶证类型"
             label="驾驶证类型"
             prop="drivingLicenseType"
             prop="drivingLicenseType"
-            style="margin-bottom: 22px">
-            <dict-selection dict-name="驾照类型" v-model="form.drivingLicenseType"></dict-selection>
+            style="margin-bottom: 22px"
+          >
+            <dict-selection
+              dict-name="驾照类型"
+              v-model="form.drivingLicenseType"
+            ></dict-selection>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
       </el-row>
       </el-row>
-      <el-row >
-
+      <el-row>
         <el-col :span="12">
         <el-col :span="12">
-          <el-row >
+          <el-row>
             <el-col :span="12">
             <el-col :span="12">
               <el-form-item
               <el-form-item
                 label="驾驶证附件"
                 label="驾驶证附件"
                 prop="drivingLicenseFile"
                 prop="drivingLicenseFile"
-                style="margin-bottom: 22px">
+                style="margin-bottom: 22px"
+              >
                 <fileMain v-model="form.drivingLicenseFile"></fileMain>
                 <fileMain v-model="form.drivingLicenseFile"></fileMain>
-<!--                <fileUpload-->
-<!--                  v-model="form.drivingLicenseFile"-->
-<!--                  module="main"-->
-<!--                  :limit="10"-->
-<!--                />-->
+                <!--                <fileUpload-->
+                <!--                  v-model="form.drivingLicenseFile"-->
+                <!--                  module="main"-->
+                <!--                  :limit="10"-->
+                <!--                />-->
               </el-form-item>
               </el-form-item>
             </el-col>
             </el-col>
             <el-col :span="12">
             <el-col :span="12">
               <el-form-item
               <el-form-item
                 label="身份证附件"
                 label="身份证附件"
                 prop="personFile"
                 prop="personFile"
-                style="margin-bottom: 22px">
+                style="margin-bottom: 22px"
+              >
                 <fileMain v-model="form.personFile"></fileMain>
                 <fileMain v-model="form.personFile"></fileMain>
-<!--                <fileUpload-->
-<!--                  v-model="form.personFile"-->
-<!--                  module="main"-->
-<!--                  :limit="10"-->
-<!--                />-->
+                <!--                <fileUpload-->
+                <!--                  v-model="form.personFile"-->
+                <!--                  module="main"-->
+                <!--                  :limit="10"-->
+                <!--                />-->
               </el-form-item>
               </el-form-item>
             </el-col>
             </el-col>
           </el-row>
           </el-row>
-
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
           <el-form-item
           <el-form-item
             label="驾龄"
             label="驾龄"
             prop="driverAge"
             prop="driverAge"
-            style="margin-bottom: 22px">
+            style="margin-bottom: 22px"
+          >
             <el-input v-model="form.driverAge" clearable></el-input>
             <el-input v-model="form.driverAge" clearable></el-input>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
       </el-row>
       </el-row>
-
     </el-form>
     </el-form>
 
 
     <div slot="footer">
     <div slot="footer">
       <el-button type="primary" @click="handleSave(0)">保存</el-button>
       <el-button type="primary" @click="handleSave(0)">保存</el-button>
-<!--      <el-button type="primary" @click="handleSave(1)">提交</el-button>-->
+      <!--      <el-button type="primary" @click="handleSave(1)">提交</el-button>-->
       <el-button @click="cancel">返回</el-button>
       <el-button @click="cancel">返回</el-button>
     </div>
     </div>
     <!--    选择人员 -->
     <!--    选择人员 -->
-    <select-person-dialog :select-person-dialog.sync="selectPersonDialogFlag" v-if="selectPersonDialogFlag"
-                          ref="selectPersonDialogRef" @changeParent="getPersonInfo"></select-person-dialog>
+    <select-person-dialog
+      :select-person-dialog.sync="selectPersonDialogFlag"
+      v-if="selectPersonDialogFlag"
+      ref="selectPersonDialogRef"
+      @changeParent="getPersonInfo"
+    ></select-person-dialog>
   </ele-modal>
   </ele-modal>
 </template>
 </template>
 <script>
 <script>
-import selectPersonDialog from "./selectPersonDialog.vue";
-import {mapGetters} from "vuex";
-import fileUpload from "@/components/upload/fileUpload.vue";
-import {
-  feeApplySaveAPI,
-  feeApplyUpdateAPI,
-  finFeeApplySubmit,
-  getFeeApplyInfoAPI
-} from "@/api/financialManage/fee-manage/fee-application";
-import RegionsSelect from "@/components/RegionsSelect/index.vue";
-import {emailReg, phoneReg} from "ele-admin";
-import {driverBookSaveAPI, driverInfoAPI, driverUpdateAPI} from "@/api/transportManager/driverBook";
-import fileMain from "@/components/addDoc/index.vue";
+  import selectPersonDialog from './selectPersonDialog.vue';
+  import { mapGetters } from 'vuex';
+  import fileUpload from '@/components/upload/fileUpload.vue';
+  import {
+    feeApplySaveAPI,
+    feeApplyUpdateAPI,
+    finFeeApplySubmit,
+    getFeeApplyInfoAPI
+  } from '@/api/financialManage/fee-manage/fee-application';
+  import RegionsSelect from '@/components/RegionsSelect/index.vue';
+  import { emailReg, phoneReg } from 'ele-admin';
+  import {
+    driverBookSaveAPI,
+    driverInfoAPI,
+    driverUpdateAPI
+  } from '@/api/transportManager/driverBook';
+  import fileMain from '@/components/addDoc/index.vue';
 
 
-
-export default {
-  name: "add-or-edit-dialog",
-  components: {
-    fileMain,
-    RegionsSelect,
-    fileUpload,
-    selectPersonDialog
-  },
-  props: {
-    addOrEditDialogFlag: {
-      type: Boolean,
-      default: false
+  export default {
+    name: 'add-or-edit-dialog',
+    components: {
+      fileMain,
+      RegionsSelect,
+      fileUpload,
+      selectPersonDialog
     },
     },
-  },
-  computed: {
-    ...mapGetters(['user'])
-  },
-  data() {
-    return {
-      dialogType: '',
-      selectPersonDialogFlag: false,
-      title: '',
-      form: {
-        id: '',
-        driverName: '',
-        driverId: '',
-        sex: '',
-        addressId: '',
-        addressName: '',
-        phone: '',
-        driverAge: '',
-        email: '',
-        age: '',
-        personId: '',
-        personFile: [],
-        drivingLicenseType: '',
-        drivingLicenseFile: [],
-
-      },
-      city: null,
-      feeTypeList: [],
-      accountingSubjectList: [],
-      deptList: [],
-      deptTreeList: [],
-      rules: {
-        name: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
-        sex: [{ required: true, message: '请选择性别', trigger: 'blur' }],
-        age: [{ required: true, message: '请输入', trigger: 'blur' }],
-        email: [
-          { pattern: emailReg, message: '邮箱格式不正确', trigger: 'blur' }
-        ],
-        phone: [
-          { required: true, message: '请输入手机号', trigger: 'blur' },
-          { pattern: phoneReg, message: '手机号格式不正确', trigger: 'blur' }
-        ],
-        personId: [{ required: true, message: '请输入身份证号', trigger: 'blur' }],
-        drivingLicenseType: [{ required: true, message: '请选择驾驶证类型', trigger: 'change' }],
-        drivingLicenseFile: [{ required: true, message: '请上传驾驶证附件', trigger: 'change' }],
-        personFile: [{ required: true, message: '请上传身份证附件', trigger: 'change' }],
+    props: {
+      addOrEditDialogFlag: {
+        type: Boolean,
+        default: false
       }
       }
-    }
-  },
-  created() {
-
-  },
-  methods: {
-    //初始化
-    async init(row = {}, type) {
-      this.title = type == 'add' ? '新增' : '修改'
-      this.dialogType = type
-      if (type == 'add') {
-
-      } else {
-        await this.getInfo(row.id)
-      }
-
     },
     },
-    //获取详情
-    async getInfo(id) {
-      this.form = await driverInfoAPI(id)
-      this.city = this.form.addressId ? this.form.addressId.split(',') : null;
+    computed: {
+      ...mapGetters(['user'])
     },
     },
-    getCheckedNodes(arr=[]){
-      let list = Array.from(arr);
-      if(list.length==0){
-        this.form.addressId = ''
-        this.form.addressName = ''
-      }else{
-        this.form.addressId = list[0].path.join(',');
-        this.form.addressName = list[0].pathLabels.join(',');
-      }
-    },
-    handlePerson() {
-      this.selectPersonDialogFlag = true
-    },
-    getPersonInfo(row) {
-      this.form.driverName = row.name
-      this.form.driverId = row.id
-      this.form.phone = row.phone
-      this.form.email = row.email
-      this.form.age = row.age
-      this.form.sex = row.sex
-    },
-    //
-    handleSave(flag) {
-      this.$refs.form.validate(async valid => {
-        if (!valid) return this.$message.warning('有必填项未填,请检查')
+    data() {
+      return {
+        dialogType: '',
+        selectPersonDialogFlag: false,
+        title: '',
+        form: {
+          id: '',
+          driverName: '',
+          driverId: '',
+          sex: '',
+          addressId: '',
+          addressName: '',
+          phone: '',
+          driverAge: '',
+          email: '',
+          age: '',
+          personId: '',
+          personFile: [],
+          drivingLicenseType: '',
+          drivingLicenseFile: []
+        },
+        city: null,
+        feeTypeList: [],
+        accountingSubjectList: [],
+        deptList: [],
+        deptTreeList: [],
+        rules: {
+          name: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
+          sex: [{ required: true, message: '请选择性别', trigger: 'blur' }],
+          age: [{ required: true, message: '请输入', trigger: 'blur' }],
+          email: [
+            { pattern: emailReg, message: '邮箱格式不正确', trigger: 'blur' }
+          ],
+          phone: [
+            { required: true, message: '请输入手机号', trigger: 'blur' },
+            { pattern: phoneReg, message: '手机号格式不正确', trigger: 'blur' }
+          ],
+          driverAge: [
+            { required: true, message: '请输入驾龄', trigger: 'blur' }
+          ],
 
 
-        const API = this.dialogType == 'add' ? driverBookSaveAPI : driverUpdateAPI
-        const id = await API(this.form)
-        if (flag) {
-          await this.handleSub(id)
+          personId: [
+            { required: true, message: '请输入身份证号', trigger: 'blur' }
+          ],
+          drivingLicenseType: [
+            { required: true, message: '请选择驾驶证类型', trigger: 'change' }
+          ],
+          drivingLicenseFile: [
+            { required: true, message: '请上传驾驶证附件', trigger: 'change' }
+          ],
+          personFile: [
+            { required: true, message: '请上传身份证附件', trigger: 'change' }
+          ]
         }
         }
-        this.$message.success('操作成功')
-        this.done()
-        this.cancel()
-      })
+      };
     },
     },
-    //提交-开启流程
-    async handleSub(id) {
-      try {
-        await finFeeApplySubmit({businessId: id})
-      } catch (e) {
-        this.$message.error(e.message);
+    created() {},
+    methods: {
+      //初始化
+      async init(row = {}, type) {
+        this.title = type == 'add' ? '新增' : '修改';
+        this.dialogType = type;
+        if (type == 'add') {
+        } else {
+          await this.getInfo(row.id);
+        }
+      },
+      //获取详情
+      async getInfo(id) {
+        this.form = await driverInfoAPI(id);
+        this.city = this.form.addressId ? this.form.addressId.split(',') : null;
+      },
+      getCheckedNodes(arr = []) {
+        let list = Array.from(arr);
+        if (list.length == 0) {
+          this.form.addressId = '';
+          this.form.addressName = '';
+        } else {
+          this.form.addressId = list[0].path.join(',');
+          this.form.addressName = list[0].pathLabels.join(',');
+        }
+      },
+      handlePerson() {
+        this.selectPersonDialogFlag = true;
+      },
+      getPersonInfo(row) {
+        this.form.driverName = row.name;
+        this.form.driverId = row.id;
+        this.form.phone = row.phone;
+        this.form.email = row.email;
+        this.form.age = row.age;
+        this.form.sex = row.sex;
+      },
+      //
+      handleSave(flag) {
+        this.$refs.form.validate(async (valid) => {
+          if (!valid) return this.$message.warning('有必填项未填,请检查');
+
+          const API =
+            this.dialogType == 'add' ? driverBookSaveAPI : driverUpdateAPI;
+          const id = await API(this.form);
+          if (flag) {
+            await this.handleSub(id);
+          }
+          this.$message.success('操作成功');
+          this.done();
+          this.cancel();
+        });
+      },
+      //提交-开启流程
+      async handleSub(id) {
+        try {
+          await finFeeApplySubmit({ businessId: id });
+        } catch (e) {
+          this.$message.error(e.message);
+        }
+      },
+      //刷新主列表数据
+      done() {
+        this.$emit('reload');
+      },
+      //关闭弹窗
+      cancel() {
+        this.$emit('update:addOrEditDialogFlag', false);
       }
       }
-    },
-    //刷新主列表数据
-    done() {
-      this.$emit('reload')
-    },
-    //关闭弹窗
-    cancel() {
-      this.$emit('update:addOrEditDialogFlag', false)
     }
     }
-  }
-}
+  };
 </script>
 </script>
-<style scoped lang="scss">
-
-</style>
+<style scoped lang="scss"></style>