Browse Source

Merge branch 'dev' of git.echepei.com:caojunjie/Smart_platform_ui into dev

caojunjie 3 years ago
parent
commit
c20546a232

+ 53 - 0
src/api/basicData/salaryConfiguration.js

@@ -0,0 +1,53 @@
+import request from '@/router/axios';
+export const getList = (current, size, params) => {
+  return request({
+      url: '/api/blade-client/schoolconfig/list',
+      method: 'get',
+      params: {
+          ...params,
+          current,
+          size
+      }
+  })
+}
+export function detail(id) {
+  return request({
+    url: '/api/blade-client/schoolconfig/detail?id=' + id,
+    method: 'get'
+  })
+}
+export function detailItem(id) {
+  return request({
+    url: '/api/blade-client/schoolconfigitem/list?pid=' + id,
+    method: 'get'
+  })
+}
+//修改和新增
+export function submit(data) {
+  return request({
+    url: '/api/blade-client/schoolconfig/submit',
+    method: 'post',
+    data: data
+  })
+}
+//主表删除
+export function remove(data) {
+  return request({
+    url: '/api/blade-client/schoolconfig/remove',
+    method: 'post',
+    params: {
+      ids: data
+    }
+  })
+}
+
+//明细删除
+export function delItem(data) {
+  return request({
+    url: '/api/blade-client/schoolconfigitem/remove',
+    method: 'post',
+    params: {
+      ids: data
+    }
+  })
+}

+ 583 - 643
src/router/views/index.js

