Selaa lähdekoodia

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

caojunjie 3 vuotta sitten
vanhempi
commit
b00aa478e9
39 muutettua tiedostoa jossa 560 lisäystä ja 235 poistoa
  1. 4 1
      src/App.vue
  2. 13 0
      src/api/statisticAnalysis/salesProfit.js
  3. 1 1
      src/cache.js
  4. 5 1
      src/components/finance/financialAccount.vue
  5. 1 1
      src/components/price-Library/configuration/mainList.json
  6. 26 3
      src/components/report-dialog/main.vue
  7. 15 0
      src/router/views/index.js
  8. 4 1
      src/store/modules/tags.js
  9. 0 1
      src/util/contrastData.js
  10. 41 1
      src/util/keyData.js
  11. 0 1
      src/views/approveData/index.vue
  12. 20 8
      src/views/businessManagement/deliveryNotice/configuration/customerContact.json
  13. 16 5
      src/views/businessManagement/deliveryNotice/detailsPageEdit.vue
  14. 1 6
      src/views/businessManagement/deliveryNotice/index.vue
  15. 12 5
      src/views/businessManagement/purchaseOrder/detailsPageEdit.vue
  16. 0 5
      src/views/businessManagement/purchaseOrder/index.vue
  17. 12 4
      src/views/businessManagement/receipt/detailsPageEdit.vue
  18. 1 6
      src/views/businessManagement/receipt/index.vue
  19. 13 6
      src/views/businessManagement/salesOrder/detailsPageEdit.vue
  20. 0 5
      src/views/businessManagement/salesOrder/index.vue
  21. 27 19
      src/views/exportTrade/customerInquiry/config/customerContact.json
  22. 74 7
      src/views/exportTrade/customerInquiry/detailsPage.vue
  23. 1 1
      src/views/exportTrade/customerInquiry/index.vue
  24. 4 4
      src/views/exportTrade/purchaseContract/detailsPage.vue
  25. 1 1
      src/views/exportTrade/purchaseContract/index.vue
  26. 41 9
      src/views/exportTrade/salesContract/detailsPage.vue
  27. 0 5
      src/views/exportTrade/salesContract/index.vue
  28. 0 5
      src/views/financialManagement/paymentSettle/paymentSettle.vue
  29. 10 5
      src/views/financialManagement/paymentSettle/paymentSettleDetailsPage.vue
  30. 0 5
      src/views/financialManagement/receiptSettle/receiptSettle.vue
  31. 10 5
      src/views/financialManagement/receiptSettle/receiptSettleDetailsPage.vue
  32. 39 2
      src/views/purchase/contract/detailsPage.vue
  33. 73 14
      src/views/salaryManagement/primarySchool/detailsPage.vue
  34. 2 2
      src/views/salaryManagement/primarySchool/index.vue
  35. 1 0
      src/views/salesManagement/salesContract/detailsPage.vue
  36. 42 64
      src/views/statisticAnalysis/salesProfit/index.vue
  37. 4 0
      src/views/system/lock/index.vue
  38. 23 24
      src/views/wel/components/quick-launch.vue
  39. 23 2
      src/views/workManagement/receipt/statisticalList.vue

+ 4 - 1
src/App.vue

@@ -5,13 +5,16 @@
 </template>
 
 <script>
