Browse Source

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

caojunjie 3 years ago
parent
commit
1e363d68ef
38 changed files with 707 additions and 112 deletions
  1. 4 2
      src/components/crop-select/main.vue
  2. 2 2
      src/page/index/tags.vue
  3. 2 2
      src/router/views/index.js
  4. 2 2
      src/store/modules/ifdetail.js
  5. 3 0
      src/util/validate.js
  6. 36 13
      src/views/basicData/customerInformation/detailsPageEdit.vue
  7. 20 12
      src/views/basicData/customerManagement/companyMaterial/detailsPageEdit.vue
  8. 20 12
      src/views/basicData/customerManagement/supplierMaterial/detailsPageEdit.vue
  9. 20 12
      src/views/basicData/factoryInformation/factoryInformation/detailsPageEdit.vue
  10. 20 12
      src/views/basicData/fleetInformation/detailsPageEdit.vue
  11. 17 1
      src/views/businessManagement/salesOrder/detailsPageEdit.vue
  12. 1 0
      src/views/exportTrade/customerInquiry/detailsPage.vue
  13. 1 0
      src/views/exportTrade/salesContract/detailsPage.vue
  14. 9 0
      src/views/maintenance/salesPolicy/detailsPageEdit.vue
  15. 10 0
      src/views/reimbursement/config/customerContact.json
  16. 19 0
      src/views/reimbursement/detail.vue
  17. 2 1
      src/views/reimbursement/index.vue
  18. 55 1
      src/views/salaryManagement/highSchool/detailsPage.vue
  19. 34 2
      src/views/salaryManagement/highSchool/js/optionList.js
  20. 55 1
      src/views/salaryManagement/juniorhighSchool/detailsPage.vue
  21. 34 2
      src/views/salaryManagement/juniorhighSchool/js/optionList.js
  22. 55 1
      src/views/salaryManagement/logisticsDepartment/detailsPage.vue
  23. 34 2
      src/views/salaryManagement/logisticsDepartment/js/optionList.js
  24. 56 2
      src/views/salaryManagement/primarySchool/detailsPage.vue
  25. 34 2
      src/views/salaryManagement/primarySchool/js/optionList.js
  26. 6 0
      src/views/saleLeads/detail.vue
  27. 4 3
      src/views/saleLeads/index.vue
  28. 2 2
      src/views/wel/components/quick-launch.vue
  29. 19 2
      src/views/workManagement/handoverSheet/config/customerContact.json
  30. 38 4
      src/views/workManagement/handoverSheet/detail.vue
  31. 2 1
      src/views/workManagement/handoverSheet/index.vue
  32. 23 3
      src/views/workManagement/purchaseApply/detail.vue
  33. 1 0
      src/views/workManagement/purchaseApply/index.vue
  34. 19 0
      src/views/workManagement/requisition/detail.vue
  35. 1 0
      src/views/workManagement/requisition/index.vue
  36. 1 1
      src/views/workManagement/warehousing/config/mainList.json
  37. 33 5
      src/views/workManagement/warehousing/detail.vue
  38. 13 7
      src/views/workManagement/warehousing/index.vue

+ 4 - 2
src/components/crop-select/main.vue

@@ -104,7 +104,7 @@
         <el-button
           type="primary"
           @click="importCorp"
-          :disabled="selectionList.length != 1"
+          :disabled="!multiple && selectionList.length != 1"
           >确 定</el-button
         >
       </span>