@@ -5,824 +5,764 @@ export default [{
     component: Layout,
     redirect: '/wel/index',
     children: [{
-        path: 'index',
-        name: '首页',
-        meta: {
-            i18n: 'dashboard'
-        },
-        component: () =>
-            import( /* webpackChunkName: "views" */ '@/views/wel/index')
+      path: 'index',
+      name: '首页',
+      meta: {
+        i18n: 'dashboard'
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/wel/index')
     }, {
-        path: 'dashboard',
-        name: '控制台',
-        meta: {
-            i18n: 'dashboard',
-            menu: false,
-        },
-        component: () =>
-            import( /* webpackChunkName: "views" */ '@/views/wel/dashboard')
-    }]
-}, {
+      path: 'dashboard',
+      name: '控制台',
+      meta: {
+        i18n: 'dashboard',
+        menu: false,
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/wel/dashboard')
+    }]
+  }, {
     path: '/test',
     component: Layout,
     redirect: '/test/index',
     children: [{
-        path: 'index',
-        name: '测试页',
-        meta: {
-            i18n: 'test'
-        },
-        component: () =>
-            import( /* webpackChunkName: "views" */ '@/views/util/test')
+      path: 'index',
+      name: '测试页',
+      meta: {
+        i18n: 'test'
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/util/test')
     }]
-}, {
+  }, {
     path: '/dict-horizontal',
     component: Layout,
     redirect: '/dict-horizontal/index',
     children: [{
-        path: 'index',
-        name: '字典管理',
-        meta: {
-            i18n: 'dict'
-        },
-        component: () =>
-            import( /* webpackChunkName: "views" */ '@/views/util/demo/dict-horizontal')
+      path: 'index',
+      name: '字典管理',
+      meta: {
+        i18n: 'dict'
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/util/demo/dict-horizontal')
     }]
-}, {
+  }, {
     path: '/dict-vertical',
     component: Layout,
     redirect: '/dict-vertical/index',
     children: [{
-        path: 'index',
-        name: '字典管理',
-        meta: {
-            i18n: 'dict'
-        },
-        component: () =>
-            import( /* webpackChunkName: "views" */ '@/views/util/demo/dict-vertical')
+      path: 'index',
+      name: '字典管理',
+      meta: {
+        i18n: 'dict'
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/util/demo/dict-vertical')
     }]
-}, {
+  }, {
     path: '/info',
     component: Layout,
     redirect: '/info/index',
     children: [{
-        path: 'index',
-        name: '个人信息',
-        meta: {
-            i18n: 'info'
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/system/userinfo')
-    }]
-},{
-        path: '/detailsPageEdit',
-        component: Layout,
-        hidden: true,
-        children: [
-            {
-                path: '/detailsPageEdit',
-                meta: {
-                    i18n: 'detailsPageEdit'
-                },
-                component: () => import( /* webpackChunkName: "views" */ '@/views/basicData/customerInformation/detailsPageEdit')
-            }
-        ]
-    },
-    {
+      path: 'index',
+      name: '个人信息',
+      meta: {
+        i18n: 'info'
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/system/userinfo')
+    }]
+  }, {
+    path: '/detailsPageEdit',
+    component: Layout,
+    hidden: true,
+    children: [{
+      path: '/detailsPageEdit',
+      meta: {
+        i18n: 'detailsPageEdit'
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/basicData/customerInformation/detailsPageEdit')
+    }]
+  },
+  {
+    path: '/basicData/customerManagement/companyMaterial/detailsPageEdit',
+    component: Layout,
+    hidden: true,
+    children: [{
       path: '/basicData/customerManagement/companyMaterial/detailsPageEdit',
-      component: Layout,
-      hidden: true,
-      children: [
-          {
-              path: '/basicData/customerManagement/companyMaterial/detailsPageEdit',
-              meta: {
-                  i18n: 'detailsPageEdit'
-              },
-              component: () => import( /* webpackChunkName: "views" */ '@/views/basicData/customerManagement/companyMaterial/detailsPageEdit')
-          }
-      ]
+      meta: {
+        i18n: 'detailsPageEdit'
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/basicData/customerManagement/companyMaterial/detailsPageEdit')
+    }]
   },
   {
     path: '/basicData/customerManagement/supplierMaterial/detailsPageEdit',
     component: Layout,
     hidden: true,
-    children: [
-        {
-            path: '/basicData/customerManagement/supplierMaterial/detailsPageEdit',
-            meta: {
-                i18n: 'detailsPageEdit'
-            },
-            component: () => import( /* webpackChunkName: "views" */ '@/views/basicData/customerManagement/supplierMaterial/detailsPageEdit')
-        }
-    ]
-},
-    //商品false
-    {
-        path: '/commodityType_detailsPageEdit',
-        component: Layout,
-        hidden: true,
-        children: [
-            {
-                path: '/commodityType_detailsPageEdit',
-                meta: {
-                    i18n: 'commodityType_detailsPageEdit'
-                },
-                component: () => import( /* webpackChunkName: "views" */ '@/views/basicData/commodityType/detailsPageEdit')
-            }
-        ]
-    },
-    //商城管理
-    //商品列表详情页
-    {
-        path: '/productList_detailsPageEdit',
-        component: Layout,
-        hidden: true,
-        children: [
-            {
-                path: '/productList_detailsPageEdit',
-                meta: {
-                    i18n: 'productList_detailsPageEdit'
-                },
-                component: () => import( /* webpackChunkName: "views" */ '@/views/mallManagement/commodity/productList/detailsPageEdit')
-            }
-        ]
-    },
+    children: [{
+      path: '/basicData/customerManagement/supplierMaterial/detailsPageEdit',
+      meta: {
+        i18n: 'detailsPageEdit'
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/basicData/customerManagement/supplierMaterial/detailsPageEdit')
+    }]
+  },
+  //商品false
+  {
+    path: '/commodityType_detailsPageEdit',
+    component: Layout,
+    hidden: true,
+    children: [{
+      path: '/commodityType_detailsPageEdit',
+      meta: {
+        i18n: 'commodityType_detailsPageEdit'
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/basicData/commodityType/detailsPageEdit')
+    }]
+  },
+  //商城管理
+  //商品列表详情页
+  {
+    path: '/productList_detailsPageEdit',
+    component: Layout,
+    hidden: true,
+    children: [{
+      path: '/productList_detailsPageEdit',
+      meta: {
+        i18n: 'productList_detailsPageEdit'
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/mallManagement/commodity/productList/detailsPageEdit')
+    }]
+  },
   //产品
   {
     path: '/productInfo_detailsPageEdit',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/basicData/productInformation/index',
-        name:'产品信息',
-        meta: {
-          i18n: 'basicData/productInformation/index'
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/basicData/productInformation/index')
-      }
-    ]
-  },
-    //销售详情页
-    {
-        path: '/businessManagement/salesOrder/index',
-        component: Layout,
-        hidden: true,
-        children: [
-            {
-                path: '/businessManagement/salesOrder/index',
-                name: '销售订单(N)',
-                meta: {
-                    i18n: 'businessManagement/salesOrder/index',
-                    keepAlive: true,
-                },
-                component: () => import( /* webpackChunkName: "views" */ '@/views/businessManagement/salesOrder/index')
-            }
-        ]
-    },
-    //发货通知详情页
-    {
-        path: '/businessManagement/deliveryNotice/index',
-        component: Layout,
-        hidden: true,
-        children: [
-            {
-                path: '/businessManagement/deliveryNotice/index',
-                name: '客户确认(N)',
-                meta: {
-                    i18n: 'businessManagement/deliveryNotice/index',
-                  keepAlive: true,
-                },
-                component: () => import( /* webpackChunkName: "views" */ '@/views/businessManagement/deliveryNotice/index')
-            }
-        ]
-    },
-    //价格管理详情页
-    {
-        path: '/priceManagement_detailsPageEdit',
-        component: Layout,
-        hidden: true,
-        children: [
-            {
-                path: '/priceManagement_detailsPageEdit',
-                meta: {
-                    i18n: 'priceManagement_detailsPageEdit'
-                },
-                component: () => import( /* webpackChunkName: "views" */ '@/views/maintenance/priceManagement/detailsPageEdit')
-            }
-        ]
-    },
-    //销售政策详情页
-    {
-        path: '/maintenance/salesPolicy/index',
-        component: Layout,
-        hidden: true,
-        children: [
-            {
-                path: '/maintenance/salesPolicy/index',
-                name: '销售政策',
-                meta: {
-                    i18n: 'maintenance/salesPolicy/index',
-                    keepAlive: true,
-                },
-                component: () => import( /* webpackChunkName: "views" */ '@/views/maintenance/salesPolicy/index')
-            }
-        ]
-    },
-    //秒杀详情页
-    {
-        path: '/panicBuyingInformation_detailsPageEdit',
-        component: Layout,
-        hidden: true,
-        children: [
-            {
-                path: '/panicBuyingInformation_detailsPageEdit',
-                meta: {
-                    i18n: 'panicBuyingInformation_detailsPageEdit'
-                },
-                component: () => import( /* webpackChunkName: "views" */ '@/views/maintenance/panicBuyingInformation/detailsPageEdit')
-            }
-        ]
-    },
-    //上架商品详情页
-    {
-        path: '/goodsOnTheShelves_detailsPageEdit',
-        component: Layout,
-        hidden: true,
-        children: [
-            {
-                path: '/goodsOnTheShelves_detailsPageEdit',
-                meta: {
-                    i18n: 'goodsOnTheShelves_detailsPageEdit'
-                },
-                component: () => import( /* webpackChunkName: "views" */ '@/views/maintenance/goodsOnTheShelves/detailsPageEdit')
-            }
-        ]
-    },
-    //收货单详情页
-    {
-        path: '/businessManagement/receipt/index',
-        component: Layout,
-        hidden: true,
-        children: [
-            {
-                path: '/businessManagement/receipt/index',
-                name: '采购确认(N)',
-                meta: {
-                    keepAlive: true,
-                },
-                component: () => import( /* webpackChunkName: "views" */ '@/views/businessManagement/receipt/index')
-            }
-        ]
-    },
-    //采购订单详情页
-    {
-        path: '/businessManagement/purchaseOrder/index',
-        component: Layout,
-        hidden: true,
-        children: [
-            {
-                path: '/businessManagement/purchaseOrder/index',
-                name: '采购订单(N)',
-                meta: {
-                    i18n: 'businessManagement/purchaseOrder/index',
-                    keepAlive: true,
-                },
-                component: () => import( /* webpackChunkName: "views" */ '@/views/businessManagement/purchaseOrder/index')
-            }
-        ]
-    },
-    // 采购合同详情页
-    {
+    children: [{
+      path: '/basicData/productInformation/index',
+      name: '产品信息',
+      meta: {
+        i18n: 'basicData/productInformation/index'
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/basicData/productInformation/index')
+    }]
+  },
+  //销售详情页
+  {
+    path: '/businessManagement/salesOrder/index',
+    component: Layout,
+    hidden: true,
+    children: [{
+      path: '/businessManagement/salesOrder/index',
+      name: '销售订单(N)',
+      meta: {
+        i18n: 'businessManagement/salesOrder/index',
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/businessManagement/salesOrder/index')
+    }]
+  },
+  //发货通知详情页
+  {
+    path: '/businessManagement/deliveryNotice/index',
+    component: Layout,
+    hidden: true,
+    children: [{
+      path: '/businessManagement/deliveryNotice/index',
+      name: '客户确认(N)',
+      meta: {
+        i18n: 'businessManagement/deliveryNotice/index',
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/businessManagement/deliveryNotice/index')
+    }]
+  },
+  //价格管理详情页
+  {
+    path: '/priceManagement_detailsPageEdit',
+    component: Layout,
+    hidden: true,
+    children: [{
+      path: '/priceManagement_detailsPageEdit',
+      meta: {
+        i18n: 'priceManagement_detailsPageEdit'
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/maintenance/priceManagement/detailsPageEdit')
+    }]
+  },
+  //销售政策详情页
+  {
+    path: '/maintenance/salesPolicy/index',
+    component: Layout,
+    hidden: true,
+    children: [{
+      path: '/maintenance/salesPolicy/index',
+      name: '销售政策',
+      meta: {
+        i18n: 'maintenance/salesPolicy/index',
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/maintenance/salesPolicy/index')
+    }]
+  },
+  //秒杀详情页
+  {
+    path: '/panicBuyingInformation_detailsPageEdit',
+    component: Layout,
+    hidden: true,
+    children: [{
+      path: '/panicBuyingInformation_detailsPageEdit',
+      meta: {
+        i18n: 'panicBuyingInformation_detailsPageEdit'
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/maintenance/panicBuyingInformation/detailsPageEdit')
+    }]
+  },
+  //上架商品详情页
+  {
+    path: '/goodsOnTheShelves_detailsPageEdit',
+    component: Layout,
+    hidden: true,
+    children: [{
+      path: '/goodsOnTheShelves_detailsPageEdit',
+      meta: {
+        i18n: 'goodsOnTheShelves_detailsPageEdit'
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/maintenance/goodsOnTheShelves/detailsPageEdit')
+    }]
+  },
+  //收货单详情页
+  {
+    path: '/businessManagement/receipt/index',
+    component: Layout,
+    hidden: true,
+    children: [{
+      path: '/businessManagement/receipt/index',
+      name: '采购确认(N)',
+      meta: {
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/businessManagement/receipt/index')
+    }]
+  },
+  //采购订单详情页
+  {
+    path: '/businessManagement/purchaseOrder/index',
+    component: Layout,
+    hidden: true,
+    children: [{
+      path: '/businessManagement/purchaseOrder/index',
+      name: '采购订单(N)',
+      meta: {
+        i18n: 'businessManagement/purchaseOrder/index',
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/businessManagement/purchaseOrder/index')
+    }]
+  },
+  // 采购合同详情页
+  {
+    path: '/purchase/contract/index',
+    component: Layout,
+    hidden: true,
+    children: [{
       path: '/purchase/contract/index',
-      component: Layout,
-      hidden: true,
-      children: [
-        {
-          path: '/purchase/contract/index',
-          name:'采购订单(I)',
-          meta: {
-            i18n: '/purchase/contract/index',
-            keepAlive: true
-          },
-          component: () => import( /* webpackChunkName: "views" */ '@/views/purchase/contract/index')
-        }
-      ]
-    },
+      name: '采购订单(I)',
+      meta: {
+        i18n: '/purchase/contract/index',
+        keepAlive: true
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/purchase/contract/index')
+    }]
+  },
   // 销售合同详情页
-    {
+  {
+    path: '/salesManagement/salesContract/index',
+    component: Layout,
+    hidden: true,
+    children: [{
       path: '/salesManagement/salesContract/index',
-      component: Layout,
-      hidden: true,
-      children: [
-        {
-          path: '/salesManagement/salesContract/index',
-          name:'销售订单(I)',
-          meta: {
-            i18n: '/salesManagement/salesContract/index',
-            keepAlive: true
-          },
-          component: () => import( /* webpackChunkName: "views" */ '@/views/salesManagement/salesContract/index')
-        }
-      ]
-    },
+      name: '销售订单(I)',
+      meta: {
+        i18n: '/salesManagement/salesContract/index',
+        keepAlive: true
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/salesManagement/salesContract/index')
+    }]
+  },
   // 进口 收货单详情页
   {
     path: '/importTrade/receipt/index',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/importTrade/receipt/index',
-        name:'收货单(I)',
-        meta: {
-          i18n: '/importTrade/receipt/index',
-          keepAlive: true
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/importTrade/receipt/index')
-      }
-    ]
+    children: [{
+      path: '/importTrade/receipt/index',
+      name: '收货单(I)',
+      meta: {
+        i18n: '/importTrade/receipt/index',
+        keepAlive: true
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/importTrade/receipt/index')
+    }]
   },
-    // 进口 发货单详情页
+  // 进口 发货单详情页
   {
     path: '/importTrade/invoice/index',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/importTrade/invoice/index',
-        name:'发货单(I)',
-        meta: {
-          i18n: 'importTrade/invoice/index',
-          keepAlive: true
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/importTrade/invoice/index')
-      }
-    ]
-  },
-   // 出口 客户询价
-   {
+    children: [{
+      path: '/importTrade/invoice/index',
+      name: '发货单(I)',
+      meta: {
+        i18n: 'importTrade/invoice/index',
+        keepAlive: true
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/importTrade/invoice/index')
+    }]
+  },
+  // 出口 客户询价
+  {
     path: '/exportTrade/customerInquiry/index',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/exportTrade/customerInquiry/index',
-        name:'报价(E)',
-        meta: {
-          keepAlive: true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/exportTrade/customerInquiry/index')
-      }
-    ]
+    children: [{
+      path: '/exportTrade/customerInquiry/index',
+      name: '报价(E)',
+      meta: {
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/exportTrade/customerInquiry/index')
+    }]
   },
-    // 出口 采购询价
-    {
+  // 出口 采购询价
+  {
+    path: '/exportTrade/purchaseInquiry/index',
+    component: Layout,
+    hidden: true,
+    children: [{
       path: '/exportTrade/purchaseInquiry/index',
-      component: Layout,
-      hidden: true,
-      children: [
-        {
-          path: '/exportTrade/purchaseInquiry/index',
-          name:'询价(E)',
-          meta: {
-            keepAlive: true,
-          },
-          component: () => import( /* webpackChunkName: "views" */ '@/views/exportTrade/purchaseInquiry/index')
-        }
-      ]
-    },
-    // 出口 船务询价
-    {
-          path: '/exportTrade/shippingInquiry/index',
-          component: Layout,
-          hidden: true,
-          children: [
-            {
-              path: '/exportTrade/shippingInquiry/index',
-              name:'船务(E)',
-              meta: {
-                keepAlive: true,
-              },
-              component: () => import( /* webpackChunkName: "views" */ '@/views/exportTrade/shippingInquiry/index')
-            }
-          ]
-        },
+      name: '询价(E)',
+      meta: {
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/exportTrade/purchaseInquiry/index')
+    }]
+  },
+  // 出口 船务询价
+  {
+    path: '/exportTrade/shippingInquiry/index',
+    component: Layout,
+    hidden: true,
+    children: [{
+      path: '/exportTrade/shippingInquiry/index',
+      name: '船务(E)',
+      meta: {
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/exportTrade/shippingInquiry/index')
+    }]
+  },
   // 出口 销售订单
   {
     path: '/exportTrade/salesContract/index',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/exportTrade/salesContract/index',
-        name:'销售(E)',
-        meta: {
-          keepAlive: true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/exportTrade/salesContract/index')
-      }
-    ]
+    children: [{
+      path: '/exportTrade/salesContract/index',
+      name: '销售(E)',
+      meta: {
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/exportTrade/salesContract/index')
+    }]
   },
   // 出口 采购订单
   {
     path: '/exportTrade/purchaseContract/index',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/exportTrade/purchaseContract/index',
-        name:'采购(E)',
-        meta: {
-          keepAlive: true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/exportTrade/purchaseContract/index')
-      }
-    ]
+    children: [{
+      path: '/exportTrade/purchaseContract/index',
+      name: '采购(E)',
+      meta: {
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/exportTrade/purchaseContract/index')
+    }]
   },
   // 进口 发货单详情页
   {
     path: '/importInvoice_detailsPage',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/importInvoice_detailsPage',
-        name: '发货单',
-        meta: {
-          i18n: 'importInvoice_detailsPage',
-          keepAlive:true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/importTrade/invoice/detailsPageEdit')
-      }
-    ]
+    children: [{
+      path: '/importInvoice_detailsPage',
+      name: '发货单',
+      meta: {
+        i18n: 'importInvoice_detailsPage',
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/importTrade/invoice/detailsPageEdit')
+    }]
   },
   // 出口 收货单
   {
     path: '/exportTrade/receipt/index',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/exportTrade/receipt/index',
-        name:"收货(E)",
-        meta: {
-          keepAlive:true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/exportTrade/receipt/index')
-      }
-    ]
+    children: [{
+      path: '/exportTrade/receipt/index',
+      name: "收货(E)",
+      meta: {
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/exportTrade/receipt/index')
+    }]
   },
   // 出口 发货单详情页
   {
     path: '/exportTrade/invoice/index',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/exportTrade/invoice/index',
-        name:"发货(E)",
-        meta: {
-          keepAlive:true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/exportTrade/invoice/index')
-      }
-    ]
+    children: [{
+      path: '/exportTrade/invoice/index',
+      name: "发货(E)",
+      meta: {
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/exportTrade/invoice/index')
+    }]
   },
   // 主营项目
   {
     path: '/workManagement/main-items/list',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/workManagement/main-items/list',
-        name:"主营业务",
-        meta: {
-          keepAlive:true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/workManagement/main-items/list')
-      }
-    ]
+    children: [{
+      path: '/workManagement/main-items/list',
+      name: "主营业务",
+      meta: {
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/workManagement/main-items/list')
+    }]
   },
   // 统计列表
   {
     path: '/workManagement/receipt/statisticalList',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/workManagement/receipt/statisticalList',
-        name:"统计列表",
-        meta: {
-          keepAlive:true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/workManagement/receipt/statisticalList')
-      }
-    ]
+    children: [{
+      path: '/workManagement/receipt/statisticalList',
+      name: "统计列表",
+      meta: {
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/workManagement/receipt/statisticalList')
+    }]
   },
   // 业绩分析
   {
     path: '/workManagement/performanceAnalysis/index',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/workManagement/performanceAnalysis/index',
-        name:"业绩分析",
-        meta: {
-          keepAlive:true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/workManagement/performanceAnalysis/index')
-      }
-    ]
+    children: [{
+      path: '/workManagement/performanceAnalysis/index',
+      name: "业绩分析",
+      meta: {
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/workManagement/performanceAnalysis/index')
+    }]
   },
   // 结算详情页
   {
     path: '/workManagement/receipt/settleAccounts',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/workManagement/receipt/settleAccounts',
-        name:"结算",
-        meta: {
-          keepAlive:true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/workManagement/receipt/settleAccounts')
-      }
-    ]
+    children: [{
+      path: '/workManagement/receipt/settleAccounts',
+      name: "结算",
+      meta: {
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/workManagement/receipt/settleAccounts')
+    }]
   },
   // 付费申请
   {
     path: '/financialManagement/paymentRequest/index',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/financialManagement/paymentRequest/index',
-        name:"付费申请",
-        meta: {
-          i18n: '/financialManagement/paymentRequest/index',
-          keepAlive: true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/paymentRequest/index')
-      }
-    ]
+    children: [{
+      path: '/financialManagement/paymentRequest/index',
+      name: "付费申请",
+      meta: {
+        i18n: '/financialManagement/paymentRequest/index',
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/paymentRequest/index')
+    }]
   },
   // 付款结算
   {
     path: '/financialManagement/paymentSettle/paymentSettle',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/financialManagement/paymentSettle/paymentSettle',
-        name:"付款结算",
-        meta: {
-          i18n: '/financialManagement/paymentSettle/paymentSettle',
-          keepAlive: true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/paymentSettle/paymentSettle')
-      }
-    ]
+    children: [{
+      path: '/financialManagement/paymentSettle/paymentSettle',
+      name: "付款结算",
+      meta: {
+        i18n: '/financialManagement/paymentSettle/paymentSettle',
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/paymentSettle/paymentSettle')
+    }]
   },
   //收款结算
   {
     path: '/financialManagement/receiptSettle/receiptSettle',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/financialManagement/receiptSettle/receiptSettle',
-        name:"收款结算",
-        meta: {
-          i18n: '/financialManagement/receiptSettle/receiptSettle',
-          keepAlive: true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/receiptSettle/receiptSettle')
-      }
-    ]
+    children: [{
+      path: '/financialManagement/receiptSettle/receiptSettle',
+      name: "收款结算",
+      meta: {
+        i18n: '/financialManagement/receiptSettle/receiptSettle',
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/receiptSettle/receiptSettle')
+    }]
   },
   //审批数据
   {
     path: '/approveData/index',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/approveData/index',
-        name:"审批数据",
-        meta: {
-          i18n: '/approveData/index',
-          keepAlive: true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/approveData/index')
-      }
-    ]
+    children: [{
+      path: '/approveData/index',
+      name: "审批数据",
+      meta: {
+        i18n: '/approveData/index',
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/approveData/index')
+    }]
   },
   // 账单明细
   {
     path: '/bill_details',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/financialManagement/billDetails/billDetails',
-        name:"账单明细",
-        meta: {
-          i18n: '/financialManagement/billDetails/billDetails',
-          keepAlive: true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/billDetails/billDetails')
-      }
-    ]
+    children: [{
+      path: '/financialManagement/billDetails/billDetails',
+      name: "账单明细",
+      meta: {
+        i18n: '/financialManagement/billDetails/billDetails',
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/billDetails/billDetails')
+    }]
   },
   //销项发票
   {
     path: '/financialManagement/outputInvoice/outputInvoice',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/financialManagement/outputInvoice/outputInvoice',
-        name:"销项发票",
-        meta: {
-          i18n: '/financialManagement/outputInvoice/outputInvoice',
-          keepAlive: true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/outputInvoice/outputInvoice')
-      }
-    ]
+    children: [{
+      path: '/financialManagement/outputInvoice/outputInvoice',
+      name: "销项发票",
+      meta: {
+        i18n: '/financialManagement/outputInvoice/outputInvoice',
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/outputInvoice/outputInvoice')
+    }]
   },
   //进项发票
   {
     path: '/financialManagement/incomeInvoice/incomeInvoice',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/financialManagement/incomeInvoice/incomeInvoice',
-        name:"进项发票",
-        meta: {
-          i18n: '/financialManagement/incomeInvoice/incomeInvoice',
-          keepAlive: true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/incomeInvoice/incomeInvoice')
-      }
-    ]
+    children: [{
+      path: '/financialManagement/incomeInvoice/incomeInvoice',
+      name: "进项发票",
+      meta: {
+        i18n: '/financialManagement/incomeInvoice/incomeInvoice',
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/financialManagement/incomeInvoice/incomeInvoice')
+    }]
   },
   //进口库存账
   {
     path: '/purchase/stockBill/index',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/purchase/stockBill/index',
-        name:"库存账",
-        meta: {
-          keepAlive: true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/purchase/stockBill/index')
-      }
-    ]
+    children: [{
+      path: '/purchase/stockBill/index',
+      name: "库存账",
+      meta: {
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/purchase/stockBill/index')
+    }]
   },
   //利润分析
   {
     path: '/statisticAnalysis/profit/index',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/statisticAnalysis/profit/index',
-        name:"利润分析",
-        meta: {
-          i18n: '/statisticAnalysis/profit/index',
-          keepAlive: true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/statisticAnalysis/profit/index')
-      }
-    ]
+    children: [{
+      path: '/statisticAnalysis/profit/index',
+      name: "利润分析",
+      meta: {
+        i18n: '/statisticAnalysis/profit/index',
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/statisticAnalysis/profit/index')
+    }]
   },
   // 订单详情
   {
     path: '/orderManagement/orderDetail/index',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/orderManagement/orderDetail/index',
-        name:"订单详情",
-        meta: {
-          i18n: '/orderManagement/orderDetail/index',
-          keepAlive: true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/orderManagement/orderDetail/index')
-      }
-    ]
-  },
-    {
-        path: '/work/process/leave',
-        component: Layout,
-        redirect: '/work/process/leave/form',
-        children: [{
-            path: 'form/:processDefinitionId',
-            name: '请假流程',
-            meta: {
-                i18n: 'work'
-            },
-            component: () =>
-                import( /* webpackChunkName: "views" */ '@/views/work/process/leave/form')
-        }, {
-            path: 'handle/:taskId/:processInstanceId/:businessId',
-            name: '处理请假流程',
-            meta: {
-                i18n: 'work'
-            },
-            component: () =>
-                import( /* webpackChunkName: "views" */ '@/views/work/process/leave/handle')
-        }, {
-            path: 'detail/:processInstanceId/:businessId',
-            name: '请假流程详情',
-            meta: {
-                i18n: 'work'
-            },
-            component: () =>
-                import( /* webpackChunkName: "views" */ '@/views/work/process/leave/detail')
-        }]
-    },{
-      path: '/work/process/test',
-      component: Layout,
-      redirect: '/work/process/test/form',
-      children: [{
-        path: 'form/:processDefinitionId',
-        name: '请假流程',
-        meta: {
-          i18n: 'work'
-        },
-        component: () =>
-          import( /* webpackChunkName: "views" */ '@/views/work/process/test/form')
-      }, {
-        path: 'handle/:taskId/:processInstanceId/:businessId',
-        name: '处理请假流程',
-        meta: {
-          i18n: 'work'
-        },
-        component: () =>
-          import( /* webpackChunkName: "views" */ '@/views/work/process/test/handle')
-      }, {
-        path: 'detail/:processInstanceId/:businessId',
-        name: '请假流程详情',
-        meta: {
-          i18n: 'work'
-        },
-        component: () =>
-          import( /* webpackChunkName: "views" */ '@/views/work/process/leave/detail')
-      }]
-    },
+    children: [{
+      path: '/orderManagement/orderDetail/index',
+      name: "订单详情",
+      meta: {
+        i18n: '/orderManagement/orderDetail/index',
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/orderManagement/orderDetail/index')
+    }]
+  },
+  {
+    path: '/work/process/leave',
+    component: Layout,
+    redirect: '/work/process/leave/form',
+    children: [{
+      path: 'form/:processDefinitionId',
+      name: '请假流程',
+      meta: {
+        i18n: 'work'
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/work/process/leave/form')
+    }, {
+      path: 'handle/:taskId/:processInstanceId/:businessId',
+      name: '处理请假流程',
+      meta: {
+        i18n: 'work'
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/work/process/leave/handle')
+    }, {
+      path: 'detail/:processInstanceId/:businessId',
+      name: '请假流程详情',
+      meta: {
+        i18n: 'work'
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/work/process/leave/detail')
+    }]
+  }, {
+    path: '/work/process/test',
+    component: Layout,
+    redirect: '/work/process/test/form',
+    children: [{
+      path: 'form/:processDefinitionId',
+      name: '请假流程',
+      meta: {
+        i18n: 'work'
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/work/process/test/form')
+    }, {
+      path: 'handle/:taskId/:processInstanceId/:businessId',
+      name: '处理请假流程',
+      meta: {
+        i18n: 'work'
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/work/process/test/handle')
+    }, {
+      path: 'detail/:processInstanceId/:businessId',
+      name: '请假流程详情',
+      meta: {
+        i18n: 'work'
+      },
+      component: () =>
+        import( /* webpackChunkName: "views" */ '@/views/work/process/leave/detail')
+    }]
+  },
   {
     path: '/businessManagement/inventoryAccount/detail',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/businessManagement/inventoryAccount/detail',
-        name: '锁定订单明细',
-        meta: {
-          keepAlive:true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/businessManagement/inventoryAccount/detail')
-      }
-    ]
+    children: [{
+      path: '/businessManagement/inventoryAccount/detail',
+      name: '锁定订单明细',
+      meta: {
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/businessManagement/inventoryAccount/detail')
+    }]
   },
   {
     path: '/basicData/facultyManagement/index',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/basicData/facultyManagement/index',
-        name:'教职工管理',
-        meta: {
-          keepAlive: true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/basicData/facultyManagement/index')
-      }
-    ]
+    children: [{
+      path: '/basicData/facultyManagement/index',
+      name: '教职工管理',
+      meta: {
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/basicData/facultyManagement/index')
+    }]
+  },
+  {
+    path: '/basicData/salaryConfiguration/index',
+    component: Layout,
+    hidden: true,
+    children: [{
+      path: '/basicData/salaryConfiguration/index',
+      name: '学校标准配置',
+      meta: {
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/basicData/salaryConfiguration/index')
+    }]
   },
   {
     path: '/salaryManagement/primarySchool/index',
     component: Layout,
     hidden: true,
-    children: [
-      {
-        path: '/salaryManagement/primarySchool/index',
-        name:'小学部',
-        meta: {
-          keepAlive: true,
-        },
-        component: () => import( /* webpackChunkName: "views" */ '@/views/salaryManagement/primarySchool/index')
-      }
-    ]
+    children: [{
+      path: '/salaryManagement/primarySchool/index',
+      name: '小学部',
+      meta: {
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/salaryManagement/primarySchool/index')
+    }]
+  },
+  {
+    path: '/system/businessLock/index',
+    component: Layout,
+    hidden: true,
+    children: [{
+      path: '/system/businessLock/index',
+      name: '模块加锁',
+      meta: {
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/system/businessLock/index')
+    }]
   },
 ]

+ 23 - 6
src/util/calculate.js

@@ -64,19 +64,36 @@ export function grossProfitCal(num, num2, num3, num4) {
   return Number(sum).toFixed(2)
 }
 //单票毛利: (金额*汇率+费用应收合计)-(成本*数量+费用应付合计)
-export function STGPCal(num, num2, num3, num4){
-  const amountSum= Number(num ? num : 0)
+export function STGPCal(num, num2, num3, num4) {
+  const amountSum = Number(num ? num : 0)
   const reSum = Number(num2 ? num2 : 0)
   const costSum = Number(num3 ? num3 : 0)
   const paySum = Number(num4 ? num4 : 0)
-  const sum=_.subtract(_.add(amountSum,reSum),_.add(costSum,paySum))
+  const sum = _.subtract(_.add(amountSum, reSum), _.add(costSum, paySum))
   return Number(sum).toFixed(2)
 }
 //校验值是否合法
-export function numCal(num){
-  if(isNaN(Number(num))){
+export function numCal(num) {
+  if (isNaN(Number(num))) {
     return Number(0)
-  }else{
+  } else {
     return Number(num ? num : 0)
   }
 }
+//工资拨付标准+职级工资
+export function addAllsalary(num, num2, num3) {
+  const Sum1 = Number(num ? num : 0)
+  const Sum2 = Number(num2 ? num2 : 0)
+  const Sum3 = Number(num3 ? num3 : 0)
+  const sum = _.add(_.add(Sum1, Sum2), Sum3)
+  return Number(sum)
+}
+//
+export function addAllsalary2(num, num2, num3, num4) {
+  const Sum1 = Number(num ? num : 0)
+  const Sum2 = Number(num2 ? num2 : 0)
+  const Sum3 = Number(num3 ? num3 : 0)
+  const Sum4 = Number(num4 ? num4 : 0)
+  const sum = _.add(_.add(Sum1, Sum2), _.add(Sum3, Sum4))
+  return Number(sum)
+}

+ 5 - 8
src/views/basicData/basicFeesDesc/index.vue

@@ -85,6 +85,9 @@ export default {
     //   this.dataList = res.data.data.records
     // })
   },
+  mounted() {
+    this.initData()
+  },
   methods: {
     //展开主页左边类型
     nodeClick(data) {
@@ -125,7 +128,6 @@ export default {
     },
     //新增修改时保存触发
     rowSave(row, done, loading) {
-      console.log(row)
       let type = typeof(row.feesTypeId)
       if (type == 'object') {
         row.feesTypeId = row.feesTypeId.join(',')
@@ -133,14 +135,12 @@ export default {
       typeSave(row).then(res => {
         this.page.currentPage = 1;
         this.onLoad(this.page, {parentId: 0});
-        console.log(res)
         done()
       })
     },
     //查询全部
     initData(){
       getDeptTree().then(res => {
-        console.log(this.form);
         const column = this.findObject(this.option.column, "feesTypeId");
         column.dicData = res.data.data;
       });
@@ -157,14 +157,11 @@ export default {
     beforeOpen(done, type) {
       if (["add"].includes(type)) {
         this.option.column.forEach(e=>{
-          if(e.prop=='feesTypeId'){
-            this.$set(this.option.column,2,{...e,value:this.treeDeptId})
+          if(e.prop=='feesTypeId' && this.treeDeptId){
+            this.$set(this.option.column,3,{...e,value:this.treeDeptId})
           }
         })
       }
-      if (["add", "edit"].includes(type)) {
-        this.initData();
-      }
       if (["edit", "view"].includes(type)) {
         detail(this.form.id).then(res => {
           this.form = res.data.data;

File diff suppressed because it is too large
+ 373 - 490
src/views/basicData/facultyManagement/detailsPage.vue


+ 13 - 4
src/views/basicData/facultyManagement/index.vue

@@ -1,11 +1,10 @@
 <template>
   <div>
-    <basic-container v-if="show" class="page-crad">
+    <basic-container v-show="show" class="page-crad">
       <avue-crud
         ref="crud"
         :option="option"
         :data="dataList"
-        :before-open="beforeOpen"
         :page.sync="page"
         :search.sync="search"
         @search-change="searchChange"
@@ -20,6 +19,13 @@
         <template slot="menuLeft">
           <el-button
             type="primary"
+            icon="el-icon-plus"
+            size="small"
+            @click.stop="newAdd()"
+            >新增
+          </el-button>
+          <el-button
+            type="primary"
             size="small"
             icon="el-icon-bottom"
             @click="excelBox = true"
@@ -102,7 +108,7 @@
         </p>
       </el-dialog>
     </basic-container>
-    <details-page v-else @goBack="backToList" :detailData="detailData" />
+    <details-page v-if="!show" @goBack="backToList" :detailData="detailData" />
   </div>
 </template>
 
@@ -133,6 +139,7 @@ export default {
         searchSpan: 8,
         border: true,
         index: true,
+        addBtn: false,
         viewBtn: false,
         editBtn: false,
         delBtn: false,
@@ -415,7 +422,7 @@ export default {
         }=${getToken()}`
       );
     },
-    beforeOpen(row, index) {
+    newAdd() {
       this.show = false;
     },
     uploadAfter(res, done, loading) {
@@ -469,7 +476,9 @@ export default {
     },
     //返回列表
     backToList() {
+      this.detailData = this.$options.data().detailData;
       this.show = true;
+      this.onLoad(this.page, this.search);
     }
   }
 };

+ 455 - 0
src/views/basicData/salaryConfiguration/detailsPage.vue

@@ -0,0 +1,455 @@
+<template>
+  <div>
+    <div class="borderless">
+      <div class="customer-head">
+        <div class="customer-back">
+          <el-button
+            type="danger"
+            style="border: none;background: none;color: red"
+            icon="el-icon-arrow-left"
+            @click="backToList"
+            >返回列表
+          </el-button>
+        </div>
+        <div class="add-customer-btn">
+          <el-button
+            type="success"
+            :disabled="!form.id"
+            size="small"
+            @click="copyDoc"
+          >
+            复制新单
+          </el-button>
+          <el-button type="primary" size="small" @click="editCustomer"
+            >保存数据
+          </el-button>
+        </div>
+      </div>
+      <containerTitle
+        title="基础资料"
+        style="margin-top: 60px"
+      ></containerTitle>
+      <basic-container>
+        <avue-form
+          ref="form"
+          class="trading-form"
+          v-model="form"
+          :option="option"
+        >
+          <template slot="resultType">
+            <el-select
+              size="small"
+              v-model="form.resultType"
+              placeholder="请选择"
+              clearable
+              :filterable="true"
+              :disabled="detailData.status == 1"
+            >
+              <el-option
+                v-for="item in resultList"
+                :key="item.id"
+                :label="item.dictValue"
+                :value="item.dictValue"
+              >
+              </el-option>
+            </el-select>
+          </template>
+        </avue-form>
+      </basic-container>
+      <containerTitle title="基础明细"></containerTitle>
+      <basic-container>
+        <avue-crud
+          ref="crud"
+          :option="tableOption"
+          :data="dataList"
+          :table-loading="loading"
+          @saveColumn="saveColumn"
+          :cell-style="cellStyle"
+        >
+          <template slot="menuLeft">
+            <el-button
+              type="primary"
+              @click="addRow"
+              size="small"
+              :disabled="detailData.status == 1"
+              >新增
+            </el-button>
+          </template>
+          <template slot="menu" slot-scope="{ row, index }">
+            <el-button
+              size="small"
+              type="text"
+              @click="rowCell(row, index)"
+              :disabled="detailData.status == 1"
+              >编辑</el-button
+            >
+            <el-button
+              size="small"
+              type="text"
+              @click="rowDel(row, index)"
+              :disabled="detailData.status == 1"
+              >删除</el-button
+            >
+          </template>
+          <template slot="parameter" slot-scope="{ row, index }">
+            <span v-if="row.$cellEdit">
+              <el-select
+                size="small"
+                v-model="row.parameter"
+                placeholder="请选择"
+                @change="parameterChange(row, index)"
+                clearable
+                :disabled="detailData.status == 1"
+                v-if="form.resultType == '职称'"
+              >
+                <el-option
+                  v-for="item in jobTitleList"
+                  :key="item.id"
+                  :label="item.dictValue"
+                  :value="item.dictValue"
+                >
+                </el-option>
+              </el-select>
+              <el-select
+                size="small"
+                v-model="row.parameter"
+                placeholder="请选择"
+                @change="parameterChange(row, index)"
+                clearable
+                :disabled="detailData.status == 1"
+                v-else-if="form.resultType == '级别'"
+              >
+                <el-option
+                  v-for="item in jobLevelList"
+                  :key="item.id"
+                  :label="item.dictValue"
+                  :value="item.dictValue"
+                >
+                </el-option>
+              </el-select>
+              <el-input-number
+                size="small"
+                v-else-if="form.resultType == '校龄'"
+                v-model="row.parameter"
+                :min="0"
+                :controls="false"
+                placeholder="请输入 数字"
+                style="width:100%"
+                @change="parameterChange(row, index)"
+              ></el-input-number>
+              <el-input
+                v-else
+                size="small"
+                v-model="row.parameter"
+                placeholder="请输入 类别"
+                @change="parameterChange(row, index)"
+              ></el-input>
+            </span>
+            <span v-else>{{ row.parameter }}</span>
+          </template>
+        </avue-crud>
+      </basic-container>
+    </div>
+  </div>
+</template>
+
+<script>
+import { detail, submit, delItem } from "@/api/basicData/salaryConfiguration";
+export default {
+  name: "index",
+  data() {
+    return {
+      form: {},
+      dataList: [],
+      option: {
+        menuBtn: false,
+        labelWidth: 130,
+        column: [
+          {
+            label: "部门",
+            prop: "inSection",
+            type: "select",
+            dicUrl: "/api/blade-system/dict-biz/dictionary?code=in_section",
+            props: {
+              label: "dictValue",
+              value: "dictValue"
+            },
+            rules: [
+              {
+                required: true,
+                message: "",
+                trigger: "blur"
+              }
+            ],
+            filterable: true,
+            span: 6
+          },
+          {
+            label: "标准类别",
+            prop: "normType",
+            type: "select",
+            dicUrl: "/api/blade-system/dict-biz/dictionary?code=norm_type",
+            props: {
+              label: "dictValue",
+              value: "dictValue"
+            },
+            rules: [
+              {
+                required: true,
+                message: "",
+                trigger: "blur"
+              }
+            ],
+            filterable: true,
+            span: 6
+          },
+          {
+            label: "教师类别",
+            prop: "salaryWithdrawalStandardName",
+            type: "select",
+            dicUrl:
+              "/api/blade-system/dict-biz/dictionary?code=Salary_allocation_standard",
+            props: {
+              label: "dictValue",
+              value: "dictValue"
+            },
+            filterable: true,
+            span: 6
+          },
+          {
+            label: "计算类别",
+            prop: "resultType",
+            // rules: [
+            //   {
+            //     required: true,
+            //     message: "",
+            //     trigger: "blur"
+            //   }
+            // ],
+            span: 6
+          },
+          {
+            label: "职位",
+            prop: "compileCategory",
+            type: "select",
+            dicUrl:
+              "/api/blade-system/dict-biz/dictionary?code=compile_category",
+            props: {
+              label: "dictValue",
+              value: "dictValue"
+            },
+            filterable: true,
+            span: 6
+          },
+          {
+            label: "创建时间",
+            prop: "createTime",
+            disabled: true,
+            span: 6
+          },
+          {
+            label: "备注",
+            prop: "remarks",
+            type: "textarea",
+            minRows: 2,
+            span: 12
+          }
+        ]
+      },
+      tableOption: {
+        align: "center",
+        addBtn: false,
+        refreshBtn: false,
+        editBtn: false,
+        delBtn: false,
+        border: true,
+        menuWidth: 120,
+        stripe: true,
+        column: [
+          {
+            label: "类别",
+            prop: "parameter",
+            overHidden: true
+          },
+          {
+            label: "工资标准",
+            prop: "salary",
+            precision: 2,
+            type: "number",
+            controls: false,
+            overHidden: true,
+            cell: true
+          },
+          {
+            label: "备注",
+            prop: "remarks",
+            overHidden: true,
+            cell: true
+          }
+        ]
+      },
+      resultList: [],
+      jobTitleList: [],
+      jobLevelList: []
+    };
+  },
+  props: {
+    detailData: {
+      type: Object
+    }
+  },
+  created() {
+    if (this.detailData.id) {
+      this.getDetail(this.detailData.id);
+    }
+    if (this.detailData.status == 1) {
+      this.option.disabled = true;
+    }
+    this.getWorkDicts("result_type").then(res => {
+      this.resultList = res.data.data;
+    });
+    this.getWorkDicts("job_title").then(res => {
+      this.jobTitleList = res.data.data;
+    });
+    this.getWorkDicts("job_level").then(res => {
+      this.jobLevelList = res.data.data;
+    });
+  },
+  methods: {
+    cellStyle() {
+      return "padding:0;height:40px;";
+    },
+    copyDoc() {
+      this.$emit("copyOrder", this.form.id);
+    },
+    getDetail(id) {
+      detail(id)
+        .then(res => {
+          if (this.detailData.status == "copy") {
+            delete res.data.data.id;
+            delete res.data.data.createTime;
+            delete res.data.data.createUser;
+            delete res.data.data.createUserName;
+            delete res.data.data.updateTime;
+            delete res.data.data.updateUser;
+            delete res.data.data.updateUserName;
+            delete res.data.data.status;
+            delete res.data.data.isDeleted;
+            res.data.data.schoolConfigItems.forEach(e => {
+              delete e.id;
+              delete e.pid;
+              delete e.createTime;
+              delete e.createUser;
+              delete e.updateTime;
+              delete e.updateUser;
+              delete e.status;
+              delete e.isDeleted;
+            });
+          }
+          this.form = res.data.data;
+          this.dataList = res.data.data.schoolConfigItems;
+        })
+        .finally(() => {
+          // this.loading = false;
+          // this.showBut = true;
+          // this.pageLoading = false;
+        });
+    },
+    addRow() {
+      // if (!this.form.resultType) {
+      //   return this.$message.error("请选择计算类别");
+      // }
+      this.dataList.push({ $cellEdit: true });
+    },
+    rowCell(row, index) {
+      if (row.$cellEdit == true) {
+        this.$set(row, "$cellEdit", false);
+      } else {
+        this.$set(row, "$cellEdit", true);
+      }
+    },
+    rowDel(row, index) {
+      this.$confirm("确定删除数据?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        if (row.id) {
+          delItem(row.id).then(res => {
+            this.$message({
+              type: "success",
+              message: "删除成功!"
+            });
+            this.dataList.splice(index, 1);
+          });
+        } else {
+          this.$message({
+            type: "success",
+            message: "删除成功!"
+          });
+          this.dataList.splice(index, 1);
+        }
+      });
+    },
+    parameterChange(row, index) {
+      if (
+        this.dataList.filter(value => value.parameter == row.parameter).length >
+        1
+      ) {
+        row.parameter = "";
+        return this.$message.error("明细类别不能重复");
+      }
+    },
+    //修改提交触发
+    editCustomer() {
+      this.$refs["form"].validate((valid, done) => {
+        done();
+        if (valid) {
+          for (let i = 0; i < this.dataList.length; i++) {
+            if (
+              this.dataList[i].salary == null ||
+              this.dataList[i].salary == undefined ||
+              this.dataList[i].salary == ""
+            ) {
+              return this.$message.error(`请输入第${i + 1}行的工资标准`);
+            }
+          }
+          submit({ ...this.form, schoolConfigItems: this.dataList })
+            .then(res => {
+              this.$message.success("保存成功");
+              this.form = res.data.data;
+              this.dataList = res.data.data.schoolConfigItems;
+            })
+            .finally(() => {});
+        } else {
+          return false;
+        }
+      });
+    },
+    //返回列表
+    backToList() {
+      this.$emit("goBack");
+    }
+  }
+};
+</script>
+
+<style lang="scss" scoped>
+.trading-form ::v-deep .el-form-item {
+  margin-bottom: 8px !important;
+}
+::v-deep .el-form-item__error {
+  display: none !important;
+}
+.img-form ::v-deep .el-form-item {
+  height: 150px;
+  line-height: 150px;
+  margin-bottom: 8px !important;
+}
+.img-form ::v-deep .avue-upload__icon {
+  font-size: 20px;
+  width: 150px;
+  height: 150px;
+  line-height: 150px;
+}
+</style>

+ 354 - 0
src/views/basicData/salaryConfiguration/index.vue

@@ -0,0 +1,354 @@
+<template>
+  <div>
+    <basic-container v-show="show" class="page-crad">
+      <avue-crud
+        ref="crud"
+        :option="option"
+        :data="dataList"
+        :page.sync="page"
+        :search.sync="search"
+        @search-change="searchChange"
+        @current-change="currentChange"
+        @size-change="sizeChange"
+        @refresh-change="refreshChange"
+        @on-load="onLoad"
+        :table-loading="loading"
+        @saveColumn="saveColumn"
+        :cell-style="cellStyle"
+        @expand-change="expandChange"
+        @selection-change="selectionChange"
+      >
+        <template slot-scope="{ row }" slot="expand">
+          <avue-crud
+            :data="row.itemData"
+            :option="itemOption"
+            :table-loading="row.itemLoading"
+            :cell-style="cellStyle"
+            class="itemTable"
+          ></avue-crud>
+        </template>
+        <template slot="menuLeft">
+          <el-button
+            type="primary"
+            icon="el-icon-plus"
+            size="small"
+            @click.stop="newAdd()"
+            >新增
+          </el-button>
+          <el-button
+            type="success"
+            size="small"
+            @click.stop="copyDoc()"
+            :disabled="selectionList.length != 1"
+            >复制新单</el-button
+          >
+        </template>
+        <template slot-scope="{ row, index }" slot="menu">
+          <el-button type="text" size="small" @click.stop="editOpen(row, 1)">
+            查看
+          </el-button>
+          <el-button type="text" size="small" @click.stop="editOpen(row, 2)">
+            编辑
+          </el-button>
+          <el-button type="text" size="small" @click.stop="rowDel(row, index)">
+            删除
+          </el-button>
+        </template>
+      </avue-crud>
+    </basic-container>
+    <details-page
+      v-if="!show"
+      @goBack="backToList"
+      @copyOrder="copyOrder"
+      :detailData="detailData"
+    />
+  </div>
+</template>
+
+<script>
+import detailsPage from "./detailsPage";
+import {
+  getList,
+  remove,
+  detailItem
+} from "@/api/basicData/salaryConfiguration";
+export default {
+  name: "index",
+  data() {
+    return {
+      show: true,
+      loading: false,
+      form: {},
+      search: {},
+      detailData: {},
+      dataList: [],
+      selectionList: [],
+      page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+        pageSizes: [10, 50, 100, 200, 300, 400, 500]
+      },
+      option: {
+        searchShow: true,
+        searchMenuSpan: 8,
+        align: "center",
+        searchSpan: 8,
+        tip: false,
+        border: true,
+        index: true,
+        addBtn: false,
+        viewBtn: false,
+        editBtn: false,
+        delBtn: false,
+        menuWidth: 140,
+        dialogClickModal: false,
+        searchLabelWidth: 100,
+        searchIcon: true,
+        searchIndex: 2,
+        selection: true,
+        stripe: true,
+        expand: true,
+        expandWidth: 38,
+        column: [
+          {
+            label: "部门",
+            prop: "inSection",
+            type: "select",
+            dicUrl: "/api/blade-system/dict-biz/dictionary?code=in_section",
+            props: {
+              label: "dictValue",
+              value: "dictValue"
+            },
+            filterable: true,
+            width: "100",
+            search: true,
+            overHidden: true,
+            span: 8
+          },
+          {
+            label: "教师类别",
+            prop: "salaryWithdrawalStandardName",
+            type: "select",
+            dicUrl:
+              "/api/blade-system/dict-biz/dictionary?code=Salary_allocation_standard",
+            props: {
+              label: "dictValue",
+              value: "dictValue"
+            },
+            filterable: true,
+            width: "100",
+            search: true,
+            overHidden: true,
+            span: 8
+          },
+          {
+            label: "标准类别",
+            prop: "normType",
+            type: "select",
+            dicUrl: "/api/blade-system/dict-biz/dictionary?code=norm_type",
+            props: {
+              label: "dictValue",
+              value: "dictValue"
+            },
+            filterable: true,
+            width: "100",
+            search: true,
+            overHidden: true,
+            span: 8
+          },
+          {
+            label: "计算类别",
+            prop: "resultType",
+            type: "select",
+            dicUrl: "/api/blade-system/dict-biz/dictionary?code=result_type",
+            props: {
+              label: "dictValue",
+              value: "dictValue"
+            },
+            filterable: true,
+            width: "100",
+            overHidden: true,
+            search: true
+          },
+          {
+            label: "职位",
+            prop: "compileCategory",
+            type: "select",
+            dicUrl:
+              "/api/blade-system/dict-biz/dictionary?code=compile_category",
+            props: {
+              label: "dictValue",
+              value: "dictValue"
+            },
+            filterable: true,
+            width: "100",
+            search: true,
+            span: 8
+          },
+          {
+            label: "创建人",
+            prop: "createUserName",
+            width: "100",
+            overHidden: true
+          },
+          {
+            label: "创建时间",
+            prop: "createTime",
+            width: "150",
+            overHidden: true
+          },
+          {
+            label: "备注",
+            prop: "remarks",
+            overHidden: true
+          }
+        ]
+      },
+      itemOption: {
+        align: "center",
+        header: false,
+        menu: false,
+        column: [
+          {
+            label: "类别",
+            prop: "parameter",
+            overHidden: true
+          },
+          {
+            label: "工资标准",
+            prop: "salary",
+            overHidden: true
+          },
+          {
+            label: "备注",
+            prop: "remarks",
+            overHidden: true
+          }
+        ]
+      }
+    };
+  },
+  components: {
+    detailsPage
+  },
+  methods: {
+    cellStyle() {
+      return "padding:0;height:40px;";
+    },
+    expandChange(row) {
+      if (!row.itemData) {
+        detailItem(row.id)
+          .then(res => {
+            this.dataList[row.$index].itemData = res.data.data.records;
+          })
+          .finally(() => {
+            this.dataList[row.$index].itemLoading = false;
+          });
+      }
+    },
+    //点击搜索按钮触发
+    searchChange(params, done) {
+      this.page.currentPage = 1;
+      this.onLoad(this.page, params);
+      done();
+    },
+    refreshChange() {
+      this.onLoad(this.page, this.search);
+    },
+    newAdd() {
+      this.show = false;
+    },
+    onLoad(page, params) {
+      this.loading = true;
+      getList(page.currentPage, page.pageSize, params)
+        .then(res => {
+          if (res.data.data.records) {
+            res.data.data.records.forEach(e => {
+              e.itemLoading = true;
+            });
+          }
+          this.dataList = res.data.data.records ? res.data.data.records : [];
+          this.page.total = res.data.data.total;
+          if (this.page.total) {
+            this.option.height = window.innerHeight - 350;
+          }
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+    selectionChange(list) {
+      this.selectionList = list;
+    },
+    copyDoc() {
+      this.selectionList.forEach(e => {
+        this.detailData = {
+          id: e.id,
+          status: "copy"
+        };
+        this.show = false;
+      });
+    },
+    copyOrder(id) {
+      this.show = true;
+      this.detailData = {
+        id: id,
+        status: "copy"
+      };
+      this.$nextTick(() => {
+        this.show = false;
+      });
+    },
+    editOpen(row, status) {
+      this.detailData = {
+        id: row.id,
+        status: status
+      };
+      this.show = false;
+    },
+    currentChange(val) {
+      this.page.currentPage = val;
+    },
+    sizeChange(val) {
+      this.page.currentPage = 1;
+      this.page.pageSize = val;
+    },
+    rowDel(row, index, done) {
+      this.$confirm("确定删除数据?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        remove(row.id).then(res => {
+          if (res.data.code == 200) {
+            this.$message({
+              type: "success",
+              message: "删除成功!"
+            });
+            this.onLoad(this.page, this.search);
+          }
+        });
+      });
+    },
+    //返回列表
+    backToList() {
+      this.detailData = this.$options.data().detailData;
+      this.show = true;
+      this.onLoad(this.page, this.search);
+    }
+  }
+};
+</script>
+
+<style scoped>
+.page-crad ::v-deep .basic-container__card {
+  height: 94.2vh;
+}
+::v-deep .el-table__expanded-cell[class*="cell"] {
+  padding: 0px;
+}
+.itemTable ::v-deep .el-table {
+  width: 738px;
+}
+</style>

+ 2 - 2
src/views/salaryManagement/primarySchool/detailsPage.vue

@@ -983,8 +983,8 @@ export default {
     if (this.detailData.status == 1) {
       this.option.disabled = true;
     }
-    this.optionList.height = window.innerHeight - 500;
-    this.annexOption.height = window.innerHeight - 500;
+    this.optionList.height = 450;
+    this.annexOption.height = 450;
   },
   methods: {
     cellStyle() {

+ 1 - 1
src/views/salaryManagement/primarySchool/js/optionList.js

@@ -341,7 +341,7 @@ export const optionList = {
     {
       label: "自定义工作量工资",
       prop: "customWorkloadSalary",
-      width: 100,
+      width: 120,
       overHidden: true,
       rules: [{
         validator: validateDecimal,

Some files were not shown because too many files changed in this diff