+import { delAllTabsKey } from "@/util/keyData";
 export default {
   name: "app",
   data() {
     return {};
   },
   watch: {},
-  created() {
+  mounted() {
+    //刷新浏览器清除标签key
+    delAllTabsKey("ALL");
   },
   methods: {},
   computed: {}

+ 13 - 0
src/api/statisticAnalysis/salesProfit.js

@@ -0,0 +1,13 @@
+import request from '@/router/axios';
+
+export const getList = (current, size,params) => {
+  return request({
+    url: '/api/blade-purchase-sales/exportOrder/profit',
+    method: 'get',
+    params: {
+      ...params,
+      current,
+      size
+    }
+  })
+}

+ 1 - 1
src/cache.js

@@ -11,7 +11,7 @@ Vue.mixin({
   },
   beforeRouteLeave: function (to, from, next) {
     if (store.getters.tagList.length >= 8 && !store.getters.tagList.find(res => to.fullPath == res.value)) {
-      this.$confirm('tab页面数量已超出限制,请关闭tab页再打开', '温馨提示', {
+      this.$confirm('打开页面数超出最大限制,请先关闭其它页面!', '温馨提示', {
         confirmButtonText: '确定',
         showCancelButton: false,
         type: 'warning'

+ 5 - 1
src/components/finance/financialAccount.vue

@@ -135,6 +135,10 @@
       billType: {
         type: String
       },
+      srcType: {
+        type: Number,
+        default: 1,
+      },
       billData: {
         type: Object
       },
@@ -311,7 +315,7 @@
         const itemsList = this.data.map(item => {
           item.corpId = this.corpId;
           item.tradeType = this.billData.optionType?this.billData.optionType: item.tradeType
-          // item.srcType = 1
+          item.srcType = this.srcType
           return item
         })
         const params = {

+ 1 - 1
src/components/price-Library/configuration/mainList.json

@@ -1,6 +1,6 @@
 {
   "border": true,
-  "searchMenuSpan": 8,
+  "searchMenuSpan": 24,
   "index": true,
   "viewBtn": false,
   "editBtn": false,

+ 26 - 3
src/components/report-dialog/main.vue

@@ -84,6 +84,9 @@ export default {
     },
     reportId: {
       type: String
+    },
+    searchValue:{
+      type:Object
     }
   },
   filters: {
@@ -117,9 +120,29 @@ export default {
       });
     },
     goReport(name) {
-      this.$router.push({
-        path: `/myiframe/urlPath?name=preview-${name}&src=${this.website.reportUrl}/preview?_u=blade-${name}&id=${this.reportId}`
-      });
+      let tenantId = this.$store.getters.userInfo.tenant_id
+      if(this.reportName == "同海-统计列表"){
+        this.$router.push({
+          path: `/myiframe/urlPath?name=preview-${name}&src=${this.website.reportUrl}/preview?_u=blade-${name}
+          &tenantId=${this.searchValue.tenantId}
+          &status=${this.searchValue.status}
+           &cornId=${this.searchValue.cornId}
+      &deptid=${this.searchValue.deptid}
+      &pname=${this.searchValue.pname}
+      &projectType=${this.searchValue.projectType}
+      &payStartTime=${this.searchValue.payStartTime}
+      &payEndTime=${this.searchValue.payEndTime}
+      &userName=${this.searchValue.userName}`
+        });
+      }else if(name == "客户资料-客户资料.ureport.xml"){
+        this.$router.push({
+          path: `/myiframe/urlPath?name=preview-${name}&src=${this.website.reportUrl}/preview?_u=blade-${name}&id=${this.reportId}&tenantId=${tenantId}`
+        });
+      }else{
+        this.$router.push({
+          path: `/myiframe/urlPath?name=preview-${name}&src=${this.website.reportUrl}/preview?_u=blade-${name}&id=${this.reportId}`
+        });
+      }
       this.$emit("onClose", false);
     }
   },

+ 15 - 0
src/router/views/index.js

@@ -796,6 +796,21 @@ export default [{
     ]
   },
   {
+    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')
+      }
+    ]
+  },
+  {
     path: '/salaryManagement/primarySchool/index',
     component: Layout,
     hidden: true,

+ 4 - 1
src/store/modules/tags.js

@@ -6,7 +6,7 @@ import {
   diff
 } from '@/util/util'
 import website from '@/config/website'
-
+import {delTabsKey,delAllTabsKey} from '@/util/keyData'
 const isFirstPage = website.isFirstPage;
 const tagWel = website.fistPage;
 const tagObj = {
@@ -69,6 +69,7 @@ const navs = {
         name: 'tagList',
         content: state.tagList
       })
+      delTabsKey(state.tag.label)
     },
     DEL_ALL_TAG: (state) => {
       state.tagList = [state.tagWel];
@@ -76,6 +77,7 @@ const navs = {
         name: 'tagList',
         content: state.tagList
       })
+      delAllTabsKey('ALL')
     },
     DEL_TAG_OTHER: (state) => {
       state.tagList = state.tagList.filter(item => {
@@ -90,6 +92,7 @@ const navs = {
         name: 'tagList',
         content: state.tagList
       })
+      delAllTabsKey(state.tag.label)
     },
     SET_TAG_LIST(state, tagList) {
       state.tagList = tagList;

+ 0 - 1
src/util/contrastData.js

@@ -3,7 +3,6 @@ export function contrastObj(newval, oldval) {
   let reg = /^[A-Za-z]+$/;
   for (let key in newval) {
     if (reg.test(key)&&!(newval[key] instanceof Array) && (newval[key] != oldval[key] && (newval[key] || oldval[key]))) {
-      console.log(newval[key])
       return true
     }
   }

+ 41 - 1
src/util/keyData.js

@@ -1,9 +1,13 @@
+import { unLock } from "@/api/lock/lock"
 //进入详情页时,保存id和其他参数
 export function inDetailsKey(key, obj) {
   let list = []
   list = getDetailsKey() ? getDetailsKey() : []
   if (list.find(e => e.key == key)) {
-    list.fill({key: key,...obj},list.findIndex(item => item.key == key),list.findIndex(item => item.key == key)+1) 
+    list.fill({
+      key: key,
+      ...obj
+    }, list.findIndex(item => item.key == key), list.findIndex(item => item.key == key) + 1)
     sessionStorage.setItem('detailsKeyData', JSON.stringify(list))
   } else {
     list.push({
@@ -23,3 +27,39 @@ export function leaveDetailsKey(key) {
 export function getDetailsKey() {
   return JSON.parse(sessionStorage.getItem("detailsKeyData"))
 }
+//关闭当前tabs,清除key并执行解锁接口
+export function delTabsKey(key) {
+  let list = []
+  list = getDetailsKey() ? getDetailsKey() : []
+  let data = list.find(e => e.key == key)
+  if (data) {
+    //执行解锁接口
+    unLock(data)
+    //执行完接口清除key
+    leaveDetailsKey(key)
+  }
+}
+//关闭其他或者全部tabs,清除key并执行解锁接口
+export function delAllTabsKey(key) {
+  let list = []
+  list = getDetailsKey() ? getDetailsKey() : []
+  if (key == 'ALL') {
+    //关闭所有或者当前为首页的其他tab
+    list.forEach(e => {
+      //执行解锁
+      unLock(e)
+      //执行完接口清除key
+      leaveDetailsKey(e.key)
+    });
+  } else {
+    //其他tab
+    list.forEach(e => {
+      if (e.key != key) {
+        //执行解锁
+        unLock(e)
+        //执行完接口清除key
+        leaveDetailsKey(e.key)
+      }
+    });
+  }
+}

+ 0 - 1
src/views/approveData/index.vue

@@ -183,7 +183,6 @@ let previousRouterName = ""
               }
             });
           }else{
-            this.$router.$avueRouter.closeTag(row.url);
             this.$router.push({
               path: row.url,
               query: {check : row},

+ 20 - 8
src/views/businessManagement/deliveryNotice/configuration/customerContact.json

@@ -33,6 +33,10 @@
     {
       "name": "invoiceWeight",
       "type": "sum"
+    },
+    {
+      "name": "purchaseTotalAmount",
+      "type": "sum"
     }
   ],
   "column":[
@@ -150,10 +154,18 @@
           "trigger": "blur"
         }
       ]
-    },{
+    },
+    {
+      "label": "采购金额",
+      "prop": "purchaseTotalAmount",
+      "index": 9,
+      "width":100,
+      "overHidden": true
+    },
+    {
       "label": "出库数量",
       "prop": "actualQuantity",
-      "index": 9,
+      "index": 10,
       "width":100,
       "cell": false,
       "slot": true,
@@ -168,7 +180,7 @@
     },{
       "label": "出库金额",
       "prop": "deliveryAmount",
-      "index": 10,
+      "index": 11,
       "width":100,
       "cell": false,
       "overHidden": true,
@@ -182,7 +194,7 @@
     },{
       "label": "库存数量",
       "prop": "inventoryNumber",
-      "index": 11,
+      "index": 12,
       "width":100,
       "cell": false,
       "overHidden": true,
@@ -196,7 +208,7 @@
     },{
       "label": "库存金额",
       "prop": "inventoryAmount",
-      "index": 12,
+      "index": 13,
       "width":100,
       "cell": false,
       "overHidden": true,
@@ -210,7 +222,7 @@
     },{
       "label": "到货数量",
       "prop": "arrivalQuantity",
-      "index": 13,
+      "index": 14,
       "width":100,
       "cell": false,
       "slot": true,
@@ -226,7 +238,7 @@
     {
       "label": "积分倍数",
       "prop": "integralMultiples",
-      "index": 14,
+      "index": 15,
       "width":100,
       "cell": false,
       "overHidden": true,
@@ -241,7 +253,7 @@
     {
       "label": "赠送积分",
       "prop": "integral",
-      "index": 15,
+      "index": 16,
       "width":100,
       "cell": false,
       "overHidden": true,

+ 16 - 5
src/views/businessManagement/deliveryNotice/detailsPageEdit.vue

@@ -230,6 +230,7 @@
           itemType="发货"
           feeUrl="/blade-deliver-goods/deliveryfees/update"
           @beforeFinance="beforeFinance"
+          :corpId="form.corpId"
         />
 <!--        <containerTitle title="费用明细"></containerTitle>-->
 <!--        <basic-container style="margin-bottom: 10px">-->
@@ -1005,7 +1006,8 @@ export default {
         this.$set(item, "actualQuantity", (Number(item.orderQuantity) - Number(item.actualQuantity)))
         this.$set(item, "arrivalQuantity", item.actualQuantity)
         this.$set(item, "deliveryAmount", item.amount)
-        this.$set(item, "deliveryAmount", item.amount)
+        this.$set(item, "purchaseTotalAmount", (Number(item.purchaseAmount) * Number(item.actualQuantity)))
+        item.purchaseTotalAmount = item.purchaseTotalAmount.toFixed(2)
         this.$set(item, "inventoryNumber", item.storageQuantity)
         this.form.deliveryAmount += Number(item.deliveryAmount)
         this.form.totalQuantity += Number(item.actualQuantity)
@@ -1632,10 +1634,10 @@ export default {
           this.saveLoading = true
           this.form.billType = 'FH'
           // 如果有id解锁,没有跳过
-          this.form.id && this.unLock({moduleName: 'fh',tableName: 'business_delivery', billId: this.form.id})
+          // !this.detailData.seeDisabled && this.form.id && this.unLock({moduleName: 'fh',tableName: 'business_delivery', billId: this.form.id})
           typeSave(this.form).then(res => {
             this.$message({type: "success", message: this.form.id ? "修改成功!" : "新增成功!"});
-            this.detailData.seeDisabled = true;
+            // this.$set(this.detailData, 'seeDisabled', true);
             if (isBack) {
               //成功关闭此页面回到列表页
               this.$emit("goBack");
@@ -1681,12 +1683,12 @@ export default {
         }).then(() => {
           this.editCustomer(true)
         }).catch(() => {
-          this.form.id && this.unLock({moduleName: 'fh',tableName: 'business_delivery', billId: this.form.id})
+          !this.detailData.seeDisabled && this.form.id && this.unLock({moduleName: 'fh',tableName: 'business_delivery', billId: this.form.id})
           this.$emit("goBack");
           this.leaveDetailsKey(this.$route.name)
         })
       } else {
-        this.form.id && this.unLock({moduleName: 'fh',tableName: 'business_delivery', billId: this.form.id})
+        !this.detailData.seeDisabled && this.form.id && this.unLock({moduleName: 'fh',tableName: 'business_delivery', billId: this.form.id})
         this.$emit("goBack");
         this.leaveDetailsKey(this.$route.name)
       }
@@ -1853,6 +1855,8 @@ export default {
         this.$set(item, 'srcOrderNo', this.form.srcOrderNo)
         this.$set(item, 'arrivalQuantity', item.actualQuantity)
         this.$set(item, "srcId", item.id)
+        this.$set(item, "purchaseTotalAmount", (Number(item.purchaseAmount) * Number(item.actualQuantity)))
+        item.purchaseTotalAmount = item.purchaseTotalAmount.toFixed(2)
         if (this.goodsActives == "goods") {
           this.$set(item, 'goodType', 0)
         } else {
@@ -1897,6 +1901,7 @@ export default {
       }
     },
     async resetColumn() {
+      this.customerContact = customerContact
       const inSave = await this.delColumnData(
         this.getColumnName(21),
         customerContact
@@ -2004,7 +2009,13 @@ export default {
       this.checkLock(data).then(res => {
         if (res.data.code == 200) {
           this.onLock(data).then(response => {
+            this.saveActives = ''
             this.queryData(this.form.id)
+            this.inDetailsKey(this.$route.name, {
+              moduleName: 'fh',
+              tableName: 'business_delivery',
+              billId: this.form.id,
+            })
             this.detailData.seeDisabled = false;
           })
         }

+ 1 - 6
src/views/businessManagement/deliveryNotice/index.vue

@@ -182,7 +182,7 @@ export default {
     })
   },
   activated() {
-    this.isShow = true;
+    // this.isShow = true;
     setTimeout(() => {
       if (this.$route.query.form) {
         this.detailData = {
@@ -255,11 +255,6 @@ export default {
         billId: row.id,
         no: localStorage.getItem('browserID')
       }
-      this.inDetailsKey(this.$route.name, {
-        moduleName: 'fh',
-        tableName: 'business_delivery',
-        billId: row.id,
-      })
       this.checkLock(data).then(res => {
         if (res.data.code == 200) {
           this.onLock(data).then(response => {

+ 12 - 5
src/views/businessManagement/purchaseOrder/detailsPageEdit.vue

@@ -1526,10 +1526,10 @@ export default {
           this.form.billType = 'CG'
           this.$set(this.form, 'tradeType', 'GN')
           // 如果有id解锁,没有跳过
-          this.form.id && this.unLock({moduleName: 'cg',tableName: 'business_order', billId: this.form.id})
+          // this.form.id && this.unLock({moduleName: 'cg',tableName: 'business_order', billId: this.form.id})
           typeSave(this.form).then(res => {
             this.$message({type: "success", message: this.form.id ? "修改成功!" : "新增成功!"});
-            this.detailData.seeDisabled = true;
+            // this.$set(this.detailData, 'seeDisabled', true);
             if (isBack) {
               //成功关闭此页面回到列表页
               this.$emit("goBack");
@@ -1583,7 +1583,7 @@ export default {
         exchangeRate: '1',
         taxRate: '0',
         accDate: this.form.businesDate,
-        srcType: 1,
+        srcType: 1, // 1.采购or销售主表货款申请 2. 采购or销售-费用明细申请  3.收发货-费用明细
         tradeType: 'GN',
         optionType: 'GN',
         amount: this.form.orderAmount,
@@ -1664,12 +1664,12 @@ export default {
         }).then(() => {
           this.editCustomer(true)
         }).catch(() => {
-          this.form.id && this.unLock({moduleName: 'cg',tableName: 'business_order', billId: this.form.id})
+          !this.detailData.seeDisabled && this.form.id && this.unLock({moduleName: 'cg',tableName: 'business_order', billId: this.form.id})
           this.$emit("goBack");
           this.leaveDetailsKey(this.$route.name)
         })
       } else {
-        this.form.id && this.unLock({moduleName: 'cg',tableName: 'business_order', billId: this.form.id})
+        !this.detailData.seeDisabled && this.form.id && this.unLock({moduleName: 'cg',tableName: 'business_order', billId: this.form.id})
         this.$emit("goBack");
         this.leaveDetailsKey(this.$route.name)
       }
@@ -1699,6 +1699,7 @@ export default {
       }
     },
     async resetColumn() {
+      this.customerContact = customerContact
       const inSave = await this.delColumnData(
         this.getColumnName(18),
         customerContact
@@ -1844,6 +1845,12 @@ export default {
       this.checkLock(data).then(res => {
         if (res.data.code == 200) {
           this.onLock(data).then(response => {
+            this.queryData(this.form.id)
+          })
+          this.inDetailsKey(this.$route.name, {
+            moduleName: 'cg',
+            tableName: 'business_order',
+            billId: this.form.id,
           })
           this.detailData.seeDisabled = false;
         }

+ 0 - 5
src/views/businessManagement/purchaseOrder/index.vue

@@ -314,11 +314,6 @@ export default {
         billId: row.id,
         no: localStorage.getItem('browserID')
       }
-      this.inDetailsKey(this.$route.name, {
-        moduleName: 'cg',
-        tableName: 'business_order',
-        billId: row.id,
-      })
       this.checkLock(data).then(res => {
         if (res.data.code == 200) {
           this.detailData = {

+ 12 - 4
src/views/businessManagement/receipt/detailsPageEdit.vue

@@ -170,6 +170,7 @@
           optionType="GN"
           itemType="收货"
           feeUrl="/blade-deliver-goods/deliveryfees/update"
+          :corpId="form.corpId"
         />
 <!--        <containerTitle title="费用明细"></containerTitle>-->
 <!--        <basic-container style="margin-bottom: 10px">-->
@@ -1350,10 +1351,10 @@ export default {
           if (typeof this.form.corpsTypeId == 'object') {
             this.form.corpsTypeId = this.form.corpsTypeId.join(",")
           }
-          this.form.id && this.unLock({moduleName: 'sh',tableName: 'business_delivery', billId: this.form.id})
+          // this.form.id && this.unLock({moduleName: 'sh',tableName: 'business_delivery', billId: this.form.id})
           this.saveLoading = true
           typeSave(this.form).then(res => {
-            this.detailData.seeDisabled = true;
+            // this.$set(this.detailData, 'seeDisabled', true);
             this.$message({type: "success", message: this.form.id ? "修改成功!" : "新增成功!"});
             if (isBack) {
               //成功关闭此页面回到列表页
@@ -1397,12 +1398,12 @@ export default {
         }).then(() => {
           this.editCustomer(true)
         }).catch(() => {
-          this.form.id && this.unLock({moduleName: 'sh',tableName: 'business_delivery', billId: this.form.id})
+          !this.detailData.seeDisabled && this.form.id && this.unLock({moduleName: 'sh',tableName: 'business_delivery', billId: this.form.id})
           this.$emit("goBack");
           this.leaveDetailsKey(this.$route.name)
         })
       } else {
-        this.form.id && this.unLock({moduleName: 'sh',tableName: 'business_delivery', billId: this.form.id})
+        !this.detailData.seeDisabled && this.form.id && this.unLock({moduleName: 'sh',tableName: 'business_delivery', billId: this.form.id})
         this.$emit("goBack");
         this.leaveDetailsKey(this.$route.name)
       }
@@ -1432,6 +1433,7 @@ export default {
       }
     },
     async resetColumn() {
+      this.customerContact = customerContact
       const inSave = await this.delColumnData(
         this.getColumnName(24),
         customerContact
@@ -1474,6 +1476,12 @@ export default {
       this.checkLock(data).then(res => {
         if (res.data.code == 200) {
           this.onLock(data).then(response => {
+            this.queryData(this.form.id)
+          })
+          this.inDetailsKey(this.$route.name, {
+            moduleName: 'sh',
+            tableName: 'business_delivery',
+            billId: this.form.id,
           })
           this.detailData.seeDisabled = false;
         }

+ 1 - 6
src/views/businessManagement/receipt/index.vue

@@ -184,7 +184,7 @@ export default {
     })
   },
   activated() {
-    this.isShow = true;
+    // this.isShow = true;
     setTimeout(() => {
       if (this.$route.query.form) {
         this.detailData = {
@@ -258,11 +258,6 @@ export default {
         billId: row.id,
         no: localStorage.getItem('browserID')
       }
-      this.inDetailsKey(this.$route.name, {
-        moduleName: 'sh',
-        tableName: 'business_delivery',
-        billId: row.id,
-      })
       this.checkLock(data).then(res => {
         if (res.data.code == 200) {
           this.detailData = {

+ 13 - 6
src/views/businessManagement/salesOrder/detailsPageEdit.vue

@@ -2891,10 +2891,10 @@ export default {
           }
           this.form.billType = 'XS'
           // 如果有id解锁,没有跳过
-          this.form.id && this.unLock({moduleName: 'xs',tableName: 'business_order', billId: this.form.id})
+          // this.form.id && this.unLock({moduleName: 'xs',tableName: 'business_order', billId: this.form.id})
           this.saveLoading = true
           typeSave(this.form).then(res => {
-            this.detailData.seeDisabled = true;
+            // this.$set(this.detailData, 'seeDisabled', true);
             this.$message({type: "success", message: this.form.id ? "修改成功!" : "新增成功!"});
             if (isBack) {
               //成功关闭此页面回到列表页
@@ -3036,12 +3036,12 @@ export default {
         }).then(() => {
           this.editCustomer(true)
         }).catch(() => {
-          this.form.id && this.unLock({moduleName: 'xs',tableName: 'business_order', billId: this.form.id})
+          !this.detailData.seeDisabled && this.form.id && this.unLock({moduleName: 'xs',tableName: 'business_order', billId: this.form.id})
           this.$emit("goBack");
           this.leaveDetailsKey(this.$route.name)
         })
       } else {
-        this.form.id && this.unLock({moduleName: 'xs',tableName: 'business_order', billId: this.form.id})
+        !this.detailData.seeDisabled && this.form.id && this.unLock({moduleName: 'xs',tableName: 'business_order', billId: this.form.id})
         this.$emit("goBack");
         this.leaveDetailsKey(this.$route.name)
       }
@@ -3071,6 +3071,7 @@ export default {
       }
     },
     async resetColumn() {
+      this.customerContact = customerContact
       const inSave = await this.delColumnData(
         this.getColumnName(15),
         customerContact
@@ -3132,7 +3133,7 @@ export default {
                 actualQuantitySum = _.add(actualQuantitySum, Number(e.actualQuantity));
                 integralSum = _.add(integralSum, Number(e.integral));
               })
-            };
+            }
             // 订货数量合计
             if (item.property == "orderQuantity") {
               sums[index] = orderQuantitySum ? orderQuantitySum.toFixed(2) : "0.00";
@@ -3268,7 +3269,6 @@ export default {
             this.pageLoading = false
           })
         })
-      } else {
       }
     },
     // 验证新旧值对比
@@ -3334,6 +3334,13 @@ export default {
       this.checkLock(data).then(res => {
         if (res.data.code == 200) {
           this.onLock(data).then(response => {
+            this.saveActives = ''
+            this.queryData(this.form.id)
+          })
+          this.inDetailsKey(this.$route.name, {
+            moduleName: 'xs',
+            tableName: 'business_order',
+            billId: this.form.id,
           })
           this.detailData.seeDisabled = false;
         }

+ 0 - 5
src/views/businessManagement/salesOrder/index.vue

@@ -311,11 +311,6 @@ export default {
         billId: row.id,
         no: localStorage.getItem('browserID')
       }
-      this.inDetailsKey(this.$route.name, {
-        moduleName: 'xs',
-        tableName: 'business_order',
-        billId: row.id,
-      })
       this.checkLock(data).then(res => {
         if (res.data.code == 200) {
           this.detailData = {

+ 27 - 19
src/views/exportTrade/customerInquiry/config/customerContact.json

@@ -58,54 +58,62 @@
       "label": "产品型号",
       "prop": "itemType",
       "index": 7,
-      "width": 100
+      "width": 100,
+      "overHidden": true
+    },
+    {
+      "label": "采购成本",
+      "prop": "purchaseCost",
+      "index": 8,
+      "width": 100,
+      "overHidden": true
     },
     {
       "label": "采购单价",
       "prop": "purchaseAmount",
-      "index": 8,
+      "index": 9,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "配件信息",
       "prop": "partsDescribe",
-      "index": 9,
+      "index": 10,
       "width": 200,
       "overHidden": true
     },
     {
       "label": "配件价格",
       "prop": "partsPrice",
-      "index": 10,
+      "index": 11,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "配件价格描述",
       "prop": "partsPriceDescribe",
-      "index": 11,
+      "index": 12,
       "width": 120,
       "overHidden": true
     },
     {
       "label": "供应商",
       "prop": "corpId",
-      "index": 12,
+      "index": 13,
       "width": 200,
       "overHidden": true
     },
     {
       "label": "重点推荐",
       "prop": "priorityReferrer",
-      "index": 13,
+      "index": 14,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "推荐理由",
       "prop": "referrerReason",
-      "index": 14,
+      "index": 15,
       "width": 100,
       "overHidden": true,
       "cell": true
@@ -113,28 +121,28 @@
     {
       "label": "产品价格",
       "prop": "productPrice",
-      "index": 15,
+      "index": 16,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "销售价",
       "prop": "price",
-      "index": 16,
+      "index": 17,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "单品毛利率",
       "prop": "itemMargin",
-      "index": 17,
+      "index": 18,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "计价单位",
       "prop": "unit",
-      "index": 18,
+      "index": 19,
       "width": 100,
       "overHidden": true,
       "cell": true,
@@ -148,49 +156,49 @@
     {
       "label": "数量",
       "prop": "orderQuantity",
-      "index": 19,
+      "index": 20,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "保险",
       "prop": "insurance",
-      "index": 20,
+      "index": 21,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "运费",
       "prop": "freight",
-      "index": 21,
+      "index": 22,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "折扣",
       "prop": "discount",
-      "index": 22,
+      "index": 23,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "金额",
       "prop": "amount",
-      "index": 23,
+      "index": 24,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "税率",
       "prop": "taxRate",
-      "index": 24,
+      "index": 25,
       "width": 100,
       "overHidden": true
     },
     {
       "label": "备注",
       "prop": "remarks",
-      "index": 25,
+      "index": 26,
       "width": 100,
       "overHidden": true,
       "cell": true

+ 74 - 7
src/views/exportTrade/customerInquiry/detailsPage.vue

@@ -369,6 +369,16 @@
             ></crop-select>
             <span v-show="!row.$cellEdit">{{ row.corpName }}</span>
           </template>
+          <template slot="purchaseCost" slot-scope="{ row }">
+            <el-input
+              v-if="row.$cellEdit"
+              v-model="row.purchaseCost"
+              size="small"
+              placeholder="请输入"
+              oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
+            ></el-input>
+            <span v-else>{{ row.purchaseCost | micrometerFormat }}</span>
+          </template>
           <template slot="purchaseAmount" slot-scope="{ row }">
             <el-input
               v-if="row.$cellEdit"
@@ -1030,11 +1040,11 @@ export default {
       this.data[row.index].corpName = row.cname;
     },
     priceTermsChange(row) {
-      if(!this.form.priceTermsDescription){
-        if(row=='FOB'||row=='EXW'){
-          this.form.priceTermsDescription=this.form.portOfLoad
-        }else{
-          this.form.priceTermsDescription=this.form.portOfDestination
+      if (!this.form.priceTermsDescription) {
+        if (row == "FOB" || row == "EXW") {
+          this.form.priceTermsDescription = this.form.portOfLoad;
+        } else {
+          this.form.priceTermsDescription = this.form.portOfDestination;
         }
       }
     },
@@ -1436,6 +1446,7 @@ export default {
                 item.itemDescription = e.cnameDescription;
                 item.itemType = this.reData.itemType;
                 item.tradeTerms = this.reData.tradeTerms;
+                item.purchaseCost = 0;
                 item.purchaseAmount = 0;
                 item.productPrice = productCal(
                   0,
@@ -1508,6 +1519,7 @@ export default {
             partsPrice: 0,
             itemType: null,
             tradeTerms: null,
+            purchaseCost: 0,
             purchaseAmount: 0,
             price: 0,
             orderQuantity: 0,
@@ -1570,6 +1582,7 @@ export default {
           cname: e.cname,
           ename: e.ename,
           priceCategory: e.goodsTypeName,
+          purchaseCost: e.price,
           purchaseAmount: e.purchaseAmount,
           itemProp: null,
           remarksOne: null,
@@ -1713,6 +1726,14 @@ export default {
                 )
               );
             }
+            this.data.forEach(e => {
+              e.productRemark =
+                e.ename + "\n" + e.itemDescription
+                  ? e.itemDescription
+                  : "" + " " + e.partsDescribe
+                  ? e.partsDescribe
+                  : "";
+            });
           }
           for (let i = 0; i < orderFeesList.length; i++) {
             if (orderFeesList[i].corpId == null) {
@@ -1774,7 +1795,16 @@ export default {
                 );
                 this.oldExchange = this.deepClone(this.form.exchangeRate);
                 if (status == "goBack") {
+                  if (this.form.id) {
+                    this.unLock({
+                      moduleName: "bj",
+                      tableName: "business_order",
+                      billId: this.form.id,
+                      billNo: this.form.orgOrderNo
+                    });
+                  }
                   this.$emit("goBack");
+                  this.leaveDetailsKey(this.$route.name);
                 }
               }
             })
@@ -1803,10 +1833,28 @@ export default {
             this.editCustomer("goBack");
           })
           .catch(() => {
+            if (this.form.id) {
+              this.unLock({
+                moduleName: "bj",
+                tableName: "business_order",
+                billId: this.form.id,
+                billNo: this.form.orgOrderNo
+              });
+            }
             this.$emit("goBack");
+            this.leaveDetailsKey(this.$route.name);
           });
       } else {
+        if (this.form.id) {
+          this.unLock({
+            moduleName: "bj",
+            tableName: "business_order",
+            billId: this.form.id,
+            billNo: this.form.orgOrderNo
+          });
+        }
         this.$emit("goBack");
+        this.leaveDetailsKey(this.$route.name);
       }
     },
     openReport() {
@@ -1861,8 +1909,27 @@ export default {
       return sums;
     },
     openEdit() {
-      this.detailData.status = 2;
-      this.option = this.$options.data().option;
+      const data = {
+        moduleName: "bj",
+        tableName: "business_order",
+        billId: this.form.id,
+        no: localStorage.getItem("browserID"),
+        billNo: this.form.orgOrderNo
+      };
+      this.inDetailsKey(this.$route.name, {
+        moduleName: "bj",
+        tableName: "business_order",
+        billId: this.form.id,
+        billNo: this.form.orgOrderNo
+      });
+      this.saveLoading = true;
+      this.checkLock(data).then(res => {
+        if (res.data.code == 200) {
+          this.onLock(data);
+          this.detailData.status = 2;
+          this.option = this.$options.data().option;
+        }
+      });
     },
     async saveColumn() {
       const inSave = await this.saveColumnData(

+ 1 - 1
src/views/exportTrade/customerInquiry/index.vue

@@ -120,7 +120,7 @@
             type="text"
             icon="el-icon-edit"
             size="small"
-            @click.stop="editOpen(scope.row, 2)"
+            @click.stop="editOpen(scope.row, 1)"
             >编辑
           </el-button>
           <el-button

+ 4 - 4
src/views/exportTrade/purchaseContract/detailsPage.vue

@@ -19,7 +19,7 @@
           @click.stop="openEdit"
           >编辑
         </el-button>
-        <el-dropdown style="margin-right: 8px;">
+        <el-dropdown style="margin-right: 8px;margin-left: 8px;">
           <el-button type="primary" size="small">
             审核处理<i class="el-icon-arrow-down el-icon--right"></i>
           </el-button>
@@ -144,12 +144,12 @@
                 size="small"
                 type="text"
                 @click="rePick(row, index)"
-                :disabled="disabled"
+                :disabled="disabled||detailData.status == 1"
                 class="picker"
                 style="padding:4px 10px;float:left"
                 >选择</el-button
               >
-              <span> {{ row.cname }}</span>
+              <span>{{ row.cname }}</span>
             </template>
             <template slot="itemType" slot-scope="{ row }">
               <el-select
@@ -203,7 +203,7 @@
                 icon="el-icon-edit"
                 type="text"
                 @click="rowCell(row, index)"
-                :disabled="disabled"
+                :disabled="disabled||detailData.status == 1"
                 >{{ row.$cellEdit ? "保存" : "修改" }}</el-button
               >
               <el-button

+ 1 - 1
src/views/exportTrade/purchaseContract/index.vue

@@ -112,7 +112,7 @@
             type="text"
             icon="el-icon-edit"
             size="small"
-            @click.stop="editOpen(scope.row, 2)"
+            @click.stop="editOpen(scope.row, 1)"
             >编辑
           </el-button>
           <el-button

+ 41 - 9
src/views/exportTrade/salesContract/detailsPage.vue

@@ -1862,6 +1862,14 @@ export default {
                 )
               );
             }
+            this.data.forEach(e => {
+              e.productRemark =
+                e.ename + "\n" + e.itemDescription
+                  ? e.itemDescription
+                  : "" + " " + e.partsDescribe
+                  ? e.partsDescribe
+                  : "";
+            });
           }
           const orderFeesList = this.$refs.feeInfo.submitData();
           for (let i = 0; i < orderFeesList.length; i++) {
@@ -1929,16 +1937,17 @@ export default {
               );
               this.oldExchange = this.deepClone(this.form.exchangeRate);
               if (status == "goBack") {
+                if (this.form.id) {
+                  this.unLock({
+                    moduleName: "xs",
+                    tableName: "business_order",
+                    billId: this.form.id,
+                    billNo: this.form.orgOrderNo
+                  });
+                }
                 this.$emit("goBack");
                 this.leaveDetailsKey(this.$route.name);
               }
-              if (this.form.id) {
-                this.unLock({
-                  moduleName: "xs",
-                  tableName: "business_order",
-                  billId: this.form.id
-                });
-              }
             })
             .finally(() => {
               this.subLoading = false;
@@ -2015,10 +2024,26 @@ export default {
             this.editCustomer("goBack");
           })
           .catch(() => {
+            if (this.form.id) {
+              this.unLock({
+                moduleName: "xs",
+                tableName: "business_order",
+                billId: this.form.id,
+                billNo: this.form.orgOrderNo
+              });
+            }
             this.$emit("goBack");
             this.leaveDetailsKey(this.$route.name);
           });
       } else {
+        if (this.form.id) {
+          this.unLock({
+            moduleName: "xs",
+            tableName: "business_order",
+            billId: this.form.id,
+            billNo: this.form.orgOrderNo
+          });
+        }
         this.$emit("goBack");
         this.leaveDetailsKey(this.$route.name);
       }
@@ -2093,12 +2118,19 @@ export default {
         moduleName: "xs",
         tableName: "business_order",
         billId: this.form.id,
-        no: localStorage.getItem("browserID")
+        no: localStorage.getItem("browserID"),
+        billNo: this.form.orgOrderNo
       };
+      this.inDetailsKey(this.$route.name, {
+        moduleName: "xs",
+        tableName: "business_order",
+        billId: this.form.id,
+        billNo: this.form.orgOrderNo
+      });
       this.saveLoading = true;
       this.checkLock(data).then(res => {
         if (res.data.code == 200) {
-          this.onLock(data).then(response => {});
+          this.onLock(data);
           this.detailData.status = 2;
           this.option = this.$options.data().option;
         }

+ 0 - 5
src/views/exportTrade/salesContract/index.vue

@@ -297,11 +297,6 @@ export default {
         status: status
       };
       this.show = false;
-      this.inDetailsKey(this.$route.name, {
-        moduleName: "xs",
-        tableName: "business_order",
-        id: row.id
-      });
     },
     //点击搜索按钮触发
     searchChange(params, done) {

+ 0 - 5
src/views/financialManagement/paymentSettle/paymentSettle.vue

@@ -135,11 +135,6 @@
           billId: row.id,
           no: localStorage.getItem('browserID')
         }
-        this.inDetailsKey(this.$route.name, {
-          moduleName: 'ff',
-          tableName: 'finance_settlement',
-          billId: row.id,
-        })
         this.checkLock(data).then(res => {
           if (res.data.code == 200) {
             this.detailData = {

+ 10 - 5
src/views/financialManagement/paymentSettle/paymentSettleDetailsPage.vue

@@ -602,11 +602,11 @@
               settlementType:1
             }
 // 如果有id解锁,没有跳过
-            this.form.id && this.unLock({moduleName: 'ff',tableName: 'finance_settlement', billId: this.form.id})
+//             this.form.id && this.unLock({moduleName: 'ff',tableName: 'finance_settlement', billId: this.form.id})
             saveOrEdit(params).then(res=>{
               this.$message.success("操作成功!")
-              this.detailData.disabled = true
-              this.editDisable = true
+              // this.detailData.disabled = true
+              // this.editDisable = true
               this.afterEcho(res.data.data)
               done();
             }).finally(()=>{
@@ -682,12 +682,12 @@
           }).then(() => {
             this.saveSettlement()
           }).catch(()=>{
-            this.form.id && this.unLock({moduleName: 'ff',tableName: 'finance_settlement', billId: this.form.id})
+            !this.editDisable && this.form.id && this.unLock({moduleName: 'ff',tableName: 'finance_settlement', billId: this.form.id})
             this.$emit("goBack");
             this.leaveDetailsKey(this.$route.name)
           })
         }else{
-          this.form.id && this.unLock({moduleName: 'ff',tableName: 'finance_settlement', billId: this.form.id})
+          !this.editDisable && this.form.id && this.unLock({moduleName: 'ff',tableName: 'finance_settlement', billId: this.form.id})
           this.$emit("goBack");
           this.leaveDetailsKey(this.$route.name)
         }
@@ -712,6 +712,11 @@
           if (res.data.code == 200) {
             this.onLock(data).then(response => {
             })
+            this.inDetailsKey(this.$route.name, {
+              moduleName: 'ff',
+              tableName: 'finance_settlement',
+              billId: this.form.id,
+            })
             this.detailData.disabled = false;
             this.editDisable = false;
             this.buttonLoading = true

+ 0 - 5
src/views/financialManagement/receiptSettle/receiptSettle.vue

@@ -122,11 +122,6 @@
           billId: row.id,
           no: localStorage.getItem('browserID')
         }
-        this.inDetailsKey(this.$route.name, {
-          moduleName: 'sf',
-          tableName: 'finance_settlement',
-          billId: row.id,
-        })
         this.checkLock(data).then(res => {
           if (res.data.code == 200) {
             this.detailData = {

+ 10 - 5
src/views/financialManagement/receiptSettle/receiptSettleDetailsPage.vue

@@ -620,11 +620,11 @@
             }
 
             // 如果有id解锁,没有跳过
-            this.form.id && this.unLock({moduleName: 'sf',tableName: 'finance_settlement', billId: this.form.id})
+            // this.form.id && this.unLock({moduleName: 'sf',tableName: 'finance_settlement', billId: this.form.id})
             saveOrEdit(params).then(res=>{
               this.$message.success("操作成功!")
-              this.detailData.disabled = true
-              this.editDisable = true
+              // this.detailData.disabled = true
+              // this.editDisable = true
               this.afterEcho(res.data.data)
             }).finally(()=>{
               this.buttonLoading = false
@@ -699,12 +699,12 @@
           }).then(() => {
             this.saveSettlement()
           }).catch(()=>{
-            this.form.id && this.unLock({moduleName: 'sf',tableName: 'finance_settlement', billId: this.form.id})
+            !this.editDisable && this.form.id && this.unLock({moduleName: 'sf',tableName: 'finance_settlement', billId: this.form.id})
             this.$emit("goBack");
             this.leaveDetailsKey(this.$route.name)
           })
         }else{
-          this.form.id && this.unLock({moduleName: 'sf',tableName: 'finance_settlement', billId: this.form.id})
+          !this.editDisable && this.form.id && this.unLock({moduleName: 'sf',tableName: 'finance_settlement', billId: this.form.id})
           this.$emit("goBack");
           this.leaveDetailsKey(this.$route.name)
         }
@@ -739,6 +739,11 @@
           if (res.data.code == 200) {
             this.onLock(data).then(response => {
             })
+            this.inDetailsKey(this.$route.name, {
+              moduleName: 'sf',
+              tableName: 'finance_settlement',
+              billId: this.form.id,
+            })
             this.detailData.disabled = false;
             this.editDisable = false;
             this.buttonLoading = true

+ 39 - 2
src/views/purchase/contract/detailsPage.vue

@@ -308,6 +308,7 @@
           @beforeFinance="beforeFinance"
           @afterFinance="afterFinance"
           feeUrl=""
+          :corpId="form.corpId"
         />
         <upload-file
           ref="uploadFile"
@@ -367,6 +368,7 @@
       <financial-account
         :billType="billType"
         :billData="billData"
+        :checkData="checkData"
         @choceFun="choceFun"
       >
       </financial-account>
@@ -413,6 +415,7 @@ export default {
   },
   data() {
     return {
+      lockData:{},
       form: {},
       disabled: false,
       customerContact: {},
@@ -446,6 +449,12 @@ export default {
         placeholder:'请点击右边按钮选择',
         dicData:[]
       },
+      checkData:{
+        url:"/financialManagement/paymentRequest/index",
+        pageStatus:"this.$store.getters.pqStatus",
+        pageLabel:"付费申请",
+        checkType: 'ffsq'
+      },
       //对比新旧数据信息
       oldContactsData:[],
       oldForm:{},
@@ -732,6 +741,14 @@ export default {
   },
   async created() {
     this.customerContact = await this.getColumnData(this.getColumnName(37), customerContact);
+    // this.lockData = {
+    //   moduleName: 'cg',
+    //   tableName: 'business_order',
+    //   billId: this.detailData.id,
+    //   billNo:this.detailData.srcBillNo,
+    //   no: localStorage.getItem('browserID')
+    // }
+
     //币别
     this.getWorkDicts("currency").then(res =>{
       this.currencyDic = res.data.data
@@ -948,10 +965,23 @@ export default {
         this.copyData()
       }
     },
-    openDisabled(){
+
+    openDisabled() {
       this.viewDisabled = false
       this.checkDisabled = false
     },
+
+    // async openDisabled(){
+    //   this.viewDisabled = false
+    //   this.checkDisabled = false
+    //   if(!await this.checkLocks(this.lockData)){
+    //     this.onLock(this.lockData)
+    //     this.viewDisabled = false
+    //     this.checkDisabled = false
+    //   }else{
+    //     this.$message.warning("此订单已被锁定,请稍后操作!")
+    //   }
+    // },
     selectionContact(row){
       this.selectContact = row;
     },
@@ -1169,7 +1199,13 @@ export default {
         this.$message.success("复制成功!")
       }
     },
-    backToList() {
+     backToList() {
+      //如果单据已被锁定 并且编辑按钮存在  则直接返回
+      // if(await this.checkLocks(this.lockData) && this.viewDisabled){
+      //   this.$emit("goBack");
+      //   return
+      // }
+
       this.orderFeesList = this.$refs.feeInfo.submitData();
       if(contrastObj(this.form,this.oldForm) || contrastList(this.contactsData,this.oldContactsData)
         || contrastList(this.orderFeesList,this.oldFeesList) || contrastList(this.orderFilesList,this.oldFilesList)
@@ -1181,6 +1217,7 @@ export default {
         }).then(() => {
           this.editCustomer(true)
         }).catch(()=>{
+          // this.unLock(this.lockData) //解锁
           this.$emit("goBack");
         })
       }else{

+ 73 - 14
src/views/salaryManagement/primarySchool/detailsPage.vue

@@ -10,14 +10,24 @@
           >返回列表
         </el-button>
       </div>
-      <el-button
-        class="el-button--small-yh add-customer-btn"
-        type="primary"
-        :disabled="loadingBtn"
-        size="small"
-        @click="editCustomer"
-        >保存数据
-      </el-button>
+      <div class="add-customer-btn">
+        <el-button
+          type="primary"
+          size="small"
+          v-if="detailData.status == 1"
+          class="el-button--small-yh "
+          @click.stop="openEdit"
+          >编辑
+        </el-button>
+        <el-button
+          class="el-button--small-yh"
+          type="primary"
+          :disabled="loadingBtn || detailData.status == 1"
+          size="small"
+          @click="editCustomer"
+          >保存数据
+        </el-button>
+      </div>
     </div>
     <div class="customer-main">
       <containerTitle title="基础资料"></containerTitle>
@@ -47,6 +57,7 @@
           @row-save="rowSave"
           @row-update="rowUpdate"
           :cell-style="cellStyle"
+          :row-style="rowStyle"
           :header-cell-class-name="headerCellClassName"
         >
           <template slot="menuLeft">
@@ -54,12 +65,21 @@
               type="primary"
               @click.stop="$refs.crud.rowAdd()"
               size="small"
+              :disabled="detailData.status == 1"
               >新增</el-button
             >
-            <el-button type="primary" size="small" @click="importExcel()"
+            <el-button
+              type="primary"
+              size="small"
+              @click="importExcel()"
+              :disabled="detailData.status == 1"
               >导入
             </el-button>
-            <el-button type="primary" size="small" @click.stop="openExport()"
+            <el-button
+              type="primary"
+              size="small"
+              @click.stop="openExport()"
+              :disabled="detailData.status == 1"
               >导出
             </el-button>
           </template>
@@ -579,6 +599,7 @@
               type="text"
               size="small"
               @click.stop="$refs.crud.rowEdit(row, index)"
+              :disabled="detailData.status == 1"
             >
               {{ row.$cellEdit ? "保存" : "编辑" }}
             </el-button>
@@ -586,6 +607,7 @@
               type="text"
               size="small"
               @click.stop="rowDel(row, index)"
+              :disabled="detailData.status == 1"
             >
               删除
             </el-button>
@@ -795,10 +817,9 @@ export default {
     if (this.detailData.id) {
       this.getDetail(this.detailData.id);
     }
-    // if (this.detailData.status == 1) {
-    //   this.option.disabled = true;
-    //   this.findObject(this.optionList.column, "cname").search = true;
-    // }
+    if (this.detailData.status == 1) {
+      this.option.disabled = true;
+    }
     this.optionList.height = window.innerHeight - 400;
   },
   methods: {
@@ -826,6 +847,13 @@ export default {
         return "headerCellClass";
       }
     },
+    rowStyle({ row, column, rowIndex }) {
+      if (rowIndex % 2 === 1) {
+        return {
+          backgroundColor: "#FAFAFA",
+        };
+      }
+    },
     getDetail(id) {
       detail(id).then(res => {
         this.form = res.data.data;
@@ -1178,9 +1206,40 @@ export default {
         data: opt.data
       });
     },
+    openEdit() {
+      const data = {
+        moduleName: "xxb",
+        tableName: "primary_school",
+        billId: this.form.id,
+        no: localStorage.getItem("browserID"),
+        billNo: this.form.annual + "-" + this.form.moon
+      };
+      this.inDetailsKey(this.$route.name, {
+        moduleName: "xxb",
+        tableName: "primary_school",
+        billId: this.form.id,
+        billNo: this.form.annual + "-" + this.form.moon
+      });
+      this.checkLock(data).then(res => {
+        if (res.data.code == 200) {
+          this.onLock(data);
+          this.detailData.status = 2;
+          this.option = this.$options.data().option;
+        }
+      });
+    },
     //返回列表
     backToList() {
+      if (this.form.id) {
+        this.unLock({
+          moduleName: "xxb",
+          tableName: "primary_school",
+          billId: this.form.id,
+          billNo: this.form.annual + "-" + this.form.moon
+        });
+      }
       this.$emit("goBack");
+      this.leaveDetailsKey(this.$route.name);
     }
   },
   watch: {

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

@@ -25,9 +25,9 @@
           <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 type="text" size="small" @click.stop="editOpen(row, 1)">
             编辑
-          </el-button>
+          </el-button> -->
           <el-button type="text" size="small" @click.stop="rowDel(row, index)">
             删除
           </el-button>

+ 1 - 0
src/views/salesManagement/salesContract/detailsPage.vue

@@ -308,6 +308,7 @@
           :itemType="'采购'"
           :optionType="'JK'"
           feeUrl=""
+          :corpId="form.corpId"
         />
         <upload-file
           ref="uploadFile"

+ 42 - 64
src/views/statisticAnalysis/salesProfit/index.vue

@@ -18,32 +18,37 @@
         @resetColumn="resetColumn"
         :cell-style="cellStyle"
       >
-        <template slot-scope="{ row }" slot="updateUser">
-          <span>{{ row.updateUserName }}</span>
+        <template slot="corpIdSearch">
+          <crop-select v-model="search.corpId" corpType="KH"></crop-select>
         </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 slot="businesDateSearch">
+          <el-date-picker
+            v-model="search.businesDate"
+            type="daterange"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            format="yyyy-MM-dd"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            :default-time="['00:00:00', '23:59:59']"
+          >
+          </el-date-picker>
         </template>
+        <!-- <template slot-scope="{ row }" slot="corpId">
+          <span>{{ row.corpsName }}</span>
+        </template> -->
       </avue-crud>
     </basic-container>
   </div>
 </template>
 
 <script>
-import { getList, remove } from "@/api/salaryManagement/primarySchool";
+import { getList } from "@/api/statisticAnalysis/salesProfit";
 export default {
   name: "index",
   data() {
     return {
       form: {},
+      search: {},
       dataList: [],
       loading: false,
       isShow: true,
@@ -54,7 +59,7 @@ export default {
       },
       option: {
         searchShow: true,
-        searchMenuSpan: 16,
+        searchMenuSpan: 24,
         align: "center",
         searchSpan: 8,
         border: true,
@@ -67,94 +72,79 @@ export default {
         searchLabelWidth: 100,
         searchIcon: true,
         searchIndex: 2,
+        menu: false,
         column: [
           {
             label: "合同号",
-            prop: "",
+            prop: "orderNo",
             overHidden: true,
             width: 100,
             search: true
           },
           {
             label: "客户名称",
-            prop: "",
+            prop: "corpId",
             overHidden: true,
             width: 100,
-            search: true
+            search: true,
+            formatter: row => {
+              return row.corpsName;
+            }
           },
           {
             label: "合同日期",
-            prop: "",
+            prop: "businesDate",
             type: "date",
-            valueFormat: "yyyy-MM-dd",
+            format: "yyyy-MM-dd",
             overHidden: true,
-            width: 100
-          },
-          {
-            label: "合同日期开始",
-            prop: "DateStart",
-            type: "date",
-            valueFormat: "yyyy-MM-dd",
             search: true,
-            hide: true,
-            showColumn: false,
-            span: 8
-          },
-          {
-            label: "合同日期结束",
-            prop: "DateEnd",
-            type: "date",
-            valueFormat: "yyyy-MM-dd",
-            search: true,
-            hide: true,
-            showColumn: false,
-            span: 8
+            width: 100
           },
           {
             label: "起运港",
-            prop: "",
+            prop: "portOfLoad",
             overHidden: true,
             width: 100
           },
           {
             label: "目的港",
-            prop: "",
+            prop: "portOfDestination",
             overHidden: true,
             width: 100
           },
           {
             label: "运输条款",
-            prop: "",
+            prop: "transport",
             overHidden: true,
             width: 100
           },
           {
             label: "采购报价",
-            prop: "",
+            prop: "purchasePrice",
             overHidden: true,
             width: 100
           },
           {
             label: "销售金额",
-            prop: "",
+            prop: "amount",
             overHidden: true,
             width: 100
           },
           {
             label: "产品毛利",
-            prop: "",
+            prop: "grossProfit",
             overHidden: true,
             width: 100
           },
           {
             label: "产品利率",
-            prop: "",
+            prop: "grossProfitRate",
             overHidden: true,
             width: 100
           },
           {
             label: "单票利润",
-            prop: "",
+            prop: "singleTicketMargin",
             overHidden: true,
             width: 100
           }
@@ -168,6 +158,11 @@ export default {
     },
     //点击搜索按钮触发
     searchChange(params, done) {
+      if (params.businesDate) {
+        params.contractStartDate = params.businesDate[0];
+        params.contractEndDate = params.businesDate[1];
+      }
+      delete params.businesDate;
       this.page.currentPage = 1;
       this.onLoad(this.page, params);
       done();
@@ -207,23 +202,6 @@ export default {
       };
       this.isShow = false;
     },
-    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);
-          }
-        });
-      });
-    },
     goBack() {
       this.detailData = this.$options.data().detailData;
       this.isShow = true;

+ 4 - 0
src/views/system/lock/index.vue

@@ -98,6 +98,10 @@ export default {
           label: '销项',
           value: 'xx'
         },
+        {
+          label: '小学部',
+          value: 'xxb'
+        },
       ]
     }
   },

+ 23 - 24
src/views/wel/components/quick-launch.vue

@@ -7,87 +7,87 @@
         </span>
       </div>
       <div class="content" v-if="sysType == 3">
-        <div class="content-icon"  @click="inPage('cg')">
+        <div class="content-icon" @click="inPage('cg')">
           <i class="tradingIcon icon-purchase" style="color:#75CD28"></i>
           <span>采购</span>
         </div>
-        <div class="content-icon"  @click="inPage('xs')">
+        <div class="content-icon" @click="inPage('xs')">
           <i class="tradingIcon icon-sales" style="color:#409EFF"></i>
           <span>销售</span>
         </div>
-        <div class="content-icon"  @click="inPage('sh')">
+        <div class="content-icon" @click="inPage('sh')">
           <i class="tradingIcon icon-receipt" style="color:#921939"></i>
           <span>收货</span>
         </div>
-        <div class="content-icon"  @click="inPage('fh')">
+        <div class="content-icon" @click="inPage('fh')">
           <i class="tradingIcon icon-ship" style="color:#143056"></i>
           <span>发货</span>
         </div>
-        <div class="content-icon"  @click="inPage('sqfk')">
+        <div class="content-icon" @click="inPage('sqfk')">
           <i class="tradingIcon icon-apply" style="color:#BE3216"></i>
           <span>申请付款</span>
         </div>
-        <div class="content-icon"  @click="inPage('ff')">
+        <div class="content-icon" @click="inPage('ff')">
           <i class="tradingIcon icon-pay" style="color:#7E8270"></i>
           <span>付费</span>
         </div>
-        <div class="content-icon"  @click="inPage('sf')">
+        <div class="content-icon" @click="inPage('sf')">
           <i class="tradingIcon icon-charge" style="color:#4D6016"></i>
           <span>收费</span>
         </div>
       </div>
       <div class="content" v-if="sysType == 5">
-        <div class="content-icon"  @click="inPage('zy')">
+        <div class="content-icon" @click="inPage('zy')">
           <i class="tradingIcon icon-pay" style="color:#57927a"></i>
           <span>主营业务</span>
         </div>
-        <div class="content-icon"  @click="inPage('yf')">
+        <div class="content-icon" @click="inPage('yf')">
           <i class="tradingIcon icon-pay" style="color:#576892"></i>
           <span>业绩分析</span>
         </div>
-        <div class="content-icon"  @click="inPage('tj')">
+        <div class="content-icon" @click="inPage('tj')">
           <i class="tradingIcon icon-pay" style="color:#57927a"></i>
           <span>统计列表</span>
         </div>
-        <div class="content-icon"  @click="inPage('fw')">
+        <div class="content-icon" @click="inPage('fw')">
           <i class="tradingIcon icon-pay" style="color:#576892"></i>
           <span>服务项目</span>
         </div>
-        <div class="content-icon"  @click="inPage('sp')">
+        <div class="content-icon" @click="inPage('sp')">
           <i class="tradingIcon icon-pay" style="color:#57927a"></i>
           <span>商品信息</span>
         </div>
-        <div class="content-icon"  @click="inPage('fy')">
+        <div class="content-icon" @click="inPage('fy')">
           <i class="tradingIcon icon-pay" style="color:#576892"></i>
           <span>费用详情</span>
         </div>
       </div>
-      <div class="content" v-if="sysType == 4 || sysType == 2 ">
-        <div class="content-icon"  @click="inPage('xs')">
+      <div class="content" v-if="sysType == 4 || sysType == 2">
+        <div class="content-icon" @click="inPage('xs')">
           <i class="tradingIcon icon-sales" style="color:#409EFF"></i>
           <span>销售</span>
         </div>
-        <div class="content-icon"  @click="inPage('cg')">
+        <div class="content-icon" @click="inPage('cg')">
           <i class="tradingIcon icon-purchase" style="color:#75CD28"></i>
           <span>采购</span>
         </div>
-        <div class="content-icon"  @click="inPage('fh')">
+        <div class="content-icon" @click="inPage('fh')">
           <i class="tradingIcon icon-ship" style="color:#143056"></i>
           <span>发货</span>
         </div>
-        <div class="content-icon"  @click="inPage('sh')">
+        <div class="content-icon" @click="inPage('sh')">
           <i class="tradingIcon icon-receipt" style="color:#921939"></i>
           <span>收货</span>
         </div>
-        <div class="content-icon"  @click="inPage('sqfk')">
+        <div class="content-icon" @click="inPage('sqfk')">
           <i class="tradingIcon icon-apply" style="color:#BE3216"></i>
           <span>付费申请</span>
         </div>
-        <div class="content-icon"  @click="inPage('sf')">
+        <div class="content-icon" @click="inPage('sf')">
           <i class="tradingIcon icon-charge" style="color:#4D6016"></i>
           <span>收费</span>
         </div>
-        <div class="content-icon"  @click="inPage('ff')">
+        <div class="content-icon" @click="inPage('ff')">
           <i class="tradingIcon icon-pay" style="color:#7E8270"></i>
           <span>付费</span>
         </div>
@@ -164,7 +164,7 @@ export default {
             );
             break;
         }
-      }else if (this.sysType == 3) {
+      } else if (this.sysType == 3) {
         switch (type) {
           case "xs":
             this.$router.push("/salesManagement/salesContract/index");
@@ -192,7 +192,7 @@ export default {
             );
             break;
         }
-      }else if (this.sysType == 5) {
+      } else if (this.sysType == 5) {
         switch (type) {
           case "zy":
             this.$router.push("/workManagement/main-items/list");
@@ -214,7 +214,6 @@ export default {
             break;
         }
       }
-
     }
   }
 };

+ 23 - 2
src/views/workManagement/receipt/statisticalList.vue

@@ -26,6 +26,14 @@
           @click.stop="downFile"
         >导 出
         </el-button>
+        <el-button
+          icon="el-icon-printer"
+          size="small"
+          type="primary"
+          :loading="exportLoading"
+          @click.stop="statement"
+        >报表
+        </el-button>
       </template>
       <template slot="cornIdSearch">
         <select-component
@@ -65,8 +73,8 @@
     </avue-crud>
     <report-dialog
       :switchDialog="switchDialog"
-      :reportId="form.id"
-      reportName="统计列表"
+      :searchValue="statementData"
+      :reportName="'同海-统计列表'"
       @onClose="onClose()"
     ></report-dialog>
   </basic-container>
@@ -87,6 +95,7 @@
         loading:false,
         form: {},
         search:{},
+        statementData:{},
         exportLoading:false,
         option: option,
         parentId:0,
@@ -162,6 +171,18 @@
             this.exportLoading = false
         })
       },
+      statement(){
+        this.statementData = this.paramsAdjustment(this.search)
+        if(this.statementData.status === "0,1,2,3,4,5,6,7,8"){
+          this.statementData.status = ""
+        }
+        if(this.statementData.payTime && this.statementData.payTime.length === 0){
+          this.statementData.payStartTime = ""
+          this.statementData.payEndTime = ""
+        }
+        this.statementData.tenantId = this.$store.getters.userInfo.tenant_id
+        this.switchDialog =! this.switchDialog;
+      },
       rowDel() {
 
       },