@@ -134,7 +134,8 @@ export default {
       page: {
         currentPage: 1,
         pageSize: 10,
-        total: 0
+        total: 0,
+        pageSizes: [10, 50, 100, 200, 300, 400, 500, 1000]
       },
       treeOption: {
         nodeKey: "id",
@@ -218,6 +219,7 @@ export default {
         ...this.selectionList[0],
         index: this.cropIndex
       });
+      this.$emit("getCorpList", [...this.selectionList])
       this.corpVisible = false;
     },
     corpChange(row) {

+ 2 - 2
src/page/index/tags.vue

@@ -315,10 +315,10 @@ export default {
         if (tag.label == "收货(E)") {
           this.$store.commit("REC_OUT_DETAIL");
         }
-        if (tag.label == "客户确认(N)") {
+        if (tag.label == "客户收货(N)") {
           this.$store.commit("IN_OUT_DETAIL");
         }
-        if (tag.label == "采购确认(N)") {
+        if (tag.label == "工厂发货(N)") {
           this.$store.commit("DOM_OUT_DETAIL");
         }
         if (tag.label == "发货单(I)") {

+ 2 - 2
src/router/views/index.js

@@ -437,7 +437,7 @@ export default [{
     hidden: true,
     children: [{
       path: '/businessManagement/deliveryNotice/index',
-      name: '客户确认(N)',
+      name: '客户收货(N)',
       meta: {
         i18n: 'businessManagement/deliveryNotice/index',
         keepAlive: true,
@@ -506,7 +506,7 @@ export default [{
     hidden: true,
     children: [{
       path: '/businessManagement/receipt/index',
-      name: '采购确认(N)',
+      name: '工厂发货(N)',
       meta: {
         keepAlive: true,
       },

+ 2 - 2
src/store/modules/ifdetail.js

@@ -223,10 +223,10 @@ const ifdetail = {
       for (let item in state) {
         state[item] = false
       }
-      if (tag.label == '客户确认(N)') {
+      if (tag.label == '客户收货(N)') {
         state.inStatus = true;
       }
-      if (tag.label == '采购确认(N)') {
+      if (tag.label == '工厂发货(N)') {
         state.domTakeStatus = true;
       }
       if (tag.label == '发货单(I)') {

+ 3 - 0
src/util/validate.js

@@ -270,6 +270,9 @@ export function validatenumord(num, type) {
   } else if (type == 2) {
     regName = /[^\d.]/g;
     if (!regName.test(num)) return false;
+  }else if(type==3){
+    regName=/[^(-?\d.)]/g;
+    if (!regName.test(num)) return false;
   }
   return true;
 }

+ 36 - 13
src/views/basicData/customerInformation/detailsPageEdit.vue

@@ -67,19 +67,29 @@
                   type="tree"
                   :dic="dic"
                 ></avue-input-tree>
-                <avue-input-tree
+                <el-cascader
                   v-else-if="item.prop === 'belongtoarea'"
-                  leaf-only
-                  multiple
-                  tags
-                  style="width: 100%;"
-                  size="small"
-                  :props="{ label: 'name', value: 'name' }"
                   v-model="form[item.prop]"
-                  placeholder=" "
-                  type="tree"
-                  :dic="dicArea"
-                ></avue-input-tree>
+                  collapse-tags
+                  :options="dicArea"
+                  :props="props"
+                  size="small"
+                  style="width: 100%;"
+                  :show-all-levels="false"
+                ></el-cascader>
+<!--                <avue-input-tree-->
+<!--                  v-else-if="item.prop === 'belongtoarea'"-->
+<!--                  leaf-only-->
+<!--                  multiple-->
+<!--                  tags-->
+<!--                  style="width: 100%;"-->
+<!--                  size="small"-->
+<!--                  :props="{ label: 'name', value: 'name' }"-->
+<!--                  v-model="form[item.prop]"-->
+<!--                  placeholder=" "-->
+<!--                  type="tree"-->
+<!--                  :dic="dicArea"-->
+<!--                ></avue-input-tree>-->
                 <el-select
                   v-else-if="item.prop === 'adminProfiles'"
                   size="small"
@@ -818,7 +828,12 @@ export default {
       addressData: [],
       formRow: {},
       // 包装要求
-      packageOptions: []
+      packageOptions: [],
+      props: {
+        value: 'name',
+        label: 'name',
+        multiple: true,
+      },
     };
   },
   props: {
@@ -863,6 +878,9 @@ export default {
         this.bankOfDepositData = this.form.corpsBankList;
         this.advantageProjectData = this.form.corpsItems;
         this.addressData = this.form.corpsAddrList;
+        if (this.form.belongtoarea) {
+          this.form.belongtoarea = this.form.belongtoarea.split(',').map(item => item.split('/'));
+        }
         delete this.form.corpsAttnList;
         delete this.form.corpsBankList;
         delete this.form.corpsItems;
@@ -1074,8 +1092,10 @@ export default {
             this.form.corpsTypeId = this.form.corpsTypeId.join(",");
           }
           this.disabled = true;
+
           if (this.form.belongtoarea) {
-            this.form.belongtoarea = this.form.belongtoarea.toString();
+            // this.form.belongtoarea = this.form.belongtoarea.toString();
+            this.form.belongtoarea = this.form.belongtoarea.map(e => e.join('/')).join(',');
           }
           if (this.form.adminProfiles) {
             this.form.adminProfiles = this.form.adminProfiles.join(",");
@@ -1100,6 +1120,9 @@ export default {
                 );
               }
               this.form = res.data.data;
+              if (this.form.belongtoarea) {
+                this.form.belongtoarea = this.form.belongtoarea.split(',').map(item => item.split('/'));
+              }
               this.disabled = false;
             }
           });

+ 20 - 12
src/views/basicData/customerManagement/companyMaterial/detailsPageEdit.vue

@@ -56,19 +56,16 @@
                   type="tree"
                   :dic="dic"
                 ></avue-input-tree>
-                <avue-input-tree
+                <el-cascader
                   v-else-if="item.prop === 'belongtoarea'"
-                  leaf-only
-                  multiple
-                  tags
-                  style="width: 100%;"
-                  size="small"
-                  :props="{ label: 'name', value: 'name' }"
                   v-model="form[item.prop]"
-                  placeholder=" "
-                  type="tree"
-                  :dic="dicArea"
-                ></avue-input-tree>
+                  collapse-tags
+                  :options="dicArea"
+                  :props="props"
+                  size="small"
+                  style="width: 100%;"
+                  :show-all-levels="false"
+                ></el-cascader>
                 <el-select
                   v-else-if="item.prop === 'adminProfiles'"
                   size="small"
@@ -255,6 +252,11 @@ export default {
       bankOfDepositData: [],
       dic: [],
       dicArea: [],
+      props: {
+        value: 'name',
+        label: 'name',
+        multiple: true,
+      },
       customerContact: customerContact,
       advantageProject: advantageProject,
       bankOfDeposit: bankOfDeposit,
@@ -574,6 +576,9 @@ export default {
         this.contactsData = this.form.corpsAttnList;
         this.bankOfDepositData = this.form.corpsBankList;
         this.advantageProjectData = this.form.corpsItems;
+        if (this.form.belongtoarea) {
+          this.form.belongtoarea = this.form.belongtoarea.split(',').map(item => item.split('/'));
+        }
         delete this.form.corpsAttnList;
         delete this.form.corpsBankList;
         delete this.form.corpsItems;
@@ -701,7 +706,7 @@ export default {
           }
           this.disabled = true;
           if (this.form.belongtoarea) {
-            this.form.belongtoarea = this.form.belongtoarea.toString();
+            this.form.belongtoarea = this.form.belongtoarea.map(e => e.join('/')).join(',')
           }
           if (this.form.adminProfiles) {
             this.form.adminProfiles = this.form.adminProfiles.join(",");
@@ -721,6 +726,9 @@ export default {
                 message: this.form.id ? "修改成功!" : "新增成功!"
               });
               this.form = res.data.data
+              if (this.form.belongtoarea) {
+                this.form.belongtoarea = this.form.belongtoarea.split(',').map(item => item.split('/'));
+              }
               this.disabled = false;
             }
           });

+ 20 - 12
src/views/basicData/customerManagement/supplierMaterial/detailsPageEdit.vue

@@ -56,19 +56,16 @@
                   type="tree"
                   :dic="dic"
                 ></avue-input-tree>
-                <avue-input-tree
+                <el-cascader
                   v-else-if="item.prop === 'belongtoarea'"
-                  leaf-only
-                  multiple
-                  tags
-                  style="width: 100%;"
-                  size="small"
-                  :props="{ label: 'name', value: 'name' }"
                   v-model="form[item.prop]"
-                  placeholder=" "
-                  type="tree"
-                  :dic="dicArea"
-                ></avue-input-tree>
+                  collapse-tags
+                  :options="dicArea"
+                  :props="props"
+                  size="small"
+                  style="width: 100%;"
+                  :show-all-levels="false"
+                ></el-cascader>
                 <el-select
                   v-else-if="item.prop === 'adminProfiles'"
                   size="small"
@@ -260,6 +257,11 @@ export default {
       bankOfDepositData: [],
       dic: [],
       dicArea: [],
+      props: {
+        value: 'name',
+        label: 'name',
+        multiple: true,
+      },
       customerContact: customerContact,
       advantageProject: advantageProject,
       bankOfDeposit: bankOfDeposit,
@@ -591,6 +593,9 @@ export default {
         this.bankOfDepositData = this.form.corpsBankList;
         this.advantageProjectData = this.form.corpsItems;
         this.addressData = this.form.corpsAddrList.length > 0?this.form.corpsAddrList: [];
+        if (this.form.belongtoarea) {
+          this.form.belongtoarea = this.form.belongtoarea.split(',').map(item => item.split('/'));
+        }
         delete this.form.corpsAttnList;
         delete this.form.corpsBankList;
         delete this.form.corpsItems;
@@ -720,7 +725,7 @@ export default {
           }
           this.disabled = true;
           if (this.form.belongtoarea) {
-            this.form.belongtoarea = this.form.belongtoarea.toString();
+            this.form.belongtoarea = this.form.belongtoarea.map(e => e.join('/')).join(',')
           }
           if (this.form.adminProfiles) {
             this.form.adminProfiles = this.form.adminProfiles.join(",");
@@ -740,6 +745,9 @@ export default {
                 message: this.form.id ? "修改成功!" : "新增成功!"
               });
               this.form = res.data.data
+              if (this.form.belongtoarea) {
+                this.form.belongtoarea = this.form.belongtoarea.split(',').map(item => item.split('/'));
+              }
               this.disabled = false;
             }
           });

+ 20 - 12
src/views/basicData/factoryInformation/factoryInformation/detailsPageEdit.vue

@@ -59,19 +59,16 @@
                   type="tree"
                   :dic="dic"
                 ></avue-input-tree>
-                <avue-input-tree
+                <el-cascader
                   v-else-if="item.prop === 'belongtoarea'"
-                  leaf-only
-                  multiple
-                  tags
-                  style="width: 100%;"
-                  size="small"
-                  :props="{ label: 'name', value: 'name' }"
                   v-model="form[item.prop]"
-                  placeholder=" "
-                  type="tree"
-                  :dic="dicArea"
-                ></avue-input-tree>
+                  collapse-tags
+                  :options="dicArea"
+                  :props="props"
+                  size="small"
+                  style="width: 100%;"
+                  :show-all-levels="false"
+                ></el-cascader>
                 <el-select
                   v-else-if="item.prop === 'adminProfiles'"
                   size="small"
@@ -335,6 +332,11 @@ export default {
       bankOfDepositData: [],
       dic: [],
       dicArea: [],
+      props: {
+        value: 'name',
+        label: 'name',
+        multiple: true,
+      },
       customerContact: customerContact,
       advantageProject: advantageProject,
       bankOfDeposit: bankOfDeposit,
@@ -753,6 +755,9 @@ export default {
         this.bankOfDepositData = this.form.corpsBankList;
         this.advantageProjectData = this.form.corpsItems;
         this.addressData = this.form.corpsAddrList;
+        if (this.form.belongtoarea) {
+          this.form.belongtoarea = this.form.belongtoarea.split(',').map(item => item.split('/'));
+        }
         delete this.form.corpsAttnList;
         delete this.form.corpsBankList;
         delete this.form.corpsItems;
@@ -915,7 +920,7 @@ export default {
           }
           this.disabled = true;
           if (this.form.belongtoarea) {
-            this.form.belongtoarea = this.form.belongtoarea.toString();
+            this.form.belongtoarea = this.form.belongtoarea.map(e => e.join('/')).join(',');
           }
           if (this.form.adminProfiles) {
             this.form.adminProfiles = this.form.adminProfiles.join(",");
@@ -935,6 +940,9 @@ export default {
                 message: this.form.id ? "修改成功!" : "新增成功!"
               });
               this.form = res.data.data
+              if (this.form.belongtoarea) {
+                this.form.belongtoarea = this.form.belongtoarea.split(',').map(item => item.split('/'));
+              }
               this.disabled = false;
             }
           });

+ 20 - 12
src/views/basicData/fleetInformation/detailsPageEdit.vue

@@ -59,19 +59,16 @@
                   type="tree"
                   :dic="dic"
                 ></avue-input-tree>
-                <avue-input-tree
+                <el-cascader
                   v-else-if="item.prop === 'belongtoarea'"
-                  leaf-only
-                  multiple
-                  tags
-                  style="width: 100%;"
-                  size="small"
-                  :props="{ label: 'name', value: 'name' }"
                   v-model="form[item.prop]"
-                  placeholder=" "
-                  type="tree"
-                  :dic="dicArea"
-                ></avue-input-tree>
+                  collapse-tags
+                  :options="dicArea"
+                  :props="props"
+                  size="small"
+                  style="width: 100%;"
+                  :show-all-levels="false"
+                ></el-cascader>
                 <el-select
                   v-else-if="item.prop === 'adminProfiles'"
                   size="small"
@@ -344,6 +341,11 @@ export default {
       bankOfDepositData: [],
       dic: [],
       dicArea: [],
+      props: {
+        value: 'name',
+        label: 'name',
+        multiple: true,
+      },
       customerContact: customerContact,
       advantageProject: advantageProject,
       bankOfDeposit: bankOfDeposit,
@@ -783,6 +785,9 @@ export default {
         this.bankOfDepositData = this.form.corpsBankList;
         this.advantageProjectData = this.form.corpsItems;
         this.addressData = this.form.corpsAddrList;
+        if (this.form.belongtoarea) {
+          this.form.belongtoarea = this.form.belongtoarea.split(',').map(item => item.split('/'));
+        }
         delete this.form.corpsAttnList;
         delete this.form.corpsBankList;
         delete this.form.corpsItems;
@@ -945,7 +950,7 @@ export default {
           }
           this.disabled = true;
           if (this.form.belongtoarea) {
-            this.form.belongtoarea = this.form.belongtoarea.toString();
+            this.form.belongtoarea = this.form.belongtoarea.map(e => e.join('/')).join(',');
           }
           if (this.form.adminProfiles) {
             this.form.adminProfiles = this.form.adminProfiles.join(",");
@@ -965,6 +970,9 @@ export default {
                 message: this.form.id ? "修改成功!" : "新增成功!"
               });
               this.form = res.data.data
+              if (this.form.belongtoarea) {
+                this.form.belongtoarea = this.form.belongtoarea.split(',').map(item => item.split('/'));
+              }
               this.disabled = false;
             }
           });

+ 17 - 1
src/views/businessManagement/salesOrder/detailsPageEdit.vue

@@ -1590,6 +1590,14 @@ export default {
         if (item.prop == 'grossProfitRate' || item.prop == 'grossProfit') item.display = false
       })
     }
+    if (this.roleName == 'salesman') {
+      this.customerContact.column.forEach(item => {
+        if (item.prop == 'purchaseAmount') {
+          item.hide = true;
+          item.showColumn = false;
+        }
+      })
+    }
     this.getDefault()
     if (this.detailData.id) {
       this.queryData(this.detailData.id)
@@ -2790,6 +2798,14 @@ export default {
     editCustomer(isBack = false, type) {
       this.$refs["form"].validate((valid) => {
         if (valid) {
+          const length = this.goodsActives === 'gift'? this.contactsData.length: this.goodsShowData.length
+          for (let i = 0;i < length;i++) {
+            const data = this.goodsActives === 'gift'? this.contactsData: this.goodsShowData;
+            console.log(data[i])
+            if (Number(data[i].orderQuantity) > Number(data[i].storageQuantity)) {
+              return this.$message.error('商品信息第' + (Number(i) + 1) + '行订货数量大于库存数量')
+            }
+          }
           //商品信息
           if (this.goodsActives == 'gift') {
             this.form.orderItemsList = this.goodsShowData.concat(this.contactsData)
@@ -2901,7 +2917,7 @@ export default {
             this.saveLoading = false
           })
         } else {
-          return false;
+          return this.$message.error('存在漏填必填项,请补全');
         }
       });
     },

+ 1 - 0
src/views/exportTrade/customerInquiry/detailsPage.vue

@@ -137,6 +137,7 @@
               type="date"
               format="yyyy-MM-dd"
               value-format="yyyy-MM-dd 00:00:00"
+              :disabled="detailData.status == 1"
               @change="businesDateChange"
             >
             </el-date-picker>

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

@@ -167,6 +167,7 @@
               format="yyyy-MM-dd"
               value-format="yyyy-MM-dd 00:00:00"
               @change="businesDateChange"
+              :disabled="detailData.status == 1"
             >
             </el-date-picker>
           </template>

+ 9 - 0
src/views/maintenance/salesPolicy/detailsPageEdit.vue

@@ -34,8 +34,10 @@
                   v-else-if="item.prop === 'corps'"
                   v-model="form[item.prop]"
                   :multiple="true"
+                  :collapseTags="true"
                   corpType="KH"
                   style="width: 100%"
+                  @getCorpList="getCorpList"
                 ></crop-select>
 <!--                <selectComponent v-else-if="item.prop === 'corps'" v-model="form[item.prop]"-->
 <!--                                 :configuration="configuration" style="width: 100%"/>-->
@@ -789,6 +791,13 @@ export default {
       this.openFullScreen(true)
       this.$message.error(JSON.parse(err.message).msg)
     },
+    getCorpList(data) {
+      let arr = []
+      data.map(e => {
+        arr.push(e.id)
+      })
+      this.form.corps = arr;
+    }
   }
 }
 </script>

+ 10 - 0
src/views/reimbursement/config/customerContact.json

@@ -13,6 +13,16 @@
   "showSummary": true,
   "summaryText": "合计",
   "sumColumnList": [
+    {
+      "name": "amount",
+      "type": "sum",
+      "decimals": 2
+    },
+    {
+      "name": "quantity",
+      "type": "sum",
+      "decimals": 0
+    }
   ],
   "column": [
     {

+ 19 - 0
src/views/reimbursement/detail.vue

@@ -46,6 +46,7 @@
           size="small"
           @click="copyDoc"
           :loading="btnLoading"
+          v-if="false"
         >复制单据</el-button>
         <el-button
           type="primary"
@@ -139,6 +140,7 @@
               type="info"
               icon="el-icon-printer"
               size="small"
+              @click="openReport"
             >报表打印</el-button>
           </template>
           <template slot="menu" slot-scope="{ row, index }">
@@ -254,6 +256,13 @@
       >
       </check-schedule>
     </el-dialog>
+    <!--    报表-->
+    <report-dialog
+      :switchDialog="switchDialog"
+      :reportId="form.id"
+      reportName="事务-报销单"
+      @onClose="onClose()"
+    />
   </div>
 </template>
 
@@ -274,6 +283,7 @@ import {dataDetail, typeSave, removeGoods, pleaseCheck} from "@/api/standAlone/r
 import { contrastObj, contrastList } from "@/util/contrastData";
 import check from "@/components/check/check";
 import checkSchedule from "@/components/check/checkSchedule";
+import reportDialog from "@/components/report-dialog/main";
 
 export default {
   name: "detail",
@@ -285,6 +295,7 @@ export default {
   components: {
     check,
     checkSchedule,
+    reportDialog
   },
   data() {
     return {
@@ -670,6 +681,14 @@ export default {
         })
       }
     },
+    // 报表
+    openReport() {
+      this.switchDialog =! this.switchDialog;
+    },
+    // 报表关闭
+    onClose(val) {
+      this.switchDialog = val;
+    },
   },
 }
 </script>

+ 2 - 1
src/views/reimbursement/index.vue

@@ -33,6 +33,7 @@
             icon="el-icon-plus"
             @click.stop="copyDoc()"
             :disabled="selection.length != 1"
+            v-if="false"
           >复制单据</el-button>
         </template>
         <template slot-scope="scope" slot="menu">
@@ -230,7 +231,7 @@ export default {
       this.selection = list;
     },
     goBack() {
-      if (this.$route.query) {
+      if (this.$route.query.check) {
         this.$router.$avueRouter.closeTag(this.$route.fullPath);
         this.$router.push({
           path: "/reimbursement/index"

+ 55 - 1
src/views/salaryManagement/highSchool/detailsPage.vue

@@ -129,6 +129,9 @@
           <template slot="workloadSalaryLabel">
             <el-tag>工作量工资:</el-tag>
           </template>
+          <template slot="dailyAssessmentSalaryLabel">
+            <el-tag>日常考核工资:</el-tag>
+          </template>
           <template slot="awardSalaryLabel">
             <el-tag>奖励工资:</el-tag>
           </template>
@@ -279,6 +282,51 @@
               @change="salaryAdd(crudForm)"
             />
           </template>
+          <template
+            slot="virtualDailyAssessmentCriteriaForm"
+            slot-scope="{ column, disabled }"
+          >
+            <el-input
+              :disabled="disabled"
+              :placeholder="'请输入 ' + column.label"
+              v-model="crudForm.virtualDailyAssessmentCriteria"
+              @change="salaryAdd(crudForm)"
+            />
+          </template>
+          <template
+            slot="virtualDoubleCeaseForm"
+            slot-scope="{ column, disabled }"
+          >
+            <el-input
+              :disabled="disabled"
+              :placeholder="'请输入 ' + column.label"
+              v-model="crudForm.virtualDoubleCease"
+              @change="salaryAdd(crudForm)"
+            />
+          </template>
+          <!-- //3.日常考核工资 =日常考核工资-虚拟日常考核标准 -->
+          <template
+            slot="dailyAssessmentSalaryForm"
+            slot-scope="{ column, disabled }"
+          >
+            <el-input
+              :disabled="disabled"
+              :placeholder="'请输入 ' + column.label"
+              v-model="crudForm.dailyAssessmentSalary"
+              @change="salaryAdd(crudForm)"
+            />
+          </template>
+          <template
+            slot="virtualDailyAssessmentCriteriaForm"
+            slot-scope="{ column, disabled }"
+          >
+            <el-input
+              :disabled="disabled"
+              :placeholder="'请输入 ' + column.label"
+              v-model="crudForm.virtualDailyAssessmentCriteria"
+              @change="salaryAdd(crudForm)"
+            />
+          </template>
           <!-- 4.绩效工资=学期绩效工资+学期绩效工资1+..+学期绩效工资5 -->
           <template
             slot="termPerformanceSalaryForm"
@@ -1689,7 +1737,13 @@ export default {
         numCal(row.customFour) +
         numCal(row.customFive) +
         numCal(row.customSix) +
-        numCal(row.customSeven);
+        numCal(row.customSeven) -
+        numCal(row.virtualDailyAssessmentCriteria) -
+        numCal(row.virtualDoubleCease);
+      //3.日常考核工资 =日常考核工资-虚拟日常考核标准
+      row.dailyAssessmentSalary =
+        numCal(row.dailyAssessmentSalary) -
+        numCal(row.virtualDailyAssessmentCriteria);
       // 4.绩效工资=学期绩效工资+学期绩效工资1+..+学期绩效工资5
       row.customizeFour =
         numCal(row.termPerformanceSalary) +

+ 34 - 2
src/views/salaryManagement/highSchool/js/optionList.js

@@ -4,7 +4,7 @@ import {
 } from "@/util/validate";
 const validateDecimal = (rule, value, callback) => {
   if (value != "") {
-    if (validatenumord(value, 1)) {
+    if (validatenumord(value, 3)) {
       callback(new Error("请输入数字"));
     } else {
       callback();
@@ -35,7 +35,7 @@ export const optionList = {
   delBtn: false,
   // refreshBtn: false,
   menuWidth: 100,
-  // labelWidth:250,
+  labelWidth:100,
   stripe: true,
   dialogFullscreen: true,
   column: [{
@@ -286,6 +286,27 @@ export const optionList = {
       span: 4
     },
     {
+      label: "双休日工作量工资标准",
+      prop: "doubleCease",
+      width: 150,
+      overHidden: true,
+      rules: [{
+        validator: validateDecimal,
+        trigger: "blur"
+      }],
+      span: 4
+    },    {
+      label: "虚拟双休日工作量工资标准",
+      prop: "virtualDoubleCease",
+      width: 170,
+      overHidden: true,
+      rules: [{
+        validator: validateDecimal,
+        trigger: "blur"
+      }],
+      span: 4
+    },
+    {
       label: "月份工作量",
       prop: "monthHour",
       width: 100,
@@ -462,6 +483,17 @@ export const optionList = {
       span: 4
     },
     {
+      label: "虚拟日常考核标准",
+      prop: "virtualDailyAssessmentCriteria",
+      width: 120,
+      overHidden: true,
+      rules: [{
+        validator: validateDecimal,
+        trigger: "blur"
+      }],
+      span: 4
+    },
+    {
       label: "日常考核工资",
       prop: "dailyAssessmentSalary",
       width: 100,

+ 55 - 1
src/views/salaryManagement/juniorhighSchool/detailsPage.vue

@@ -129,6 +129,9 @@
           <template slot="workloadSalaryLabel">
             <el-tag>工作量工资:</el-tag>
           </template>
+          <template slot="dailyAssessmentSalaryLabel">
+            <el-tag>日常考核工资:</el-tag>
+          </template>
           <template slot="awardSalaryLabel">
             <el-tag>奖励工资:</el-tag>
           </template>
@@ -279,6 +282,51 @@
               @change="salaryAdd(crudForm)"
             />
           </template>
+          <template
+            slot="virtualDailyAssessmentCriteriaForm"
+            slot-scope="{ column, disabled }"
+          >
+            <el-input
+              :disabled="disabled"
+              :placeholder="'请输入 ' + column.label"
+              v-model="crudForm.virtualDailyAssessmentCriteria"
+              @change="salaryAdd(crudForm)"
+            />
+          </template>
+          <template
+            slot="virtualDoubleCeaseForm"
+            slot-scope="{ column, disabled }"
+          >
+            <el-input
+              :disabled="disabled"
+              :placeholder="'请输入 ' + column.label"
+              v-model="crudForm.virtualDoubleCease"
+              @change="salaryAdd(crudForm)"
+            />
+          </template>
+          <!-- //3.日常考核工资 =日常考核工资-虚拟日常考核标准 -->
+          <template
+            slot="dailyAssessmentSalaryForm"
+            slot-scope="{ column, disabled }"
+          >
+            <el-input
+              :disabled="disabled"
+              :placeholder="'请输入 ' + column.label"
+              v-model="crudForm.dailyAssessmentSalary"
+              @change="salaryAdd(crudForm)"
+            />
+          </template>
+          <template
+            slot="virtualDailyAssessmentCriteriaForm"
+            slot-scope="{ column, disabled }"
+          >
+            <el-input
+              :disabled="disabled"
+              :placeholder="'请输入 ' + column.label"
+              v-model="crudForm.virtualDailyAssessmentCriteria"
+              @change="salaryAdd(crudForm)"
+            />
+          </template>
           <!-- 4.绩效工资=学期绩效工资+学期绩效工资1+..+学期绩效工资5 -->
           <template
             slot="termPerformanceSalaryForm"
@@ -1689,7 +1737,13 @@ export default {
         numCal(row.customFour) +
         numCal(row.customFive) +
         numCal(row.customSix) +
-        numCal(row.customSeven);
+        numCal(row.customSeven) -
+        numCal(row.virtualDailyAssessmentCriteria) -
+        numCal(row.virtualDoubleCease);
+      //3.日常考核工资 =日常考核工资-虚拟日常考核标准
+      row.dailyAssessmentSalary =
+        numCal(row.dailyAssessmentSalary) -
+        numCal(row.virtualDailyAssessmentCriteria);
       // 4.绩效工资=学期绩效工资+学期绩效工资1+..+学期绩效工资5
       row.customizeFour =
         numCal(row.termPerformanceSalary) +

+ 34 - 2
src/views/salaryManagement/juniorhighSchool/js/optionList.js

@@ -4,7 +4,7 @@ import {
 } from "@/util/validate";
 const validateDecimal = (rule, value, callback) => {
   if (value != "") {
-    if (validatenumord(value, 1)) {
+    if (validatenumord(value, 3)) {
       callback(new Error("请输入数字"));
     } else {
       callback();
@@ -35,7 +35,7 @@ export const optionList = {
   delBtn: false,
   // refreshBtn: false,
   menuWidth: 100,
-  // labelWidth:250,
+  labelWidth:100,
   stripe: true,
   dialogFullscreen: true,
   column: [{
@@ -286,6 +286,27 @@ export const optionList = {
       span: 4
     },
     {
+      label: "双休日工作量工资标准",
+      prop: "doubleCease",
+      width: 150,
+      overHidden: true,
+      rules: [{
+        validator: validateDecimal,
+        trigger: "blur"
+      }],
+      span: 4
+    },    {
+      label: "虚拟双休日工作量工资标准",
+      prop: "virtualDoubleCease",
+      width: 170,
+      overHidden: true,
+      rules: [{
+        validator: validateDecimal,
+        trigger: "blur"
+      }],
+      span: 4
+    },
+    {
       label: "月份工作量",
       prop: "monthHour",
       width: 100,
@@ -462,6 +483,17 @@ export const optionList = {
       span: 4
     },
     {
+      label: "虚拟日常考核标准",
+      prop: "virtualDailyAssessmentCriteria",
+      width: 120,
+      overHidden: true,
+      rules: [{
+        validator: validateDecimal,
+        trigger: "blur"
+      }],
+      span: 4
+    },
+    {
       label: "日常考核工资",
       prop: "dailyAssessmentSalary",
       width: 100,

+ 55 - 1
src/views/salaryManagement/logisticsDepartment/detailsPage.vue

@@ -129,6 +129,9 @@
           <template slot="workloadSalaryLabel">
             <el-tag>工作量工资:</el-tag>
           </template>
+          <template slot="dailyAssessmentSalaryLabel">
+            <el-tag>日常考核工资:</el-tag>
+          </template>
           <template slot="awardSalaryLabel">
             <el-tag>奖励工资:</el-tag>
           </template>
@@ -279,6 +282,51 @@
               @change="salaryAdd(crudForm)"
             />
           </template>
+          <template
+            slot="virtualDailyAssessmentCriteriaForm"
+            slot-scope="{ column, disabled }"
+          >
+            <el-input
+              :disabled="disabled"
+              :placeholder="'请输入 ' + column.label"
+              v-model="crudForm.virtualDailyAssessmentCriteria"
+              @change="salaryAdd(crudForm)"
+            />
+          </template>
+          <template
+            slot="virtualDoubleCeaseForm"
+            slot-scope="{ column, disabled }"
+          >
+            <el-input
+              :disabled="disabled"
+              :placeholder="'请输入 ' + column.label"
+              v-model="crudForm.virtualDoubleCease"
+              @change="salaryAdd(crudForm)"
+            />
+          </template>
+          <!-- //3.日常考核工资 =日常考核工资-虚拟日常考核标准 -->
+          <template
+            slot="dailyAssessmentSalaryForm"
+            slot-scope="{ column, disabled }"
+          >
+            <el-input
+              :disabled="disabled"
+              :placeholder="'请输入 ' + column.label"
+              v-model="crudForm.dailyAssessmentSalary"
+              @change="salaryAdd(crudForm)"
+            />
+          </template>
+          <template
+            slot="virtualDailyAssessmentCriteriaForm"
+            slot-scope="{ column, disabled }"
+          >
+            <el-input
+              :disabled="disabled"
+              :placeholder="'请输入 ' + column.label"
+              v-model="crudForm.virtualDailyAssessmentCriteria"
+              @change="salaryAdd(crudForm)"
+            />
+          </template>
           <!-- 4.绩效工资=学期绩效工资+学期绩效工资1+..+学期绩效工资5 -->
           <template
             slot="termPerformanceSalaryForm"
@@ -1689,7 +1737,13 @@ export default {
         numCal(row.customFour) +
         numCal(row.customFive) +
         numCal(row.customSix) +
-        numCal(row.customSeven);
+        numCal(row.customSeven) -
+        numCal(row.virtualDailyAssessmentCriteria) -
+        numCal(row.virtualDoubleCease);
+      //3.日常考核工资 =日常考核工资-虚拟日常考核标准
+      row.dailyAssessmentSalary =
+        numCal(row.dailyAssessmentSalary) -
+        numCal(row.virtualDailyAssessmentCriteria);
       // 4.绩效工资=学期绩效工资+学期绩效工资1+..+学期绩效工资5
       row.customizeFour =
         numCal(row.termPerformanceSalary) +

+ 34 - 2
src/views/salaryManagement/logisticsDepartment/js/optionList.js

@@ -4,7 +4,7 @@ import {
 } from "@/util/validate";
 const validateDecimal = (rule, value, callback) => {
   if (value != "") {
-    if (validatenumord(value, 1)) {
+    if (validatenumord(value, 3)) {
       callback(new Error("请输入数字"));
     } else {
       callback();
@@ -35,7 +35,7 @@ export const optionList = {
   delBtn: false,
   // refreshBtn: false,
   menuWidth: 100,
-  // labelWidth:250,
+  labelWidth:100,
   stripe: true,
   dialogFullscreen: true,
   column: [{
@@ -286,6 +286,27 @@ export const optionList = {
       span: 4
     },
     {
+      label: "双休日工作量工资标准",
+      prop: "doubleCease",
+      width: 150,
+      overHidden: true,
+      rules: [{
+        validator: validateDecimal,
+        trigger: "blur"
+      }],
+      span: 4
+    },    {
+      label: "虚拟双休日工作量工资标准",
+      prop: "virtualDoubleCease",
+      width: 170,
+      overHidden: true,
+      rules: [{
+        validator: validateDecimal,
+        trigger: "blur"
+      }],
+      span: 4
+    },
+    {
       label: "月份工作量",
       prop: "monthHour",
       width: 100,
@@ -462,6 +483,17 @@ export const optionList = {
       span: 4
     },
     {
+      label: "虚拟日常考核标准",
+      prop: "virtualDailyAssessmentCriteria",
+      width: 120,
+      overHidden: true,
+      rules: [{
+        validator: validateDecimal,
+        trigger: "blur"
+      }],
+      span: 4
+    },
+    {
       label: "日常考核工资",
       prop: "dailyAssessmentSalary",
       width: 100,

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

@@ -129,6 +129,9 @@
           <template slot="workloadSalaryLabel">
             <el-tag>工作量工资:</el-tag>
           </template>
+          <template slot="dailyAssessmentSalaryLabel">
+            <el-tag>日常考核工资:</el-tag>
+          </template>
           <template slot="customizeFourLabel">
             <el-tag>绩效工资:</el-tag>
           </template>
@@ -282,6 +285,51 @@
               @change="salaryAdd(crudForm)"
             />
           </template>
+          <template
+            slot="virtualDailyAssessmentCriteriaForm"
+            slot-scope="{ column, disabled }"
+          >
+            <el-input
+              :disabled="disabled"
+              :placeholder="'请输入 ' + column.label"
+              v-model="crudForm.virtualDailyAssessmentCriteria"
+              @change="salaryAdd(crudForm)"
+            />
+          </template>
+          <template
+            slot="virtualDoubleCeaseForm"
+            slot-scope="{ column, disabled }"
+          >
+            <el-input
+              :disabled="disabled"
+              :placeholder="'请输入 ' + column.label"
+              v-model="crudForm.virtualDoubleCease"
+              @change="salaryAdd(crudForm)"
+            />
+          </template>
+          <!-- //3.日常考核工资 =日常考核工资-虚拟日常考核标准 -->
+          <template
+            slot="dailyAssessmentSalaryForm"
+            slot-scope="{ column, disabled }"
+          >
+            <el-input
+              :disabled="disabled"
+              :placeholder="'请输入 ' + column.label"
+              v-model="crudForm.dailyAssessmentSalary"
+              @change="salaryAdd(crudForm)"
+            />
+          </template>
+          <template
+            slot="virtualDailyAssessmentCriteriaForm"
+            slot-scope="{ column, disabled }"
+          >
+            <el-input
+              :disabled="disabled"
+              :placeholder="'请输入 ' + column.label"
+              v-model="crudForm.virtualDailyAssessmentCriteria"
+              @change="salaryAdd(crudForm)"
+            />
+          </template>
           <!-- 4.绩效工资=学期绩效工资+学期绩效工资1+..+学期绩效工资5 -->
           <template
             slot="termPerformanceSalaryForm"
@@ -1684,7 +1732,7 @@ export default {
         numCal(row.rankSalary) +
         numCal(row.salaryBase) +
         numCal(row.performanceAward);
-      //2. 工作量工资 = 月份工作量工资+代课工作量工资+双休日工作量工资+工作量工资1+…+工作量工资5
+      //2. 工作量工资 = 月份工作量工资+代课工作量工资+双休日工作量工资+工作量工资1+…+工作量工资5-虚拟工作量工资标准-虚拟双休日工作量工资标准
       row.workloadSalary =
         numCal(row.momthWorkloadSalary) +
         numCal(row.customTwo) +
@@ -1693,7 +1741,13 @@ export default {
         numCal(row.customFour) +
         numCal(row.customFive) +
         numCal(row.customSix) +
-        numCal(row.customSeven);
+        numCal(row.customSeven) -
+        numCal(row.virtualDailyAssessmentCriteria) -
+        numCal(row.virtualDoubleCease);
+      //3.日常考核工资 =日常考核工资-虚拟日常考核标准
+      row.dailyAssessmentSalary =
+        numCal(row.dailyAssessmentSalary) -
+        numCal(row.virtualDailyAssessmentCriteria);
       // 4.绩效工资=学期绩效工资+学期绩效工资1+..+学期绩效工资5
       row.customizeFour =
         numCal(row.termPerformanceSalary) +

+ 34 - 2
src/views/salaryManagement/primarySchool/js/optionList.js

@@ -4,7 +4,7 @@ import {
 } from "@/util/validate";
 const validateDecimal = (rule, value, callback) => {
   if (value != "") {
-    if (validatenumord(value, 1)) {
+    if (validatenumord(value, 3)) {
       callback(new Error("请输入数字"));
     } else {
       callback();
@@ -35,7 +35,7 @@ export const optionList = {
   delBtn: false,
   // refreshBtn: false,
   menuWidth: 100,
-  // labelWidth:250,
+  labelWidth:100,
   stripe: true,
   dialogFullscreen: true,
   column: [{
@@ -286,6 +286,27 @@ export const optionList = {
       span: 4
     },
     {
+      label: "双休日工作量工资标准",
+      prop: "doubleCease",
+      width: 150,
+      overHidden: true,
+      rules: [{
+        validator: validateDecimal,
+        trigger: "blur"
+      }],
+      span: 4
+    },    {
+      label: "虚拟双休日工作量工资标准",
+      prop: "virtualDoubleCease",
+      width: 170,
+      overHidden: true,
+      rules: [{
+        validator: validateDecimal,
+        trigger: "blur"
+      }],
+      span: 4
+    },
+    {
       label: "月份工作量",
       prop: "monthHour",
       width: 100,
@@ -462,6 +483,17 @@ export const optionList = {
       span: 4
     },
     {
+      label: "虚拟日常考核标准",
+      prop: "virtualDailyAssessmentCriteria",
+      width: 120,
+      overHidden: true,
+      rules: [{
+        validator: validateDecimal,
+        trigger: "blur"
+      }],
+      span: 4
+    },
+    {
       label: "日常考核工资",
       prop: "dailyAssessmentSalary",
       width: 100,

+ 6 - 0
src/views/saleLeads/detail.vue

@@ -24,6 +24,7 @@
           size="small"
           @click="copyDoc"
           :loading="btnLoading"
+          v-if="false"
         >复制单据</el-button>
         <el-button
           type="primary"
@@ -99,11 +100,13 @@
               icon="el-icon-plus"
               size="small"
               @click.stop="newDetails"
+              :disabled="disabled"
             >录入明细</el-button>
             <el-button
               type="info"
               icon="el-icon-printer"
               size="small"
+              v-if="false"
             >报表打印</el-button>
           </template>
           <template slot="menu" slot-scope="{ row, index }">
@@ -112,12 +115,14 @@
               icon="el-icon-edit"
               type="text"
               @click="rowCell(row, index)"
+              :disabled="disabled"
             >{{ row.$cellEdit ? "保存" : "修改" }}</el-button>
             <el-button
               size="small"
               icon="el-icon-delete"
               type="text"
               @click="rowDel(row, index)"
+              :disabled="disabled"
             >删除</el-button>
           </template>
           <template slot="bizDate" slot-scope="{ row, index }">
@@ -499,6 +504,7 @@ export default {
         done()
         if (valid) {
           this.dataList.push({
+            bizDate: getCurrentDate(),
             bizTime: getCurrentDate(),
             bizUserName: this.loginUser,
             bizUser: this.loginUserId,

+ 4 - 3
src/views/saleLeads/index.vue

@@ -33,6 +33,7 @@
             icon="el-icon-plus"
             @click.stop="copyDoc()"
             :disabled="selection.length != 1"
+            v-if="false"
           >复制单据</el-button>
         </template>
         <template slot-scope="scope" slot="menu">
@@ -61,7 +62,7 @@
             <el-option
               v-for="(item, index) in contractorOption"
               :key="index"
-              :value="item.realName"
+              :value="item.id"
               :label="item.realName"
             ></el-option>
           </el-select>
@@ -76,7 +77,7 @@
             <el-option
               v-for="(item, index) in oppositePersonOption"
               :key="index"
-              :value="item.realName"
+              :value="item.id"
               :label="item.realName"
             ></el-option>
           </el-select>
@@ -231,7 +232,7 @@ export default {
       this.selection = list;
     },
     goBack() {
-      if (this.$route.query) {
+      if (this.$route.query.check) {
         this.$router.$avueRouter.closeTag(this.$route.fullPath);
         this.$router.push({
           path: "/saleLeads/index"

+ 2 - 2
src/views/wel/components/quick-launch.vue

@@ -74,12 +74,12 @@
         <div class="content-icon" @click="inPage('fh')">
           <i class="tradingIcon icon-ship" style="color:#143056"></i>
           <span v-if="sysType == 4">发货</span>
-          <span v-if="sysType == 2">客户确认</span>
+          <span v-if="sysType == 2">客户收货</span>
         </div>
         <div class="content-icon" @click="inPage('sh')">
           <i class="tradingIcon icon-receipt" style="color:#921939"></i>
           <span v-if="sysType == 4">收货</span>
-          <span v-if="sysType == 2">采购确认</span>
+          <span v-if="sysType == 2">工厂发货</span>
         </div>
         <div class="content-icon" @click="inPage('sqfk')">
           <i class="tradingIcon icon-apply" style="color:#BE3216"></i>

+ 19 - 2
src/views/workManagement/handoverSheet/config/customerContact.json

@@ -13,6 +13,16 @@
   "showSummary": true,
   "summaryText": "合计",
   "sumColumnList": [
+    {
+      "name": "quantity",
+      "type": "sum",
+      "decimals": 0
+    },
+    {
+      "name": "amount",
+      "type": "sum",
+      "decimals": 2
+    }
   ],
   "column": [
     {
@@ -31,16 +41,23 @@
       "overHidden": true
     },
     {
+      "label": "单位",
+      "prop": "unit",
+      "index": 3,
+      "width": 140,
+      "overHidden": true
+    },
+    {
       "label": "金额",
       "prop": "amount",
-      "index": 3,
+      "index": 4,
       "width": 140,
       "overHidden": true
     },
     {
       "label": "备注",
       "prop": "remarks",
-      "index": 4,
+      "index": 5,
       "width": 120,
       "cell": true,
       "overHidden": true

+ 38 - 4
src/views/workManagement/handoverSheet/detail.vue

@@ -46,6 +46,7 @@
           size="small"
           @click="copyDoc"
           :loading="btnLoading"
+          v-if="false"
         >复制单据</el-button>
         <el-button
           type="primary"
@@ -96,6 +97,7 @@
               type="info"
               icon="el-icon-printer"
               size="small"
+              @click="openReport"
             >报表打印</el-button>
           </template>
           <template slot="menu" slot-scope="{ row, index }">
@@ -126,6 +128,23 @@
             ></el-input-number>
             <span v-else>{{ row.quantity }}</span>
           </template>
+          <template slot-scope="{ row, index }" slot="unit">
+            <el-select
+              v-if="row.$cellEdit"
+              v-model="row.unit"
+              size="small"
+              clearable
+              filterable
+            >
+              <el-option
+                v-for="(item, index) in unitOption"
+                :key="index"
+                :label="item.dictValue"
+                :value="item.dictValue"
+              />
+            </el-select>
+            <span v-else>{{ row.unit }}</span>
+          </template>
           <template slot="amount" slot-scope="{ row, index }">
             <el-input-number
               v-if="row.$cellEdit"
@@ -158,8 +177,7 @@
         :checkDetail="false"
         :idList="[]"
         @choceCheckFun="choceCheckFun"
-      >
-      </check>
+      />
     </el-dialog>
     <el-dialog
       append-to-body
@@ -176,9 +194,15 @@
         :checkId="checkId"
         :batchNo="batchNo"
         @choceScheduleFun="choceScheduleFun"
-      >
-      </check-schedule>
+      />
     </el-dialog>
+    <!--    报表-->
+    <report-dialog
+      :switchDialog="switchDialog"
+      :reportId="form.id"
+      reportName="交接单"
+      @onClose="onClose()"
+    />
   </div>
 </template>
 
@@ -198,6 +222,7 @@ import { contrastObj, contrastList } from "@/util/contrastData";
 import check from "@/components/check/check";
 import checkSchedule from "@/components/check/checkSchedule";
 import {dataDetail, typeSave, removeGoods, pleaseCheck} from "@/api/standAlone/handoverSheet";
+import reportDialog from "@/components/report-dialog/main";
 
 export default {
   name: "detail",
@@ -209,6 +234,7 @@ export default {
   components: {
     check,
     checkSchedule,
+    reportDialog
   },
   data() {
     return {
@@ -523,6 +549,14 @@ export default {
         })
       }
     },
+    // 报表
+    openReport() {
+      this.switchDialog =! this.switchDialog;
+    },
+    // 报表关闭
+    onClose(val) {
+      this.switchDialog = val;
+    },
   },
 }
 </script>

+ 2 - 1
src/views/workManagement/handoverSheet/index.vue

@@ -33,6 +33,7 @@
             icon="el-icon-plus"
             @click.stop="copyDoc()"
             :disabled="selection.length != 1"
+            v-if="false"
           >复制单据</el-button>
         </template>
         <template slot-scope="scope" slot="menu">
@@ -203,7 +204,7 @@ export default {
       this.selection = list;
     },
     goBack() {
-      if (this.$route.query) {
+      if (this.$route.query.check) {
         this.$router.$avueRouter.closeTag(this.$route.fullPath);
         this.$router.push({
           path: "/workManagement/handoverSheet/index"

+ 23 - 3
src/views/workManagement/purchaseApply/detail.vue

@@ -46,6 +46,7 @@
           size="small"
           @click="copyDoc"
           :loading="btnLoading"
+          v-if="false"
         >复制单据</el-button>
         <el-button
           type="primary"
@@ -118,6 +119,7 @@
               type="info"
               icon="el-icon-printer"
               size="small"
+              @click="openReport"
             >报表打印</el-button>
           </template>
           <template slot="menu" slot-scope="{ row, index }">
@@ -370,14 +372,22 @@
       >
       </check-schedule>
     </el-dialog>
+    <!--    报表-->
+    <report-dialog
+      :switchDialog="switchDialog"
+      :reportId="form.id"
+      reportName="办公用品-采购"
+      @onClose="onClose()"
+    />
   </div>
 </template>
 
 <script>
 import tableOption from "./config/customerContact.json";
 import goodsOption from "./config/commodity.json";
-import {getDeptLazyTree,
-  getGoods,} from "@/api/basicData/customerInquiry";
+// import {getDeptLazyTree,
+//   getGoods,} from "@/api/basicData/customerInquiry";
+import {getDeptLazyTree, getList as getGoods} from "@/api/basicData/commodityType";
 import {
   isDiscount,
   isPercentage,
@@ -392,6 +402,7 @@ import {dataDetail, typeSave, removeGoods, pleaseCheck} from "@/api/officeSuppli
 import { contrastObj, contrastList } from "@/util/contrastData";
 import check from "@/components/check/check";
 import checkSchedule from "@/components/check/checkSchedule";
+import reportDialog from "@/components/report-dialog/main";
 
 export default {
   name: "detail",
@@ -403,6 +414,7 @@ export default {
   components: {
     check,
     checkSchedule,
+    reportDialog
   },
   data() {
     return {
@@ -786,7 +798,7 @@ export default {
     onLoad(page, params = {}) {
       let obj = this.deepClone(Object.assign(params, this.search));
       this.loading = true;
-      getGoods(page.currentPage, page.pageSize, this.treeDeptId, obj)
+      getGoods(page.currentPage, page.pageSize,obj, this.treeDeptId)
         .then(res => {
           const data = res.data.data;
           this.page.total = data.total;
@@ -966,6 +978,14 @@ export default {
     choceScheduleFun(){
       this.checkScheduleDialog = false
     },
+    // 报表
+    openReport() {
+      this.switchDialog =! this.switchDialog;
+    },
+    // 报表关闭
+    onClose(val) {
+      this.switchDialog = val;
+    },
   },
 }
 </script>

+ 1 - 0
src/views/workManagement/purchaseApply/index.vue

@@ -33,6 +33,7 @@
             icon="el-icon-plus"
             @click.stop="copyDoc()"
             :disabled="selection.length != 1"
+            v-if="false"
           >复制单据</el-button>
         </template>
         <template slot-scope="scope" slot="menu">

+ 19 - 0
src/views/workManagement/requisition/detail.vue

@@ -46,6 +46,7 @@
           size="small"
           @click="copyDoc"
           :loading="btnLoading"
+          v-if="false"
         >复制单据</el-button>
         <el-button
           type="primary"
@@ -117,6 +118,7 @@
               type="info"
               icon="el-icon-printer"
               size="small"
+              @click="openReport"
             >报表打印</el-button>
           </template>
           <template slot="menu" slot-scope="{ row, index }">
@@ -369,6 +371,13 @@
       >
       </check-schedule>
     </el-dialog>
+    <!--    报表-->
+    <report-dialog
+      :switchDialog="switchDialog"
+      :reportId="form.id"
+      reportName="办公用品-领用"
+      @onClose="onClose()"
+    />
   </div>
 </template>
 
@@ -393,6 +402,7 @@ import check from "@/components/check/check";
 import checkSchedule from "@/components/check/checkSchedule";
 import {customerList as storageList} from "@/api/basicData/basicStorageDesc";
 import {getStockList} from "@/api/officeSupplies/stock";
+import reportDialog from "@/components/report-dialog/main";
 
 export default {
   name: "detail",
@@ -404,6 +414,7 @@ export default {
   components: {
     check,
     checkSchedule,
+    reportDialog
   },
   data() {
     return {
@@ -995,6 +1006,14 @@ export default {
     storageChange(row) {
       this.$set(row, 'storageName', this.storageOptions.find(item => item.id == row.storageId).cname);
     },
+    // 报表
+    openReport() {
+      this.switchDialog =! this.switchDialog;
+    },
+    // 报表关闭
+    onClose(val) {
+      this.switchDialog = val;
+    },
   },
 }
 </script>

+ 1 - 0
src/views/workManagement/requisition/index.vue

@@ -33,6 +33,7 @@
             icon="el-icon-plus"
             @click.stop="copyDoc()"
             :disabled="selection.length != 1"
+            v-if="false"
           >复制单据</el-button>
         </template>
         <template slot-scope="scope" slot="menu">

+ 1 - 1
src/views/workManagement/warehousing/config/mainList.json

@@ -9,7 +9,7 @@
   "delBtn": false,
   "addBtn": false,
   "align": "center",
-  "menuWidth": "130",
+  "menuWidth": "90",
   "searchIcon": true,
   "searchIndex": 2,
   "selection": true,

+ 33 - 5
src/views/workManagement/warehousing/detail.vue

@@ -25,7 +25,7 @@
           icon="el-icon-folder-add"
           @click="confirmReceipt"
           :loading="btnLoading"
-          :disabled="disabled"
+          :disabled="disabled || !form.id"
         >确认入库</el-button>
         <el-button
           v-else
@@ -42,6 +42,7 @@
           size="small"
           @click="copyDoc"
           :loading="btnLoading"
+          v-if="false"
         >复制单据</el-button>
         <el-button
           type="primary"
@@ -114,6 +115,7 @@
               type="info"
               icon="el-icon-printer"
               size="small"
+              @click="openReport"
             >报表打印</el-button>
           </template>
           <template slot="menu" slot-scope="{ row, index }">
@@ -346,14 +348,22 @@
         >
       </span>
     </el-dialog>
+    <!--    报表-->
+    <report-dialog
+      :switchDialog="switchDialog"
+      :reportId="form.id"
+      reportName="办公用品-入库"
+      @onClose="onClose()"
+    />
   </div>
 </template>
 
 <script>
 import tableOption from "./config/customerContact.json";
 import goodsOption from "./config/commodity.json";
-import {getDeptLazyTree,
-  getGoods,} from "@/api/basicData/customerInquiry";
+// import {getDeptLazyTree,
+//   getGoods,} from "@/api/basicData/customerInquiry";
+import {getDeptLazyTree, getList as getGoods} from "@/api/basicData/commodityType";
 import {
   isDiscount,
   isPercentage,
@@ -371,6 +381,7 @@ import {dataDetail,
   cancelReceipt,} from "@/api/officeSupplies/warehousing";
 import { contrastObj, contrastList } from "@/util/contrastData";
 import {customerList as storageList} from "@/api/basicData/basicStorageDesc";
+import reportDialog from "@/components/report-dialog/main";
 
 export default {
   name: "detail",
@@ -379,6 +390,9 @@ export default {
       type: Object
     }
   },
+  components: {
+    reportDialog
+  },
   data() {
     return {
       disabled: false,
@@ -537,9 +551,15 @@ export default {
     storageList().then(res => {
       this.storageOptions = res.data.data.records;
     })
+    getUserInfo().then(res => {
+      this.$set(this.form, 'stockUser', res.data.data.id);
+      this.$set(this.form, 'stockDept', res.data.data.deptId);
+    })
+    this.$set(this.form, 'stockTime', getCurrentDate()); // 默认当前日期
     this.getWorkDicts('unit').then(res => {
       this.unitOption = res.data.data;
     })
+    this.$set(this.form, 'status', 3);
 
     if (this.detailData.query) {
       this.disabled = true;
@@ -599,7 +619,7 @@ export default {
     openEdit() {
       this.disabled = false;
       this.option.column.map(e => {
-        if (this.checkDisabled) {
+        if (this.confirmDisabled) {
           this.$set(e, 'disabled', true)
         } else {
           if (e.prop != 'sysNo') {
@@ -765,7 +785,7 @@ export default {
     onLoad(page, params = {}) {
       let obj = this.deepClone(Object.assign(params, this.search));
       this.loading = true;
-      getGoods(page.currentPage, page.pageSize, this.treeDeptId, obj)
+      getGoods(page.currentPage, page.pageSize, obj, this.treeDeptId)
         .then(res => {
           const data = res.data.data;
           this.page.total = data.total;
@@ -942,6 +962,14 @@ export default {
     storageChange(row) {
       this.$set(row, 'storageName', this.storageOptions.find(item => item.id == row.storageId).cname);
     },
+    // 报表
+    openReport() {
+      this.switchDialog =! this.switchDialog;
+    },
+    // 报表关闭
+    onClose(val) {
+      this.switchDialog = val;
+    },
    },
 }
 </script>

+ 13 - 7
src/views/workManagement/warehousing/index.vue

@@ -20,13 +20,15 @@
         @saveColumn="saveColumn"
         @resetColumn="resetColumn"
       >
-        <template slot-scope="scope" slot="menu">
+        <template slot="menuLeft">
           <el-button
-            type="text"
-            icon="el-icon-edit"
             size="small"
-            @click.stop="beforeOpenPage(scope.row, scope.index)"
-          >查看</el-button>
+            type="primary"
+            icon="el-icon-plus"
+            @click.stop="newAdd()"
+          >创建单据</el-button>
+        </template>
+        <template slot-scope="scope" slot="menu">
           <el-button
             type="text"
             icon="el-icon-delete"
@@ -51,6 +53,9 @@
             ></el-option>
           </el-select>
         </template>
+        <template slot="sysNo" slot-scope="scope">
+          <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row,scope.index)">{{ scope.row.sysNo }}</span>
+        </template>
       </avue-crud>
     </basic-container>
     <detail-page
@@ -106,6 +111,7 @@ export default {
       this.option.searchMenuSpan = num * 8;
       this.option.searchMenuPosition = "right";
     }
+    this.option.height = window.innerHeight - 240;
   },
   methods: {
     searchCriteriaSwitch(type) {
@@ -141,10 +147,10 @@ export default {
       getList(queryParams).then(res => {
         this.dataList = res.data.data.records;
         this.page.total = res.data.data.total;
-        this.option.height = window.innerHeight - 240;
         this.$nextTick(() => {
           this.$refs.crud.doLayout()
         })
+        this.option.height = window.innerHeight - 240;
       }).finally(() => {
         this.loading = false;
       })
@@ -197,7 +203,7 @@ export default {
       this.selection = list;
     },
     goBack() {
-      if (this.$route.query) {
+      if (this.$route.query.check) {
         this.$router.$avueRouter.closeTag(this.$route.fullPath);
         this.$router.push({
           path: "/workManagement/warehousing/index"