2 Commits b40bbe2f0b ... f1f1d66c68

Tác giả SHA1 Thông báo Ngày
  aiwenzhu f1f1d66c68 Merge branch 'master' of http://192.168.1.8:3000/baishaojie/crm_pc 3 tháng trước cách đây
  aiwenzhu ed3f79c4c5 0228 3 tháng trước cách đây
95 tập tin đã thay đổi với 4251 bổ sung4572 xóa
  1. 24 192
      .eslintrc.js
  2. 4 4
      package.json
  3. 0 7
      src/App.vue
  4. 2 6
      src/api/common.js
  5. 1 1
      src/api/productManagement/installation.js
  6. 40 54
      src/componentView/ContractCustomerDetail.vue
  7. 38 45
      src/componentView/ContractDetail.vue
  8. 152 174
      src/componentView/ContractMoreDetail.vue
  9. 31 46
      src/componentView/ContractReturnMoney.vue
  10. 30 32
      src/componentView/CustomerDetail.vue
  11. 21 31
      src/componentView/RemotePayDetail.vue
  12. 36 45
      src/componentView/RepairPayDetail.vue
  13. 34 45
      src/componentView/SitePayDetail.vue
  14. 46 50
      src/componentView/StockDetail.vue
  15. 31 46
      src/componentView/ToDoApplyList.vue
  16. 30 40
      src/componentView/ToDoCompleteList.vue
  17. 30 42
      src/componentView/ToDoDeliveryList.vue
  18. 47 60
      src/componentView/ToDoRecordList.vue
  19. 32 43
      src/componentView/ToDoReviewList.vue
  20. 29 42
      src/componentView/ToDoStockList.vue
  21. 27 37
      src/componentView/ToDoVisitList.vue
  22. 44 60
      src/componentView/TravelDetail.vue
  23. 1 1
      src/layout/components/Sidebar/index.vue
  24. 5 5
      src/mixins/exportMixin.js
  25. 0 1
      src/router/index.js
  26. 1 5
      src/store/modules/user.js
  27. 1 1
      src/utils/buildSentence.js
  28. 4 4
      src/utils/request.js
  29. 1 1
      src/vendor/Blob.js
  30. 109 196
      src/views/approvalManagement/contractApproval/index.vue
  31. 10 12
      src/views/basicData/dealerManagement/index.vue
  32. 0 4
      src/views/basicData/defaultParameter/index.vue
  33. 2 5
      src/views/basicData/departmentManagement/index.vue
  34. 7 22
      src/views/basicData/noticeRemind/index.vue
  35. 13 28
      src/views/basicData/noticeRemind/index1.vue
  36. 0 1
      src/views/basicData/otherProjects/index.vue
  37. 7 9
      src/views/basicData/productClass/index.vue
  38. 19 19
      src/views/basicData/productList/index.vue
  39. 40 70
      src/views/basicData/publicNotice/index.vue
  40. 5 9
      src/views/basicData/staffManagement/index.vue
  41. 1 1
      src/views/businessManagement/businessTravel/index.vue
  42. 25 31
      src/views/businessManagement/complaintRecord/index.vue
  43. 10 12
      src/views/businessManagement/deliveryRecord/index.vue
  44. 108 198
      src/views/businessManagement/deliveryRecord/index20240612.vue
  45. 108 192
      src/views/businessManagement/deliveryRecord/index20240722.vue
  46. 6 6
      src/views/businessManagement/expensesApply/index.vue
  47. 4 4
      src/views/businessManagement/expressReception/index.vue
  48. 65 106
      src/views/businessManagement/problemFeed/index.vue
  49. 33 53
      src/views/businessManagement/problemFeedDetail/index.vue
  50. 1 1
      src/views/businessManagement/remoteService/index.vue
  51. 4 4
      src/views/businessManagement/repairService/index.vue
  52. 1 1
      src/views/businessManagement/siteService/index.vue
  53. 4 4
      src/views/businessManagement/stockNotice/index.vue
  54. 31 38
      src/views/businessManagement/telephoneFollow/index.vue
  55. 33 52
      src/views/businessManagement/visitRecord/index.vue
  56. 2 2
      src/views/console/user/index.vue
  57. 4 4
      src/views/contract/contractApply/index.vue
  58. 141 206
      src/views/contract/contractInfo/index.vue
  59. 1 1
      src/views/customboard/ChartPanel/components/dataPanel.vue
  60. 0 1
      src/views/customboard/ChartPanel/components/filterPanel.vue
  61. 0 3
      src/views/customboard/ChartPanel/components/orderPanel.vue
  62. 0 3
      src/views/customboard/ChartPanel/components/visualizePanel.vue
  63. 1 11
      src/views/customboard/ChartPanel/index.vue
  64. 59 107
      src/views/customerInformation/customerInformation/index.vue
  65. 46 74
      src/views/customerInformation/returnVisitManagement/index.vue
  66. 99 137
      src/views/dashboard/editor/index.vue
  67. 47 60
      src/views/processManagement/approvalProcess/index.vue
  68. 0 3
      src/views/productManagement/assetBasicInfo/index.vue
  69. 389 66
      src/views/productManagement/installationCompletedSummary/components/InstallationStatistics.vue
  70. 69 39
      src/views/productManagement/installationOrder/components/AddDialog.vue
  71. 5 0
      src/views/productManagement/installationOrder/components/CheckDialog.vue
  72. 62 20
      src/views/productManagement/installationOrder/components/DailyWriteDialog.vue
  73. 175 82
      src/views/productManagement/installationOrder/components/EditDialog.vue
  74. 487 167
      src/views/productManagement/installationOrder/components/ViewDialog.vue
  75. 216 165
      src/views/productManagement/installationOrder/index.vue
  76. 10 10
      src/views/productManagement/installationSummary/components/InstallationStatistics.vue
  77. 7 7
      src/views/productManagement/installationSummary/components/InstallationStatusChart.vue
  78. 39 18
      src/views/productManagement/installationSummary/components/InstallationTable.vue
  79. 19 2
      src/views/productManagement/installationSummary/components/StatisticsPanel.vue
  80. 15 18
      src/views/productManagement/processConfiguration/index.vue
  81. 1 1
      src/views/productManagement/productionSummary/components/BarChart.vue
  82. 18 18
      src/views/productManagement/productionSummary/components/ProductionStatusChart.vue
  83. 1 1
      src/views/productManagement/productionSummary/components/mixins/resize.js
  84. 396 232
      src/views/productManagement/productionWorkOrder/index.vue
  85. 88 164
      src/views/reviewManagement/contractPayment/index.vue
  86. 127 189
      src/views/reviewManagement/expensesPayment/index.vue
  87. 84 145
      src/views/reviewManagement/remotePayment/index.vue
  88. 87 153
      src/views/reviewManagement/repairPayment/index.vue
  89. 85 161
      src/views/reviewManagement/sitePayment/index.vue
  90. 0 3
      src/views/systemManagement/boardEchartManagement/index.vue
  91. 7 12
      src/views/systemManagement/user/index.vue
  92. 0 2
      src/views/systemManagement/user/index1.vue
  93. 0 1
      src/widgets/BarChart.vue
  94. 1 6
      src/widgets/BarLineChart1.vue
  95. 75 80
      vue.config.js

+ 24 - 192
.eslintrc.js

@@ -1,198 +1,30 @@
 module.exports = {
   root: true,
-  parserOptions: {
-    parser: 'babel-eslint',
-    sourceType: 'module'
-  },
   env: {
-    browser: true,
     node: true,
-    es6: true,
+    browser: true,
+  },
+  extends: ["plugin:vue/essential", "eslint:recommended"],
+  parserOptions: {
+    parser: "babel-eslint",
+    sourceType: "module",
   },
-  extends: ['plugin:vue/recommended', 'eslint:recommended'],
-
-  // add your custom rules here
-  //it is base on https://github.com/vuejs/eslint-config-vue
   rules: {
-    "vue/max-attributes-per-line": [2, {
-      "singleline": 10,
-      "multiline": {
-        "max": 1,
-        "allowFirstLine": false
-      }
-    }],
-    "vue/singleline-html-element-content-newline": "off",
-    "vue/multiline-html-element-content-newline":"off",
-    "vue/name-property-casing": ["error", "PascalCase"],
-    "vue/no-v-html": "off",
-    'accessor-pairs': 2,
-    'arrow-spacing': [2, {
-      'before': true,
-      'after': true
-    }],
-    'block-spacing': [2, 'always'],
-    'brace-style': [2, '1tbs', {
-      'allowSingleLine': true
-    }],
-    'camelcase': [0, {
-      'properties': 'always'
-    }],
-    'comma-dangle': [2, 'never'],
-    'comma-spacing': [2, {
-      'before': false,
-      'after': true
-    }],
-    'comma-style': [2, 'last'],
-    'constructor-super': 2,
-    'curly': [2, 'multi-line'],
-    'dot-location': [2, 'property'],
-    'eol-last': 2,
-    'eqeqeq': ["error", "always", {"null": "ignore"}],
-    'generator-star-spacing': [2, {
-      'before': true,
-      'after': true
-    }],
-    'handle-callback-err': [2, '^(err|error)$'],
-    'indent': [2, 2, {
-      'SwitchCase': 1
-    }],
-    'jsx-quotes': [2, 'prefer-single'],
-    'key-spacing': [2, {
-      'beforeColon': false,
-      'afterColon': true
-    }],
-    'keyword-spacing': [2, {
-      'before': true,
-      'after': true
-    }],
-    'new-cap': [2, {
-      'newIsCap': true,
-      'capIsNew': false
-    }],
-    'new-parens': 2,
-    'no-array-constructor': 2,
-    'no-caller': 2,
-    'no-console': 'off',
-    'no-class-assign': 2,
-    'no-cond-assign': 2,
-    'no-const-assign': 2,
-    'no-control-regex': 0,
-    'no-delete-var': 2,
-    'no-dupe-args': 2,
-    'no-dupe-class-members': 2,
-    'no-dupe-keys': 2,
-    'no-duplicate-case': 2,
-    'no-empty-character-class': 2,
-    'no-empty-pattern': 2,
-    'no-eval': 2,
-    'no-ex-assign': 2,
-    'no-extend-native': 2,
-    'no-extra-bind': 2,
-    'no-extra-boolean-cast': 2,
-    'no-extra-parens': [2, 'functions'],
-    'no-fallthrough': 2,
-    'no-floating-decimal': 2,
-    'no-func-assign': 2,
-    'no-implied-eval': 2,
-    'no-inner-declarations': [2, 'functions'],
-    'no-invalid-regexp': 2,
-    'no-irregular-whitespace': 2,
-    'no-iterator': 2,
-    'no-label-var': 2,
-    'no-labels': [2, {
-      'allowLoop': false,
-      'allowSwitch': false
-    }],
-    'no-lone-blocks': 2,
-    'no-mixed-spaces-and-tabs': 2,
-    'no-multi-spaces': 2,
-    'no-multi-str': 2,
-    'no-multiple-empty-lines': [2, {
-      'max': 1
-    }],
-    'no-native-reassign': 2,
-    'no-negated-in-lhs': 2,
-    'no-new-object': 2,
-    'no-new-require': 2,
-    'no-new-symbol': 2,
-    'no-new-wrappers': 2,
-    'no-obj-calls': 2,
-    'no-octal': 2,
-    'no-octal-escape': 2,
-    'no-path-concat': 2,
-    'no-proto': 2,
-    'no-redeclare': 2,
-    'no-regex-spaces': 2,
-    'no-return-assign': [2, 'except-parens'],
-    'no-self-assign': 2,
-    'no-self-compare': 2,
-    'no-sequences': 2,
-    'no-shadow-restricted-names': 2,
-    'no-spaced-func': 2,
-    'no-sparse-arrays': 2,
-    'no-this-before-super': 2,
-    'no-throw-literal': 2,
-    'no-trailing-spaces': 2,
-    'no-undef': 2,
-    'no-undef-init': 2,
-    'no-unexpected-multiline': 2,
-    'no-unmodified-loop-condition': 2,
-    'no-unneeded-ternary': [2, {
-      'defaultAssignment': false
-    }],
-    'no-unreachable': 2,
-    'no-unsafe-finally': 2,
-    'no-unused-vars': [2, {
-      'vars': 'all',
-      'args': 'none'
-    }],
-    'no-useless-call': 2,
-    'no-useless-computed-key': 2,
-    'no-useless-constructor': 2,
-    'no-useless-escape': 0,
-    'no-whitespace-before-property': 2,
-    'no-with': 2,
-    'one-var': [2, {
-      'initialized': 'never'
-    }],
-    'operator-linebreak': [2, 'after', {
-      'overrides': {
-        '?': 'before',
-        ':': 'before'
-      }
-    }],
-    'padded-blocks': [2, 'never'],
-    'quotes': [2, 'single', {
-      'avoidEscape': true,
-      'allowTemplateLiterals': true
-    }],
-    'semi': [2, 'never'],
-    'semi-spacing': [2, {
-      'before': false,
-      'after': true
-    }],
-    'space-before-blocks': [2, 'always'],
-    'space-before-function-paren': [2, 'never'],
-    'space-in-parens': [2, 'never'],
-    'space-infix-ops': 2,
-    'space-unary-ops': [2, {
-      'words': true,
-      'nonwords': false
-    }],
-    'spaced-comment': [2, 'always', {
-      'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ',']
-    }],
-    'template-curly-spacing': [2, 'never'],
-    'use-isnan': 2,
-    'valid-typeof': 2,
-    'wrap-iife': [2, 'any'],
-    'yield-star-spacing': [2, 'both'],
-    'yoda': [2, 'never'],
-    'prefer-const': 2,
-    'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
-    'object-curly-spacing': [2, 'always', {
-      objectsInObjects: false
-    }],
-    'array-bracket-spacing': [2, 'never']
-  }
-}
+    "no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
+    "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
+    "vue/no-unused-vars": "warn",
+    "vue/require-prop-types": "off",
+    "vue/require-default-prop": "off",
+    "vue/max-attributes-per-line": "off",
+    "vue/html-closing-bracket-spacing": "off",
+    "vue/html-indent": "off",
+    "vue/no-parsing-error": "off",
+    "no-trailing-spaces": "warn",
+    "no-multiple-empty-lines": "warn",
+    "space-before-function-paren": "off",
+    "comma-dangle": "off",
+    semi: "off",
+    quotes: "off",
+    eqeqeq: "warn",
+  },
+};

+ 4 - 4
package.json

@@ -53,19 +53,19 @@
     "@babel/core": "7.0.0",
     "@babel/register": "7.0.0",
     "@vue/cli-plugin-babel": "^4.2.3",
-    "@vue/cli-plugin-eslint": "^4.2.3",
+    "@vue/cli-plugin-eslint": "^4.5.15",
     "@vue/cli-plugin-unit-jest": "^3.8.0",
     "@vue/cli-service": "^4.2.3",
     "@vue/test-utils": "1.0.0-beta.29",
     "acorn": "^6.0.0",
     "autoprefixer": "^9.5.1",
     "babel-core": "7.0.0-bridge.0",
-    "babel-eslint": "^10.0.1",
+    "babel-eslint": "^10.1.0",
     "babel-jest": "23.6.0",
     "chalk": "2.4.2",
     "connect": "3.6.6",
-    "eslint": "^6.8.0",
-    "eslint-plugin-vue": "^6.2.1",
+    "eslint": "^7.32.0",
+    "eslint-plugin-vue": "^7.20.0",
     "html-webpack-plugin": "3.2.0",
     "mockjs": "1.0.1-beta3",
     "node-sass": "^4.14.1",

+ 0 - 7
src/App.vue

@@ -89,7 +89,6 @@ input[type="number"]{
 // .success:focus, .success:hover{ color: #fff; border-color: #66B1FF; background-color: #66B1FF; min-width:100px;height: 40px;padding: 12px 20px;}
 
 
-
 // 删除
 .danger{min-width:100px;height: 40px;background: #FF4949; border-color: #FF4949; color: #fff;}
 .danger:focus, .danger:hover{min-width:100px;height: 40px;background: #F78989; border-color: #F78989; color: #fff;}
@@ -145,7 +144,6 @@ input[type="number"]{
 .cancelClose:focus, .cancelClose:hover{ color: #666666; border-color: #CCCCCC; background-color: #FFFFFF; min-width:50px;height: 38px}
 
 
-
 //=============客户信息=============
 //客户信息卡片
 .cust-card-row{padding-bottom: 20px;}
@@ -160,12 +158,7 @@ input[type="number"]{
 .cust-rest{display: inline-block;width:33%;color:#FF4949}
 
 
-
-
  .el-button--small { padding: 6px 10px; }
 
 
-
-
-
 </style>

+ 2 - 6
src/api/common.js

@@ -29,10 +29,6 @@ export function downloadfileCRM(data) {
 }
 
 
- 
-
-
-
 export function wxpush(data) {
   return request({
     url: '/authdata/wxpush',
@@ -268,11 +264,11 @@ export function DownloadExcel(data, filename) {
 
 
 export function calculativeWidth() {
- 
+
     var operateArr = []
     for(let i = 0; i<arguments.length; i++){
       operateArr.push(arguments[i])
-    } 
+    }
     console.log("operateArr==========",operateArr)
     var tureCount = operateArr.filter(item => item === true).length
     if(tureCount){

+ 1 - 1
src/api/productManagement/installation.js

@@ -116,4 +116,4 @@ export function exportInstallationOrder(data) {
     data,
     responseType: 'blob'
   })
-} 
+}

+ 40 - 54
src/componentView/ContractCustomerDetail.vue

@@ -15,11 +15,11 @@
                 <span>{{customerCard.customerName}}</span>
               </el-col>
           </el-row>
-           
+
         </div>
 
         <div>
-       
+
             <el-row :gutter="10" class="cust-card-row">
               <el-col :span="8">
                 <span class="cust-card-tt">所属集团:</span>
@@ -126,10 +126,6 @@
                     </el-col>
                   </el-row>
             </block>
-            
-
-          
-
 
 
             <el-row :gutter="10" class="cust-card-row">
@@ -140,20 +136,20 @@
                 <span class="cust-card-ct">{{customerCard.remark }}</span>
               </el-col>
             </el-row>
-   
+
         </div>
         <!-- <div v-for="o in 4" :key="o" class="text item">
           {{'列表内容 ' + o }}
         </div> -->
       </el-card>
- 
+
     </el-col>
     <el-col :span="16"  :gutter="20">
 
-     
+
         <div>
           <el-divider></el-divider>
-   
+
           <div class="block" style="height:320px;overflow:auto">
 
             <el-timeline>
@@ -166,7 +162,7 @@
                 </div>
 
                 <el-card>
-                 
+
                       <div class = "cust-ex-item">
                         <span class = "cust-ex-tt">业务:</span>
                         <span class = "cust-ex-ct">{{item.typeName}}</span>
@@ -179,9 +175,8 @@
                         <span class = "cust-ex-tt">详情:</span>
                         <span class = "cust-ex-ct">{{item.businessName}}</span>
                       </div> -->
-                   
-                    
-              
+
+
                 </el-card>
               </el-timeline-item>
 
@@ -190,23 +185,20 @@
           <el-divider></el-divider>
 
 
- 
-
         </div>
-      
+
 
     </el-col>
   </el-row>
 
   <!-- 新增/编辑 -->
     <el-dialog  title="货物详情" :visible.sync="createSee.dialogFormVisible"  append-to-body  width="95%">
-    
+
 
         <div class="table"   style="margin-top:140px">
           <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed">
 
-            
-    
+
             <el-table-column label="序号" align="center" type="index" width="50px">
                       <template slot-scope="scope">
                         <span>{{ scope.$index + 1 }}</span>
@@ -231,7 +223,7 @@
                     <el-table-column label="数量" min-width="110px" align="center">
                       <template slot-scope="scope">
                         <span>{{ scope.row.nums }}</span>
-      
+
                       </template>
                     </el-table-column>
                     <el-table-column label="单价(元)" min-width="110px" align="center">
@@ -244,38 +236,33 @@
                             <template slot-scope="scope">
                               <span>{{ scope.row.sumPrice  }}</span>
                             </template>
-                    </el-table-column> 
+                    </el-table-column>
 
                     <el-table-column label="备注" min-width="280px" align="center">
                       <template slot-scope="scope">
                         <span>{{ scope.row.remark }}</span>
                       </template>
                     </el-table-column>
-     
+
 
           </el-table>
 
-        
 
           <pagination v-show="tableObj.total>=0" :total="tableObj.total" :page.sync="tableObj.getdataListParm.offset" :limit.sync="tableObj.getdataListParm.pagecount" @pagination="get_table_data" />
         </div>
-         
-      
-        <div slot="footer" class="dialog-footer">     
-          <el-button class="cancelClose" @click="createSee.dialogFormVisible = false">关闭</el-button>
-        </div>
- 
-    </el-dialog>
-</div> 
-
 
 
+        <div slot="footer" class="dialog-footer">
+          <el-button class="cancelClose" @click="createSee.dialogFormVisible = false">关闭</el-button>
+        </div>
 
+    </el-dialog>
+</div>
 
 
 </template>
 <script>
- 
+
 
 import { GetDataByName, PostDataByName, failproccess, ExecDataByConfig, GetDataByNames, checkButtons, calculativeWidth } from '@/api/common'
 import Cookies from 'js-cookie'
@@ -290,16 +277,16 @@ export default {
     concustomerData: {
       type: Object,
       required: true
-    } 
+    }
   },
   data() {
     return {
 
       customerCard: {
-          // "address":"1","createrId":"3072707379235128328","createrName":"管理员","createtime":"2022-05-11","customeLevelName":"2级","customeStatusName":"欠款客户","customerName":"测试12","directorId":24,"directorName":"康亮","enable":1,"groupId":207,"groupName":"星连星牧业","id":1425,"province":"1","rangeName":"西北区域","remark":"","scode":"123456789012345678" 
-      }, 
-      
-    
+          // "address":"1","createrId":"3072707379235128328","createrName":"管理员","createtime":"2022-05-11","customeLevelName":"2级","customeStatusName":"欠款客户","customerName":"测试12","directorId":24,"directorName":"康亮","enable":1,"groupId":207,"groupName":"星连星牧业","id":1425,"province":"1","rangeName":"西北区域","remark":"","scode":"123456789012345678"
+      },
+
+
       //列表请求
       tableObj: {
         getdataListParm: {
@@ -318,7 +305,7 @@ export default {
         total: 0,
         listLoading: true,
       },
-    
+
       customerResumeList:[
         // {id:1, businessName: '合同款项', customeStatus: '已完成', paidPrice: '100.00', payStatus: '无需支付', director:'epans', date:"2022-12-01"},
         // {id:2, businessName: '合同款项', customeStatus: '已完成', paidPrice: '100.00', payStatus: '无需支付', director:'epans', date:"2022-12-02"},
@@ -341,7 +328,7 @@ export default {
        rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
        cellStyle: { padding: 0 + 'px' }
 
-      
+
     }
   },
  watch: {
@@ -350,19 +337,18 @@ export default {
       handler: function (item) {
         console.log("concustomerData父组件:", item)
 
-        
 
         this.get_card_list()
 
         this.get_card_stages()
         this.get_resume_list()
-      
+
       }
     },
- 
+
   },
   mounted() {
-     
+
   },
 
 
@@ -370,14 +356,14 @@ export default {
      this.get_card_list()
      this.get_card_stages()
      this.get_resume_list()
-    
+
   },
   beforeDestroy() {
-    
+
   },
   methods: {
-     
-    //AJAX事件 - 获取卡片 
+
+    //AJAX事件 - 获取卡片
     get_card_list() {
       var send_data = {
           name: 'getContractApplicationById',
@@ -412,7 +398,7 @@ export default {
         }
       })
     },
-  
+
 
     //AJAX事件 - 获取卡片列表
     get_resume_list() {
@@ -432,16 +418,16 @@ export default {
       })
     },
 
-    
+
     //查看货物信息
     form_see() {
       this.createSee.dialogFormVisible = true
       this.tableObj.getdataListParm.parammaps.id = this.concustomerData.id
       this.get_table_data()
 
-     
+
     },
-    
+
 
         //加载表格
     get_table_data() {
@@ -466,7 +452,7 @@ export default {
       })
     }
 
-     
+
   }
 }
 </script>

+ 38 - 45
src/componentView/ContractDetail.vue

@@ -3,10 +3,10 @@
   <div class="search">
       <el-row :gutter="0">
         <el-col :span="21">
- 
-          
+
+
             <el-input  v-model="tableObj.getdataListParm.parammaps.contractCode " class="filter-item" style="width: 120px;" placeholder="合同编号"/>
-          
+
 
              <!-- <el-autocomplete v-model="tableObj.getdataListParm.parammaps.customerName" :fetch-suggestions="customer_search" placeholder="客户名称" style="width: 120px " class="filter-item" @select="change_customer_select" @clear="clear_customer_select" @blur="customer_search_blur" clearable>
               <template slot-scope="{ item }">
@@ -38,7 +38,7 @@
           </template>
         </el-table-column>
         <el-table-column label="合同编号" min-width="110px" align="center" show-overflow-tooltip>
-         
+
           <template slot-scope="scope">
             <span  style = "color:#409EFF; cursor: pointer;" @click="click_customer(scope.row)">{{ scope.row.contractCode  }}</span>
           </template>
@@ -70,22 +70,22 @@
             <span>{{ scope.row.endDate  }}</span>
           </template>
         </el-table-column>
-      
+
         <el-table-column label="创建人" min-width="110px" align="center" show-overflow-tooltip>
           <template slot-scope="scope">
             <span>{{ scope.row.employeeName  }}</span>
           </template>
         </el-table-column>
-       
+
       </el-table>
       <pagination v-show="tableObj.total>=0" :total="tableObj.total" :page.sync="tableObj.getdataListParm.offset" :limit.sync="tableObj.getdataListParm.pagecount" @pagination="get_table_data" />
 
- 
+
     </div>
-</div> 
+</div>
 </template>
 <script>
- 
+
 
 import { GetDataByName, PostDataByName, failproccess, ExecDataByConfig, GetDataByNames, checkButtons, calculativeWidth } from '@/api/common'
 import Cookies from 'js-cookie'
@@ -101,7 +101,7 @@ export default {
     contractData: {
       type: Object,
       required: true
-    } 
+    }
   },
   data() {
     return {
@@ -110,19 +110,19 @@ export default {
         // {id: 1425, name: "测试12"},
         // {id: 1423, name: "朝日牧场(唯品牧场)"},
         // {id: 1422, name: "富源牧业(眉山)有限公司(眉山富源)"}
-      ], 
- 
+      ],
+
       //集团 - 下拉框
       groupNameList: [
-        // {id: 253, name: "无"}, 
-        // {id: 207, name: "星连星牧业"}, 
-        // {id: 208, name: "海高牧业"}, 
+        // {id: 253, name: "无"},
+        // {id: 207, name: "星连星牧业"},
+        // {id: 208, name: "海高牧业"},
         // {id: 254, name: "完达山"}
       ],
-       
+
       //创建人 - 下拉框
       createrNameList: [
-        // {id: 3072707379235128300, name: "管理员"}, 
+        // {id: 3072707379235128300, name: "管理员"},
         // {id: 3248184121834865700, name: "杨文山"}
       ],
 
@@ -141,28 +141,25 @@ export default {
             employeeId : '',
 
 
-  
           }
         },
         tableKey: 0,
         list: [
-          
-        
+
+
         ],
         total: 0,
         listLoading: false,
         temp: {},
- 
-        
-        
+
+
       },
       isokDisable: false,
       selectList: [],
          rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
          cellStyle: { padding: 0 + 'px' }
-      
 
-      
+
     }
   },
  watch: {
@@ -172,17 +169,16 @@ export default {
         console.log("父组件:", item)
 
 
-      
-          this.tableObj.getdataListParm.parammaps.groupId = item.groupId 
+          this.tableObj.getdataListParm.parammaps.groupId = item.groupId
           this.tableObj.getdataListParm.parammaps.customerId = item.customerId
           this.get_table_data()
           this.get_select_list()
       }
     },
- 
+
   },
   mounted() {
-     
+
   },
 
 
@@ -190,10 +186,10 @@ export default {
       this.get_table_data()
      this.get_select_list()
 
-     
+
   },
   beforeDestroy() {
-    
+
   },
   methods: {
 
@@ -203,16 +199,16 @@ export default {
         this.tableObj.getdataListParm.parammaps.groupId = groupId
         this.get_table_data()
     },
-     
+
     //获取所有下拉框的内容
     get_select_list() {
       // 下拉框请求
       var send_select_list = [
         // { name: 'getCustomerSelect', offset: 0, pagecount: 0, parammaps: {} },
         { name: 'getDictListSelect1', offset: 0, pagecount: 0, parammaps: { "pid": "54" } },
-        
+
         { name: 'getEmployeeNameFuzzy', offset: 0, pagecount: 0, parammaps: { "inputvalue": "" } },
-      
+
       ]
       GetDataByNames(send_select_list).then(response => {
         // this.customerNameList = response.data.getCustomerSelect.list
@@ -222,18 +218,16 @@ export default {
 
         this.createrNameList = response.data.getEmployeeNameFuzzy.list
         console.log("创建人下拉框", this.createrNameList)
-      
+
       })
-   
 
-    },
 
-  
+    },
 
 
     //加载表格
     get_table_data() {
-      
+
       this.tableObj.listLoading = true
       GetDataByName(this.tableObj.getdataListParm).then(response => {
         console.log('table数据', response.data.list)
@@ -292,7 +286,7 @@ export default {
     //监听 - 表单查询
     form_search() {
       console.log('点击了查询', this.tableObj.getdataListParm.parammaps)
-   
+
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
     },
@@ -303,11 +297,11 @@ export default {
       this.tableObj.getdataListParm.parammaps.contractCode  = ''
       this.tableObj.getdataListParm.parammaps.customerId  = ''
       this.tableObj.getdataListParm.parammaps.groupId  = ''
-      
+
       this.tableObj.getdataListParm.parammaps.customerName = ''
 
       this.tableObj.getdataListParm.parammaps.employeeId  = ''
-    
+
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
     },
@@ -317,12 +311,11 @@ export default {
     change_table_selection(val) {
       console.log('勾选数据', val)
       this.selectList = val
-     
-      this.contractData.selectList = this.selectList 
+
+      this.contractData.selectList = this.selectList
     },
 
 
-     
   }
 }
 </script>

+ 152 - 174
src/componentView/ContractMoreDetail.vue

@@ -1,49 +1,49 @@
 <template>
   <div style="padding-bottom:20px;">
-    
+
       <el-form ref="temp" :rules="create.rules" :model="create.temp" label-position="right" label-width="150px" style="width: 90%;margin:0 auto 50px">
-  
+
             <h3>基本信息</h3>
             <el-row>
               <el-col :span="8">
                 <el-form-item label="创建人:" prop="createrName">
                   <el-input ref="createrName" v-model="create.temp.createrName" class="filter-item" style="width: 100%;"  disabled  />
                 </el-form-item>
-  
+
                 <el-form-item label="所属集团:" prop="groupName">
                   <el-input ref="groupName" v-model="create.temp.groupName" class="filter-item" style="width: 100%;"  disabled  />
                 </el-form-item>
-  
+
                 <el-form-item label="经销商" prop="dealerName">
                   <el-input ref="dealerName" v-model="create.temp.dealerName" class="filter-item" style="width: 100%;"  disabled  />
                 </el-form-item>
-   
-  
+
+
                 <el-form-item label="备注:" prop="remark">
                   <el-input ref="remark" v-model="create.temp.remark" type="textarea" :autosize="{ minRows: 1.3, maxRows: 4}"  maxlength="255" class="filter-item" style="width: 100%;"  disabled  />
                 </el-form-item>
-  
+
               </el-col>
-  
+
               <el-col :span="8">
                 <el-form-item label="创建时间:" prop="createrDate">
                   <el-input ref="createrDate" v-model="create.temp.createrDate" class="filter-item" style="width: 100%;"     disabled  />
                 </el-form-item>
-  
+
                 <el-form-item label="客户名称:" prop="customerName">
                   <el-input ref="customerName" v-model="create.temp.customerName" class="filter-item" style="width: 100%;"     disabled  />
                 </el-form-item>
                 <el-form-item label="合同开始时间:" prop="contractBeginDate">
                   <el-input ref="contractBeginDate" v-model="create.temp.contractBeginDate" class="filter-item" style="width: 100%;"  disabled  />
                 </el-form-item>
-  
+
                 <el-form-item label="合同结束时间:" prop="contractEndDate">
                   <el-input ref="contractEndDate" v-model="create.temp.contractEndDate" class="filter-item" style="width: 100%;"     disabled  />
                 </el-form-item>
-  
-   
+
+
               </el-col>
-  
+
               <el-col :span="8">
                 <el-form-item label="营业执照:" prop="businessLicense">
                   <el-image style="width: 150px; height: 150px;display:inline-block"  :src="create.temp.picname1" @click="show_pic1()">
@@ -54,11 +54,11 @@
                   <el-dialog :visible.sync="imageIsShow" append-to-body width="40%">
                               <img width="80%" :src="create.temp.picname1" alt="">
                   </el-dialog>
-  
+
                 </el-form-item>
               </el-col>
             </el-row>
-  
+
             <h3>款项信息</h3>
             <el-row>
               <el-col :span="8">
@@ -66,7 +66,7 @@
                   <el-input ref="moneyStep" v-model="create.temp.moneyStep" class="filter-item" style="width: 100%;"     disabled  />
                 </el-form-item>
               </el-col>
-  
+
               <el-col :span="8">
                   <el-form-item label="合同金额(元):" prop="contractMoney">
                       <el-input ref="contractMoney" v-model="create.temp.contractMoney" class="filter-item" style="width: 100%;"   disabled  />
@@ -78,18 +78,17 @@
                   </el-form-item>
               </el-col>
             </el-row>
-  
+
             <el-row>
                     <el-table  :data="tableStagesList" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed">
-  
-   
-  
+
+
                       <el-table-column label="期数" min-width="110px" align="center">
                         <template slot-scope="scope">
                           <span>{{ scope.row.stages }}期</span>
                         </template>
                       </el-table-column>
-            
+
                       <el-table-column label="应收金额占比" min-width="110px" align="center">
                         <template slot-scope="scope">
                           <span>{{ scope.row.planCostRate }}</span>
@@ -105,23 +104,23 @@
                           <span>{{ scope.row.collectionDate}}</span>
                         </template>
                       </el-table-column>
-  
-                   
+
+
                     </el-table>
             </el-row>
-  
+
             <h3>货物信息</h3>
             <el-row>
-              
+
               <el-row>
                     <el-table :data="tableStockList" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed">
-  
+
                       <el-table-column label="序号" align="center" type="index" width="50px">
                         <template slot-scope="scope">
                           <span>{{ scope.$index + 1 }}</span>
                         </template>
                       </el-table-column>
-  
+
                       <el-table-column label="货品名称" min-width="110px" align="center">
                         <template slot-scope="scope">
                           <span>{{ scope.row.productsName }}</span>
@@ -151,13 +150,13 @@
                               <template slot-scope="scope">
                                 <span>{{ scope.row.closingPrice  }}</span>
                               </template>
-                      </el-table-column> 
+                      </el-table-column>
                       <el-table-column label="总价(元)" min-width="110px" align="center">
                               <template slot-scope="scope">
                                 <span>{{ scope.row.sumPrice  }}</span>
                               </template>
-                      </el-table-column> 
-  
+                      </el-table-column>
+
                       <el-table-column label="备注" min-width="280px" align="center">
                         <template slot-scope="scope">
                           <span >{{ scope.row.remark }}</span>
@@ -165,48 +164,48 @@
                       </el-table-column>
                     </el-table>
               </el-row>
-  
+
               <el-row type="flex" justify="end">
                     <el-col style="color:#FF4949" :span="6" :offset="18">列表货物总价:{{stockSumPrice}}</el-col>
               </el-row>
               <el-divider></el-divider>
-               
-   
+
+
             </el-row>
-  
+
             <h3>合同附件</h3>
             <el-row>
               <span @click="form_down2()"  style = "color:#409EFF; cursor: pointer;">{{create.temp.applyFileName}}</span>
               <el-button v-if="create.temp.applyFileName  " class="miniSuccess"   @click="form_look2()">在线预览</el-button>
- 
+
             </el-row>
-  
-  
+
+
             <h3>备案信息</h3>
             <el-row>
               <span @click="form_down()"  style = "color:#409EFF; cursor: pointer;">{{create.temp.fileName}}</span>
               <el-button v-if="create.temp.fileName  " class="miniSuccess"   @click="form_look()">在线预览</el-button>
             </el-row>
-  
+
             <h3>发票信息</h3>
             <el-row>
-  
+
               <el-col :span="6"  v-for="(item,index) in tableInvocieList ">
                   <el-col :span="24">
-                    <el-image style="width: 150px; height: 150px;display:inline-block"  :src="item.picname"></el-image> 
+                    <el-image style="width: 150px; height: 150px;display:inline-block"  :src="item.picname"></el-image>
                   </el-col>
                   <el-col :span="24">
                     寄出时间:{{item.postDate}}
                   </el-col>
                </el-col>
-  
-              
+
+
             </el-row>
 
 
             <h3>流程进度</h3>
             <el-row>
-  
+
               <el-steps :active="active" align-center finish-status="success">
                 <el-step
                   v-for="(item,index) in activeList"
@@ -222,27 +221,27 @@
                   </template>
                 </el-step>
               </el-steps>
-  
-              
+
+
             </el-row>
-   
+
           </el-form>
           <!-- PDF预览 -->
           <el-dialog title="在线预览" :visible.sync="dialogVisible4" width="96%"  append-to-body center>
             <!-- <pdf v-for="item in numPages" :key="item" :src="pdfSrc" :page="item" ref="pdf"></pdf> -->
               <!-- <iframe :src="pdfSrc" frameborder="0" style="width: 100%; height: 600px"></iframe> -->
-      
-                <iframe :src="pdfSrc" ref="myIframe" frameborder="0" width="100%" height="1200px">  
-                  
+
+                <iframe :src="pdfSrc" ref="myIframe" frameborder="0" width="100%" height="1200px">
+
                 </iframe>
           </el-dialog>
-  
-  
-  </div> 
+
+
+  </div>
   </template>
   <script>
-   
-  
+
+
   import { GetDataByName, PostDataByName, failproccess, ExecDataByConfig, GetDataByNames, checkButtons, calculativeWidth , downloadfileCRM} from '@/api/common'
   import Cookies from 'js-cookie'
   import { parseTime } from '@/utils/index.js'
@@ -251,7 +250,7 @@
   import { getToken } from '@/utils/auth'
 import { constants } from 'zlib';
 import mammoth from "mammoth";
-  
+
   export default {
     components: {  mammoth  },
     name: 'ContractMoreDetail',
@@ -259,15 +258,15 @@ import mammoth from "mammoth";
       conmoreData: {
         type: Object,
         required: true
-      } 
+      }
     },
-   
-   
+
+
     data() {
       return {
         htmlContent: null,
         create: {
-       
+
           temp: {  contractStatus: '',    customerId: '', groupId: '', groupName: '', serviceCode: '', contractBeginDate: parseTime(new Date(), '{y}-{m}-{d}'), contractEndDate: parseTime(new Date(), '{y}-{m}-{d}'), createrId:  Cookies.get('employeid'), createrName:  Cookies.get('employename'),moneyStep: '1',contractMoney: '', businessLicense: -1,picname1: ''},
           // 客户名称
           getdataListParmCust: {
@@ -275,8 +274,8 @@ import mammoth from "mammoth";
             returntype: 'Map',
             parammaps: { groupId: "" }
           },
-          customerNameList:[], 
-  
+          customerNameList:[],
+
           // 款项信息 - 表格
           getdataListParmStages: {
             name: 'getContractCost',
@@ -297,28 +296,28 @@ import mammoth from "mammoth";
         //发票信息
         tableInvocieList :[],
         stockSumPrice:0,
-  
+
         dialogImageUrl: '',
         imageIsShow: false,
         dialogImageUrl2: '',
         imageIsShow2: false,
-  
+
         dialogVisible4: false,
         pdfSrc: '',
         numPages: null,
-  
+
         requestParam: {},
         isokDisable: false,
-       
+
         rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
         cellStyle: { padding: 0 + 'px' },
-  
+
         activeList: [
           // { title: '合同录入', date: 1, name: 21 }, { title: '办公室主任审核', date: 3 }, { title: '设备中心审核', date: 1, name: 3, status: 'error', reason: 3 }
         ],
         active: 1
-  
-        
+
+
       }
     },
    watch: {
@@ -326,16 +325,15 @@ import mammoth from "mammoth";
         deep: true,
         handler: function (item) {
           console.log("父组件:", item)
-  
-          
-  
+
+
           this.get_info_list()
           this.getStagesTableList()
           this.getStockTableList()
-  
+
           this.getInvocieList()
           this.getResumeLineList()
-        
+
         }
       },
 
@@ -348,16 +346,16 @@ import mammoth from "mammoth";
                 sum = parseInt(i.nums) * parseFloat(i.closingPrice) + sum
             })
             this.stockSumPrice = sum
-          
+
         }
       },
-   
+
     },
     mounted() {
-       
+
     },
-  
-  
+
+
     created() {
        this.get_info_list()
        this.getStagesTableList()
@@ -365,17 +363,17 @@ import mammoth from "mammoth";
        this.getInvocieList()
        this.getResumeLineList()
 
-      
+
     },
     beforeDestroy() {
-      
+
     },
     methods: {
 
  //AJAX事件 - 流程信息
       getResumeLineList() {
 
-        var me = this 
+        var me = this
         var send_data = {
             name: 'getContractResumeLine',
             parammaps: {
@@ -387,17 +385,17 @@ import mammoth from "mammoth";
           if (response.data.list !== null) {
 
             if(response.data.list.length != 0){
- 
+
               var processNum = response.data.list[0].processNum
               var arrList = response.data.list
-      
+
               var activeList = []
-  
 
-              for (var i=0; i< processNum;i++){ 
+
+              for (var i=0; i< processNum;i++){
                  activeList.push({ employeeName: '', resumeTime:'', stepName: '', status: '' , remark: ''  })
               }
- 
+
               arrList.forEach(function(item,index){
                  activeList[index].stepName = item.stepName
                  activeList[index].employeeName = item.employeeName
@@ -410,8 +408,8 @@ import mammoth from "mammoth";
 
 
               //过滤出没有名字的,代表激活当前流程
-              let arr1 = arrList.map((value, index) => index).filter(index => arrList[index].employeeName == "");  
-                
+              let arr1 = arrList.map((value, index) => index).filter(index => arrList[index].employeeName == "");
+
               console.log(arr1);  // 输出: [1, 3, 5, 7, 8]
               //取第一个没有名字的索引
               if(arr1.length !== 0 ){
@@ -422,27 +420,27 @@ import mammoth from "mammoth";
               arrList.forEach(function(item,index){
                   //如果是最后一个内容,且有名字,激活的是最后
                   if(item.employeeName !== "" && (index  == processNum-1 )){
-                    me.active = processNum 
+                    me.active = processNum
                     console.log(processNum)
                   }
                })
-              
- 
+
+
               me.activeList = activeList
-      
+
             }else{
                me.activeList = []
                me.active = 0
 
             }
-            
+
           } else {
             me.activeList = []
                me.active = 0
           }
         })
       },
-       
+
       //AJAX事件 - 获取基本信息
       get_info_list() {
         var send_data = {
@@ -461,13 +459,11 @@ import mammoth from "mammoth";
           }
         })
       },
-  
-  
-      
-  
+
+
        // 款项信息表格
       getStagesTableList() {
-  
+
         var send_data = {
             name: 'getContractCost',
             parammaps: {
@@ -483,10 +479,10 @@ import mammoth from "mammoth";
           }
         })
       },
-  
+
       // 备货信息表格
       getStockTableList() {
-  
+
          var send_data = {
             name: 'getContractGoodsByCid2',
             parammaps: {
@@ -502,14 +498,14 @@ import mammoth from "mammoth";
           }
         })
       },
-  
+
       //图片展示
       show_pic1() {
         this.imageIsShow = true
       },
-      // 发票信息 
+      // 发票信息
       getInvocieList() {
-  
+
          var send_data = {
             name: 'getContractInvoice',
             parammaps: {
@@ -520,9 +516,9 @@ import mammoth from "mammoth";
           if (response.data.list !== null) {
             for (let i = 0; i < response.data.list.length; i++) {
               var url = process.env.VUE_APP_BASE_API + response.data.list[i].picname
-              this.$set(response.data.list[i], 'picname', url ) 
+              this.$set(response.data.list[i], 'picname', url )
             }
-  
+
             this.tableInvocieList  = response.data.list
             console.log('发票信息表格数据', response.data.list)
           } else {
@@ -530,22 +526,22 @@ import mammoth from "mammoth";
           }
         })
       },
-  
+
       form_down(){
-  
+
         var send_data = {
             fileId: this.create.temp.fileId
          }
-  
-  
+
+
          var fileName = this.create.temp.fileName
-  
+
         downloadfileCRM(send_data).then(res => {
-         
-         
+
+
           const content = res
           const blob = new Blob([content])
-       
+
           if ('download' in document.createElement('a')) { // 非IE下载
             const elink = document.createElement('a')
             elink.download = fileName
@@ -559,28 +555,26 @@ import mammoth from "mammoth";
             navigator.msSaveBlob(blob, fileName)
           }
         })
-  
+
       },
 
 
       form_look(){
-        
+
         var me = this
         me.pdfSrc = ""
         var  typeStr = me.create.temp.fileName
         var url = process.env.VUE_APP_BASE_API + 'viewfileCRM/' + this.create.temp.fileId
 
-   
+
         me.dialogVisible4 = true
         me.pdfSrc = url
 
-   
-        
-     
+
       },
-  
+
       form_look2(){
-        
+
         var me = this
         me.pdfSrc = ""
         var  typeStr = me.create.temp.applyFileName
@@ -591,7 +585,7 @@ import mammoth from "mammoth";
         me.dialogVisible4 = true
         me.pdfSrc = url
 
-      //var url = process.env.VUE_APP_BASE_API + 'viewfileCRM/79'  
+      //var url = process.env.VUE_APP_BASE_API + 'viewfileCRM/79'
       //  window.open('http://www.leomay.com/upload/file/mmo-20170707165001.pdf')
 
 
@@ -608,63 +602,53 @@ import mammoth from "mammoth";
         //   //Word 文件
         //   if(type == "docx" || type == "doc" ){
         //     me.dialogVisible4 = true
-        //     fetch(url)  
-        //       .then(response => response.blob()) // 将响应转换为Blob对象  
-        //       .then(blob => {  
+        //     fetch(url)
+        //       .then(response => response.blob()) // 将响应转换为Blob对象
+        //       .then(blob => {
         //         console.log(blob)
-        //         // 使用mammoth.js将Blob转换为HTML  
-        //         mammoth.convertToHtml({ arrayBuffer: blob })  
-        //           .then((result) => {  
-                    
-        //             // 获取iframe元素  
-        //             var iframe = me.$refs.myIframe;  
-        //              // 设置iframe中的HTML内容  
-        //             var contentWindow = iframe.contentWindow;  
-        //             contentWindow.document.open("text/html", "replace");  
-        //             contentWindow.document.write(result.value);  
-        //             contentWindow.document.close();  
-
-            
-        //           })  
-        //           .catch((err) => console.error(err));  
-        //       })  
-        //       .catch((err) => console.error(err));  
-      
+        //         // 使用mammoth.js将Blob转换为HTML
+        //         mammoth.convertToHtml({ arrayBuffer: blob })
+        //           .then((result) => {
+
+        //             // 获取iframe元素
+        //             var iframe = me.$refs.myIframe;
+        //              // 设置iframe中的HTML内容
+        //             var contentWindow = iframe.contentWindow;
+        //             contentWindow.document.open("text/html", "replace");
+        //             contentWindow.document.write(result.value);
+        //             contentWindow.document.close();
+
+
+        //           })
+        //           .catch((err) => console.error(err));
+        //       })
+        //       .catch((err) => console.error(err));
+
 
         //   }
-          
+
 
         // }
 
-        
- 
-         
-
-     
-       
-    
- 
-     
-        
-     
+
       },
-     
-    
+
+
       form_down2(){
-  
+
         var send_data = {
             fileId: this.create.temp.applyFileId
         }
-  
-  
+
+
         var fileName = this.create.temp.applyFileName
-  
+
         downloadfileCRM(send_data).then(res => {
-        
-        
+
+
           const content = res
           const blob = new Blob([content])
-  
+
           if ('download' in document.createElement('a')) { // 非IE下载
             const elink = document.createElement('a')
             elink.download = fileName
@@ -678,16 +662,10 @@ import mammoth from "mammoth";
             navigator.msSaveBlob(blob, fileName)
           }
         })
-  
+
         }
-  
-   
-  
-      
-   
-  
-       
+
+
     }
   }
   </script>
-  

+ 31 - 46
src/componentView/ContractReturnMoney.vue

@@ -1,17 +1,16 @@
 <template>
   <div style="padding-bottom:20px;">
-    
- 
-          
+
+
             <el-table  :data="tableStagesList" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed">
 
-  
+
                       <el-table-column label="本期期数" min-width="110px" align="center">
                         <template slot-scope="scope">
                           <span>{{ scope.row.stages }}期</span>
                         </template>
                       </el-table-column>
-            
+
                       <el-table-column label="应收款项" min-width="110px" align="center">
                         <template slot-scope="scope">
                           <span>{{ scope.row.planCost }}</span>
@@ -37,45 +36,43 @@
                           <span>{{ scope.row.remark }}</span>
                         </template>
                       </el-table-column>
-                   
+
                     </el-table>
-            
-      
-  
-  
-  </div> 
+
+
+  </div>
   </template>
   <script>
-   
-  
+
+
 import { GetDataByName, PostDataByName, failproccess, ExecDataByConfig, GetDataByNames, checkButtons, calculativeWidth } from '@/api/common'
 import Cookies from 'js-cookie'
 import { parseTime } from '@/utils/index.js'
 import Pagination from '@/components/Pagination'
 import { MessageBox } from 'element-ui'
 import { getToken } from '@/utils/auth'
-  
+
   export default {
-    
+
     name: 'ContractReturnMoney',
     props: {
       resturnmData: {
         type: Object,
         required: true
-      } 
+      }
     },
-   
-   
+
+
     data() {
       return {
         htmlContent: null,
-       
+
          //款项期数表格
         tableStagesList:[],
         rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
       cellStyle: { padding: 0 + 'px' }
-  
-        
+
+
       }
     },
    watch: {
@@ -85,28 +82,28 @@ import { getToken } from '@/utils/auth'
           console.log("resturnmData父组件:", item)
 
           this.getMoneyTableList()
-         
+
         }
       },
-   
+
     },
     mounted() {
-       
+
     },
-  
-  
+
+
     created() {
-      
+
        this.getMoneyTableList()
-    
-      
+
+
     },
     beforeDestroy() {
-      
+
     },
     methods: {
-  
-  
+
+
        // 款项信息表格
       getMoneyTableList() {
           console.log(1111111)
@@ -125,20 +122,8 @@ import { getToken } from '@/utils/auth'
           }
         })
       },
-  
-      
-     
-  
-     
-  
-      
-   
-  
-      
-   
-  
-       
+
+
     }
   }
   </script>
-  

+ 30 - 32
src/componentView/CustomerDetail.vue

@@ -15,11 +15,11 @@
                 <span>{{customerCard.customerName}}</span>
               </el-col>
           </el-row>
-           
+
         </div>
 
         <div>
-       
+
             <el-row :gutter="10" class="cust-card-row">
               <el-col :span="8">
                 <span class="cust-card-tt">所属集团:</span>
@@ -118,19 +118,19 @@
                 <span class="cust-card-ct">{{customerCard.remark }}</span>
               </el-col>
             </el-row>
-   
+
         </div>
         <!-- <div v-for="o in 4" :key="o" class="text item">
           {{'列表内容 ' + o }}
         </div> -->
       </el-card>
- 
+
     </el-col>
     <el-col :span="16">
 
         <div class="search">
 
-       
+
                 <el-select v-model="tableObj.getdataListParm.parammaps.businessName" placeholder="业务" class="filter-item" style="width: 120px;" clearable filterable>
                   <el-option v-for="(item,index) in businessNameList" :key="index" :label="item.name" :value="item.id" />
                 </el-select>
@@ -138,7 +138,6 @@
                 <el-date-picker v-model="tableObj.getdataListParm.parammaps.inputDatetime" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;" />
 
 
-
                  <el-input v-model="tableObj.getdataListParm.parammaps.directorName" placeholder="负责人" style="width: 180px;" class="filter-item" clearable />
 
                 <el-select v-model="tableObj.getdataListParm.parammaps.customeStatus" placeholder="客户状态" class="filter-item" style="width: 120px;" clearable>
@@ -155,7 +154,7 @@
         </div>
         <div>
           <el-divider></el-divider>
-   
+
           <div class="block" style="height:320px;overflow:auto">
 
             <el-timeline>
@@ -168,7 +167,7 @@
                 </div>
 
                 <el-card>
-                 
+
                       <div class = "cust-ex-item">
                         <span class = "cust-ex-tt">业务:</span>
                         <span class = "cust-ex-ct">{{item.businessName}}</span>
@@ -189,8 +188,8 @@
                         <span class = "cust-ex-tt">支付状态:</span>
                         <span class = "cust-ex-ct">{{item.payStatus}}</span>
                       </div>
-                    
-              
+
+
                 </el-card>
               </el-timeline-item>
 
@@ -213,17 +212,17 @@
               <span>{{sunPrice.planPayMoney}}</span>
             </div>
           </div>
-      
+
 
         </div>
-      
+
 
     </el-col>
   </el-row>
-</div> 
+</div>
 </template>
 <script>
- 
+
 
 import { GetDataByName, PostDataByName, failproccess, ExecDataByConfig, GetDataByNames, checkButtons, calculativeWidth } from '@/api/common'
 import Cookies from 'js-cookie'
@@ -238,16 +237,16 @@ export default {
     customerData: {
       type: Object,
       required: true
-    } 
+    }
   },
   data() {
     return {
 
       customerCard: {
-          // "address":"1","createrId":"3072707379235128328","createrName":"管理员","createtime":"2022-05-11","customeLevelName":"2级","customeStatusName":"欠款客户","customerName":"测试12","directorId":24,"directorName":"康亮","enable":1,"groupId":207,"groupName":"星连星牧业","id":1425,"province":"1","rangeName":"西北区域","remark":"","scode":"123456789012345678" 
-      }, 
-      
-    
+          // "address":"1","createrId":"3072707379235128328","createrName":"管理员","createtime":"2022-05-11","customeLevelName":"2级","customeStatusName":"欠款客户","customerName":"测试12","directorId":24,"directorName":"康亮","enable":1,"groupId":207,"groupName":"星连星牧业","id":1425,"province":"1","rangeName":"西北区域","remark":"","scode":"123456789012345678"
+      },
+
+
       //列表请求
       tableObj: {
         getdataListParm: {
@@ -300,12 +299,12 @@ export default {
       ],
 
       sunPrice:{
-        // payMoney: '200', 
-        // planPayMoney: '50', 
+        // payMoney: '200',
+        // planPayMoney: '50',
         // planPaySumMoney: '300'
       }
 
-      
+
     }
   },
  watch: {
@@ -314,19 +313,18 @@ export default {
       handler: function (item) {
         console.log("父组件:", item)
 
-        this.form_clear() 
+        this.form_clear()
 
-        
 
         this.get_card_list()
         this.get_resume_list()
         this.get_sum_money()
       }
     },
- 
+
   },
   mounted() {
-     
+
   },
 
 
@@ -336,11 +334,11 @@ export default {
      this.get_sum_money()
   },
   beforeDestroy() {
-    
+
   },
   methods: {
-     
-    //AJAX事件 - 获取卡片 
+
+    //AJAX事件 - 获取卡片
     get_card_list() {
       var send_data = {
           name: 'getCustomerById',
@@ -396,7 +394,7 @@ export default {
     //AJAX事件 - 获取卡片列表
     get_resume_list() {
 
- 
+
       this.tableObj.getdataListParm.parammaps.customerId = this.customerData.id
       var send_data2 = {
           name: 'getResumeByCustomerId',
@@ -421,11 +419,11 @@ export default {
       GetDataByName(send_data3).then(response => {
         console.log('卡片总金额', response )
         this.sunPrice  = response.data.list[0]
-        
+
       })
     },
 
-     
+
   }
 }
 </script>

+ 21 - 31
src/componentView/RemotePayDetail.vue

@@ -15,11 +15,11 @@
                 <span>{{customerCard.remoteCode}}</span>
               </el-col>
           </el-row>
-           
+
         </div>
 
         <div>
-       
+
             <el-row :gutter="10" class="cust-card-row">
               <el-col :span="8">
                 <span class="cust-card-tt">服务状态:</span>
@@ -139,23 +139,21 @@
               </el-col>
             </el-row>
 
-             
-   
+
         </div>
         <!-- <div v-for="o in 4" :key="o" class="text item">
           {{'列表内容 ' + o }}
         </div> -->
       </el-card>
- 
+
     </el-col>
     <el-col :span="16">
          <h3>反馈记录</h3>
                 <el-row  >
 
-                  
 
                   <div v-for="(item) in feedRecordList"   >
-             
+
                     <div>
                       <span> {{item.sort }} . </span>
                       <span>{{item.remark }}</span>
@@ -171,16 +169,14 @@
                     <el-divider></el-divider>
                   </div>
         </el-row>
-  
-    
-      
+
 
     </el-col>
   </el-row>
-</div> 
+</div>
 </template>
 <script>
- 
+
 
 import { GetDataByName, PostDataByName, failproccess, ExecDataByConfig, GetDataByNames, checkButtons, calculativeWidth } from '@/api/common'
 import Cookies from 'js-cookie'
@@ -195,17 +191,16 @@ export default {
     remoteData: {
       type: Object,
       required: true
-    } 
+    }
   },
   data() {
     return {
 
       customerCard: {
-          // "address":"1","createrId":"3072707379235128328","createrName":"管理员","createtime":"2022-05-11","customeLevelName":"2级","customeStatusName":"欠款客户","customerName":"测试12","directorId":24,"directorName":"康亮","enable":1,"groupId":207,"groupName":"星连星牧业","id":1425,"province":"1","rangeName":"西北区域","remark":"","scode":"123456789012345678" 
-      }, 
-      
- 
- 
+          // "address":"1","createrId":"3072707379235128328","createrName":"管理员","createtime":"2022-05-11","customeLevelName":"2级","customeStatusName":"欠款客户","customerName":"测试12","directorId":24,"directorName":"康亮","enable":1,"groupId":207,"groupName":"星连星牧业","id":1425,"province":"1","rangeName":"西北区域","remark":"","scode":"123456789012345678"
+      },
+
+
       //反馈记录
       feedRecordList:[
         // {id:1, num: 1, txt: '主板缺失零件,疫情关系,无法采购,延期1天',   director:'epans', date:"2022-12-01"},
@@ -213,7 +208,7 @@ export default {
         // {id:1, num: 1, txt: '主板缺失零件,疫情关系,无法采购,延期1天',   director:'epans', date:"2022-12-01"},
       ],
 
-      
+
     }
   },
  watch: {
@@ -222,30 +217,29 @@ export default {
       handler: function (item) {
         console.log("父组件:", item)
 
-        
 
         this.get_card_list()
         this.get_feedRecord()
- 
+
       }
     },
- 
+
   },
   mounted() {
-     
+
   },
 
 
   created() {
      this.get_card_list()
      this.get_feedRecord()
-     
+
   },
   beforeDestroy() {
-    
+
   },
   methods: {
-     
+
     //AJAX事件 - 获取服务款项详情
     get_card_list() {
       var send_data = {
@@ -264,10 +258,6 @@ export default {
       })
     },
 
-    
-  
-
-  
 
     // 查看中的反馈记录
     get_feedRecord() {
@@ -288,7 +278,7 @@ export default {
       })
     }
 
-     
+
   }
 }
 </script>

+ 36 - 45
src/componentView/RepairPayDetail.vue

@@ -15,11 +15,11 @@
                 <span>{{customerCard.repairCode }}</span>
               </el-col>
           </el-row>
-           
+
         </div>
 
         <div>
-       
+
             <el-row :gutter="10" class="cust-card-row">
               <el-col :span="8">
                 <span class="cust-card-tt">服务状态:</span>
@@ -109,7 +109,7 @@
                 <span class="cust-card-ct">{{customerCard.problem  }}</span>
               </el-col>
             </el-row>
- 
+
             <el-row :gutter="10" class="cust-card-row">
               <el-col :span="8">
                 <span class="cust-card-tt">备注:</span>
@@ -179,14 +179,13 @@
               </el-col>
             </el-row>
 
-             
-   
+
         </div>
         <!-- <div v-for="o in 4" :key="o" class="text item">
           {{'列表内容 ' + o }}
         </div> -->
       </el-card>
- 
+
     </el-col>
     <el-col :span="16">
        <h3>备货单信息</h3>
@@ -233,11 +232,10 @@
                   <el-input v-model="stockCard.remark" placeholder="" style="width:100%" disabled></el-input>
               </el-form-item>
             </el-col>
-    
+
           </el-row>
         </el-form>
 
-      
 
         <h3>备货清单</h3>
 
@@ -269,8 +267,8 @@
                         <span>{{ scope.row.productsName }}</span>
                       </template>
                     </el-table-column>
-                  
-                   
+
+
                     <el-table-column label="数量" min-width="110px" align="center">
                       <template slot-scope="scope">
                         <span>{{ scope.row.nums }}</span>
@@ -286,15 +284,15 @@
                             <template slot-scope="scope">
                               <span>{{ scope.row.sumPrice  }}</span>
                             </template>
-                    </el-table-column> 
+                    </el-table-column>
 
                     <el-table-column label="备注" min-width="280px" align="center">
                       <template slot-scope="scope">
                         <span>{{ scope.row.remark }}</span>
-                        
+
                       </template>
                     </el-table-column>
-                 
+
           </el-table>
         </el-row>
 
@@ -302,16 +300,15 @@
                    <el-col style="color:#FF4949" :span="6" :offset="18">列表货物总价:{{stockSumPrice}}</el-col>
         </el-row>
 
-              
+
                 <el-divider></el-divider>
 
         <h3>反馈记录</h3>
         <el-row  >
 
-                  
 
                   <div v-for="(item) in feedRecordList"   >
-             
+
                     <div>
                       <span> {{item.sort }} . </span>
                       <span>{{item.remark }}</span>
@@ -327,16 +324,14 @@
                     <el-divider></el-divider>
                   </div>
         </el-row>
-  
-    
-      
+
 
     </el-col>
   </el-row>
-</div> 
+</div>
 </template>
 <script>
- 
+
 
 import { GetDataByName, PostDataByName, failproccess, ExecDataByConfig, GetDataByNames, checkButtons, calculativeWidth } from '@/api/common'
 import Cookies from 'js-cookie'
@@ -351,29 +346,29 @@ export default {
     repairData: {
       type: Object,
       required: true
-    } 
+    }
   },
   data() {
     return {
 
       customerCard: {
-          // "address":"1","createrId":"3072707379235128328","createrName":"管理员","createtime":"2022-05-11","customeLevelName":"2级","customeStatusName":"欠款客户","customerName":"测试12","directorId":24,"directorName":"康亮","enable":1,"groupId":207,"groupName":"星连星牧业","id":1425,"province":"1","rangeName":"西北区域","remark":"","scode":"123456789012345678" 
-      }, 
+          // "address":"1","createrId":"3072707379235128328","createrName":"管理员","createtime":"2022-05-11","customeLevelName":"2级","customeStatusName":"欠款客户","customerName":"测试12","directorId":24,"directorName":"康亮","enable":1,"groupId":207,"groupName":"星连星牧业","id":1425,"province":"1","rangeName":"西北区域","remark":"","scode":"123456789012345678"
+      },
 
       stockCard: {
-          // "address":"1","createrId":"3072707379235128328","createrName":"管理员","createtime":"2022-05-11","customeLevelName":"2级","customeStatusName":"欠款客户","customerName":"测试12","directorId":24,"directorName":"康亮","enable":1,"groupId":207,"groupName":"星连星牧业","id":1425,"province":"1","rangeName":"西北区域","remark":"","scode":"123456789012345678" 
-      }, 
-      
+          // "address":"1","createrId":"3072707379235128328","createrName":"管理员","createtime":"2022-05-11","customeLevelName":"2级","customeStatusName":"欠款客户","customerName":"测试12","directorId":24,"directorName":"康亮","enable":1,"groupId":207,"groupName":"星连星牧业","id":1425,"province":"1","rangeName":"西北区域","remark":"","scode":"123456789012345678"
+      },
+
       //备货表格
       tableStockList:[],
- 
+
       //反馈记录
       feedRecordList:[
         // {id:1, num: 1, txt: '主板缺失零件,疫情关系,无法采购,延期1天',   director:'epans', date:"2022-12-01"},
         // {id:1, num: 1, txt: '主板缺失零件,疫情关系,无法采购,延期1天',   director:'epans', date:"2022-12-01"},
         // {id:1, num: 1, txt: '主板缺失零件,疫情关系,无法采购,延期1天',   director:'epans', date:"2022-12-01"},
       ],
- 
+
       stockSumPrice:0,
       requestParam: {},
       isokDisable: false,
@@ -381,7 +376,7 @@ export default {
       rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
       cellStyle: { padding: 0 + 'px' }
 
-      
+
     }
   },
  watch: {
@@ -390,13 +385,11 @@ export default {
       handler: function (item) {
         console.log("父组件:", item)
 
-        
 
         this.get_card_list()
         this.get_feedRecord()
-      
-      
- 
+
+
       }
     },
     tableStockList: {
@@ -408,28 +401,27 @@ export default {
               sum = parseInt(i.nums) * parseFloat(i.price) + sum
           })
           this.stockSumPrice = sum
-         
+
       }
     },
- 
+
   },
   mounted() {
-     
+
   },
 
 
   created() {
      this.get_card_list()
      this.get_feedRecord()
-   
-   
-     
+
+
   },
   beforeDestroy() {
-    
+
   },
   methods: {
-     
+
     //AJAX事件 - 获取服务款项详情
     get_card_list() {
       var send_data = {
@@ -451,7 +443,7 @@ export default {
       })
     },
 
-    
+
     // 备货表格
     get_tableStock() {
       var send_data4 = {
@@ -489,7 +481,6 @@ export default {
       })
     },
 
-  
 
     // 查看中的反馈记录
     get_feedRecord() {
@@ -510,7 +501,7 @@ export default {
       })
     }
 
-     
+
   }
 }
 </script>

+ 34 - 45
src/componentView/SitePayDetail.vue

@@ -15,11 +15,11 @@
                 <span>{{customerCard.serviceCode }}</span>
               </el-col>
           </el-row>
-           
+
         </div>
 
         <div>
-       
+
             <el-row :gutter="10" class="cust-card-row">
               <el-col :span="8">
                 <span class="cust-card-tt">服务状态:</span>
@@ -135,33 +135,33 @@
                 <span class="cust-card-ct">
 
                   <el-col  v-if =" customerCard.scenePhoto1 !==  '-1' ">
-                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="picnameUrl1"></el-image> 
+                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="picnameUrl1"></el-image>
                   </el-col>
                   <el-col   v-if =" customerCard.scenePhoto2 !==  '-1' ">
-                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="picnameUrl2"></el-image> 
+                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="picnameUrl2"></el-image>
                   </el-col>
                   <el-col   v-if =" customerCard.scenePhoto3 !==  '-1' ">
-                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="picnameUrl3"></el-image> 
+                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="picnameUrl3"></el-image>
                   </el-col>
                   <el-col   v-if =" customerCard.scenePhoto4 ==  '-1' ">
-                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="picnameUrl4"></el-image> 
+                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="picnameUrl4"></el-image>
                   </el-col>
                   <el-col   v-if =" customerCard.scenePhoto5 !==  '-1' ">
-                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="picnameUrl5"></el-image> 
+                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="picnameUrl5"></el-image>
                   </el-col>
                   <el-col  v-if =" customerCard.scenePhoto6 !==  '-1' ">
-                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="picnameUrl6"></el-image> 
+                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="picnameUrl6"></el-image>
                   </el-col>
                   <el-col   v-if =" customerCard.scenePhoto7 !==  '-1' ">
-                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="picnameUrl7"></el-image> 
+                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="picnameUrl7"></el-image>
                   </el-col>
                   <el-col  v-if =" customerCard.scenePhoto8 !==  '-1' ">
-                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="picnameUrl8"></el-image> 
+                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="picnameUrl8"></el-image>
                   </el-col>
                   <el-col  v-if =" customerCard.scenePhoto9 !==  '-1' ">
-                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="picnameUrl9"></el-image> 
+                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="picnameUrl9"></el-image>
                   </el-col>
-     
+
                 </span>
 
               </el-col>
@@ -174,10 +174,10 @@
 
                 <span class="cust-card-ct">
                   <el-col :span="6"  >
-                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="codePicnameUrl"></el-image> 
+                      <el-image style="width: 150px; height: 150px;display:inline-block"  :src="codePicnameUrl"></el-image>
                   </el-col>
                 </span>
-                
+
               </el-col>
             </el-row>
 
@@ -225,23 +225,21 @@
               </el-col>
             </el-row>
 
-             
-   
+
         </div>
         <!-- <div v-for="o in 4" :key="o" class="text item">
           {{'列表内容 ' + o }}
         </div> -->
       </el-card>
- 
+
     </el-col>
     <el-col :span="16">
          <h3>反馈记录</h3>
                 <el-row  >
 
-                  
 
                   <div v-for="(item) in feedRecordList"   >
-             
+
                     <div>
                       <span> {{item.sort }} . </span>
                       <span>{{item.remark }}</span>
@@ -257,16 +255,14 @@
                     <el-divider></el-divider>
                   </div>
         </el-row>
-  
-    
-      
+
 
     </el-col>
   </el-row>
-</div> 
+</div>
 </template>
 <script>
- 
+
 
 import { GetDataByName, PostDataByName, failproccess, ExecDataByConfig, GetDataByNames, checkButtons, calculativeWidth } from '@/api/common'
 import Cookies from 'js-cookie'
@@ -281,14 +277,14 @@ export default {
     siteData: {
       type: Object,
       required: true
-    } 
+    }
   },
   data() {
     return {
 
       customerCard: {
-          // "address":"1","createrId":"3072707379235128328","createrName":"管理员","createtime":"2022-05-11","customeLevelName":"2级","customeStatusName":"欠款客户","customerName":"测试12","directorId":24,"directorName":"康亮","enable":1,"groupId":207,"groupName":"星连星牧业","id":1425,"province":"1","rangeName":"西北区域","remark":"","scode":"123456789012345678" 
-      }, 
+          // "address":"1","createrId":"3072707379235128328","createrName":"管理员","createtime":"2022-05-11","customeLevelName":"2级","customeStatusName":"欠款客户","customerName":"测试12","directorId":24,"directorName":"康亮","enable":1,"groupId":207,"groupName":"星连星牧业","id":1425,"province":"1","rangeName":"西北区域","remark":"","scode":"123456789012345678"
+      },
       codePicnameUrl:"",
       picnameUrl1:"",
       picnameUrl2:"",
@@ -299,10 +295,8 @@ export default {
       picnameUrl7:"",
       picnameUrl8:"",
       picnameUrl9:"",
-  
- 
- 
- 
+
+
       //反馈记录
       feedRecordList:[
         // {id:1, num: 1, txt: '主板缺失零件,疫情关系,无法采购,延期1天',   director:'epans', date:"2022-12-01"},
@@ -310,7 +304,7 @@ export default {
         // {id:1, num: 1, txt: '主板缺失零件,疫情关系,无法采购,延期1天',   director:'epans', date:"2022-12-01"},
       ],
 
-      
+
     }
   },
  watch: {
@@ -319,30 +313,29 @@ export default {
       handler: function (item) {
         console.log("父组件:", item)
 
-        
 
         this.get_card_list()
         this.get_feedRecord()
- 
+
       }
     },
- 
+
   },
   mounted() {
-     
+
   },
 
 
   created() {
      this.get_card_list()
      this.get_feedRecord()
-     
+
   },
   beforeDestroy() {
-    
+
   },
   methods: {
-     
+
     //AJAX事件 - 获取服务款项详情
     get_card_list() {
       var send_data = {
@@ -356,7 +349,7 @@ export default {
         if (response.data.list !== null) {
           this.customerCard = response.data.list[0]
           this.codePicnameUrl = process.env.VUE_APP_BASE_API + response.data.list[0].codePicname
-          
+
           this.picnameUrl1 = process.env.VUE_APP_BASE_API + response.data.list[0].picname1
           this.picnameUrl2 = process.env.VUE_APP_BASE_API + response.data.list[0].picname2
           this.picnameUrl3 = process.env.VUE_APP_BASE_API + response.data.list[0].picname3
@@ -372,10 +365,6 @@ export default {
       })
     },
 
-    
-  
-
-  
 
     // 查看中的反馈记录
     get_feedRecord() {
@@ -396,7 +385,7 @@ export default {
       })
     }
 
-     
+
   }
 }
 </script>

+ 46 - 50
src/componentView/StockDetail.vue

@@ -3,10 +3,10 @@
   <div class="search">
       <el-row :gutter="0">
         <el-col :span="21">
- 
-          
+
+
             <el-input  v-model="tableObj.getdataListParm.parammaps.stockupCode " class="filter-item" style="width: 120px;" placeholder="备货单号"/>
-          
+
             <el-input  v-model="tableObj.getdataListParm.parammaps.contractCode " class="filter-item" style="width: 120px;" placeholder="合同编号"/>
 
             <el-date-picker v-model="tableObj.getdataListParm.parammaps.inputDatetime" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="预定发货时间" end-placeholder="预定发货时间" style="width: 250px;" />
@@ -21,7 +21,7 @@
               <el-select v-model="tableObj.getdataListParm.parammaps.groupId" placeholder="所属集团" class="filter-item" style="width: 120px;" clearable>
                 <el-option v-for="item in groupNameList" :key="item.id" :label="item.name" :value="item.id" />
               </el-select> -->
-  
+
 
         </el-col>
         <el-col :span="3">
@@ -39,7 +39,7 @@
           </template>
         </el-table-column>
         <el-table-column label="备货单号" min-width="110px" align="center" show-overflow-tooltip>
-         
+
           <template slot-scope="scope">
             <span  style = "color:#409EFF; cursor: pointer;" @click="click_customer(scope.row)">{{ scope.row.stockupCode  }}</span>
           </template>
@@ -71,15 +71,15 @@
             <span>{{ scope.row.orderDate  }}</span>
           </template>
         </el-table-column>
-       
-       
+
+
       </el-table>
       <pagination v-show="tableObj.total>=0" :total="tableObj.total" :page.sync="tableObj.getdataListParm.offset" :limit.sync="tableObj.getdataListParm.pagecount" @pagination="get_table_data" />
     </div>
-</div> 
+</div>
 </template>
 <script>
- 
+
 
 import { GetDataByName, PostDataByName, failproccess, ExecDataByConfig, GetDataByNames, checkButtons, calculativeWidth } from '@/api/common'
 import Cookies from 'js-cookie'
@@ -95,7 +95,7 @@ export default {
     stockData: {
       type: Object,
       required: true
-    } 
+    }
   },
   data() {
     return {
@@ -104,19 +104,19 @@ export default {
         // {id: 1425, name: "测试12"},
         // {id: 1423, name: "朝日牧场(唯品牧场)"},
         // {id: 1422, name: "富源牧业(眉山)有限公司(眉山富源)"}
-      ], 
- 
+      ],
+
       //集团 - 下拉框
       groupNameList: [
-        // {id: 253, name: "无"}, 
-        // {id: 207, name: "星连星牧业"}, 
-        // {id: 208, name: "海高牧业"}, 
+        // {id: 253, name: "无"},
+        // {id: 207, name: "星连星牧业"},
+        // {id: 208, name: "海高牧业"},
         // {id: 254, name: "完达山"}
       ],
-       
+
       //创建人 - 下拉框
       createrNameList: [
-        // {id: 3072707379235128300, name: "管理员"}, 
+        // {id: 3072707379235128300, name: "管理员"},
         // {id: 3248184121834865700, name: "杨文山"}
       ],
 
@@ -137,28 +137,26 @@ export default {
             inputDatetime: "",
             beginDate: "",
             endDate: "",
-            stockupIds:  "" 
+            stockupIds:  ""
           }
         },
         tableKey: 0,
         list: [
-          
-        
+
+
         ],
         total: 0,
         listLoading: false,
         temp: {},
- 
-        
-        
+
+
       },
       isokDisable: false,
       selectList: [],
          rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
          cellStyle: { padding: 0 + 'px' }
-      
 
-      
+
     }
   },
  watch: {
@@ -169,20 +167,20 @@ export default {
 
         //  if(item.title == 'see'){
         //     this.tableObj.getdataListParm.parammaps.stockupIds = item.stockupIds
-        //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2' 
+        //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2'
         //   }else{
         //       this.tableObj.getdataListParm.parammaps.stockupIds = ""
-        //       this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery' 
+        //       this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery'
         //   }
 
         //   this.get_table_data()
-       
+
       }
     },
- 
+
   },
   mounted() {
-     
+
   },
 
 
@@ -191,29 +189,29 @@ export default {
     // console.log("父组件:", this.stockData)
     // if(this.stockData.title == 'see'){
     //     this.tableObj.getdataListParm.parammaps.stockupIds = this.stockData.stockupIds
-    //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2' 
+    //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2'
     // }else{
     //     this.tableObj.getdataListParm.parammaps.stockupIds = ""
-    //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery' 
+    //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery'
     // }
-    this.get_select_list() 
+    this.get_select_list()
       // this.get_table_data()
- 
+
   },
   beforeDestroy() {
-    
+
   },
   methods: {
- 
+
   parent_change_parp(customerId,groupId,title){
         this.tableObj.getdataListParm.parammaps.customerId = customerId
         this.tableObj.getdataListParm.parammaps.groupId = groupId
         if(title == 'see'){
             this.tableObj.getdataListParm.parammaps.stockupIds = this.stockData.stockupIds
-            this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2' 
+            this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2'
         }else{
             this.tableObj.getdataListParm.parammaps.stockupIds = ""
-            this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery' 
+            this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery'
         }
         this.get_table_data()
     },
@@ -231,10 +229,10 @@ export default {
       ]
 
       GetDataByNames(send_select_list).then(response => {
- 
+
         this.groupNameList = response.data.getDictListSelect1.list
         console.log("集团下拉框", this.groupNameList)
-         
+
 
       })
 
@@ -243,7 +241,7 @@ export default {
 
     //加载表格
     get_table_data() {
-      
+
       this.tableObj.listLoading = true
       GetDataByName(this.tableObj.getdataListParm).then(response => {
         console.log('table数据', response.data.list)
@@ -309,9 +307,9 @@ export default {
         this.tableObj.getdataListParm.parammaps.beginDate = ''
         this.tableObj.getdataListParm.parammaps.endDate = ''
       }
- 
+
       console.log('点击了查询', this.tableObj.getdataListParm.parammaps)
-   
+
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
     },
@@ -319,7 +317,7 @@ export default {
     //事件 - 清空查询信息
     form_clear() {
       console.log('点击了重置')
-       
+
       this.tableObj.getdataListParm.parammaps.contractCode  = ''
       this.tableObj.getdataListParm.parammaps.customerId  = ''
       this.tableObj.getdataListParm.parammaps.groupId  = ''
@@ -329,12 +327,11 @@ export default {
       this.tableObj.getdataListParm.parammaps.stockupIds  = ''
       this.tableObj.getdataListParm.parammaps.stockupCode  = ''
 
-      
-      
+
       this.tableObj.getdataListParm.parammaps.customerName = ''
 
       this.tableObj.getdataListParm.parammaps.employeeId  = ''
-    
+
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
     },
@@ -344,12 +341,11 @@ export default {
     change_table_selection(val) {
       console.log('勾选数据', val)
       this.selectList = val
-     
-      this.stockData.selectList = this.selectList 
+
+      this.stockData.selectList = this.selectList
     },
 
 
-     
   }
 }
 </script>

+ 31 - 46
src/componentView/ToDoApplyList.vue

@@ -1,17 +1,17 @@
 <template>
 <div style="padding-bottom:50px;">
- 
+
   <div class="table">
 
- 
+
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" >
-         
+
         <el-table-column label="序号" align="center" type="index" width="50px" fixed="left">
           <template slot-scope="scope">
             <span>{{ scope.$index +   1 }}</span>
           </template>
         </el-table-column>
-       
+
         <el-table-column label="申请类型" min-width="120px" align="center" show-overflow-tooltip>
           <template slot-scope="scope">
             <span>{{ scope.row.approvalTypeName  }}</span>
@@ -44,22 +44,19 @@
 
             <el-button class="miniSuccess" v-if="row.typeName =='报销申请'  && row.isDo == 1"   @click="form_detail3(row)">去审批</el-button>
             <el-button  class="miniPrimary" v-if="row.typeName =='报销申请' && row.isDo == 0"  @click="form_detail3(row)">查看</el-button>
-             
-
-         
 
 
           </template>
         </el-table-column>
-       
-       
+
+
       </el-table>
-       
+
     </div>
-</div> 
+</div>
 </template>
 <script>
- 
+
 
 import { GetDataByName, PostDataByName, failproccess, ExecDataByConfig, GetDataByNames, checkButtons, calculativeWidth } from '@/api/common'
 import Cookies from 'js-cookie'
@@ -75,11 +72,11 @@ export default {
     todoApply: {
       type: Object,
       required: true
-    } 
+    }
   },
   data() {
     return {
-   
+
       //列表请求
       tableObj: {
         getdataListParm: {
@@ -92,23 +89,21 @@ export default {
         },
         tableKey: 0,
         list: [
-          
-        
+
+
         ],
         total: 0,
         listLoading: false,
         temp: {},
- 
-        
-        
+
+
       },
       isokDisable: false,
       selectList: [],
          rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
          cellStyle: { padding: 0 + 'px' }
-      
 
-      
+
     }
   },
  watch: {
@@ -119,37 +114,37 @@ export default {
 
         //  if(item.title == 'see'){
         //     this.tableObj.getdataListParm.parammaps.stockupIds = item.stockupIds
-        //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2' 
+        //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2'
         //   }else{
         //       this.tableObj.getdataListParm.parammaps.stockupIds = ""
-        //       this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery' 
+        //       this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery'
         //   }
 
         //   this.get_table_data()
-       
+
       }
     },
- 
+
   },
   mounted() {
-     
+
   },
 
 
   created() {
 
     this.get_table_data()
- 
+
   },
   beforeDestroy() {
-    
+
   },
   methods: {
- 
+
 
     //加载表格
     get_table_data() {
-      
+
       this.tableObj.listLoading = true
       GetDataByName(this.tableObj.getdataListParm).then(response => {
         console.log('table数据', response.data.list)
@@ -168,23 +163,19 @@ export default {
       })
     },
 
- 
-
-
-   
 
     //事件 - 清空查询信息
     form_clear() {
       console.log('点击了重置')
-       
+
       this.tableObj.getdataListParm.parammaps.contractCode  = ''
- 
-    
+
+
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
     },
 
- 
+
     form_detail1(row) {
       console.log('点击了合同款项 ', row)
       //var codeNum = "CT221013001"
@@ -192,14 +183,14 @@ export default {
       // 跳合同款项 - 查看
       this.$router.push({ name: 'ContractApproval', params: { rowData: row, isHome: 'home',codeNum:codeNum }})
 
-      
+
     },
 
     form_detail2(row) {
       console.log('点击了远程服务款项', row)
       // 跳远程服务款项 - 查看
        //var codeNum = "BT221009002"
-        
+
        var codeNum = row.orderCode
       this.$router.push({ name: 'BusinessTravelApproval', params: { rowData: row, isHome: 'home',codeNum:codeNum }})
     },
@@ -213,12 +204,6 @@ export default {
     },
 
 
-
-
-   
-
-
-     
   }
 }
 </script>

+ 30 - 40
src/componentView/ToDoCompleteList.vue

@@ -1,17 +1,17 @@
 <template>
 <div style="padding-bottom:50px;">
- 
+
   <div class="table">
 
- 
+
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" >
-         
+
         <el-table-column label="序号" align="center" type="index" width="50px" fixed="left">
           <template slot-scope="scope">
             <span>{{ scope.$index + (tableObj.pageNum-1) * tableObj.pageSize + 1 }}</span>
           </template>
         </el-table-column>
-       
+
         <el-table-column label="服务类型" min-width="120px" align="center" show-overflow-tooltip>
           <template slot-scope="scope">
             <span>{{ scope.row.serviceName  }}</span>
@@ -34,15 +34,15 @@
             <el-button class="miniSuccess"  v-show = "row.serviceName == '维修服务'" @click="form_detail3(row)">去完成</el-button>
           </template>
         </el-table-column>
-       
-       
+
+
       </el-table>
-       
+
     </div>
-</div> 
+</div>
 </template>
 <script>
- 
+
 
 import { GetDataByName, PostDataByName, failproccess, ExecDataByConfig, GetDataByNames, checkButtons, calculativeWidth } from '@/api/common'
 import Cookies from 'js-cookie'
@@ -58,11 +58,11 @@ export default {
     todoComplete: {
       type: Object,
       required: true
-    } 
+    }
   },
   data() {
     return {
-   
+
       //列表请求
       tableObj: {
         getdataListParm: {
@@ -75,23 +75,21 @@ export default {
         },
         tableKey: 0,
         list: [
-          
-        
+
+
         ],
         total: 0,
         listLoading: false,
         temp: {},
- 
-        
-        
+
+
       },
       isokDisable: false,
       selectList: [],
          rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
          cellStyle: { padding: 0 + 'px' }
-      
 
-      
+
     }
   },
  watch: {
@@ -102,37 +100,37 @@ export default {
 
         //  if(item.title == 'see'){
         //     this.tableObj.getdataListParm.parammaps.stockupIds = item.stockupIds
-        //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2' 
+        //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2'
         //   }else{
         //       this.tableObj.getdataListParm.parammaps.stockupIds = ""
-        //       this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery' 
+        //       this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery'
         //   }
 
         //   this.get_table_data()
-       
+
       }
     },
- 
+
   },
   mounted() {
-     
+
   },
 
 
   created() {
 
     this.get_table_data()
- 
+
   },
   beforeDestroy() {
-    
+
   },
   methods: {
- 
+
 
     //加载表格
     get_table_data() {
-      
+
       this.tableObj.listLoading = true
       GetDataByName(this.tableObj.getdataListParm).then(response => {
         console.log('table数据', response.data.list)
@@ -151,23 +149,19 @@ export default {
       })
     },
 
- 
-
-
-   
 
     //事件 - 清空查询信息
     form_clear() {
       console.log('点击了重置')
-       
+
       this.tableObj.getdataListParm.parammaps.contractCode  = ''
- 
-    
+
+
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
     },
 
- 
+
     form_detail1(row) {
       console.log('点击了远程服务 ', row)
       //  var codeNum = "RS221014001"
@@ -175,7 +169,7 @@ export default {
       // 跳远程服务 - 查看
       this.$router.push({ name: 'RemoteService', params: { rowData: row, isHome: 'home',codeNum:codeNum }})
 
-      
+
     },
 
     form_detail2(row) {
@@ -195,10 +189,6 @@ export default {
     },
 
 
-   
-
-
-     
   }
 }
 </script>

+ 30 - 42
src/componentView/ToDoDeliveryList.vue

@@ -1,17 +1,17 @@
 <template>
 <div style="padding-bottom:50px;">
- 
+
   <div class="table">
 
- 
+
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" >
-         
+
         <el-table-column label="序号" align="center" type="index" width="50px" fixed="left">
           <template slot-scope="scope">
             <span>{{ scope.$index + (tableObj.pageNum-1) * tableObj.pageSize + 1 }}</span>
           </template>
         </el-table-column>
-       
+
         <el-table-column label="备货单号" min-width="120px" align="center" show-overflow-tooltip>
           <template slot-scope="scope">
             <span>{{ scope.row.stockupCode  }}</span>
@@ -63,15 +63,15 @@
             <el-button  class="miniSuccess" @click="form_detail1(row)">去发货</el-button>
           </template>
         </el-table-column>
-       
-       
+
+
       </el-table>
-       
+
     </div>
-</div> 
+</div>
 </template>
 <script>
- 
+
 
 import { GetDataByName, PostDataByName, failproccess, ExecDataByConfig, GetDataByNames, checkButtons, calculativeWidth } from '@/api/common'
 import Cookies from 'js-cookie'
@@ -87,11 +87,11 @@ export default {
     todoDelivery: {
       type: Object,
       required: true
-    } 
+    }
   },
   data() {
     return {
-   
+
       //列表请求
       tableObj: {
         getdataListParm: {
@@ -104,23 +104,21 @@ export default {
         },
         tableKey: 0,
         list: [
-          
-        
+
+
         ],
         total: 0,
         listLoading: false,
         temp: {},
- 
-        
-        
+
+
       },
       isokDisable: false,
       selectList: [],
          rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
          cellStyle: { padding: 0 + 'px' }
-      
 
-      
+
     }
   },
  watch: {
@@ -131,37 +129,37 @@ export default {
 
         //  if(item.title == 'see'){
         //     this.tableObj.getdataListParm.parammaps.stockupIds = item.stockupIds
-        //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2' 
+        //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2'
         //   }else{
         //       this.tableObj.getdataListParm.parammaps.stockupIds = ""
-        //       this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery' 
+        //       this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery'
         //   }
 
         //   this.get_table_data()
-       
+
       }
     },
- 
+
   },
   mounted() {
-     
+
   },
 
 
   created() {
 
     this.get_table_data()
- 
+
   },
   beforeDestroy() {
-    
+
   },
   methods: {
- 
+
 
     //加载表格
     get_table_data() {
-      
+
       this.tableObj.listLoading = true
       GetDataByName(this.tableObj.getdataListParm).then(response => {
         console.log('table数据', response.data.list)
@@ -180,39 +178,29 @@ export default {
       })
     },
 
- 
-
-
-   
 
     //事件 - 清空查询信息
     form_clear() {
       console.log('点击了重置')
-       
-     
+
+
       this.tableObj.getdataListParm.parammaps.employeeId  = ''
-    
+
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
     },
 
 
-    //  
+    //
     form_detail1(row) {
       console.log('点击了拜访记录', row)
       // 跳备货 - 新增
       this.$router.push({ name: 'deliveryRecord', params: { rowData: row, isHome: 'home' }})
 
-      
-    },
 
-   
-
-
-   
+    },
 
 
-     
   }
 }
 </script>

+ 47 - 60
src/componentView/ToDoRecordList.vue

@@ -1,17 +1,17 @@
 <template>
   <div style="padding-bottom:50px;">
-   
+
     <div class="table">
-  
-   
+
+
         <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" >
-           
+
           <el-table-column label="序号" align="center" type="index" width="50px" fixed="left">
             <template slot-scope="scope">
               <span>{{ scope.$index + (tableObj.pageNum-1) * tableObj.pageSize + 1 }}</span>
             </template>
           </el-table-column>
-         
+
           <el-table-column label="合同编号" min-width="120px" align="center" show-overflow-tooltip>
             <template slot-scope="scope">
               <span>{{ scope.row.orderCode  }}</span>
@@ -34,23 +34,23 @@
               <el-button  class="miniSuccess"   @click="form_detail1(row)">去备案</el-button>
             </template>
           </el-table-column>
-         
-         
+
+
         </el-table>
-         
+
       </div>
-  </div> 
+  </div>
   </template>
   <script>
-   
-  
+
+
   import { GetDataByName, PostDataByName, failproccess, ExecDataByConfig, GetDataByNames, checkButtons, calculativeWidth } from '@/api/common'
   import Cookies from 'js-cookie'
   import { parseTime } from '@/utils/index.js'
   import Pagination from '@/components/Pagination'
   import { MessageBox } from 'element-ui'
   import { getToken } from '@/utils/auth'
-  
+
   export default {
     name: 'ToDoRecordList',
     components: { Pagination },
@@ -58,11 +58,11 @@
       todoRecord: {
         type: Object,
         required: true
-      } 
+      }
     },
     data() {
       return {
-     
+
         //列表请求
         tableObj: {
           getdataListParm: {
@@ -75,23 +75,21 @@
           },
           tableKey: 0,
           list: [
-            
-          
+
+
           ],
           total: 0,
           listLoading: false,
           temp: {},
-   
-          
-          
+
+
         },
         isokDisable: false,
         selectList: [],
            rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
            cellStyle: { padding: 0 + 'px' }
-        
-  
-        
+
+
       }
     },
    watch: {
@@ -99,45 +97,45 @@
         deep: true,
         handler: function (item) {
            console.log("父组件:", item)
-  
+
           //  if(item.title == 'see'){
           //     this.tableObj.getdataListParm.parammaps.stockupIds = item.stockupIds
-          //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2' 
+          //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2'
           //   }else{
           //       this.tableObj.getdataListParm.parammaps.stockupIds = ""
-          //       this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery' 
+          //       this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery'
           //   }
-  
+
           //   this.get_table_data()
-         
+
         }
       },
-   
+
     },
     mounted() {
-       
+
     },
-  
-  
+
+
     created() {
-  
+
       this.get_table_data()
-   
+
     },
     beforeDestroy() {
-      
+
     },
     methods: {
-   
-  
+
+
       //加载表格
       get_table_data() {
-        
+
         this.tableObj.listLoading = true
         GetDataByName(this.tableObj.getdataListParm).then(response => {
           console.log('table数据', response.data.list)
           if (response.data.list !== null) {
-  
+
             this.tableObj.list = response.data.list
             this.tableObj.pageNum = response.data.pageNum
             this.tableObj.pageSize = response.data.pageSize
@@ -150,42 +148,31 @@
           }, 100)
         })
       },
-  
-   
-  
-  
-     
-  
+
+
       //事件 - 清空查询信息
       form_clear() {
         console.log('点击了重置')
-         
+
         this.tableObj.getdataListParm.parammaps.contractCode  = ''
-   
-      
+
+
         this.tableObj.getdataListParm.offset = 1
         this.get_table_data()
       },
-  
-   
+
+
       form_detail1(row) {
         console.log('点击了合同款项 ', row)
        //  var codeNum = "CT221011001"
         var codeNum = row.orderCode
         // 跳合同款项 - 查看
         this.$router.push({ name: 'ContractInfo', params: { rowData: row, isHome: 'home',codeNum:codeNum }})
-  
-        
+
+
       },
-  
-       
-  
-  
-     
-  
-  
-       
+
+
     }
   }
   </script>
-  

+ 32 - 43
src/componentView/ToDoReviewList.vue

@@ -1,17 +1,17 @@
 <template>
 <div style="padding-bottom:50px;">
- 
+
   <div class="table">
 
- 
+
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" >
-         
+
         <el-table-column label="序号" align="center" type="index" width="50px" fixed="left">
           <template slot-scope="scope">
             <span>{{ scope.$index + (tableObj.pageNum-1) * tableObj.pageSize + 1 }}</span>
           </template>
         </el-table-column>
-       
+
         <el-table-column label="款项类型" min-width="120px" align="center" show-overflow-tooltip>
           <template slot-scope="scope">
             <span>{{ scope.row.costTypeName  }}</span>
@@ -32,8 +32,8 @@
             <span>{{ scope.row.cost  }}</span>
           </template>
         </el-table-column>
-            
- 
+
+
         <el-table-column label="创建人" min-width="110px" align="center" show-overflow-tooltip>
           <template slot-scope="scope">
             <span>{{ scope.row.createrName  }}</span>
@@ -50,15 +50,15 @@
             <el-button class="miniSuccess"    v-if="row.costTypeName =='报销款项' "@click="form_detail5(row)">去完成</el-button>
           </template>
         </el-table-column>
-       
-       
+
+
       </el-table>
-       
+
     </div>
-</div> 
+</div>
 </template>
 <script>
- 
+
 
 import { GetDataByName, PostDataByName, failproccess, ExecDataByConfig, GetDataByNames, checkButtons, calculativeWidth } from '@/api/common'
 import Cookies from 'js-cookie'
@@ -74,11 +74,11 @@ export default {
     todoReview: {
       type: Object,
       required: true
-    } 
+    }
   },
   data() {
     return {
-   
+
       //列表请求
       tableObj: {
         getdataListParm: {
@@ -93,23 +93,21 @@ export default {
         },
         tableKey: 0,
         list: [
-          
-        
+
+
         ],
         total: 0,
         listLoading: false,
         temp: {},
- 
-        
-        
+
+
       },
       isokDisable: false,
       selectList: [],
          rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
          cellStyle: { padding: 0 + 'px' }
-      
 
-      
+
     }
   },
  watch: {
@@ -120,37 +118,37 @@ export default {
 
         //  if(item.title == 'see'){
         //     this.tableObj.getdataListParm.parammaps.stockupIds = item.stockupIds
-        //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2' 
+        //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2'
         //   }else{
         //       this.tableObj.getdataListParm.parammaps.stockupIds = ""
-        //       this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery' 
+        //       this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery'
         //   }
 
         //   this.get_table_data()
-       
+
       }
     },
- 
+
   },
   mounted() {
-     
+
   },
 
 
   created() {
 
     this.get_table_data()
- 
+
   },
   beforeDestroy() {
-    
+
   },
   methods: {
- 
+
 
     //加载表格
     get_table_data() {
-      
+
       this.tableObj.listLoading = true
       GetDataByName(this.tableObj.getdataListParm).then(response => {
         console.log('table数据', response.data.list)
@@ -169,23 +167,19 @@ export default {
       })
     },
 
- 
-
-
-   
 
     //事件 - 清空查询信息
     form_clear() {
       console.log('点击了重置')
-       
+
       this.tableObj.getdataListParm.parammaps.contractCode  = ''
- 
-    
+
+
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
     },
 
- 
+
     form_detail1(row) {
       console.log('点击了合同款项 ', row)
       // var codeNum = "CT220711003"
@@ -194,7 +188,7 @@ export default {
       // 跳合同款项 - 查看
       this.$router.push({ name: 'ContractPayment', params: { rowData: row, isHome: 'home',codeNum:codeNum, stages:stages }})
 
-      
+
     },
 
     form_detail2(row) {
@@ -230,11 +224,6 @@ export default {
     },
 
 
-
-   
-
-
-     
   }
 }
 </script>

+ 29 - 42
src/componentView/ToDoStockList.vue

@@ -1,17 +1,17 @@
 <template>
 <div style="padding-bottom:50px;">
- 
+
   <div class="table">
 
- 
+
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" >
-         
+
         <el-table-column label="序号" align="center" type="index" width="50px" fixed="left">
           <template slot-scope="scope">
             <span>{{ scope.$index + (tableObj.pageNum-1) * tableObj.pageSize + 1 }}</span>
           </template>
         </el-table-column>
-       
+
         <el-table-column label="合同编号" min-width="120px" align="center" show-overflow-tooltip>
           <template slot-scope="scope">
             <span>{{ scope.row.contractCode  }}</span>
@@ -43,15 +43,15 @@
             <el-button  class="miniSuccess" @click="form_detail1(row)">去备货</el-button>
           </template>
         </el-table-column>
-       
-       
+
+
       </el-table>
-       
+
     </div>
-</div> 
+</div>
 </template>
 <script>
- 
+
 
 import { GetDataByName, PostDataByName, failproccess, ExecDataByConfig, GetDataByNames, checkButtons, calculativeWidth } from '@/api/common'
 import Cookies from 'js-cookie'
@@ -67,11 +67,11 @@ export default {
     todoStock: {
       type: Object,
       required: true
-    } 
+    }
   },
   data() {
     return {
-   
+
       //列表请求
       tableObj: {
         getdataListParm: {
@@ -84,23 +84,21 @@ export default {
         },
         tableKey: 0,
         list: [
-          
-        
+
+
         ],
         total: 0,
         listLoading: false,
         temp: {},
- 
-        
-        
+
+
       },
       isokDisable: false,
       selectList: [],
          rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
          cellStyle: { padding: 0 + 'px' }
-      
 
-      
+
     }
   },
  watch: {
@@ -111,37 +109,37 @@ export default {
 
         //  if(item.title == 'see'){
         //     this.tableObj.getdataListParm.parammaps.stockupIds = item.stockupIds
-        //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2' 
+        //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2'
         //   }else{
         //       this.tableObj.getdataListParm.parammaps.stockupIds = ""
-        //       this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery' 
+        //       this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery'
         //   }
 
         //   this.get_table_data()
-       
+
       }
     },
- 
+
   },
   mounted() {
-     
+
   },
 
 
   created() {
 
     this.get_table_data()
- 
+
   },
   beforeDestroy() {
-    
+
   },
   methods: {
- 
+
 
     //加载表格
     get_table_data() {
-      
+
       this.tableObj.listLoading = true
       GetDataByName(this.tableObj.getdataListParm).then(response => {
         console.log('table数据', response.data.list)
@@ -160,41 +158,30 @@ export default {
       })
     },
 
- 
-
-
-   
 
     //事件 - 清空查询信息
     form_clear() {
       console.log('点击了重置')
-       
-   
+
 
       this.tableObj.getdataListParm.parammaps.employeeId  = ''
-    
+
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
     },
 
 
-    //  
+    //
     form_detail1(row) {
       console.log('点击了备货记录', row)
       var contractId = row.id
       // 跳备货 - 新增
       this.$router.push({ name: 'stockNotice', params: { rowData: row, isHome: 'home' ,contractId:contractId }})
 
-      
-    },
 
-   
-
-
-   
+    },
 
 
-     
   }
 }
 </script>

+ 27 - 37
src/componentView/ToDoVisitList.vue

@@ -1,17 +1,17 @@
 <template>
 <div style="padding-bottom:50px;">
- 
+
   <div class="table">
 
- 
+
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" >
-         
+
         <el-table-column label="序号" align="center" type="index" width="50px" fixed="left">
           <template slot-scope="scope">
             <span>{{ scope.$index + (tableObj.pageNum-1) * tableObj.pageSize + 1 }}</span>
           </template>
         </el-table-column>
-       
+
         <el-table-column label="客户名称" min-width="120px" align="center" show-overflow-tooltip>
           <template slot-scope="scope">
             <span>{{ scope.row.customerName  }}</span>
@@ -33,15 +33,15 @@
             <el-button class="miniSuccess" @click="form_detail2(row)">电话回访</el-button>
           </template>
         </el-table-column>
-       
-       
+
+
       </el-table>
-       
+
     </div>
-</div> 
+</div>
 </template>
 <script>
- 
+
 
 import { GetDataByName, PostDataByName, failproccess, ExecDataByConfig, GetDataByNames, checkButtons, calculativeWidth } from '@/api/common'
 import Cookies from 'js-cookie'
@@ -57,11 +57,11 @@ export default {
     todoVisit: {
       type: Object,
       required: true
-    } 
+    }
   },
   data() {
     return {
-   
+
       //列表请求
       tableObj: {
         getdataListParm: {
@@ -74,23 +74,21 @@ export default {
         },
         tableKey: 0,
         list: [
-          
-        
+
+
         ],
         total: 0,
         listLoading: false,
         temp: {},
- 
-        
-        
+
+
       },
       isokDisable: false,
       selectList: [],
          rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
          cellStyle: { padding: 0 + 'px' }
-      
 
-      
+
     }
   },
  watch: {
@@ -101,37 +99,37 @@ export default {
 
         //  if(item.title == 'see'){
         //     this.tableObj.getdataListParm.parammaps.stockupIds = item.stockupIds
-        //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2' 
+        //     this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery2'
         //   }else{
         //       this.tableObj.getdataListParm.parammaps.stockupIds = ""
-        //       this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery' 
+        //       this.tableObj.getdataListParm.name =  'getStockupSelectByDelivery'
         //   }
 
         //   this.get_table_data()
-       
+
       }
     },
- 
+
   },
   mounted() {
-     
+
   },
 
 
   created() {
 
     this.get_table_data()
- 
+
   },
   beforeDestroy() {
-    
+
   },
   methods: {
- 
+
 
     //加载表格
     get_table_data() {
-      
+
       this.tableObj.listLoading = true
       GetDataByName(this.tableObj.getdataListParm).then(response => {
         console.log('table数据', response.data.list)
@@ -150,10 +148,6 @@ export default {
       })
     },
 
- 
-
-
-   
 
     //事件 - 清空查询信息
     form_clear() {
@@ -163,13 +157,13 @@ export default {
     },
 
 
-    //  
+    //
     form_detail1(row) {
       console.log('点击了拜访记录', row)
       // 跳拜访记录 - 新增
       this.$router.push({ name: 'visitRecord', params: { rowData: row, isHome: 'home' }})
 
-      
+
     },
 
     form_detail2(row) {
@@ -178,10 +172,6 @@ export default {
     },
 
 
-   
-
-
-     
   }
 }
 </script>

+ 44 - 60
src/componentView/TravelDetail.vue

@@ -3,10 +3,10 @@
   <div class="search">
       <el-row :gutter="0">
         <el-col :span="21">
- 
-          
+
+
             <el-input  v-model="tableObj.getdataListParm.parammaps.travelCode " class="filter-item" style="width: 120px;" placeholder="出差单编号"/>
-          
+
             <el-date-picker v-model="tableObj.getdataListParm.parammaps.inputDatetime1" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="计划开始时间" end-placeholder="计划开始时间" style="width: 250px;" />
 
             <el-date-picker v-model="tableObj.getdataListParm.parammaps.inputDatetime2" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="计划结束时间" end-placeholder="计划结束时间" style="width: 250px;" />
@@ -35,10 +35,10 @@
       </el-row>
   </div>
   <div class="table">
- 
+
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit   style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" @row-click="choose_one"  highlight-current-row >
 
- 
+
        <el-table-column width="40px" fixed="left">
           <template slot-scope="scope">
             <el-radio v-model="radio" :label="scope.row.id">
@@ -83,7 +83,7 @@
             <span>{{ scope.row.groupName  }}</span>
           </template>
         </el-table-column>
-       
+
         <el-table-column label="目的地" min-width="90px" align="center"  >
           <template slot-scope="scope">
             <span>{{ scope.row.adress }}</span>
@@ -99,16 +99,16 @@
             <span>{{ scope.row.remark }}</span>
           </template>
         </el-table-column>
-       
-       
+
+
       </el-table>
       <pagination v-show="tableObj.total>=0" :total="tableObj.total" :page.sync="tableObj.getdataListParm.offset" :limit.sync="tableObj.getdataListParm.pagecount" @pagination="get_table_data" />
-  
+
   </div>
-</div> 
+</div>
 </template>
 <script>
- 
+
 
 import { GetDataByName, PostDataByName, failproccess, ExecDataByConfig, GetDataByNames, checkButtons, calculativeWidth } from '@/api/common'
 import Cookies from 'js-cookie'
@@ -125,12 +125,11 @@ export default {
       type: Object,
       required: true,
       default:{}
-    } 
+    }
   },
   data() {
     return {
 
-    
 
       radio: null, // 如果使用单选框,定义一个model值
       currentSelectItem: {}, //当前选中的值
@@ -143,19 +142,19 @@ export default {
         // {id: 1425, name: "测试12"},
         // {id: 1423, name: "朝日牧场(唯品牧场)"},
         // {id: 1422, name: "富源牧业(眉山)有限公司(眉山富源)"}
-      ], 
- 
+      ],
+
       //集团 - 下拉框
       groupNameList: [
-        // {id: 253, name: "无"}, 
-        // {id: 207, name: "星连星牧业"}, 
-        // {id: 208, name: "海高牧业"}, 
+        // {id: 253, name: "无"},
+        // {id: 207, name: "星连星牧业"},
+        // {id: 208, name: "海高牧业"},
         // {id: 254, name: "完达山"}
       ],
-       
+
       //创建人 - 下拉框
       createrNameList: [
-        // {id: 3072707379235128300, name: "管理员"}, 
+        // {id: 3072707379235128300, name: "管理员"},
         // {id: 3248184121834865700, name: "杨文山"}
       ],
 
@@ -179,37 +178,35 @@ export default {
             endCreaterDate: '',
             beginServiceCost: '',
             endServiceCost: '',
-       
+
+            inputDatetime1: "",
             inputDatetime1: "",
-            inputDatetime1: "", 
 
             beginPlanBeginDate: "",
             endPlanBeginDate: "",
             beginPlanSuccessDate: "",
             endPlanSuccessDate: "",
-     
-     
+
+
           }
         },
         tableKey: 0,
         list: [
-          
-        
+
+
         ],
         total: 0,
         listLoading: false,
         temp: {},
- 
-        
-        
+
+
       },
       isokDisable: false,
       selectList: [],
          rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
          cellStyle: { padding: 0 + 'px' }
-      
 
-      
+
     }
   },
  watch: {
@@ -218,10 +215,10 @@ export default {
       handler: function (item) {
          console.log("父组件:", item)
 
-      
+
           this.get_select_list()
           this.get_table_data()
-       
+
       }
     },
 
@@ -234,11 +231,11 @@ export default {
       },
 
     },
- 
- 
+
+
   },
   mounted() {
-     
+
   },
 
 
@@ -247,42 +244,35 @@ export default {
     console.log("父组件:", this.travelData)
 
      this.travelData.selectList = []
- 
+
 
       this.get_select_list()
-    
+
       this.get_table_data()
- 
+
   },
   beforeDestroy() {
-    
+
   },
   methods: {
 
 
-      
-
-   
- 
     //获取所有下拉框的内容
     get_select_list() {
       GetDataByNames(this.send_select_list).then(response => {
- 
+
         this.groupNameList = response.data.getDictListSelect1.list
         console.log("集团下拉框", this.groupNameList)
 
- 
-         
+
       })
 
     },
 
 
-    
-
     //加载表格
     get_table_data() {
-      
+
       this.tableObj.listLoading = true
 
 
@@ -304,8 +294,6 @@ export default {
       })
     },
 
-    
-
 
     //模糊查询客户
     customer_search(queryString, cb) {
@@ -346,7 +334,7 @@ export default {
     //监听 - 表单查询
     form_search() {
       console.log('点击了查询', this.tableObj.getdataListParm.parammaps)
-   
+
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
     },
@@ -371,7 +359,7 @@ export default {
       this.tableObj.getdataListParm.parammaps.endPlanBeginDate  = ''
       this.tableObj.getdataListParm.parammaps.beginPlanSuccessDate  = ''
       this.tableObj.getdataListParm.parammaps.endPlanSuccessDate  = ''
-    
+
       this.tableObj.getdataListParm.offset = 1
 
        this.radio = ""
@@ -386,13 +374,10 @@ export default {
       this.selectList = val
 
 
-     
-      this.travelData.selectList = this.selectList 
+      this.travelData.selectList = this.selectList
     },
 
 
-    
-
     choose_one(row){
        console.log(row)
        this.radio= row.id
@@ -400,10 +385,9 @@ export default {
     },
 
 
-     
   }
 }
 </script>
 <style>
- 
+
 </style>

+ 1 - 1
src/layout/components/Sidebar/index.vue

@@ -11,7 +11,7 @@
         :active-text-color="variables.menuActiveText"
         :collapse-transition="false"
         mode="vertical"
-        
+
       >
         <sidebar-item v-for="route in permission_routes" :key="route.path" :item="route" :base-path="route.path" />
       </el-menu>

+ 5 - 5
src/mixins/exportMixin.js

@@ -31,21 +31,21 @@ export default {
 
           try {
             const response = await exportApi(params)
-            
+
             // 创建Blob对象
             const blob = new Blob([response], {
               type: fileType
             })
-            
+
             // 创建下载链接
             const link = document.createElement('a')
             link.href = window.URL.createObjectURL(blob)
             link.download = fileName
             link.click()
-            
+
             // 清理
             window.URL.revokeObjectURL(link.href)
-            
+
             this.$message.success('导出成功')
           } catch (error) {
             console.error('导出失败:', error)
@@ -60,4 +60,4 @@ export default {
     }
 
   }
-} 
+}

+ 0 - 1
src/router/index.js

@@ -159,5 +159,4 @@ export function resetRouter() {
 }
 
 
-
 export default router

+ 1 - 5
src/store/modules/user.js

@@ -52,9 +52,6 @@ const mutations = {
     state.g_createrId = g_createrId
   },
 
-   
-
-  
 
   SET_PASTURENAME: (state, pasturename) => {
     Cookies.set('pasturename', pasturename)
@@ -156,10 +153,9 @@ const actions = {
             commit('SET_CREATE', response.data.list[0].employeId)
 
 
-
             GetDataByName({ 'name': 'getUserPCButtons', 'parammaps': { 'username': username, 'pastureid': response.data.list[0].pastureId } }).then(response => {
               console.log("getUserPCButtons=================",response)
-           
+
               if(response.data.list !== null){
                 commit('SET_BUTTONS', response.data.list)
               } else{

+ 1 - 1
src/utils/buildSentence.js

@@ -25,7 +25,7 @@ export function buildSqlSentence({ dataSrc, selectedCalcul, selectedCalcul2, sel
   //   } else {
   //     groups.push(field.Column)
   //     return field.Column
-  //   } 
+  //   }
   // })
   allSelected = allSelected.concat(selectedCalcul).concat(selectedCalcul2).concat(selectedDimension)
   fields = allSelected.map(field => {

+ 4 - 4
src/utils/request.js

@@ -57,10 +57,10 @@ service.interceptors.response.use(
     // if the custom code is not 20000, it is judged as an error.
     if (res.code !== 200) {
       var isBlob = res instanceof Blob
-   
+
       //判断是不是Blob文件流 ,如果是文件流就不用提示错误信息,不是的话就按正常请求走
       if(isBlob){
-        
+
       }else{
         Message({
           // message: res.msg + res.code,
@@ -68,9 +68,9 @@ service.interceptors.response.use(
           type: 'error',
           duration: 5 * 1000
         })
-  
+
       }
-      
+
       // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired;
       if (res.code === 50008 || res.code === 50012 || res.code === 50014) {
         // to re-login

+ 1 - 1
src/vendor/Blob.js

@@ -8,7 +8,7 @@
  *   See https://github.com/eligrey/Blob.js/blob/master/LICENSE.md
  */
 
-;(function () {
+(function () {
   var global =
     typeof window === "object" ? window : typeof self === "object" ? self : this
 

+ 109 - 196
src/views/approvalManagement/contractApproval/index.vue

@@ -4,7 +4,7 @@
     <div class = "search-bx"  >
         <div class="search">
           <el-row :gutter="0">
-       
+
               <el-input v-model="tableObj.getdataListParm.parammaps.contractCode" placeholder="合同编号" class="filter-item" style="width: 120px" />
 
               <!-- <el-autocomplete v-model="tableObj.getdataListParm.parammaps.customerName" :fetch-suggestions="customer_search" placeholder="客户名称" style="width: 200px;margin-right:10px" @select="change_customer_select" @clear="clear_customer_select" @blur="customer_search_blur" clearable>
@@ -24,13 +24,10 @@
               <el-date-picker v-model="tableObj.getdataListParm.parammaps.inputDatetime2" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="合同结束日期" end-placeholder="合同结束日期" style="width: 250px;" />
 
 
-
-
- 
               <el-select v-model="tableObj.getdataListParm.parammaps.contractStatus" placeholder="合同状态" class="filter-item" style="width: 120px;" clearable>
                   <el-option v-for="item in statusNameList" :key="item.id" :label="item.name" :value="item.id" />
               </el-select>
-              
+
 
               <el-input v-model="tableObj.getdataListParm.parammaps.beginContractMoney" placeholder="合同金额" style="width:80px"></el-input>
                 -
@@ -42,49 +39,28 @@
               <el-input v-model="tableObj.getdataListParm.parammaps.endMoneyStep" placeholder="款项分期" style="width:80px"></el-input>
 
 
-
              <el-date-picker v-model="tableObj.getdataListParm.parammaps.inputDatetime3" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="创建时间" end-placeholder="创建时间" style="width: 250px;" />
 
 
-          
- 
               <el-select v-model="tableObj.getdataListParm.parammaps.createrId" placeholder="创建人" class="filter-item" style="width: 120px;" clearable filterable>
               <el-option v-for="(item,index) in createrNameList" :key="index" :label="item.name" :value="item.id" />
             </el-select>
 
 
-              
-
-
-              
- 
-
-              
-
-             
-
-            
-              
- 
-
-           
                 <el-button class="successBorder" @click="form_search">查询</el-button>
                 <el-button class="successBorder" @click="form_clear">重置</el-button>
-            
+
           </el-row>
         </div>
- 
 
-    </div>
 
+    </div>
 
-  
 
     <div class="table"    >
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" :max-height="myHeight">
 
-        
- 
+
         <el-table-column label="序号" align="center" type="index" width="50px"  fixed="left">
           <template slot-scope="scope">
             <span>{{ scope.$index + (tableObj.pageNum-1) * tableObj.pageSize + 1 }}</span>
@@ -106,11 +82,11 @@
           </template>
         </el-table-column>
          <!-- <el-table-column label="营业执照" min-width="110px" align="center" show-overflow-tooltip>
-  
+
             <template slot-scope="scope">
               <img  style="width: 50px; height: 50px" :src="scope.row.imgUrlDetil" alt="">
             </template>
- 
+
         </el-table-column> -->
         <el-table-column label="所属集团" min-width="90px" align="center"  >
           <template slot-scope="scope">
@@ -151,14 +127,14 @@
 
         <el-table-column label="操作" align="center"  :width="autoWidth"  v-if="autoWidth !== 0"    class-name="small-padding fixed-width" fixed="right">
           <template slot-scope="{row}">
- 
- 
+
+
             <el-button class="miniSuccess" @click="form_adopt(row)" v-if="roleSet(row)">通过</el-button>
 
              <el-button class="miniDanger" @click="form_reject(row)" v-if="roleSet(row)">驳回</el-button>
              <el-button class="miniSuccess" v-if="row.contractStatus == '一审中' || row.contractStatus == '二审中' || row.contractStatus == '三审中' || row.contractStatus == '四审中' || row.contractStatus == '五审中'" @click="form_quick(row)"  >催进度</el-button>
 
-          
+
           </template>
         </el-table-column>
 
@@ -173,18 +149,17 @@
       <pagination v-show="tableObj.total>=0" :total="tableObj.total" :page.sync="tableObj.getdataListParm.offset" :limit.sync="tableObj.getdataListParm.pagecount" @pagination="get_table_data" />
     </div>
 
- 
 
     <!-- 查看/反馈 -->
     <el-dialog  title="合同详情" :visible.sync="createSee.dialogFormVisible" :close-on-click-modal="false" width="95%" :before-close="dialog_close_see">
       <div class="app-add">
- 
-      
+
+
               <ContractMoreDetail :conmore-data="conmoreData"  />
 
-  
+
         <div slot="footer" class="dialog-footer">
-          
+
           <el-button  class="success" v-if="roleSet(create.temp)"  @click="form_adopt(create.temp)">审核通过</el-button>
           <el-button  class="success" v-if="roleSet(create.temp)"  @click="form_reject(create.temp)">驳回</el-button>
 
@@ -192,14 +167,12 @@
           <el-button class="success" v-if="create.temp.contractStatus == '一审中' || create.temp.contractStatus == '二审中' || create.temp.contractStatus == '三审中' || create.temp.contractStatus == '四审中' || create.temp.contractStatus == '五审中'"   @click="form_quick(create.temp)"  >催进度</el-button>
           <el-button class="cancelClose" @click="dialog_close_see()">关闭</el-button>
 
-      
+
         </div>
       </div>
     </el-dialog>
 
 
- 
-
     <!-- 通过 -->
     <el-dialog title="确认是否审核通过" :visible.sync="adopt.dialogFormVisible" :close-on-click-modal="false" width="40%"  :before-close="dialog_close_adopt">
       <div class="app-add">
@@ -208,11 +181,11 @@
           <el-form-item label="备注:" prop="remark">
             <el-input ref="remark" v-model="adopt.temp.remark" type="textarea" :autosize="{ minRows: 4, maxRows: 8} "  :rows="8" placeholder="请输入备注,最多200个字" maxlength="200" class="filter-item" style="width: 100%;"   />
           </el-form-item>
-             
- 
+
+
         </el-form>
         <div slot="footer" class="dialog-footer">
-      
+
           <el-button class="cancelClose" @click="dialog_close_adopt()">关闭</el-button>
           <el-button class="success" @click="form_adopt_save()">确认</el-button>
         </div>
@@ -227,18 +200,18 @@
           <el-form-item label="驳回原因:" prop="remark">
             <el-input ref="remark" v-model="reject.temp.remark" type="textarea" :autosize="{ minRows: 4, maxRows: 8} "  :rows="8" placeholder="请输入备注,最多200个字" maxlength="200" class="filter-item" style="width: 100%;"   />
           </el-form-item>
-             
- 
+
+
         </el-form>
         <div slot="footer" class="dialog-footer">
-           
+
           <el-button class="cancelClose" @click="dialog_close_reject()">关闭</el-button>
           <el-button class="success" @click="form_reject_save()">确认</el-button>
         </div>
       </div>
     </el-dialog>
-  
-  
+
+
   </div>
 </template>
 
@@ -292,14 +265,14 @@ export default {
       fileList2: [],
 
 
-      isRoleEdit: [], isContractAdopt: [], 
+      isRoleEdit: [], isContractAdopt: [],
 
 
       activeName:'first',
 
       //客户资料详情组件
       conmoreData:{ id:"" },
- 
+
       send_select_list: [
         { name: 'getDictListSelect', offset: 0, pagecount: 0, parammaps: { "pid": "54" } },
         { name: 'getUsersSelect', offset: 0, pagecount: 0, parammaps: {} },
@@ -311,40 +284,35 @@ export default {
 
 
        // 下拉框 - 创建人
-      createrNameList: [],  
+      createrNameList: [],
 
       // 下拉框 - 合同状态
       statusNameList: [
-        { "name": "草稿", "id": "草稿" }, 
-        { "name": "一审中", "id": "一审中" }, 
-        { "name": "二审中", "id": "二审中" }, 
-        { "name": "三审中", "id": "三审中" }, 
-        { "name": "审核通过", "id": "审核通过" }, 
-        { "name": "已撤销", "id": "已撤销" }, 
-        { "name": "被驳回", "id": "被驳回" }, 
+        { "name": "草稿", "id": "草稿" },
+        { "name": "一审中", "id": "一审中" },
+        { "name": "二审中", "id": "二审中" },
+        { "name": "三审中", "id": "三审中" },
+        { "name": "审核通过", "id": "审核通过" },
+        { "name": "已撤销", "id": "已撤销" },
+        { "name": "被驳回", "id": "被驳回" },
       ],
 
       // 下拉框 -款项分期
       moneyStepList: [
-        { "name": "1", "id": "1" }, 
-        { "name": "2", "id": "2" }, 
-        { "name": "3", "id": "3" }, 
-        { "name": "4", "id": "4" }, 
-        { "name": "5", "id": "5" }, 
-        { "name": "6", "id": "6" }, 
-        { "name": "7", "id": "7" }, 
-        { "name": "8", "id": "8" }, 
-        { "name": "9", "id": "9" }, 
-        { "name": "10", "id": "10" }, 
+        { "name": "1", "id": "1" },
+        { "name": "2", "id": "2" },
+        { "name": "3", "id": "3" },
+        { "name": "4", "id": "4" },
+        { "name": "5", "id": "5" },
+        { "name": "6", "id": "6" },
+        { "name": "7", "id": "7" },
+        { "name": "8", "id": "8" },
+        { "name": "9", "id": "9" },
+        { "name": "10", "id": "10" },
       ],
 
-     
 
-     
-
-      
-
-      //表格 - 列表 - 查询 
+      //表格 - 列表 - 查询
       tableObj: {
         getdataListParm: {
           name: 'getContractApproval',
@@ -365,7 +333,7 @@ export default {
             endContractMoney: "",
             beginMoneyStep: "",
             endMoneyStep: "",
-           
+
 
             inputDatetime1: "",
             inputDatetime2: "",
@@ -378,8 +346,7 @@ export default {
             beginCreaterDate: "",
             endCreaterDate: "",
 
-      
-      
+
           }
         },
         tableKey: 0,
@@ -389,7 +356,6 @@ export default {
         temp: {}
       },
 
-      
 
       tableSumMoney:1000,
 
@@ -420,7 +386,7 @@ export default {
           returntype: 'Map',
           parammaps: { groupId: "" }
         },
-        customerNameList:[], 
+        customerNameList:[],
 
         // 款项信息 - 表格
         getdataListParmStages: {
@@ -452,7 +418,6 @@ export default {
       stockSumPrice:0,
 
 
-     
       textMap: {
         create: '新增',
         see: '查看',
@@ -485,7 +450,7 @@ export default {
         }
       },
 
-      
+
       moneyShow:true,
       //获取反馈记录
       getFeedRecordParm:{
@@ -503,13 +468,13 @@ export default {
           offset: 1,
           pagecount: 1000,
           returntype: 'Map',
-          parammaps: { 
+          parammaps: {
             serviceId:"",
             createrId:"",
             remark:"",
 
           }
-        
+
       },
       //反馈记录
       feedRecordList:[
@@ -527,8 +492,8 @@ export default {
   },
 
   watch: {
-  
-                   
+
+
     // tableStagesList: {
     //   deep: true,
     //   handler: function (item) {
@@ -539,13 +504,11 @@ export default {
     //         tableStagesList[i].planCost = parseFloat(tableStagesList[i].planCostRate) * contractMoney  * 0.01
     //       }
     //       this.tableStagesList = tableStagesList
-       
-         
+
+
     //   }
     // },
- 
-     
- 
+
 
     tableStockList: {
       deep: true,
@@ -556,14 +519,14 @@ export default {
               sum = parseInt(i.nums) * parseFloat(i.price) + sum
           })
           this.stockSumPrice = sum
-         
+
       }
     },
- 
+
   },
 
   created() {
- 
+
     this.get_select_list()
     this.get_auto_buttons()
 
@@ -581,13 +544,12 @@ export default {
       this.rowData = {}
       this.isHome = ""
       this.codeNum = ""
- 
+
       this.get_table_data()
     }
   },
 
 
-
   methods: {
 
     roleSet(row){
@@ -609,7 +571,7 @@ export default {
       //   result = false
       // }
       return result
-     
+
     },
     //图片展示
     handlePicPreview(file) {
@@ -633,11 +595,10 @@ export default {
       }
 
 
-
       if (this.create.temp.businessLicense === undefined || this.create.temp.businessLicense == -1) {
         console.log("111")
         this.create.temp.businessLicense = response.execresult.LastInsertId
-      }  
+      }
       console.log('this.picArr1', this.picArr1)
 
       console.log('this.create.temp', this.create.temp)
@@ -658,7 +619,7 @@ export default {
         document.getElementById('uploadPic').lastChild.style.display = "inline-block"
       }
       this.create.temp.businessLicense = -1
-      
+
        if (fileList.length == 1) {
         this.create.temp.businessLicense = fileList[0].response.execresult.LastInsertId
 
@@ -666,8 +627,6 @@ export default {
       console.log(this.create.temp)
     },
 
-   
-
 
     //获取按钮权限
     get_auto_buttons() {
@@ -704,7 +663,6 @@ export default {
         this.receProductNameList = response.data.getProductsEnable.list
         console.log("收件货品下拉框", this.receProductNameList)
 
-   
 
       })
 
@@ -718,12 +676,12 @@ export default {
         console.log('table数据======>', response.data.list)
         if (response.data.list !== null) {
 
-          
+
           for (let i = 0; i < response.data.list.length; i++) {
             var url = process.env.VUE_APP_BASE_API + response.data.list[i].picname1
-            this.$set(response.data.list[i], 'imgUrlDetil', url ) 
+            this.$set(response.data.list[i], 'imgUrlDetil', url )
           }
-          
+
           this.tableObj.list = response.data.list
           this.tableObj.pageNum = response.data.pageNum
           this.tableObj.pageSize = response.data.pageSize
@@ -738,9 +696,8 @@ export default {
                   if(me.roleSet(row)){
                     itemBtnNum = itemBtnNum + 2
                   }
-                   
-                 
-                   
+
+
                   console.log(itemBtnNum)
                   if(itemBtnNum > btnNum){
                     btnNum = itemBtnNum
@@ -748,7 +705,6 @@ export default {
               })
 
 
-          
               console.log("btnNum=============",btnNum)
               me.autoWidth = btnNum * 90  + 90
 
@@ -762,8 +718,6 @@ export default {
       })
 
 
-      
-
       var send_price = {
         name: 'getContractOfPrice',
         parammaps: this.tableObj.getdataListParm.parammaps
@@ -779,8 +733,6 @@ export default {
       })
 
 
-
-       
     },
     form_search() {
       console.log('点击了查询')
@@ -812,7 +764,6 @@ export default {
         this.tableObj.getdataListParm.parammaps.endCreaterDate = ''
       }
 
-      
 
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
@@ -831,11 +782,11 @@ export default {
       this.tableObj.getdataListParm.parammaps.endContractMoney = ''
       this.tableObj.getdataListParm.parammaps.beginMoneyStep = ''
       this.tableObj.getdataListParm.parammaps.endMoneyStep = ''
- 
+
       this.tableObj.getdataListParm.parammaps.inputDatetime1 = ''
       this.tableObj.getdataListParm.parammaps.inputDatetime2 = ''
       this.tableObj.getdataListParm.parammaps.inputDatetime3 = ''
-      
+
        this.tableObj.getdataListParm.parammaps.beginContractBeginDate = ''
       this.tableObj.getdataListParm.parammaps.endContractBeginDate = ''
       this.tableObj.getdataListParm.parammaps.beginContractEndDate = ''
@@ -845,25 +796,22 @@ export default {
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
 
- 
-
 
     },
 
     // 新增
     form_reset() {
       this.create.temp =   {  contractStatus: '',    customerId: '', groupId: '', groupName: '', serviceCode: '', contractBeginDate: parseTime(new Date(), '{y}-{m}-{d}'), contractEndDate: parseTime(new Date(), '{y}-{m}-{d}'), createrId:  Cookies.get('employeid'), createrName:  Cookies.get('employename'),moneyStep: '1',contractMoney: '', businessLicense: -1,picname1: '',userIds:""},
-   
+
       this.fileList = []
-  
+
       this.tableStagesList = []
       this.tableStockList = []
        document.getElementById('uploadPic').lastChild.style.display = "inline-block"
-     
+
 
     },
 
- 
 
     //客户失去焦点
     customer_search_blur(item) {
@@ -872,7 +820,7 @@ export default {
       this.tableObj.getdataListParm.parammaps.customerName = ""
       this.customerNameList = []
     },
- 
+
 
     //模糊查询客户
     customer_search(queryString, cb) {
@@ -910,9 +858,9 @@ export default {
       this.create.temp.customerName = ""
       this.create.temp.customerId = ""
       this.create.customerNameList = []
-      
+
       this.get_customer_list()
-      this.$forceUpdate() 
+      this.$forceUpdate()
 
     },
     // 弹窗中的客户
@@ -931,15 +879,12 @@ export default {
     //监听 - 下拉中客户名称
     change_customer(item) {
       console.log(item)
-      this.create.temp.customerId = item 
- 
-    
- 
+      this.create.temp.customerId = item
+
 
     },
 
 
- 
     // 款项信息表格
     getStagesTableList() {
       GetDataByName(this.create.getdataListParmStages).then(response => {
@@ -963,9 +908,8 @@ export default {
         }
       })
     },
-    
-   
-        
+
+
     // 监听 - 下拉 - 款项分期
     change_moneyStep(item) {
       console.log(item)
@@ -977,17 +921,16 @@ export default {
       console.log("table_len",table_len)
 
 
-
       if( item > table_len ){
           var num = parseInt(item) - parseInt(table_len)
-          
+
              console.log("num",num)
              for(var i=1; i< num+1; i++){
                 console.log(i)
                  me.tableStagesList.push({'stages':i+parseInt(table_len),'planCostRate':'','planCost':'','collectionDate': parseTime(new Date(), '{y}-{m}-{d}'),'customerId':'','createrId':''})
              }
-             
-             
+
+
       }
 
 
@@ -997,14 +940,13 @@ export default {
         var arrTemp = me.tableStagesList.slice(0, item)
 
         me.tableStagesList = arrTemp
-          
+
       }
-   
+
 
     },
 
 
-  
     //下拉 - 备货品
     change_receProduct(item) {
       console.log("备货品ID ", item)
@@ -1027,11 +969,9 @@ export default {
     form_see(row) {
 
 
-
       // this.form_reset()
 
 
- 
       this.conmoreData.id = row.id
 
       this.create.temp.id = row.id
@@ -1044,9 +984,6 @@ export default {
       console.log('点击了查看',row)
 
 
- 
-
-
       // 现场照片
       const urlArray = []
       const urlArrayId = []
@@ -1056,7 +993,7 @@ export default {
         urlArray.push(process.env.VUE_APP_BASE_API + this.create.temp.picname1)
         urlArrayId.push(this.create.temp.businessLicense)
       }
-       
+
 
       console.log("urlArray", urlArray)
       console.log("urlArrayId", urlArrayId)
@@ -1076,30 +1013,17 @@ export default {
       console.log("fileList", fileList)
 
 
-
-   
-
- 
-   
       this.createSee.dialogFormVisible = true
 
 
-
     },
 
-     
-
-
-    
-
- 
-
 
     // 通过
     form_adopt(row) {
       console.log('点击了通过', row)
       this.reset_adopt()
- 
+
       this.adopt.temp.id = row.id
       this.adopt.temp.contractStatus = row.contractStatus
       this.adopt.dialogFormVisible = true
@@ -1114,7 +1038,7 @@ export default {
     form_adopt_save() {
       this.$refs['adopttemp'].validate(valid => {
         if (valid) {
-        
+
 
           var send_data = {
             "common": {"returnmap": "0"},
@@ -1127,22 +1051,21 @@ export default {
                   "statusId":"1",
                   "remark":this.adopt.temp.remark ,
                   "userId":Cookies.get('employeid'),
-                  "stepName":this.adopt.temp.contractStatus 
-                }, 
+                  "stepName":this.adopt.temp.contractStatus
+                },
                },
 
                 {
                   "name": "updateContractApprovalSuccess","type": "e",
                   "parammaps": {
                     "id":this.adopt.temp.id,
-                    "stepName":this.adopt.temp.contractStatus 
+                    "stepName":this.adopt.temp.contractStatus
                   }
                 }
-          
+
             ]
           }
 
-            
 
                  ExecDataByConfig(send_data).then(response => {
                     console.log('通过发送参数', send_data)
@@ -1155,7 +1078,6 @@ export default {
                       this.get_table_data()
 
 
-
                       var send_weixin_data1 = {
                         name: 'getRemindData',
                         parammaps: {
@@ -1190,7 +1112,7 @@ export default {
                             "content": [
                               { "color": "#173177","value": value1 },
                               { "color": "#173177", "value": value2 },
-                              { "color": "#173177", "value": value3 }, 
+                              { "color": "#173177", "value": value3 },
                               { "color": "#173177","value": value4 }
                             ]
                           }
@@ -1214,20 +1136,15 @@ export default {
                       })
 
 
-
-
-
                       if(this.isHome == 'home'){
                       // 返回首页
-                         this.$router.push({ name: 'Dashboard', params: { isTodo: 'contractapp' }})   
+                         this.$router.push({ name: 'Dashboard', params: { isTodo: 'contractapp' }})
                       }
                     } else {
                       this.$notify({ title: '失败', message: '通过失败' + response.data, type: 'error', duration: 2000 })
                     }
                   })
 
-        
-          
 
         }
       })
@@ -1259,7 +1176,7 @@ export default {
                       if(row.contractStatus == "五审中"){
                         send_weixin_data1.parammaps.remindId = 5
                       }
-            
+
                       GetDataByName(send_weixin_data1).then(response => {
                         console.log('微信推送(获取参数)======>', response )
                         if (response.data.message == 'ok') {
@@ -1275,11 +1192,11 @@ export default {
                             "content": [
                               { "color": "#173177","value": value1 },
                               { "color": "#173177", "value": value2 },
-                              { "color": "#173177", "value": value3 }, 
+                              { "color": "#173177", "value": value3 },
                               { "color": "#173177","value": value4 }
                             ]
                           }
-                          
+
 
                             wxpush(send_weixin_data2).then(response => {
                               console.log('微信推送(获取参数)======>', response )
@@ -1298,7 +1215,7 @@ export default {
     form_reject(row) {
       console.log('点击了驳回', row)
       this.reset_reject()
- 
+
       this.reject.temp.id = row.id
       this.reject.temp.contractStatus = row.contractStatus
       this.reject.dialogFormVisible = true
@@ -1313,7 +1230,7 @@ export default {
     form_reject_save() {
       this.$refs['rejecttemp'].validate(valid => {
         if (valid) {
-        
+
 
           var send_data = {
             "common": {"returnmap": "0"},
@@ -1326,18 +1243,18 @@ export default {
                   "statusId":"0",
                   "remark":this.reject.temp.remark ,
                   "userId":Cookies.get('employeid'),
-                  "stepName":this.reject.temp.contractStatus 
-                }, 
+                  "stepName":this.reject.temp.contractStatus
+                },
                },
 
                 {
                   "name": "updateContractApprovalFalse","type": "e",
                   "parammaps": {"id":this.reject.temp.id}
                 }
-          
+
             ]
           }
-  
+
                console.log(this.reject.temp)
 
                  ExecDataByConfig(send_data).then(response => {
@@ -1385,7 +1302,7 @@ export default {
                             "content": [
                               { "color": "#173177","value": value1 },
                               { "color": "#173177", "value": value2 },
-                              { "color": "#173177", "value": value3 }, 
+                              { "color": "#173177", "value": value3 },
                               { "color": "#173177","value": value4 }
                             ]
                           }
@@ -1409,19 +1326,15 @@ export default {
                       })
 
 
-
-
                       if(this.isHome == 'home'){
                         // 返回首页
-                        this.$router.push({ name: 'Dashboard', params: { isTodo: 'contractapp' }})   
+                        this.$router.push({ name: 'Dashboard', params: { isTodo: 'contractapp' }})
                         }
                     } else {
                       this.$notify({ title: '失败', message: '驳回失败' + response.data, type: 'error', duration: 2000 })
                     }
                   })
 
-        
-          
 
         }
       })
@@ -1434,7 +1347,7 @@ export default {
       this.get_table_data()
       if(this.isHome == 'home'){
        // 返回首页
-       this.$router.push({ name: 'Dashboard', params: { isTodo: 'contractapp' }})   
+       this.$router.push({ name: 'Dashboard', params: { isTodo: 'contractapp' }})
       }
     },
 
@@ -1443,7 +1356,7 @@ export default {
       this.get_table_data()
       if(this.isHome == 'home'){
        // 返回首页
-       this.$router.push({ name: 'Dashboard', params: { isTodo: 'contractapp' }})   
+       this.$router.push({ name: 'Dashboard', params: { isTodo: 'contractapp' }})
       }
     },
     dialog_close_reject(){
@@ -1451,10 +1364,10 @@ export default {
       this.get_table_data()
       if(this.isHome == 'home'){
        // 返回首页
-       this.$router.push({ name: 'Dashboard', params: { isTodo: 'contractapp' }})   
+       this.$router.push({ name: 'Dashboard', params: { isTodo: 'contractapp' }})
       }
     },
-    
+
     // 导出
     form_export(item) {
       if (item == 1) {
@@ -1484,7 +1397,7 @@ export default {
 #uploadPic {
   width: 700px;
 }
- 
+
 // #uploadPic .el-upload-list--picture-card .el-upload-list__item {
 //   width: 70px;
 //   height: 70px;

+ 10 - 12
src/views/basicData/dealerManagement/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="app-container">
     <div class="operation">
-     
+
 
       <!-- <el-button v-if="isRoleEdit" class="import" style="float: right;" @click="form_inport">导入</el-button>
       <el-dropdown style="float: right;margin-right: 10px;">
@@ -59,7 +59,7 @@
             <span>{{ scope.row.remark }}</span>
           </template>
         </el-table-column>
-       
+
         <el-table-column label="启用" min-width="80px" header-align="center" align="center">
           <template slot-scope="scope">
             <el-switch v-model="scope.row.enable" active-color="#13ce66" inactive-color="#ff4949" :active-value="1" :inactive-value="0" @change="change_enable(scope.$index, scope.row)" />
@@ -161,16 +161,16 @@ export default {
           dealerType: '',
           contacts: '',
           dealerAddress: '',
-          
-       
+
+
           remark: '',
           sort: '',
           enable: 1,
-          createrId:Cookies.get('employeid')  
+          createrId:Cookies.get('employeid')
         },
         rules: {
           dealerName: [{ type: 'string', required: true, message: '必填', trigger: 'blur' }],
-         
+
 
         },
       },
@@ -243,14 +243,13 @@ export default {
           contacts: '',
           dealerAddress: '',
           createrId: '',
-       
+
           remark: '',
           sort: '',
           enable: 1 }
     },
 
 
-
     //添加
     form_add() {
       console.log('点击了新增')
@@ -262,7 +261,7 @@ export default {
     add_dialog_save() {
       console.log('点击了新增保存',)
 
-      
+
       this.$refs['temp'].validate(valid => {
         if (valid) {
           //验证名字是否存在
@@ -336,14 +335,14 @@ export default {
             }
           })
 
-          
+
         }
       })
     },
 
     // 表格中的启用
     change_enable(index, row) {
-   
+
 
       var send_data =  {
            name: "updateDealerEnable",
@@ -354,7 +353,6 @@ export default {
       }
 
 
-
       PostDataByName(send_data).then(response => {
         console.log('表格中的启用发送参数',send_data)
         if (response.msg !== 'fail') {

+ 0 - 4
src/views/basicData/defaultParameter/index.vue

@@ -99,10 +99,6 @@ export default {
       })
 
 
-
-
-
-
       // ExecDataByConfig(this.requestParam).then(response => {
       //   console.log('保存发送参数', this.requestParam)
       //   if (response.msg !== 'fail') {

+ 2 - 5
src/views/basicData/departmentManagement/index.vue

@@ -64,9 +64,8 @@
 
           <el-button class="cancelClose" @click="dialogFormVisible = false;get_table_data()">关闭</el-button>
           <el-button class="success" @click="dialogStatus==='create'?add_dialog_save():form_edit_save()">确认</el-button>
- 
 
-           
+
         </div>
       </el-dialog>
     </div>
@@ -101,7 +100,7 @@ export default {
       parent: [],
       parentmenu: [],
       parentButton: [],
-   
+
       listLoading: true,
       requestParam: {
         name: 'createdept',
@@ -207,7 +206,6 @@ export default {
           if (this.deptform.parentid === '') this.deptform.parentid = '0'
 
 
-
           this.requestParam.parammaps = {
             id: '',
             dname: this.deptform.dname,
@@ -233,7 +231,6 @@ export default {
             }
 
 
-
           })
         }
       })

+ 7 - 22
src/views/basicData/noticeRemind/index.vue

@@ -176,8 +176,8 @@
                 <el-input v-model="setUp.roleName" placeholder="角色名称" style="width: 180px;" class="filter-item" clearable />
                 <el-input v-model="setUp.empCode" placeholder="用户名称" style="width: 180px;" class="filter-item" clearable />
                 <el-input v-model="setUp.empName" placeholder="员工姓名" style="width: 180px;" class="filter-item" clearable />
- 
-               
+
+
                 <el-button class="successBorder" @click="handleSearch">查询</el-button>
               </div>
               <el-row :gutter="5">
@@ -418,7 +418,6 @@
           { id: 3, name: '是否通知部门总监' },
         ],
 
- 
 
         modeList: [
           { id: '1', name: '立即' },
@@ -542,7 +541,7 @@
       handleSetUp(row){
         console.log(row,'row')
         this.setUp.dialogStatus = 'setup'
-       
+
         this.activeName = 'first'
         this.setUp.temp = Object.assign({}, row)
         this.temp.messageName = row.message //消息名称
@@ -550,23 +549,16 @@
         this.temp.sendTime = row.data.push_time //发送时间
 
 
-
-    
- 
-
         if(row.toCreater == 0 && row.toSupervisor == 0 && row.toChiefInspector == 0){
 
           this.typeIdsArr = []
         } else {
-       
+
             if(row.toCreater == 1){  this.typeIdsArr.push(1) }
             if(row.toSupervisor == 1){  this.typeIdsArr.push(2) }
             if(row.toChiefInspector == 1){  this.typeIdsArr.push(3) }
-      
-        }
- 
- 
 
+        }
 
 
         this.selectList1 = []
@@ -657,10 +649,6 @@
         }
 
 
-       
-
-
-
         this.getList1()
       },
       handleSee(row){
@@ -959,7 +947,6 @@
         var toSupervisor = 0
         var toChiefInspector = 0
 
-       
 
         if(typeIdsArr.length == 0){
 
@@ -985,10 +972,10 @@
 
 
             PostDataByName(send_data3).then(response => {
-      
+
               if (response.msg !== 'fail') {
                 this.$notify({ title: '成功', message: '通知成功', type: 'success', duration: 2000 })
-       
+
               } else {
                 this.$notify({ title: '失败', message: '通知失败' + response.data, type: 'error', duration: 2000 })
               }
@@ -1003,8 +990,6 @@
         })
 
 
-        
-        
       }
     }
   }

+ 13 - 28
src/views/basicData/noticeRemind/index1.vue

@@ -7,19 +7,14 @@
           <el-row :gutter="0">
             <el-col :span="21">
 
- 
 
               <el-input v-model="tableObj.getdataListParm.parammaps.cname" placeholder="消息名词" style="width: 180px;" class="filter-item" clearable />
 
-     
 
               <el-select v-model="tableObj.getdataListParm.parammaps.statusName" placeholder="发送方式" class="filter-item" style="width: 120px;" clearable>
                   <el-option v-for="item in statusNameList" :key="item.id" :label="item.name" :value="item.id" />
               </el-select>
 
-  
- 
-
 
             </el-col>
             <el-col :span="3">
@@ -28,16 +23,14 @@
             </el-col>
           </el-row>
         </div>
- 
+
     </div>
     开发中……
-    
-
 
 
     <div class="table"  style="margin-top:140px">
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed">
-    
+
         <el-table-column label="序号" align="center" type="index" width="50px">
           <template slot-scope="scope">
             <span>{{ scope.$index + (tableObj.pageNum-1) * tableObj.pageSize + 1 }}</span>
@@ -66,18 +59,17 @@
           </template>
         </el-table-column>
 
-        
-      
+
         <el-table-column label="操作" align="center" width="250" class-name="small-padding fixed-width" fixed="right">
           <template slot-scope="{row}">
             <el-button v-if="isRoleEdit" class="miniSuccess" @click="form_edit(row)">设置</el-button>
-      
-        
+
+
           </template>
         </el-table-column>
       </el-table>
       <pagination v-show="tableObj.total>=0" :total="tableObj.total" :page.sync="tableObj.getdataListParm.offset" :limit.sync="tableObj.getdataListParm.pagecount" @pagination="get_table_data" />
-    </div>  
+    </div>
 
     <!-- 新增/编辑 -->
     <el-dialog :title="textMap[create.dialogStatus]" :visible.sync="create.dialogFormVisible" :close-on-click-modal="false" width="40%">
@@ -91,7 +83,7 @@
           <el-form-item label="触发条件:" prop="remark">
             <el-input ref="remark" v-model="create.temp.remark" />
           </el-form-item>
-          
+
           <el-form-item label="发送方式:" prop="remark">
             <el-select v-model="create.temp.remark" placeholder="发送方式"  class="filter-item" style="width: 100%;"clearable>
               <el-option v-for="item in statusNameList" :key="item.id" :label="item.name" :value="item.id" />
@@ -110,16 +102,14 @@
             </el-select>
           </el-form-item>
 
-          
 
-          
         </el-form>
         <div slot="footer" class="dialog-footer">
           <el-button class="cancelClose" @click="create.dialogFormVisible = false;get_table_data()">关闭</el-button>
           <el-button v-if="create.dialogStatus==='create' || create.dialogStatus==='update'" class="success" @click="create.dialogStatus==='create'?add_dialog_save():form_edit_save()">确认</el-button>
         </div>
       </div>
-    </el-dialog> 
+    </el-dialog>
   </div>
 </template>
 
@@ -140,14 +130,14 @@ export default {
 
          // 下拉框 - 出差单
       statusNameList: [
-        { "name": "立刻", "id": "立刻" }, 
-        { "name": "延时", "id": "延时" }, 
+        { "name": "立刻", "id": "立刻" },
+        { "name": "延时", "id": "延时" },
         { "name": "指定周期", "id": "指定周期" }
       ],
 
       sendMechineList: [
-        { "name": "单次", "id": "单次" }, 
-        { "name": "指定循环次数", "id": "指定循环次数" }, 
+        { "name": "单次", "id": "单次" },
+        { "name": "指定循环次数", "id": "指定循环次数" },
         { "name": "循环至任务结束", "id": "循环至任务结束" }
       ],
 
@@ -165,7 +155,7 @@ export default {
         },
         tableKey: 0,
         list: [],
-        total: 0, 
+        total: 0,
         listLoading: true,
         temp: {}
       },
@@ -254,9 +244,6 @@ export default {
     },
 
 
-
-  
-
     // 编辑
     form_edit(row) {
       console.log('点击了编辑', row)
@@ -288,8 +275,6 @@ export default {
       })
     },
 
-  
- 
 
     // 导出
     form_export(item) {

+ 0 - 1
src/views/basicData/otherProjects/index.vue

@@ -313,7 +313,6 @@ export default {
     },
 
 
-
     // 编辑
     form_edit(row) {
       console.log('点击了编辑', row)

+ 7 - 9
src/views/basicData/productClass/index.vue

@@ -36,9 +36,9 @@
     </div>
 
     <div class="table">
-      <el-table v-loading="table.listLoading" element-loading-text="给我一点时间" 
+      <el-table v-loading="table.listLoading" element-loading-text="给我一点时间"
         row-key="id"
-      :data="table.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" 
+      :data="table.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle"
       :cell-style="cellStyle" class="elTable table-fixed"
       :tree-props="{ children: 'children'}" >
         <!-- <el-table-column type="selection" align="center" width="50" /> -->
@@ -158,7 +158,7 @@ export default {
   name: 'ProductClass',
   components: { Pagination,TreeSelect },
 
-  
+
   data() {
     return {
 
@@ -237,9 +237,9 @@ export default {
     popoverHide(checkedIds, checkedData) {
       console.log(checkedIds, checkedData);
       // this.create.temp.ccode = checkedData.code;
-      this.$set(this.create.temp, 'ccode', checkedData.code); 
+      this.$set(this.create.temp, 'ccode', checkedData.code);
       if (this.create.dialogStatus === 'update'){
-        this.$set(this.create.temp, 'code', checkedData.code); 
+        this.$set(this.create.temp, 'code', checkedData.code);
       }
       // create.temp.code
       this.create.temp.pid = checkedData.id;
@@ -251,7 +251,7 @@ export default {
       }else{
         this.table.getdataListParm.parammaps.pid = checkedData.id;
       }
-      
+
       // this.table.getdataListParm.cname = cname
       console.log(checkedIds, checkedData);
     },
@@ -278,7 +278,7 @@ export default {
           // this.table.total = response.data.total
         } else {
           this.table.list = [];
-    
+
         }
         setTimeout(() => {
           this.table.listLoading = false
@@ -317,7 +317,6 @@ export default {
     },
 
 
-
     //添加
     form_add() {
       console.log('点击了新增')
@@ -472,7 +471,6 @@ export default {
 }
 
 
-
 </style>
 
 

+ 19 - 19
src/views/basicData/productList/index.vue

@@ -7,15 +7,15 @@
             <span style="font-size: 23px;">产品分类</span>
             <img style="margin-left: 40px;width: 12%; height: 12%;"  src="../../../assets/images/bj1.png">
           </a>
-       
+
         <div style="marginTop:20px;margin-left: 10px;">
-         
+
          <el-tree
            :data="productNameList"
            v-model="table.getdataListParm.parammaps.categoryId"
            :props="defaultProps"
            @node-click="handleNodeClick"
-           style="font-size: 26px;" 
+           style="font-size: 26px;"
             :disabled="false"
          ></el-tree>
        </div>
@@ -234,8 +234,8 @@
 <script>
 import { GetDataByName, PostDataByName, failproccess, ExecDataByConfig, GetDataByNames, checkButtons, calculativeWidth,transData } from '@/api/common'
 import { isIntegerZero } from '@/utils/validate'
-import Cookies from 'js-cookie' 
-import TreeSelect from '@/components/TreeSelect'; 
+import Cookies from 'js-cookie'
+import TreeSelect from '@/components/TreeSelect';
 import { parseTime } from '@/utils/index.js'
 import Pagination from '@/components/Pagination'
 import { MessageBox } from 'element-ui'
@@ -354,24 +354,24 @@ export default {
               } else {
                 document.getElementById('uploadPic').lastChild.style.display = "inline-block"
                 this.$set(this.create.temp, 'pImage', '0');
-      
+
       }
     },
     handlePicSuccess(response, file, fileList) {
-                  
+
       if (fileList.length == 1) {
         document.getElementById('uploadPic').lastChild.style.display = "none"
       } else {
         document.getElementById('uploadPic').lastChild.style.display = "inline-block"
       }
       this.$set(this.create.temp, 'pImage', response.execresult.LastInsertId);
-      
+
     },
     andlePictureCardPreview(file) {
       this.dialogImageUrl = file.url;
       this.dialogVisible = true;
     },
-    
+
     popoverHideSelect(checkedIds, checkedData) {
       if (checkedIds !== null) {
         this.table.getdataListParm.parammaps.categoryId = checkedData.id;
@@ -388,10 +388,10 @@ export default {
     popoverHide(checkedIds, checkedData) {
       console.log(checkedIds, checkedData);
       if (checkedData == null) {
-        this.$set(this.create.temp, 'pcode', ''); 
+        this.$set(this.create.temp, 'pcode', '');
         this.create.temp.categoryId = '';
       }else{
-        this.$set(this.create.temp, 'pcode', checkedData.code); 
+        this.$set(this.create.temp, 'pcode', checkedData.code);
       this.create.temp.categoryId = checkedData.id;
       }
     },
@@ -514,7 +514,7 @@ export default {
       //   fileList.push(urlObj);
       //   this.fileList = fileList;
       // }
-      
+
     },
     //添加保存
     add_dialog_save() {
@@ -525,7 +525,7 @@ export default {
           //新增保存
           if (this.create.temp.pImage == null){
             this.create.temp.pImage = '0'
-          } 
+          }
           this.requestParam.name = 'insertProducts'
           this.requestParam.parammaps = this.create.temp
 
@@ -546,7 +546,7 @@ export default {
               },
             ]
           }
-          
+
           ExecDataByConfig(this.requestParam).then(response => {
             // console.log('新增保存发送参数', this.requestParam)
             if (response.msg !== 'fail') {
@@ -604,12 +604,12 @@ export default {
           // this.requestParam.parammaps = this.create.temp
           if (this.create.temp.pImage === ""){
             this.create.temp.pImage = '0'
-          } 
+          }
 
           if (this.create.temp.sort === ""){
             this.create.temp.sort = '0'
-          } 
-          
+          }
+
           this.requestParam = {
             data: [
               {
@@ -632,7 +632,7 @@ export default {
             if (response.msg !== 'fail') {
               this.$notify({ title: '成功', message: '保存成功', type: 'success', duration: 2000 })
               this.create.dialogFormVisible = false
-              
+
               this.defaultCheckedKeys = [];
               this.get_table_data()
             } else {
@@ -727,4 +727,4 @@ export default {
 .custom-tree {
   font-size: 26px; /* 设置字体大小 */
 }
-</style> 
+</style>

+ 40 - 70
src/views/basicData/publicNotice/index.vue

@@ -5,10 +5,7 @@
     <div class = "search-bx"  >
         <div class="search">
           <el-row :gutter="0">
-       
- 
 
-             
 
               <el-select v-model="tableObj.getdataListParm.parammaps.noticetype" placeholder="公告类型" class="filter-item" style="width: 120px;" clearable>
                   <el-option v-for="item in noticetypeList" :key="item.id" :label="item.name" :value="item.id" />
@@ -17,23 +14,21 @@
 
                <el-input v-model="tableObj.getdataListParm.parammaps.noticetitle" placeholder="消息名词" style="width: 180px;" class="filter-item" clearable />
 
-     
-   
+
                 <el-button class="successBorder" @click="form_search">查询</el-button>
                 <el-button class="successBorder" @click="form_clear">重置</el-button>
                 <el-button  class="success" icon="el-icon-plus" @click="form_add">新增</el-button>
-          
+
           </el-row>
         </div>
 
-    
- 
+
     </div>
-  
+
 
     <div class="table"   >
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed">
-    
+
         <el-table-column label="序号" align="center" type="index" width="50px">
           <template slot-scope="scope">
             <span>{{ scope.$index + (tableObj.pageNum-1) * tableObj.pageSize + 1 }}</span>
@@ -81,8 +76,7 @@
           </template>
         </el-table-column>
 
-        
-      
+
         <el-table-column label="操作" align="center" width="250" class-name="small-padding fixed-width" fixed="right">
           <template slot-scope="{row}">
             <el-button  class="miniSuccess" @click="form_edit(row)">编辑</el-button>
@@ -91,7 +85,7 @@
         </el-table-column>
       </el-table>
       <pagination v-show="tableObj.total>=0" :total="tableObj.total" :page.sync="tableObj.getdataListParm.offset" :limit.sync="tableObj.getdataListParm.pagecount" @pagination="get_table_data" />
-    </div>  
+    </div>
 
     <!-- 新增/编辑 -->
     <el-dialog :title="textMap[create.dialogStatus]" :visible.sync="create.dialogFormVisible" :close-on-click-modal="false" width="90%">
@@ -102,8 +96,7 @@
             <el-input ref="noticetitle" v-model="create.temp.noticetitle" />
           </el-form-item>
 
-          
-          
+
           <el-form-item label="公告类型:" prop="noticetype">
             <el-select v-model="create.temp.noticetype" placeholder="公告类型"  class="filter-item" style="width: 100%;"clearable>
               <el-option v-for="item in noticetypeList" :key="item.id" :label="item.name" :value="item.id" />
@@ -136,17 +129,15 @@
           </div>
 
 
-     
-            
           </el-form-item>
 
 
           <el-form-item  label="上传附件:" prop="" v-show="false">
-        
+
                 <el-upload
                   ref = "upLoadBx"
                   class="avatar-uploader"
-                  :headers="headers2" 
+                  :headers="headers2"
                   :auto-upload="true"
                   :show-file-list="true"
                   :limit="1"
@@ -158,23 +149,18 @@
                    <el-button size="small" type="primary">点击上传</el-button>
                 </el-upload>
             </el-form-item>
-    
-         
-          
 
-          
+
         </el-form>
         <div slot="footer" class="dialog-footer">
           <el-button v-if="create.dialogStatus==='create' || create.dialogStatus==='update'" class="success" @click="create.dialogStatus==='create'?add_dialog_save():form_edit_save()">确认</el-button>
           <el-button class="cancelClose" @click="create.dialogFormVisible = false;get_table_data()">关闭</el-button>
-          
+
         </div>
       </div>
-    </el-dialog> 
+    </el-dialog>
 
 
-       
-
   </div>
 </template>
  <style src="@wangeditor/editor/dist/css/style.css"></style>
@@ -187,37 +173,35 @@ import Pagination from '@/components/Pagination'
 import { MessageBox } from 'element-ui'
 import { getToken } from '@/utils/auth'
 
- 
+
 import { Editor, Toolbar } from '@wangeditor/editor-for-vue'
 import { DomEditor } from '@wangeditor/editor'
 
- 
 
 export default {
   name: 'PublicNotice',
   components: { Pagination, Editor, Toolbar},
 
-  
+
   data() {
     return {
 
 
-      
       headers2: {
         optname: 'insertcustompic',
         id: 1,
         token: getToken() // 从cookie里获取token,并赋值token
       },
- 
+
       //图片文件请求地址
       uploadFileUrl: process.env.VUE_APP_BASE_API + 'uploadfileCRM',
       uploadfileList1: [],
 
       editor: null,
-        
-            toolbarConfig: { 
-               excludeKeys :[  // 排除菜单组,写菜单组 key 的值即可 
-                   'group-image', 
+
+            toolbarConfig: {
+               excludeKeys :[  // 排除菜单组,写菜单组 key 的值即可
+                   'group-image',
                     'group-video',
                     'codeBlock',
                     'todo',
@@ -235,21 +219,21 @@ export default {
 
       // 下拉框 - 出差单
       noticetypeList: [
-        { "name": "重要通知", "id": "重要通知" }, 
-        { "name": "规章制度", "id": "规章制度" }, 
+        { "name": "重要通知", "id": "重要通知" },
+        { "name": "规章制度", "id": "规章制度" },
         { "name": "指定周期", "id": "指定周期" }
       ],
 
 
       roleNameList: [
-        // { "name": "全部", "id": "重要通知" }, 
-        // { "name": "角色1", "id": "角色1" }, 
+        // { "name": "全部", "id": "重要通知" },
+        // { "name": "角色1", "id": "角色1" },
         // { "name": "角色2", "id": "角色2" },
         // { "name": "角色3", "id": "角色3" },
         // { "name": "角色4", "id": "角色4" },
       ],
 
-    
+
       //表格请求参数~
       tableObj: {
         getdataListParm: {
@@ -265,7 +249,7 @@ export default {
         },
         tableKey: 0,
         list: [],
-        total: 0, 
+        total: 0,
         listLoading: true,
         temp: {}
       },
@@ -312,13 +296,13 @@ export default {
     onCreated(editor) {
             this.editor = Object.seal(editor) // 一定要用 Object.seal() ,否则会报错
 
-          
+
         },
     //获取按钮权限
     get_auto_buttons() {
       const Edit = 'PublicNotice'
 
-   
+
       const isRoleEdit = checkButtons(this.$store.state.user.buttons, 'PublicNotice')
       this.isRoleEdit = isRoleEdit
 
@@ -334,15 +318,15 @@ export default {
       // 下拉框请求
       var send_select_list = [
         { name: 'getRoleAll', offset: 0, pagecount: 0, parammaps: {} },
-        
+
       ]
       GetDataByNames(send_select_list).then(response => {
-  
+
         this.roleNameList = response.data.getRoleAll.list
         console.log("角色下拉框", this.roleNameList)
-        
+
       })
-   
+
 
     },
 
@@ -398,7 +382,7 @@ export default {
       if(this.$refs['upLoadBx']){
         this.$refs['upLoadBx'].clearFiles()
       }
-          
+
     },
 
 
@@ -428,20 +412,17 @@ export default {
         this.$message.warning(`限制只能上传一个文件,请删除原文件后再上传新的原件`);
     },
     handlefileSuccess(response, file, fileList) {
-        console.log(response, file, fileList) 
+        console.log(response, file, fileList)
         this.create.temp.fileId = response.data.LastInsertId
         this.create.temp.fileName = file.name
         this.$refs.temp.resetFields()
 
-        console.log(file.name) 
-        console.log(response.data.LastInsertId) 
+        console.log(file.name)
+        console.log(response.data.LastInsertId)
 
         console.log(this.uploadfileList1)
     },
 
-  
-
-
 
     //监听 - 弹窗 - 新增
     form_add() {
@@ -458,7 +439,7 @@ export default {
       // const toolbar = DomEditor.getToolbar(this.editor)
 
       // const curToolbarConfig = toolbar.getConfig()
-      // console.log( curToolbarConfig.toolbarKeys ) 
+      // console.log( curToolbarConfig.toolbarKeys )
 
       this.isokDisable = true
       setTimeout(() => {
@@ -472,7 +453,6 @@ export default {
           }, 1000)
 
 
-
             var roleNameArr = this.create.temp.roleNameArr
             if(roleNameArr.length == 0){
               var roles = ""
@@ -481,7 +461,7 @@ export default {
             }
 
              this.create.temp.roles = roles
-        
+
                 var send_data = {
                   "name": "insertNotice",
                    "parammaps": this.create.temp
@@ -497,17 +477,12 @@ export default {
                     this.$notify({ title: '失败', message: '保存失败', type: 'error', duration: 2000 })
                   }
                 })
-          
-
-
-
- 
 
 
         }
       })
     },
-  
+
 
     // 编辑
     form_edit(row) {
@@ -533,7 +508,7 @@ export default {
             }
 
              this.create.temp.roles = roles
-        
+
                 var send_data = {
                   "name": "updateNotice",
                    "parammaps": this.create.temp
@@ -549,17 +524,12 @@ export default {
                     this.$notify({ title: '失败', message: '保存失败', type: 'error', duration: 2000 })
                   }
                 })
-          
-
 
 
-        
         }
       })
     },
 
-  
- 
 
     // 导出
     form_export(item) {

+ 5 - 9
src/views/basicData/staffManagement/index.vue

@@ -1,9 +1,8 @@
 <template>
   <div class="app-container">
     <div class="app-container">
-      
 
-      
+
     <div class = "search-bx"  >
         <div class="search">
           <el-row :gutter="0">
@@ -24,17 +23,16 @@
           <el-row :gutter="0">
             <el-col :span="21">
               <el-button   class="success" icon="el-icon-plus" @click="form_add">新增</el-button>
-            </el-col> 
+            </el-col>
             <el-col :span="3">
-                
+
             </el-col>
           </el-row>
- 
+
         </div>
 
     </div>
 
-    
 
       <div class="table" style="margin-top:100px">
         <el-table v-loading="listLoading" element-loading-text="给我一点时间" :data="list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable" row-key="id">
@@ -114,7 +112,7 @@
         <div slot="footer" class="dialog-footer">
           <el-button class="cancelClose" @click="dialogFormVisible = false;get_table_data()">关闭</el-button>
           <el-button class="success" @click="dialogStatus==='create'?add_dialog_save():form_edit_save()">确认</el-button>
- 
+
         </div>
       </el-dialog>
     </div>
@@ -187,7 +185,6 @@ export default {
       total: 0,
 
 
-
       getRecuListParm: { name: 'getDepartmentCascade' },
       getRecuListBParm: {        name: 'getMenuListBRecu',
         idname: 'id',
@@ -334,7 +331,6 @@ export default {
             }
 
 
-
           })
         }
       })

+ 1 - 1
src/views/businessManagement/businessTravel/index.vue

@@ -142,7 +142,7 @@
                 </el-dropdown>
             </el-col>
           </el-row>
- 
+
         </div> -->
     </div>
 

+ 25 - 31
src/views/businessManagement/complaintRecord/index.vue

@@ -6,7 +6,7 @@
 
         <div class="search">
           <el-row :gutter="0">
-            
+
               <!-- <el-select v-model="tableObj.getdataListParm.parammaps.customerId" placeholder="客户名称" class="filter-item" style="width: 120px;" clearable filterable remote :remote-method="change_custormer_remote" :loading="loading">
                   <el-option v-for="(item,index) in customerNameList" :key="index" :label="item.name" :value="item.id" />
                 </el-select> -->
@@ -18,7 +18,7 @@
                 </el-autocomplete> -->
 
                 <el-input v-model="tableObj.getdataListParm.parammaps.customerName" placeholder="客户名称" style="width: 180px;" class="filter-item" clearable />
-      
+
                 <el-select v-model="tableObj.getdataListParm.parammaps.groupId" placeholder="集团" class="filter-item" style="width: 120px;" clearable filterable>
                   <el-option v-for="item in groupNameList" :key="item.id" :label="item.name" :value="item.id" />
                 </el-select>
@@ -33,23 +33,21 @@
                 </el-select>
 
                 <el-date-picker v-model="tableObj.getdataListParm.parammaps.inputDatetime" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;" />
-           
-              
+
+
                 <el-button class="successBorder" @click="form_search">查询</el-button>
                 <el-button class="successBorder" @click="form_clear">重置</el-button>
-               
+
                 <el-button v-if="isComplaintAdd" class="success" icon="el-icon-plus" @click="form_add">新增</el-button>
                 <!-- <el-button  class="success" icon="el-icon-upload2" @click="form_export">导出</el-button> -->
-    
+
 
           </el-row>
         </div>
-        
+
 
         </div>
- 
 
-   
 
     <div class="table" >
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" :max-height="myHeight" >
@@ -133,7 +131,7 @@
     <el-dialog :title="textMap[create.dialogStatus]" :visible.sync="create.dialogFormVisible" :close-on-click-modal="false" width="40%">
       <div class="app-add">
         <el-form ref="createTemp" :rules="create.rules" :model="create.temp" label-position="right" label-width="150px" style="width: 80%;margin:0 auto 50px">
-        
+
           <!-- <el-form-item label="客户名称:" prop="customerName">
             <el-autocomplete ref="customerName"  v-model="create.temp.customerName" :fetch-suggestions="customer_search" placeholder="客户名称" style="width: 100%;margin-right:10px" @select="changeCustomer" v-if="create.dialogStatus=='create' || create.dialogStatus=='update'" @clear="clear_customer_selectTemp" @blur="customer_search_blurTemp" clearable>
               <template slot-scope="{ item }">
@@ -147,7 +145,7 @@
                   <el-option v-for="item in groupNameList" :key="item.id" :label="item.name" :value="item.id" />
               </el-select>
            </el-form-item> -->
-            
+
           <el-form-item label="客户名称:" prop="customerId">
               <el-select v-model="create.temp.customerId" filterable placeholder="客户名称" class="filter-item"  style="width: 100%;" clearable @change="change_customer" :disabled="create.dialogStatus=='see' || create.dialogStatus=='update' " >
                   <el-option v-for="item in create.customerNameList" :key="item.id" :label="item.name" :value="item.id" />
@@ -156,7 +154,7 @@
 
           <el-form-item label="集团:" prop="groupName">
             <el-input ref="groupName" v-model="create.temp.groupName" class="filter-item" style="width: 100%;" disabled />
-          </el-form-item> 
+          </el-form-item>
 
           <el-form-item label="投诉日期:" prop="cdate">
             <el-date-picker v-model="create.temp.cdate" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 100%;" :clearable="false" :disabled="create.dialogStatus=='see'" />
@@ -245,8 +243,7 @@
               <el-form-item label="投诉接收人:" prop="receiverName">
                 <el-input v-model="see.temp.receiverName" type="receiverName" placeholder="" style="width: 100%;" :clearable="false" disabled/>
               </el-form-item>
-           
- 
+
 
               <!-- <el-form-item label="投诉接收人:" prop="receiverId">
                 <el-select ref="receiverId" v-model="see.temp.receiverId" filterable placeholder="请选择投诉接收人" class="filter-item" style="width: 100%;" disabled>
@@ -442,7 +439,7 @@ export default {
           returntype: 'Map',
           parammaps: { groupId: "" }
         },
-        customerNameList:[], 
+        customerNameList:[],
         // 投诉人
         getdataListParm: {
           name: 'getContacts',
@@ -564,7 +561,6 @@ export default {
     get_select_list() {
 
 
-
       GetDataByNames(this.send_select_list).then(response => {
         this.create.customerNameList = response.data.getCustomerSelect.list
         console.log("客户名称下拉框", this.create.customerNameList)
@@ -608,15 +604,15 @@ export default {
                   if(row.statusName == '未处理' && me.isComplaintDeal){
                     itemBtnNum = itemBtnNum + 1
                   }
-                 
-                   
+
+
                   console.log(itemBtnNum)
                   if(itemBtnNum > btnNum){
                     btnNum = itemBtnNum
                   }
               })
               console.log("btnNum=============",btnNum)
-              me.autoWidth = btnNum * 90  
+              me.autoWidth = btnNum * 90
 
 
         } else {
@@ -725,7 +721,7 @@ export default {
       this.create.temp.customerName = ""
       this.create.temp.customerId = ""
       this.create.customerNameList = []
-      
+
       this.get_customer_list()
       this.$forceUpdate();
 
@@ -746,8 +742,8 @@ export default {
     //监听 - 下拉中客户名称
     change_customer(item) {
       console.log(item)
-      this.create.temp.customerId = item 
- 
+      this.create.temp.customerId = item
+
       this.create.getdataListParm.parammaps.customerId = item
       this.getProposerNameList()
 
@@ -766,11 +762,11 @@ export default {
 
         console.log(response)
         if (response.data.list !== null) {
-           me.create.temp.groupName = response.data.list[0].groupName 
-           me.create.temp.groupId = response.data.list[0].groupId 
+           me.create.temp.groupName = response.data.list[0].groupName
+           me.create.temp.groupId = response.data.list[0].groupId
         } else {
-           me.create.temp.groupName = "" 
-           me.create.temp.groupId = "" 
+           me.create.temp.groupName = ""
+           me.create.temp.groupId = ""
         }
       })
     },
@@ -912,7 +908,6 @@ export default {
           console.log('新增保存发送参数 ', send_data)
 
 
-
           ExecDataByConfig(send_data).then(response => {
             if (response.msg !== 'fail') {
               this.$notify({ title: '成功', message: '保存成功', type: 'success', duration: 2000 })
@@ -974,7 +969,6 @@ export default {
     },
 
 
-
     // 编辑保存
     form_edit_save() {
       this.isokDisable = true
@@ -1136,9 +1130,9 @@ export default {
 
     // 导出
     form_export(item) {
-       
+
        this.download.getdataListParm.parammaps = this.tableObj.getdataListParm.parammaps
-    
+
        GetDataByName(this.download.getdataListParm).then(response => {
          if (response.data.list !== null) {
            this.download.list = response.data.list
@@ -1155,7 +1149,7 @@ export default {
          ]
          json2excel(excelDatas, '投诉处理', true, 'xlsx')
        })
- 
+
      },
 
     // 导入

+ 10 - 12
src/views/businessManagement/deliveryRecord/index.vue

@@ -154,10 +154,8 @@
                 </el-dropdown>
             </el-col>
           </el-row>
-      
-          
-    
-          
+
+
         </div> -->
     </div>
 
@@ -527,7 +525,7 @@
                 </el-form-item>
               </el-row>
 
-              <!-- <el-row>              
+              <!-- <el-row>
                     <el-form-item label="收件人姓名:" prop="receiverName">
                       <el-input ref="receiverName" v-model="create.temp.receiverName" class="filter-item" style="width: 100%;"  placeholder="请输入收件人姓名" :disabled="create.dialogStatus=='see'" />
                     </el-form-item>
@@ -896,10 +894,10 @@
 
                 </el-row> -->
 
-              <!-- <el-row>   
+              <!-- <el-row>
                   <div class="table">
                     <el-table  key="0"  :data="tableStockList" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed">
-                
+
                           <el-table-column label="序号" align="center" type="index" width="50px">
                             <template slot-scope="scope">
                               <span>{{ scope.row.sort  }}</span>
@@ -930,8 +928,8 @@
                               <span>{{ scope.row.productsName }}</span>
                             </template>
                           </el-table-column>
-                          
-                          
+
+
                           <el-table-column label="数量" min-width="110px" align="center">
                             <template slot-scope="scope">
                               <span v-if="create.dialogStatus == 'see'">{{ scope.row.nums }}</span>
@@ -960,10 +958,10 @@
                             <template slot-scope="{row}">
                               <el-button v-if="create.dialogStatus == 'update' ||  create.dialogStatus == 'create' " class="miniDanger" @click="stock_delete(row)">删除</el-button>
                             </template>
-                          </el-table-column>  
-               
+                          </el-table-column>
+
                     </el-table>
-                     
+
                   </div>
                 </el-row> -->
 

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 108 - 198
src/views/businessManagement/deliveryRecord/index20240612.vue


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 108 - 192
src/views/businessManagement/deliveryRecord/index20240722.vue


+ 6 - 6
src/views/businessManagement/expensesApply/index.vue

@@ -245,19 +245,19 @@
               placement="right"
               width="400"
               trigger="click">
-              
+
               <div class="app-add">
                 <el-row>
-                     
-                          <el-image style="width: 350px; height: 350px;display:inline-block"  :src="scope.row.picname1"></el-image> 
-                       
+
+                          <el-image style="width: 350px; height: 350px;display:inline-block"  :src="scope.row.picname1"></el-image>
+
                   </el-row>
      1111
               </div>
-    
+
               <el-button slot="reference">查看</el-button>
             </el-popover>
- 
+
           </template>
         </el-table-column> -->
 

+ 4 - 4
src/views/businessManagement/expressReception/index.vue

@@ -62,7 +62,7 @@
               <el-button v-if="isRoleEdit" class="success" icon="el-icon-plus" @click="form_add">新增</el-button>
             </el-col>
             <el-col :span="3">
-                
+
             </el-col>
           </el-row>
         </div> -->
@@ -256,14 +256,14 @@
                   </el-select>
               </el-form-item> -->
               <!-- <el-form-item label="客户名称:" prop="customerName" >
-           
+
             <el-autocomplete ref="customerName" v-model="create.temp.customerName" :fetch-suggestions="customer_search" placeholder="客户名称" style="width: 100%;margin-right:10px" @select="changeCustomer" :disabled="create.dialogStatus=='see' || create.dialogStatus=='update'" @clear="clear_customer_selectTemp" @blur="customer_search_blurTemp" clearable >
               <template slot-scope="{ item }">
                 <span class="name">{{ item.name }}</span>
               </template>
             </el-autocomplete>
-          
-            
+
+
           </el-form-item> -->
             </el-col>
             <el-col :span="12">

+ 65 - 106
src/views/businessManagement/problemFeed/index.vue

@@ -4,17 +4,15 @@
     <div class = "search-bx"  >
         <div class="search">
           <el-row :gutter="0">
-         
+
               <el-button v-if="isBusinesstravelAdd" class="success" icon="el-icon-plus" @click="form_add">新增</el-button>
-    
-            
+
+
           </el-row>
         </div>
-        
-    </div>
 
+    </div>
 
- 
 
     <div class="table"  >
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed">
@@ -49,23 +47,21 @@
             <span>{{ scope.row.planBeginDate  }}</span>
           </template>
         </el-table-column>
-       
+
         <el-table-column label="备注" min-width="120px" align="center" show-overflow-tooltip>
           <template slot-scope="scope">
             <span>{{ scope.row.remark }}</span>
           </template>
         </el-table-column>
-      
+
         <el-table-column label="操作" align="center"  :width="autoWidth"  v-if="autoWidth !== 0"    class-name="small-padding fixed-width" fixed="right">
           <template slot-scope="{row}">
-           
-      
+
+
             <el-button class="miniSuccess" @click="form_edit(row)"  v-if="isBusinesstravelAdd ">编辑</el-button>
             <el-button class="miniDanger" @click="form_delete(row)" v-if="isBusinesstravelAdd  ">删除</el-button>
- 
- 
 
-          
+
           </template>
         </el-table-column>
       </el-table>
@@ -87,24 +83,17 @@
           <el-form-item label="项目名称" prop="adress"  >
             <el-input ref="adress" v-model="create.temp.adress"   class="filter-item" style="width: 100%;"  :disabled="create.dialogStatus=='see'"   />
           </el-form-item>
- 
+
 
            <el-form-item label="日期:" prop="serviceCost">
             <el-input ref="serviceCost" v-model="create.temp.serviceCost"  placeholder="请输入"   class="filter-item" style="width: 100%;"  disabled  />
           </el-form-item>
 
- 
-        
-            
-         
-        
 
-         
           <el-form-item label="备注:" prop="remark">
             <el-input ref="remark" v-model="create.temp.remark" type="textarea" :autosize="{ minRows: 4, maxRows: 8} "  :rows="8" placeholder="请输入备注,最多200个字" maxlength="200" class="filter-item" style="width: 100%;" :disabled="create.dialogStatus=='see'" />
           </el-form-item>
 
- 
 
         </el-form>
         <div slot="footer" class="dialog-footer">
@@ -114,9 +103,7 @@
       </div>
     </el-dialog>
 
-   
 
-   
   </div>
 </template>
 
@@ -139,37 +126,33 @@ export default {
         { name: 'getCustomerSelect', offset: 0, pagecount: 0, parammaps: {} },
         { name: 'getDictListSelect1', offset: 0, pagecount: 0, parammaps: { "pid": "54" } },
         { name: 'getUserFuzzy', offset: 0, pagecount: 0, parammaps: { "inputvalue": "" } },
- 
+
       ],
 
       // 下拉框 - 客户名称
-      customerNameList: [],  
+      customerNameList: [],
 
        // 下拉框 - 集团
-      groupNameList: [],  
-
+      groupNameList: [],
 
 
       // 下拉框 - 出差人
-   
-      empNameList: [], 
-      
+
+      empNameList: [],
+
       // 下拉框 - 出差单
       statusNameList: [
-        { "name": "草稿", "id": "草稿" }, 
-        { "name": "一审中", "id": "一审中" }, 
-        { "name": "二审中", "id": "二审中" }, 
-        { "name": "三审中", "id": "三审中" }, 
-        { "name": "审核通过", "id": "审核通过" }, 
-        { "name": "已撤销", "id": "已撤销" }, 
-        { "name": "被驳回", "id": "被驳回" }, 
+        { "name": "草稿", "id": "草稿" },
+        { "name": "一审中", "id": "一审中" },
+        { "name": "二审中", "id": "二审中" },
+        { "name": "三审中", "id": "三审中" },
+        { "name": "审核通过", "id": "审核通过" },
+        { "name": "已撤销", "id": "已撤销" },
+        { "name": "被驳回", "id": "被驳回" },
       ],
 
 
-
- 
-
-      //表格 - 列表 - 查询 
+      //表格 - 列表 - 查询
       tableObj: {
         getdataListParm: {
           name: 'getBusinessTravel',
@@ -180,8 +163,8 @@ export default {
           parammaps: {
             roleId: Cookies.get('g_roleId'),
             userId: Cookies.get('g_userId'),
-            
-             
+
+
           }
         },
         tableKey: 0,
@@ -206,8 +189,8 @@ export default {
           parammaps: {
             roleId: Cookies.get('g_roleId'),
             userId: Cookies.get('g_userId'),
-           
-             
+
+
           }
         },
         tableKey: 0,
@@ -225,7 +208,7 @@ export default {
         dialogFormVisible: false,
         dialogStatus: '',
         temp: { customerId: '', groupId: '', groupName: '', employeeId: '', inputDatetime2: "", planBeginDate: "", planSuccessDate: "",   serviceCost: '', adress: '', reason: '', adress: '',remark: '', modifyName: '', id: ''  },
-   
+
         rules: {
           // customerId: [{ required: true, message: '必填', trigger: 'blur' }],
           //  groupId: [{ required: true, message: '必填', trigger: 'blur' }],
@@ -234,24 +217,19 @@ export default {
            inputDatetime2: [{ required: true, message: '必填', trigger: 'blur' }],
           // content: [{ type: 'string', required: true, message: '必填', trigger: 'blur' }],
         },
- 
+
         // 客户名称
         getdataListParmCust: {
           name: 'getCustomerByGroupId',
           returntype: 'Map',
           parammaps: { groupId: "" }
         },
-        customerNameList:[], 
-         
+        customerNameList:[],
+
 
       },
-   
 
- 
 
-     
-     
-   
       textMap: {
         create: '新增',
         see: '查看',
@@ -284,7 +262,7 @@ export default {
       this.isBusinesstravelAdd = isBusinesstravelAdd
 
       //操作的宽度
-    // var widthCount = calculativeWidth(isBusinesstravelAdd,isBusinesstravelAdd)   
+    // var widthCount = calculativeWidth(isBusinesstravelAdd,isBusinesstravelAdd)
     // this.autoWidth = widthCount
     },
     //获取所有下拉框的内容
@@ -297,14 +275,14 @@ export default {
 
         this.empNameList = response.data.getUserFuzzy.list
         console.log("出差人下拉框", this.empNameList)
-         
+
       })
 
     },
     //加载表格
     get_table_data() {
       var me = this
- 
+
       this.tableObj.listLoading = true
       console.log("this.tableObj.getdataListParm======>", this.tableObj.getdataListParm)
       GetDataByName(this.tableObj.getdataListParm).then(response => {
@@ -330,15 +308,15 @@ export default {
                   if(me.isBusinesstravelAdd && row.isRevoke  == '1'){
                     itemBtnNum = itemBtnNum + 1
                   }
-                 
-                   
+
+
                   console.log(itemBtnNum)
                   if(itemBtnNum > btnNum){
                     btnNum = itemBtnNum
                   }
               })
               console.log("btnNum=============",btnNum)
-              me.autoWidth = btnNum * 90  
+              me.autoWidth = btnNum * 90
 
         } else {
           this.tableObj.list = []
@@ -393,11 +371,11 @@ export default {
         this.tableObj.getdataListParm.parammaps.endPlanSuccessDate = ''
       }
 
-   
+
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
     },
- 
+
     // 新增
     form_reset() {
       this.create.temp = { customerId: '',customerName: "", groupId: '', groupName: '', employeeId: '', inputDatetime2: "", planBeginDate: "", planSuccessDate: "",   serviceCost: '', adress: '', reason: '', adress: '',remark: '', modifyName: '', id: ''  }
@@ -409,7 +387,7 @@ export default {
       this.tableObj.getdataListParm.parammaps.customerName = ""
       this.customerNameList = []
     },
- 
+
     //模糊查询客户
     customer_search(queryString, cb) {
       console.log('模糊查询输入值', queryString)
@@ -444,7 +422,7 @@ export default {
       this.create.temp.customerName = ""
       this.create.temp.customerId = ""
       this.create.customerNameList = []
-      
+
       this.get_customer_list()
       this.$forceUpdate();
 
@@ -465,13 +443,13 @@ export default {
     //监听 - 下拉中客户名称
     change_customer(item) {
       console.log(item)
-      this.create.temp.customerId = item 
- 
+      this.create.temp.customerId = item
+
       this.create.temp.visitId = ""
       this.create.temp.telvisitId = ""
 
       this.get_groupName(item)
-  
+
 
     },
 
@@ -485,27 +463,22 @@ export default {
 
         console.log(response)
         if (response.data.list !== null) {
-           me.create.temp.groupName = response.data.list[0].groupName 
-           me.create.temp.groupId = response.data.list[0].groupId 
+           me.create.temp.groupName = response.data.list[0].groupName
+           me.create.temp.groupId = response.data.list[0].groupId
         } else {
-           me.create.temp.groupName = "" 
-           me.create.temp.groupId = "" 
+           me.create.temp.groupName = ""
+           me.create.temp.groupId = ""
         }
       })
     },
 
 
-  
- 
-
-
     //监听 - 下拉中客户对接人
     changeReceiver(item) {
       this.create.temp.receiverName = this.create.receiverNameList.find(obj => obj.id === item).name
     },
 
 
-
     //新增
     form_add() {
       console.log('点击了新增')
@@ -528,7 +501,6 @@ export default {
           }, 1000)
 
 
- 
           this.create.temp.createrId = Cookies.get('employeid')
           this.create.temp.employeeId = Cookies.get('employeid')
 
@@ -542,7 +514,6 @@ export default {
           }
 
 
-
           var send_data =  {
             name: 'insertBusinessTravel',
             parammaps:  this.create.temp
@@ -552,7 +523,6 @@ export default {
           console.log('新增保存发送参数', send_data)
 
 
-
             this.$confirm('是否提交审核?', '提示', {
               confirmButtonText: '确定',
               cancelButtonText: '取消',
@@ -577,38 +547,35 @@ export default {
               this.$message({
                 type: 'info',
                 message: '已取消'
-              });          
+              });
             })
 
-          
+
         }
       })
     },
     // 查看
     form_see(row) {
-      
+
 
       console.log('点击了查看',row)
         // this.$router.push({ name: 'problemFeedDetail', params: { rowData: row, isHome: 'home',codeNum:1 }})
 
       //这里把详情放同一个页面里切换写吧。。。。不要走路由,这个页面先暂停
       // this.$router.push({path: '/backend/order', query: {selected: "2"}});
-      
+
       // this.$router.push({ name: '/businessManagement/problemFeedDetail/index', query:{stage: 111}})
       // this.create.temp = Object.assign({}, row)
       // this.create.temp.inputDatetime2 = [row.planBeginDate, row.planSuccessDate]
- 
+
 
       // this.create.temp.id = row.id
       // this.create.dialogStatus = 'see'
       // this.create.dialogFormVisible = true
 
 
-    
     },
 
- 
-
 
     // 编辑
     form_edit(row) {
@@ -618,8 +585,7 @@ export default {
 
       // this.create.getdataListParmCust.parammaps.groupId = row.groupId
       // this.get_customer_list()
- 
- 
+
 
       this.create.temp.id = row.id
       this.create.dialogStatus = 'update'
@@ -652,7 +618,6 @@ export default {
           }
 
 
-
           var send_data =  {
             name: 'updateBusinessTravel',
             parammaps:  this.create.temp
@@ -662,7 +627,6 @@ export default {
           console.log('编辑保存发送参数', send_data)
 
 
-
             this.$confirm('是否提交审核?', '提示', {
               confirmButtonText: '确定',
               cancelButtonText: '取消',
@@ -687,7 +651,7 @@ export default {
               this.$message({
                 type: 'info',
                 message: '已取消'
-              });          
+              });
             })
 
 
@@ -700,14 +664,14 @@ export default {
       MessageBox.confirm('是否确认删除此信息?', {
         confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning'
       }).then(() => {
-  
+
           var send_data =  {
             name: 'delBusinessTravel',
             parammaps:  {
               id: row.id
-            } 
+            }
           }
- 
+
         PostDataByName(send_data).then(response => {
           if (response.msg === 'fail') {
             this.$notify({ title: '删除失败', message: response.data, type: 'warning', duration: 2000 })
@@ -721,17 +685,12 @@ export default {
       })
     },
 
-    
-
-  
-
- 
 
     // 导出
     form_export(item) {
-       
+
        this.download.getdataListParm.parammaps = this.tableObj.getdataListParm.parammaps
-    
+
        GetDataByName(this.download.getdataListParm).then(response => {
          if (response.data.list !== null) {
            this.download.list = response.data.list
@@ -748,7 +707,7 @@ export default {
          ]
          json2excel(excelDatas, '出差申请', true, 'xlsx')
        })
- 
+
      },
 
     // 导入
@@ -768,7 +727,7 @@ export default {
 
                         }
                       }
-                      
+
                       GetDataByName(send_weixin_data1).then(response => {
                         console.log('微信推送(获取参数)======>', response )
                         if (response.data.message == 'ok') {
@@ -784,12 +743,12 @@ export default {
                             "content": [
                               { "color": "#173177","value": value1 },
                               { "color": "#173177", "value": value2 },
-                              { "color": "#173177", "value": value3 }, 
+                              { "color": "#173177", "value": value3 },
                               { "color": "#173177","value": value4 }
                             ]
                           }
 
-                          
+
                             wxpush(send_weixin_data2).then(response => {
                               console.log('微信推送(获取参数)======>', response )
                             })

+ 33 - 53
src/views/businessManagement/problemFeedDetail/index.vue

@@ -2,12 +2,11 @@
   <div class="app-container">
 
 
-    
     <div class = "search-bx"  >
         <div class="search">
           <el-row :gutter="0">
             <el-col :span="20">
-               
+
 
                <!-- <el-autocomplete v-model="tableObj.getdataListParm.parammaps.customerName" :fetch-suggestions="customer_search" placeholder="客户名称" style="width: 200px;margin-right:10px" @select="change_customer_select" @clear="clear_customer_select" @blur="customer_search_blur" clearable>
                   <template slot-scope="{ item }">
@@ -15,7 +14,7 @@
                   </template>
                 </el-autocomplete> -->
 
-                
+
                 <el-input v-model="tableObj.getdataListParm.parammaps.customerName" placeholder="客户名称" style="width: 180px;" class="filter-item" clearable />
 
                 <el-select v-model="tableObj.getdataListParm.parammaps.groupId" placeholder="集团" class="filter-item" style="width: 120px;" clearable>
@@ -30,11 +29,10 @@
 
                 <el-date-picker v-model="tableObj.getdataListParm.parammaps.inputDatetime" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;" />
 
-            
 
             </el-col>
             <el-col :span="4">
-              <el-row :gutter="0" style = "padding-bottom:10px;padding-right:20px;text-align:right;"> 
+              <el-row :gutter="0" style = "padding-bottom:10px;padding-right:20px;text-align:right;">
                 <el-button class="successBorder" @click="form_search">查询</el-button>
                 <el-button class="successBorder" @click="form_clear">重置</el-button>
               </el-row>
@@ -52,15 +50,13 @@
               <el-button v-if="isRoleEdit" class="success" icon="el-icon-plus" @click="form_add">新增</el-button>
             </el-col>
             <el-col :span="3">
-                
+
             </el-col>
           </el-row>
         </div> -->
     </div>
 
 
-  
-
     <div class="table"  style="margin-top:100px">
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed">
         <!-- <el-table-column type="selection" align="center" width="50" /> -->
@@ -132,15 +128,15 @@
       <div class="app-add">
         <el-form ref="temp" :rules="create.rules" :model="create.temp" label-position="right" label-width="150px" style="width: 80%;margin:0 auto 50px">
           <!-- <el-form-item label="客户名称:" prop="customerName">
-            
+
 
             <el-autocomplete v-model="create.temp.customerName" :fetch-suggestions="customer_search" placeholder="客户名称" style="width: 100%;margin-right:10px" @select="changeCustomer" v-if="create.dialogStatus=='create'" @clear="clear_customer_selectTemp" @blur="customer_search_blurTemp" clearable>
               <template slot-scope="{ item }">
                 <span class="name">{{ item.name }}</span>
               </template>
             </el-autocomplete>
-            <el-input ref="customerName" v-model="create.temp.customerName" class="filter-item" style="width: 100%;" disabled v-else/> 
-          
+            <el-input ref="customerName" v-model="create.temp.customerName" class="filter-item" style="width: 100%;" disabled v-else/>
+
           </el-form-item> -->
 
           <!-- <el-form-item label="所属集团:" prop="groupId">
@@ -148,7 +144,7 @@
                   <el-option v-for="item in groupNameList" :key="item.id" :label="item.name" :value="item.id" />
               </el-select>
            </el-form-item> -->
-            
+
           <el-form-item label="客户名称:" prop="customerId">
               <el-select v-model="create.temp.customerId" filterable placeholder="客户名称" class="filter-item"  style="width: 100%;" clearable @change="change_customer" :disabled="create.dialogStatus=='see' || create.dialogStatus=='update' || isHome=='home' " >
                   <el-option v-for="item in create.customerNameList" :key="item.id" :label="item.name" :value="item.id" />
@@ -249,7 +245,6 @@ export default {
 
       employeid: Cookies.get('employeid'),
 
-    
 
       send_select_list: [
         { name: 'getCustomerSelect', offset: 0, pagecount: 0, parammaps: {} },
@@ -265,7 +260,7 @@ export default {
       receiverNameList: [],
       nextNameList: [],
 
-      //表格请求参数~~ 
+      //表格请求参数~~
       tableObj: {
         getdataListParm: {
           name: 'getVisit',
@@ -351,7 +346,7 @@ export default {
           returntype: 'Map',
           parammaps: { groupId: "" }
         },
-        customerNameList:[], 
+        customerNameList:[],
         // 集团
         getdataListParm2: {
           name: 'getgroupNameById',
@@ -405,10 +400,10 @@ export default {
     if(isHome == 'home'){
       this.rowData = rowData
       this.isHome = isHome
-     
- 
+
+
         this.form_add()
-  
+
     } else {
       this.rowData = {}
       this.isHome = ""
@@ -459,7 +454,6 @@ export default {
     },
 
 
-
     //图片展示
     handlePicPreview(file) {
       this.dialogImageUrl = file.url
@@ -482,7 +476,6 @@ export default {
       }
 
 
-
       if (this.create.temp.vPhoto1 === undefined || this.create.temp.vPhoto1 == -1) {
         console.log("111")
         this.create.temp.vPhoto1 = response.execresult.LastInsertId
@@ -638,7 +631,7 @@ export default {
         console.log("拜访人下拉框", this.visiterNameList)
         // this.receiverNameList = response.data.getContacts.list
         // console.log("接待人下拉框", this.receiverNameList)
-        
+
         this.nextNameList = response.data.getDictListSelect4.list
         console.log("下一步下拉框", this.nextNameList)
       })
@@ -730,8 +723,7 @@ export default {
       if(document.getElementById('uploadPic').lastChild){
         document.getElementById('uploadPic').lastChild.style.display = "inline-block"
       }
-      
-    
+
 
     },
 
@@ -746,7 +738,7 @@ export default {
       this.create.temp.customerName = ""
       this.create.temp.customerId = ""
       this.create.customerNameList = []
-      
+
       this.get_customer_list()
       this.$forceUpdate();
 
@@ -767,9 +759,9 @@ export default {
     //监听 - 下拉中客户名称
     change_customer(item) {
       console.log(item)
-      this.create.temp.customerId = item 
- 
- 
+      this.create.temp.customerId = item
+
+
       this.create.getdataListParm0.parammaps.customerId = item
       this.getReceiverNameList()
       this.get_groupName(item)
@@ -785,11 +777,11 @@ export default {
 
         console.log(response)
         if (response.data.list !== null) {
-           me.create.temp.groupName = response.data.list[0].groupName 
-           me.create.temp.groupId = response.data.list[0].groupId 
+           me.create.temp.groupName = response.data.list[0].groupName
+           me.create.temp.groupId = response.data.list[0].groupId
         } else {
-           me.create.temp.groupName = "" 
-           me.create.temp.groupId = "" 
+           me.create.temp.groupName = ""
+           me.create.temp.groupId = ""
         }
       })
     },
@@ -859,18 +851,17 @@ export default {
     form_add() {
       console.log('点击了新增')
 
-      
 
       this.create.dialogStatus = 'create'
       this.create.dialogFormVisible = true
-      
+
       this.$nextTick(() => {
       //需要执行的内容
         this.form_reset()
-     
+
         //首页跳过来的新增,要带出客户信息
         if(this.isHome == "home"){
-    
+
             this.create.temp.groupId = this.rowData.groupId
             this.create.temp.customerId = this.rowData.customerId
             this.create.temp.groupName = this.rowData.groupName
@@ -883,11 +874,6 @@ export default {
       })
 
 
-
-      
-      
-      
-      
     },
 
 
@@ -993,7 +979,7 @@ export default {
 
                 if(this.isHome == 'home'){
                   // 回到首页
-                   this.$router.push({ name: 'Dashboard', params: { isTodo: 'visit' }})   
+                   this.$router.push({ name: 'Dashboard', params: { isTodo: 'visit' }})
                 }
               } else {
                 this.$notify({ title: '失败', message: '保存失败' + response.data, type: 'error', duration: 2000 })
@@ -1022,7 +1008,6 @@ export default {
       this.create.temp.id = row.id
 
 
-
       // 现场照片
       const urlArray = []
       const urlArrayId = []
@@ -1084,15 +1069,14 @@ export default {
       console.log("fileList", fileList)
 
 
-
       this.create.dialogStatus = 'see'
       this.create.dialogFormVisible = true
 
       this.$nextTick(() => {
-        
-    
+
+
           document.getElementById('uploadPic').lastChild.style.display = "none"
-        
+
       });
 
     },
@@ -1174,7 +1158,6 @@ export default {
       console.log("fileList", fileList)
 
 
-
       this.create.dialogStatus = 'update'
       this.create.dialogFormVisible = true
 
@@ -1216,7 +1199,6 @@ export default {
           this.requestParam.parammaps = this.create.temp
 
 
-
           this.create.temp.receiverId2 = ""
 
           var send_data = {
@@ -1271,7 +1253,6 @@ export default {
           console.log('编辑保存发送参数 ', send_data)
 
 
-
           if (this.create.temp.vPhoto1 == "-1") {
             var isEmpty = true
           } else {
@@ -1327,16 +1308,16 @@ export default {
       this.get_table_data()
       if(this.isHome == 'home'){
        // 返回首页
-       this.$router.push({ name: 'Dashboard', params: { isTodo: 'visit' }})   
+       this.$router.push({ name: 'Dashboard', params: { isTodo: 'visit' }})
       }
     },
 
 
     // 导出
     form_export(item) {
-       
+
       this.download.getdataListParm.parammaps = this.tableObj.getdataListParm.parammaps
-   
+
       GetDataByName(this.download.getdataListParm).then(response => {
         if (response.data.list !== null) {
           this.download.list = response.data.list
@@ -1356,7 +1337,6 @@ export default {
 
     },
 
- 
 
     // 导入
     form_inport() {

+ 1 - 1
src/views/businessManagement/remoteService/index.vue

@@ -177,7 +177,7 @@
                 </el-dropdown>
             </el-col>
           </el-row>
- 
+
         </div> -->
     </div>
 

+ 4 - 4
src/views/businessManagement/repairService/index.vue

@@ -424,16 +424,16 @@
           fixed="right"
         >
           <template slot-scope="{ row }">
-            <!-- <el-button class="miniPrimary" @click="form_see(row)" 
+            <!-- <el-button class="miniPrimary" @click="form_see(row)"
             >服务反馈</el-button>
-            <el-button class="miniSuccess" @click="form_edit(row)" 
+            <el-button class="miniSuccess" @click="form_edit(row)"
             >编辑</el-button>
-            <el-button class="miniDanger" @click="form_delete(row)" 
+            <el-button class="miniDanger" @click="form_delete(row)"
             >删除</el-button>
             <el-button class="miniSuccess" @click="form_complete(row)"
             >完成</el-button>
 
-            <el-button class="miniSuccess" @click="form_revoke(row)" 
+            <el-button class="miniSuccess" @click="form_revoke(row)"
             >撤销</el-button> -->
 
             <el-button

+ 1 - 1
src/views/businessManagement/siteService/index.vue

@@ -184,7 +184,7 @@
                 </el-dropdown>
             </el-col>
           </el-row>
- 
+
         </div> -->
     </div>
 

+ 4 - 4
src/views/businessManagement/stockNotice/index.vue

@@ -140,7 +140,7 @@
           <el-col :span="21">
             <el-button v-if="isRoleEdit" class="success" icon="el-icon-plus" @click="form_add">新增</el-button>
           </el-col>
-           
+
         </el-row>
       </div> -->
     </div>
@@ -469,14 +469,14 @@
 
               <el-row>
                 <!-- <el-form-item label="客户名称:" prop="customerName">
-     
+
                       <el-autocomplete ref="customerName" v-model="create.temp.customerName" :fetch-suggestions="customer_search" placeholder="客户名称" style="width: 100%;margin-right:10px" @select="changeCustomer" :disabled="create.dialogStatus=='see' || create.dialogStatus=='update'" @clear="clear_customer_selectTemp" @blur="customer_search_blurTemp" clearable >
                         <template slot-scope="{ item }">
                           <span class="name">{{ item.name }}</span>
                         </template>
                       </el-autocomplete>
-                    
-                      
+
+
                     </el-form-item> -->
                 <!-- <el-form-item label="客户名称:" prop="customerName">
                         <el-autocomplete v-model="create.temp.customerName" :fetch-suggestions="customer_search" placeholder="客户名称" style="width: 100%;margin-right:10px" @select="changeCustomer" v-if="create.dialogStatus=='create'" @clear="clear_customer_selectTemp" @blur="customer_search_blurTemp" clearable>

+ 31 - 38
src/views/businessManagement/telephoneFollow/index.vue

@@ -5,7 +5,7 @@
     <div class = "search-bx"  >
         <div class="search">
           <el-row :gutter="0">
-             
+
 
               <el-input v-model="tableObj.getdataListParm.parammaps.telVisitCode" placeholder="回访单号" style="width: 180px;padding-bottom:10px;" class="filter-item" clearable />
 
@@ -30,7 +30,7 @@
               </el-select>
 
               <el-input v-model="tableObj.getdataListParm.parammaps.receiverName" placeholder="被回访人" style="width: 180px;padding-bottom:10px;" class="filter-item" clearable />
-<!-- 
+<!--
               <el-select v-model="tableObj.getdataListParm.parammaps.receiverName" placeholder="被回访人" class="filter-item" style="width: 120px;" clearable filterable>
                 <el-option v-for="(item,index) in receiverNameList" :key="index" :label="item.name" :value="item.name" />
               </el-select> -->
@@ -45,15 +45,14 @@
 
               <el-date-picker v-model="tableObj.getdataListParm.parammaps.inputDatetime" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;" />
 
-     
-            
+
                 <el-button class="successBorder" @click="form_search">查询</el-button>
                 <el-button class="successBorder" @click="form_clear">重置</el-button>
-     
-         
+
+
                 <el-button v-if="isTelephoneAdd" class="success" icon="el-icon-plus" @click="form_add">新增</el-button>
                 <!-- <el-button  class="success" icon="el-icon-upload2" @click="form_export">导出</el-button> -->
-              
+
           </el-row>
         </div>
 
@@ -63,17 +62,13 @@
               <el-button v-if="isRoleEdit" class="success" icon="el-icon-plus" @click="form_add">新增</el-button>
             </el-col>
             <el-col :span="3">
-                
+
             </el-col>
           </el-row>
         </div> -->
     </div>
 
 
-  
-
-  
-
     <div class="table"    >
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" :max-height="myHeight" >
         <!-- <el-table-column type="selection" align="center" width="50" /> -->
@@ -155,14 +150,14 @@
       <div class="app-add">
         <el-form ref="temp" :rules="create.rules" :model="create.temp" label-position="right" label-width="150px" style="width: 80%;margin:0 auto 50px">
           <!-- <el-form-item label="客户名称:" prop="customerName">
-         
+
             <el-autocomplete ref="customerName" v-model="create.temp.customerName" :fetch-suggestions="customer_search" placeholder="客户名称" style="width: 100%;margin-right:10px" @select="changeCustomer" :disabled="create.dialogStatus=='see' || create.dialogStatus=='update'" @clear="clear_customer_selectTemp" @blur="customer_search_blurTemp" clearable >
               <template slot-scope="{ item }">
                 <span class="name">{{ item.name }}</span>
               </template>
             </el-autocomplete>
-          
-            
+
+
           </el-form-item>
           <el-form-item label="集团:" prop="groupName">
             <el-input ref="groupName" v-model="create.temp.groupName" class="filter-item" style="width: 100%;" disabled/>
@@ -172,7 +167,7 @@
                   <el-option v-for="item in groupNameList" :key="item.id" :label="item.name" :value="item.id" />
               </el-select>
            </el-form-item> -->
-            
+
           <el-form-item label="客户名称:" prop="customerId">
               <el-select v-model="create.temp.customerId" filterable placeholder="客户名称" class="filter-item"  style="width: 100%;" clearable @change="change_customer" :disabled="create.dialogStatus=='see' || create.dialogStatus=='update' || isHome=='home'  " >
                   <el-option v-for="item in create.customerNameList" :key="item.id" :label="item.name" :value="item.id" />
@@ -253,7 +248,7 @@ export default {
       myHeight:document.documentElement.clientHeight - 85 - 160,
 
       rowData:{},
-      isHome:"", 
+      isHome:"",
 
       employeid: Cookies.get('employeid'),
       isTelephoneAdd: [],  isRoleEdit: [],
@@ -277,7 +272,7 @@ export default {
       nextNameList: [],
 
 
-      //表格请求参数~~ 
+      //表格请求参数~~
       tableObj: {
         getdataListParm: {
           name: 'getTelvisit',
@@ -374,7 +369,7 @@ export default {
           returntype: 'Map',
           parammaps: { groupId: "" }
         },
-        customerNameList:[], 
+        customerNameList:[],
         // 接待人电话
         getdataListParm3: {
           name: 'getTelById',
@@ -486,7 +481,7 @@ export default {
       this.customerNameList = []
     },
     customer_search_blurTemp(item) {
- 
+
       this.create.temp.customerId = ""
       this.create.temp.customerName = ""
       this.create.temp.groupName = ""
@@ -500,7 +495,7 @@ export default {
       console.log('客户名称模糊查询选中值', item)
       this.tableObj.getdataListParm.parammaps.customerId = item.id
       this.tableObj.getdataListParm.parammaps.customerName = item.name
- 
+
 
       var send_data = { name: 'getContacts', returntype: 'Map', parammaps: { customerId: item.id } }
       GetDataByName(send_data).then(response => {
@@ -604,7 +599,7 @@ export default {
       this.create.temp.customerName = ""
       this.create.temp.customerId = ""
       this.create.customerNameList = []
-      
+
       this.get_customer_list()
       this.$forceUpdate();
 
@@ -625,8 +620,8 @@ export default {
     //监听 - 下拉中客户名称
     change_customer(item) {
       console.log(item)
-      this.create.temp.customerId = item 
-  
+      this.create.temp.customerId = item
+
       this.get_groupName(item)
       this.create.getdataListParm.parammaps.customerId = item
       this.getReceiverNameList()
@@ -643,11 +638,11 @@ export default {
 
         console.log(response)
         if (response.data.list !== null) {
-           me.create.temp.groupName = response.data.list[0].groupName 
-           me.create.temp.groupId = response.data.list[0].groupId 
+           me.create.temp.groupName = response.data.list[0].groupName
+           me.create.temp.groupId = response.data.list[0].groupId
         } else {
-           me.create.temp.groupName = "" 
-           me.create.temp.groupId = "" 
+           me.create.temp.groupName = ""
+           me.create.temp.groupId = ""
         }
       })
     },
@@ -662,14 +657,13 @@ export default {
 
        this.$forceUpdate();
 
-      
 
       this.create.getdataListParm.parammaps.customerId = item.id
       this.getReceiverNameList()
       this.create.getdataListParm2.parammaps.id = item.id
       this.getGroupNameId()
 
-   
+
     },
 
     clear_customer_selectTemp(item) {
@@ -747,7 +741,7 @@ export default {
         }
       })
 
- 
+
     },
     //新增保存
     add_dialog_save() {
@@ -837,7 +831,7 @@ export default {
 
                 if(this.isHome == 'home'){
                   // 回到首页
-                   this.$router.push({ name: 'Dashboard', params: { isTodo: 'telephone' }})   
+                   this.$router.push({ name: 'Dashboard', params: { isTodo: 'telephone' }})
                 }
               } else {
                 this.$notify({ title: '失败', message: '保存失败' + response.data, type: 'error', duration: 2000 })
@@ -913,7 +907,6 @@ export default {
           }
 
 
-
           this.create.temp.receiverId2 = ""
           var send_data = {
             "common": { "returnmap": "0" },
@@ -1006,15 +999,15 @@ export default {
       this.get_table_data()
       if(this.isHome == 'home'){
        // 返回首页
-       this.$router.push({ name: 'Dashboard', params: { isTodo: 'telephone' }})   
+       this.$router.push({ name: 'Dashboard', params: { isTodo: 'telephone' }})
       }
     },
-    
+
     // 导出
     form_export(item) {
-       
+
        this.download.getdataListParm.parammaps = this.tableObj.getdataListParm.parammaps
-    
+
        GetDataByName(this.download.getdataListParm).then(response => {
          if (response.data.list !== null) {
            this.download.list = response.data.list
@@ -1031,7 +1024,7 @@ export default {
          ]
          json2excel(excelDatas, '拜访记录', true, 'xlsx')
        })
- 
+
      },
 
     // 导入

+ 33 - 52
src/views/businessManagement/visitRecord/index.vue

@@ -2,11 +2,10 @@
   <div class="app-container">
 
 
-    
     <div class = "search-bx"  >
         <div class="search">
           <el-row>
-               
+
 
                <!-- <el-autocomplete v-model="tableObj.getdataListParm.parammaps.customerName" :fetch-suggestions="customer_search" placeholder="客户名称" style="width: 200px;margin-right:10px" @select="change_customer_select" @clear="clear_customer_select" @blur="customer_search_blur" clearable>
                   <template slot-scope="{ item }">
@@ -14,7 +13,7 @@
                   </template>
                 </el-autocomplete> -->
 
-                
+
                 <el-input v-model="tableObj.getdataListParm.parammaps.customerName" placeholder="客户名称" style="width: 180px;" class="filter-item" clearable />
 
                 <el-select v-model="tableObj.getdataListParm.parammaps.groupId" placeholder="集团" class="filter-item" style="width: 120px;" clearable>
@@ -43,19 +42,17 @@
               <el-button v-if="isRoleEdit" class="success" icon="el-icon-plus" @click="form_add">新增</el-button>
             </el-col>
             <el-col :span="3">
-                
+
             </el-col>
           </el-row>
         </div> -->
     </div>
 
 
-  
-
     <div class="table"   >
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed"  :max-height="myHeight" >
 
-       
+
         <!-- <el-table-column type="selection" align="center" width="50" /> -->
         <el-table-column label="序号" align="center" type="index" width="50px">
           <template slot-scope="scope">
@@ -125,15 +122,15 @@
       <div class="app-add">
         <el-form ref="temp" :rules="create.rules" :model="create.temp" label-position="right" label-width="150px" style="width: 80%;margin:0 auto 50px">
           <!-- <el-form-item label="客户名称:" prop="customerName">
-            
+
 
             <el-autocomplete v-model="create.temp.customerName" :fetch-suggestions="customer_search" placeholder="客户名称" style="width: 100%;margin-right:10px" @select="changeCustomer" v-if="create.dialogStatus=='create'" @clear="clear_customer_selectTemp" @blur="customer_search_blurTemp" clearable>
               <template slot-scope="{ item }">
                 <span class="name">{{ item.name }}</span>
               </template>
             </el-autocomplete>
-            <el-input ref="customerName" v-model="create.temp.customerName" class="filter-item" style="width: 100%;" disabled v-else/> 
-          
+            <el-input ref="customerName" v-model="create.temp.customerName" class="filter-item" style="width: 100%;" disabled v-else/>
+
           </el-form-item> -->
 
           <!-- <el-form-item label="所属集团:" prop="groupId">
@@ -141,7 +138,7 @@
                   <el-option v-for="item in groupNameList" :key="item.id" :label="item.name" :value="item.id" />
               </el-select>
            </el-form-item> -->
-            
+
           <el-form-item label="客户名称:" prop="customerId">
               <el-select v-model="create.temp.customerId" filterable placeholder="客户名称" class="filter-item"  style="width: 100%;" clearable @change="change_customer" :disabled="create.dialogStatus=='see' || create.dialogStatus=='update' || isHome=='home' " >
                   <el-option v-for="item in create.customerNameList" :key="item.id" :label="item.name" :value="item.id" />
@@ -242,7 +239,6 @@ export default {
 
       employeid: Cookies.get('employeid'),
 
-    
 
       send_select_list: [
         { name: 'getCustomerSelect', offset: 0, pagecount: 0, parammaps: {} },
@@ -258,7 +254,7 @@ export default {
       receiverNameList: [],
       nextNameList: [],
 
-      //表格请求参数~~ 
+      //表格请求参数~~
       tableObj: {
         getdataListParm: {
           name: 'getVisit',
@@ -344,7 +340,7 @@ export default {
           returntype: 'Map',
           parammaps: { groupId: "" }
         },
-        customerNameList:[], 
+        customerNameList:[],
         // 集团
         getdataListParm2: {
           name: 'getgroupNameById',
@@ -398,10 +394,10 @@ export default {
     if(isHome == 'home'){
       this.rowData = rowData
       this.isHome = isHome
-     
- 
+
+
         this.form_add()
-  
+
     } else {
       this.rowData = {}
       this.isHome = ""
@@ -452,7 +448,6 @@ export default {
     },
 
 
-
     //图片展示
     handlePicPreview(file) {
       this.dialogImageUrl = file.url
@@ -475,7 +470,6 @@ export default {
       }
 
 
-
       if (this.create.temp.vPhoto1 === undefined || this.create.temp.vPhoto1 == -1) {
         console.log("111")
         this.create.temp.vPhoto1 = response.execresult.LastInsertId
@@ -631,7 +625,7 @@ export default {
         console.log("拜访人下拉框", this.visiterNameList)
         // this.receiverNameList = response.data.getContacts.list
         // console.log("接待人下拉框", this.receiverNameList)
-        
+
         this.nextNameList = response.data.getDictListSelect4.list
         console.log("下一步下拉框", this.nextNameList)
       })
@@ -723,8 +717,7 @@ export default {
       if(document.getElementById('uploadPic').lastChild){
         document.getElementById('uploadPic').lastChild.style.display = "inline-block"
       }
-      
-    
+
 
     },
 
@@ -739,7 +732,7 @@ export default {
       this.create.temp.customerName = ""
       this.create.temp.customerId = ""
       this.create.customerNameList = []
-      
+
       this.get_customer_list()
       this.$forceUpdate();
 
@@ -760,9 +753,9 @@ export default {
     //监听 - 下拉中客户名称
     change_customer(item) {
       console.log(item)
-      this.create.temp.customerId = item 
- 
- 
+      this.create.temp.customerId = item
+
+
       this.create.getdataListParm0.parammaps.customerId = item
       this.getReceiverNameList()
       this.get_groupName(item)
@@ -778,11 +771,11 @@ export default {
 
         console.log(response)
         if (response.data.list !== null) {
-           me.create.temp.groupName = response.data.list[0].groupName 
-           me.create.temp.groupId = response.data.list[0].groupId 
+           me.create.temp.groupName = response.data.list[0].groupName
+           me.create.temp.groupId = response.data.list[0].groupId
         } else {
-           me.create.temp.groupName = "" 
-           me.create.temp.groupId = "" 
+           me.create.temp.groupName = ""
+           me.create.temp.groupId = ""
         }
       })
     },
@@ -852,18 +845,17 @@ export default {
     form_add() {
       console.log('点击了新增')
 
-      
 
       this.create.dialogStatus = 'create'
       this.create.dialogFormVisible = true
-      
+
       this.$nextTick(() => {
       //需要执行的内容
         this.form_reset()
-     
+
         //首页跳过来的新增,要带出客户信息
         if(this.isHome == "home"){
-    
+
             this.create.temp.groupId = this.rowData.groupId
             this.create.temp.customerId = this.rowData.customerId
             this.create.temp.groupName = this.rowData.groupName
@@ -876,11 +868,6 @@ export default {
       })
 
 
-
-      
-      
-      
-      
     },
 
 
@@ -986,7 +973,7 @@ export default {
 
                 if(this.isHome == 'home'){
                   // 回到首页
-                   this.$router.push({ name: 'Dashboard', params: { isTodo: 'visit' }})   
+                   this.$router.push({ name: 'Dashboard', params: { isTodo: 'visit' }})
                 }
               } else {
                 this.$notify({ title: '失败', message: '保存失败' + response.data, type: 'error', duration: 2000 })
@@ -1015,7 +1002,6 @@ export default {
       this.create.temp.id = row.id
 
 
-
       // 现场照片
       const urlArray = []
       const urlArrayId = []
@@ -1077,15 +1063,14 @@ export default {
       console.log("fileList", fileList)
 
 
-
       this.create.dialogStatus = 'see'
       this.create.dialogFormVisible = true
 
       this.$nextTick(() => {
-        
-    
+
+
           document.getElementById('uploadPic').lastChild.style.display = "none"
-        
+
       });
 
     },
@@ -1167,7 +1152,6 @@ export default {
       console.log("fileList", fileList)
 
 
-
       this.create.dialogStatus = 'update'
       this.create.dialogFormVisible = true
 
@@ -1209,7 +1193,6 @@ export default {
           this.requestParam.parammaps = this.create.temp
 
 
-
           this.create.temp.receiverId2 = ""
 
           var send_data = {
@@ -1264,7 +1247,6 @@ export default {
           console.log('编辑保存发送参数 ', send_data)
 
 
-
           if (this.create.temp.vPhoto1 == "-1") {
             var isEmpty = true
           } else {
@@ -1320,16 +1302,16 @@ export default {
       this.get_table_data()
       if(this.isHome == 'home'){
        // 返回首页
-       this.$router.push({ name: 'Dashboard', params: { isTodo: 'visit' }})   
+       this.$router.push({ name: 'Dashboard', params: { isTodo: 'visit' }})
       }
     },
 
 
     // 导出
     form_export(item) {
-       
+
       this.download.getdataListParm.parammaps = this.tableObj.getdataListParm.parammaps
-   
+
       GetDataByName(this.download.getdataListParm).then(response => {
         if (response.data.list !== null) {
           this.download.list = response.data.list
@@ -1349,7 +1331,6 @@ export default {
 
     },
 
- 
 
     // 导入
     form_inport() {

+ 2 - 2
src/views/console/user/index.vue

@@ -431,7 +431,7 @@ export default {
       this.requestParam.name = 'updateUser'
       this.requestParam.params = []
 
-      
+
       this.requestParam.params[0] = row.username
       this.requestParam.params[1] = row.empid
       this.requestParam.params[2] = row.sort
@@ -442,7 +442,7 @@ export default {
       // } else {
       //   this.requestParam.params[3] = 1
       // }
-      
+
       this.requestParam.params[4] = row.id
       PostDataByName(this.requestParam).then(() => {
         this.$notify({

+ 4 - 4
src/views/contract/contractApply/index.vue

@@ -158,9 +158,9 @@
             <el-col :span="21">
               <el-button v-if="isRoleEdit" class="success" icon="el-icon-plus" @click="form_add">新增</el-button>
             </el-col>
-           
+
           </el-row>
- 
+
         </div> -->
     </div>
 
@@ -238,11 +238,11 @@
           </template>
         </el-table-column>
         <!-- <el-table-column label="营业执照" min-width="110px" align="center" show-overflow-tooltip>
-  
+
             <template slot-scope="scope">
               <img  style="width: 50px; height: 50px" :src="scope.row.imgUrlDetil" alt="">
             </template>
- 
+
         </el-table-column> -->
         <el-table-column label="所属集团" min-width="90px" align="center">
           <template slot-scope="scope">

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 141 - 206
src/views/contract/contractInfo/index.vue


+ 1 - 1
src/views/customboard/ChartPanel/components/dataPanel.vue

@@ -120,7 +120,7 @@ export default {
 
 
     this.htSize = height
-    // this.getBaseList() 
+    // this.getBaseList()
 
     // this.get_table_list()
   },

+ 0 - 1
src/views/customboard/ChartPanel/components/filterPanel.vue

@@ -117,7 +117,6 @@ export default {
       console.log('英文参数', eng_value, '中文参数', chi_value)
 
 
-
     },
     handleClose() {
       this.visible = false

+ 0 - 3
src/views/customboard/ChartPanel/components/orderPanel.vue

@@ -138,9 +138,6 @@ export default {
       }
 
 
-
-
-
       this.orderBy1 = []
 
       if (value[1] == 'desc') {

+ 0 - 3
src/views/customboard/ChartPanel/components/visualizePanel.vue

@@ -133,9 +133,6 @@ export default {
     },
 
 
-
-
-
     isUsable(chart) {
       return chart.matchRule.isUsable(store.state.dimensions, store.state.caculCols)
     },

+ 1 - 11
src/views/customboard/ChartPanel/index.vue

@@ -222,8 +222,6 @@ export default {
   watch: {
 
 
-
-
     sqlSentence(value) {
       if (value) {
         this.fetchData(value)
@@ -304,10 +302,6 @@ export default {
           }
 
 
-
-
-
-
         } else {
           console.log('我是新增图标哦~~~')
           this.chartName = undefined
@@ -350,7 +344,6 @@ export default {
       })
 
 
-
       const obj = {
         dataSrc: this.dataSrc.table,
         source_id: this.dataSrc.source_id,
@@ -364,7 +357,6 @@ export default {
       }
 
 
-
       var send_data = { source_id: this.dataSrc.source_id, content: obj, pastureid: Cookies.get('pastureid') }
       ExeSqlJiade(send_data).then(response => {
         console.log('ExeSql发的数据======', send_data)
@@ -379,7 +371,6 @@ export default {
             this.result = response.data
 
 
-
           } else {
             this.loading = false
             this.result = []
@@ -615,7 +606,7 @@ export default {
       // if (chartid1 == "create") {
       //   chartid1 = this.LastInsertId
       // } else {
-      //   chartid1 = this.$route.params.id 
+      //   chartid1 = this.$route.params.id
       // }
 
 
@@ -627,7 +618,6 @@ export default {
       }
 
 
-
       // var chartid1 = localStorage.getItem('ChartPanelIsEditId')
       // if (chartid1 == "create") {
       //   chartid1 = this.LastInsertId

+ 59 - 107
src/views/customerInformation/customerInformation/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    
+
 
     <div class = "search-bx"  >
 
@@ -38,16 +38,15 @@
               <el-select v-model="tableObj.getdataListParm.parammaps.createrId" placeholder="创建人" class="filter-item" style="width: 100px;" clearable filterable>
                 <el-option v-for="(item,index) in createrNameList" :key="index" :label="item.name" :value="item.id" />
               </el-select>
-          
-        
+
+
               <el-button class="successBorder" @click="form_search">查询</el-button>
               <el-button class="successBorder" @click="form_clear">重置</el-button>
-            
+
               <el-button v-if="isCustomerAdd" class="success" icon="el-icon-plus" @click="form_add">新增</el-button>
-              <!--  <el-button  class="success" icon="el-icon-upload2" @click="form_export">导出</el-button> -->  
-    
-        
- 
+              <!--  <el-button  class="success" icon="el-icon-upload2" @click="form_export">导出</el-button> -->
+
+
         </el-row>
       </div>
       <!-- <div class="operation">
@@ -56,14 +55,14 @@
             <el-button v-if="isRoleEdit" class="success" icon="el-icon-plus" @click="form_add">新增</el-button>
           </el-col>
           <el-col :span="3">
-             
+
                 <el-dropdown>
                 <el-button class="export">导出</el-button>
                 <el-dropdown-menu slot="dropdown">
                   <el-dropdown-item @click.native="form_export(1)">导出模板</el-dropdown-item>
                   <el-dropdown-item @click.native="form_export(2)">导出数据</el-dropdown-item>
                 </el-dropdown-menu>
-              </el-dropdown>  
+              </el-dropdown>
           </el-col>
         </el-row>
       </div> -->
@@ -79,7 +78,7 @@
           </template>
         </el-table-column>
         <el-table-column label="客户名称" min-width="150px" align="center" fixed="left">
-         
+
           <template slot-scope="scope">
             <span  style = "color:#409EFF; cursor: pointer;" @click="click_customer(scope.row)">{{ scope.row.customerName }}</span>
           </template>
@@ -155,7 +154,7 @@
             <el-button v-if="isRoleEdit" class="miniDanger" @click="form_delete(row)">删除</el-button> -->
             <!-- <el-button class="miniPrimary" @click="form_see(row)">查看</el-button> -->
             <el-button v-if="isCustomerAdd" class="miniSuccess" @click="form_edit(row)">编辑</el-button>
-           <el-button v-if="isCustomerDel" class="miniDanger" @click="form_delete(row)">删除</el-button>  
+           <el-button v-if="isCustomerDel" class="miniDanger" @click="form_delete(row)">删除</el-button>
             <el-button  class="miniPrimary" @click="handleService(row)">服务记录</el-button>
             <el-button v-if="isCustomerContract"  class="miniPrimary" @click="handleContact(row)">联系人管理</el-button>
           </template>
@@ -189,9 +188,7 @@
             </el-select>
           </el-form-item>
 
-          
 
-          
           <!-- <el-form-item label="客户状态:" prop="customeStatusName">
             <el-select v-model="create.temp.customeStatusName" placeholder="请选择状态" class="filter-item" style="width: 100%;" clearable :disabled="create.dialogStatus=='see'">
               <el-option v-for="(item,index) in customeStatusList" :key="index" :label="item.name" :value="item.id" />
@@ -203,7 +200,6 @@
             </el-select>
           </el-form-item> -->
 
- 
 
           <el-form-item label="统一社会信用代码:" prop="scode">
             <el-input ref="scode" v-model="create.temp.scode" class="filter-item" style="width: 100%;" :disabled="create.dialogStatus=='see'" maxlength="18"/>
@@ -284,7 +280,7 @@
                     <span>{{ scope.row.receiverTel }}</span>
                   </template>
                 </el-table-column>
- 
+
 
                 <el-table-column label="操作" align="center" width="120" class-name="small-padding fixed-width" fixed="right">
                   <template slot-scope="{row}">
@@ -1277,7 +1273,7 @@
             </el-col>
           </el-row>
           <el-row>
-                 
+
                  <el-form-item label="现场照片:" prop="scenePhoto1">
 
                    <div style = "display:inline-block;margin-right:10px;" v-for="(item,index) in fileList"  >
@@ -1285,17 +1281,17 @@
                          style="width: 150px; height: 150px;display:inline-block"
                          :src="item.url" @click="handlePicPreview(item)"></el-image>
                    </div>
-           
-                   
+
+
                    <el-dialog :visible.sync="dialogVisible" append-to-body width="40%">
                      <img width="80%" :src="dialogImageUrl" alt="">
                    </el-dialog>
                  </el-form-item>
-           
+
              </el-row>
-             
+
              <el-row>
-          
+
                  <el-form-item label="服务单照片:" prop="serviceCodePhoto">
                    <div style = "display:inline-block;margin-right:10px;" v-for="(item,index) in fileList2"  >
                        <el-image
@@ -1306,7 +1302,7 @@
                      <img width="100%" :src="dialogImageUrl2" alt="">
                    </el-dialog>
                  </el-form-item>
-             
+
              </el-row>
 
 
@@ -1457,19 +1453,15 @@
     <el-dialog  title="客户详情" :visible.sync="seeCustomer.dialogFormVisible" top="10px"  :close-on-click-modal="false" width="95%">
       <div class="app-add">
         <CustomerDetail :customer-data="customerData"  />
-        
+
         <div slot="footer" class="dialog-footer">
           <el-button class="cancelClose" @click="seeCustomer.dialogFormVisible = false;get_table_data()">关闭</el-button>
-           
+
         </div>
       </div>
     </el-dialog>
 
 
-   
-
-    
-
   </div>
 </template>
 
@@ -1502,65 +1494,65 @@ export default {
 
       autoWidth:200,
 
-     
+
       // 客户名称 - 下拉框
       customerNameList: [
         // {id: 1425, name: "测试12"},
         // {id: 1423, name: "朝日牧场(唯品牧场)"},
         // {id: 1422, name: "富源牧业(眉山)有限公司(眉山富源)"}
-      ], 
+      ],
       loading: false,
 
       //集团 - 下拉框
       groupNameList: [
-        // {id: 253, name: "无"}, 
-        // {id: 207, name: "星连星牧业"}, 
-        // {id: 208, name: "海高牧业"}, 
+        // {id: 253, name: "无"},
+        // {id: 207, name: "星连星牧业"},
+        // {id: 208, name: "海高牧业"},
         // {id: 254, name: "完达山"}
       ],
 
       //经销商 - 下拉框
       dealNameList: [
-        // {id: 253, name: "无"}, 
-        // {id: 207, name: "星连星牧业"}, 
-        // {id: 208, name: "海高牧业"}, 
+        // {id: 253, name: "无"},
+        // {id: 207, name: "星连星牧业"},
+        // {id: 208, name: "海高牧业"},
         // {id: 254, name: "完达山"}
       ],
       //客户区域 - 下拉框
       rangeNameList: [
-        {id: "华北区域", name: "华北区域"}, 
-        {id: "东北区域", name: "东北区域"}, 
-        {id: "西北区域", name: "西北区域"}, 
+        {id: "华北区域", name: "华北区域"},
+        {id: "东北区域", name: "东北区域"},
+        {id: "西北区域", name: "西北区域"},
         {id: "南方大区", name: "南方大区"}
        ],
 
       //客户状态 - 下拉框
       customeStatusList: [
-        {id: "普通客户", name: "普通客户"}, 
+        {id: "普通客户", name: "普通客户"},
         {id:  "欠款客户", name: "欠款客户"},
          {id: "准客户", name: "准客户"}
       ],
 
       //客户等级 - 下拉框
       customeLevelList:[
-        {"id":"1级","name":"1级"}, 
-        {"id":"2级","name":"2级"}, 
+        {"id":"1级","name":"1级"},
+        {"id":"2级","name":"2级"},
         {"id":"3级","name":"3级"},
       ],
       //负责人 - 下拉框
       directorNameList: [
-        // {id: 18, name: "韩佳佳"}, 
-        // {id: 19, name: "多秋阳"}, 
+        // {id: 18, name: "韩佳佳"},
+        // {id: 19, name: "多秋阳"},
         // {id: 20, name: "张明星"},
       ],
       //创建人 - 下拉框
       createrNameList: [
-        // {id: 3072707379235128300, name: "管理员"}, 
+        // {id: 3072707379235128300, name: "管理员"},
         // {id: 3248184121834865700, name: "杨文山"}
       ],
       typeNameList: [],
 
-      //表格 - 列表 - 查询 
+      //表格 - 列表 - 查询
       tableObj: {
         getdataListParm: {
           name: 'getCustomer',
@@ -1580,7 +1572,7 @@ export default {
             createrId: '',
             directorId: '',
             dealerId: '',
-            
+
             inputDatetime: '',
             beginDate: '',
             endDate: '',
@@ -1592,7 +1584,7 @@ export default {
           // {"address":"山东省烟台市莱阳市沐浴店镇朝日绿源农业园","createrId":"3248184121834865668","createrName":"高占永","createtime":"2022-05-10","customeStatusId":199,"customeStatusName":"普通客户","customerName":"朝日牧场(唯品牧场)","directorId":30,"directorName":"高占永","enable":1,"groupId":253,"groupName":"无","id":1423,"province":"山东省","rangeId":"202","rangeName":"华北区域","remark":"","scode":"******************","sort":2},
           // {"address":"四川省眉山市青神县西龙镇万沟村4组","createrId":"3248184121834865668","createrName":"高占永","createtime":"2022-05-10","customeStatusId":199,"customeStatusName":"普通客户","customerName":"富源牧业(眉山)有限公司(眉山富源)","directorId":30,"directorName":"高占永","enable":1,"groupId":210,"groupName":"富源牧业","id":1422,"province":"四川省","rangeId":"205","rangeName":"南方大区","remark":"","scode":"******************","sort":3},
           // {"address":"","createrId":"3248184121834865667","createrName":"杨文山","createtime":"2022-05-06","customeStatusId":199,"customeStatusName":"普通客户","customerName":"科元克隆牧场","directorId":22,"directorName":"杨文山","enable":1,"groupId":253,"groupName":"无","id":1421,"province":"","rangeId":"","remark":"","scode":"123456789987654321","sort":4},
-        
+
         ],
         total: 0,
         listLoading: true,
@@ -1978,7 +1970,6 @@ export default {
       },
 
 
-
       dialogImageUrl: '',
       dialogVisible: false,
       dialogImageUrl2: '',
@@ -2137,7 +2128,7 @@ export default {
 
       },
 
-      
+
       dialogVisible: false,
       // 新增/编辑
       create: {
@@ -2299,14 +2290,13 @@ export default {
       },
 
 
-
       // 联系人管理
       contact: {
         dialogFormVisible: false,
         dialogStatus: '',
         temp: { id: '', contactName: '', telephone: '', address: '', remark: '' },
         rules: {
-   
+
         },
         getdataListParm: {
           name: 'getContacts',
@@ -2343,8 +2333,6 @@ export default {
   methods: {
 
 
-
-
     //获取按钮权限
     get_auto_buttons() {
       const Edit = 'CustomerInformation'
@@ -2373,7 +2361,7 @@ export default {
       this.autoWidth = widthCount
 
     },
-     
+
 
     //获取所有下拉框的内容
     get_select_list() {
@@ -2392,7 +2380,7 @@ export default {
         this.groupNameList = response.data.getDictListSelect1.list
         console.log("集团下拉框", this.groupNameList)
 
-        
+
         this.dealNameList = response.data.getDealerSelect.list
         console.log("经销商下拉框", this.dealNameList)
 
@@ -2403,7 +2391,7 @@ export default {
         this.receProductNameList = response.data.getProductsEnable.list
         console.log("收件货品下拉框", this.receProductNameList)
       })
-   
+
 
     },
 
@@ -2415,7 +2403,7 @@ export default {
         console.log('table数据', response.data.list)
         if (response.data.list !== null) {
 
-         
+
           this.tableObj.pageNum = response.data.pageNum
           this.tableObj.pageSize = response.data.pageSize
           this.tableObj.total = response.data.total
@@ -2426,16 +2414,15 @@ export default {
             // console.log(i, '====')
             if (i.dealerIds) {
 
-              var dealerIdsArr = i.dealerIds.split(',') 
+              var dealerIdsArr = i.dealerIds.split(',')
               var nedeArr = dealerIdsArr.map(Number)
               console.log(nedeArr)
-              return i.dealerIdsArr =  nedeArr 
+              return i.dealerIdsArr =  nedeArr
             } else {
               return i.dealerIdsArr = []
             }
           })
 
- 
 
           this.tableObj.list = arr
           console.log(arr)
@@ -2521,7 +2508,7 @@ export default {
       this.tableObj.getdataListParm.parammaps.beginDate = ''
       this.tableObj.getdataListParm.parammaps.endDate = ''
       this.tableObj.getdataListParm.parammaps.inputDatetime = ''
-      
+
       this.tableObj.getdataListParm.parammaps.customerName = ''
       this.tableObj.getdataListParm.parammaps.dealerId = ''
       this.tableObj.getdataListParm.parammaps.customerId = ''
@@ -2539,7 +2526,7 @@ export default {
     form_reset() {
       this.create.temp = { pastureid: Cookies.get('pastureid'), customerName: '', groupId: '', customeStatusName: '', customeLevelName: '', rangeName: '', province: '', address: '', directorId: Cookies.get('g_userId'), directorName: Cookies.get('employename'), createrId: '',createrName: Cookies.get('employename'), director: '', creater: '', createtime: parseTime(new Date(), '{y}-{m}-{d}'), remark: '', scode: '' ,dealerIdsArr:[],  dealerIds:""}
     },
- 
+
     //监听 - 表格中客户名称
     change_bar(item) {
       this.create.temp.barname = this.houseNameList.find(obj => obj.id === item).bname
@@ -2564,7 +2551,7 @@ export default {
 
       // dealNameList
       console.log(item)
-     //  this.create.temp.dealerId = item 
+     //  this.create.temp.dealerId = item
 
     //  var arr = []
 
@@ -2580,8 +2567,7 @@ export default {
 
     //   this.table.temp.dealerIdsArr = arr
 
-   
-     
+
     },
 
 
@@ -2595,7 +2581,7 @@ export default {
     },
     //监听 - 弹窗 - 新增保存
     add_dialog_save() {
-      var me  = this 
+      var me  = this
       console.log('点击了新增保存')
       this.isokDisable = true
       setTimeout(() => {
@@ -2609,13 +2595,11 @@ export default {
           }, 1000)
 
 
-
           //验证名字是否存在
           this.requestParam.name = 'checkCustomerByName'
           this.requestParam.parammaps = this.create.temp
 
 
-
           var send_data_check = { "name": "checkCustomerByName", "parammaps": { "customerName": this.create.temp.customerName, "type": "add", "id": "" } }
 
           GetDataByName(send_data_check).then(response => {
@@ -2627,21 +2611,18 @@ export default {
                 this.create.temp.createrId = Cookies.get('employeid')
 
 
-            
                 me.create.temp.dealerIds = me.create.temp.dealerIdsArr.toString()
 
 
-                
-
                 this.requestParam.name = 'insertCustomer'
                 this.requestParam.parammaps = this.create.temp
-                
+
 
                 PostDataByName(this.requestParam).then(response => {
                   console.log('新增保存发送参数', this.requestParam)
                   if (response.msg !== 'fail') {
 
- 
+
                     this.$notify({ title: '成功', message: '保存成功', type: 'success', duration: 2000 })
                     this.create.dialogFormVisible = false
                     this.get_table_data()
@@ -2649,9 +2630,6 @@ export default {
                     this.$notify({ title: '失败', message: '保存失败', type: 'error', duration: 2000 })
                   }
                 })
-            
-
-
 
 
             } else {
@@ -2662,7 +2640,6 @@ export default {
           })
 
 
-
         }
       })
     },
@@ -2687,10 +2664,6 @@ export default {
     },
 
 
-
-
-
-
     //监听 - 弹窗 - 编辑
     form_edit(row) {
       console.log('点击了编辑', row)
@@ -2711,7 +2684,7 @@ export default {
       // }else {
       //   this.create.temp.dealerIdsArr = []
       // }
-      
+
 
       this.create.dialogStatus = 'update'
       this.create.dialogFormVisible = true
@@ -2743,8 +2716,6 @@ export default {
               this.$notify({ title: '失败', message: '客户名称已存在', type: 'error', duration: 2000 })
             }     else {
 
-              
-
 
               me.create.temp.dealerIds = me.create.temp.dealerIdsArr.toString()
 
@@ -2753,7 +2724,7 @@ export default {
                 name: 'updateCustomer',
                 parammaps: this.create.temp
               }
-    
+
               PostDataByName(send_data2).then(response => {
                 console.log('编辑保存发送参数', send_data2)
                 if (response.msg !== 'fail') {
@@ -2768,10 +2739,6 @@ export default {
           })
 
 
-
-
-
-
         }
       })
     },
@@ -3022,7 +2989,6 @@ export default {
           console.log('拜访记录', response)
 
 
-
           this.createSee1.temp = response.data.list[0]
 
           // 现场照片
@@ -3200,7 +3166,6 @@ export default {
     },
 
 
-
     //服务记录表格跳转
     handleServiceSee5(row) {
       // this.$router.push({ path: '/businessManagement/deliveryRecord', query: {} })
@@ -3281,7 +3246,6 @@ export default {
           this.createSee5tableArrList = allArr
 
 
-
         }
       })
     },
@@ -3312,7 +3276,6 @@ export default {
           this.createSee7.temp = response.data.list[0]
 
 
-
           this.createSee7.getdataListParm1.parammaps.customerId = row.customerId
           this.get_postalNameList7()
           if (row.stockupIds !== "" && row.stockupIds !== null && row.stockupIds !== undefined) {
@@ -3392,7 +3355,6 @@ export default {
           console.log("fileList", fileList)
 
 
-
           // 服务单照片
           const urlArray2 = []
           const urlArrayId2 = []
@@ -3420,7 +3382,6 @@ export default {
           this.createSee7.dialogFormVisible = true
 
 
-
         }
       })
 
@@ -3464,13 +3425,11 @@ export default {
           this.createSee7tableArrList = allArr
 
 
-
         }
       })
     },
 
 
-
     //服务记录表格跳转
     handleServiceSee8(row) {
       //this.$router.push({ path: '/businessManagement/complaintRecord', query: {} })
@@ -3486,18 +3445,12 @@ export default {
     },
 
 
-
-
-
-
-
     //服务记录TAB切换
     handleClick(tab, event) {
       console.log(tab, event);
     },
 
 
-
     // 联系人管理
     handleContact(row) {
       console.log('点击了联系人管理', row)
@@ -3621,7 +3574,6 @@ export default {
       }
     },
 
-   
 
     // 联系人管理 - 编辑
     form_edit2(row) {
@@ -3732,7 +3684,7 @@ export default {
       // }
 
       this.download.getdataListParm.parammaps = this.tableObj.getdataListParm.parammaps
-   
+
       GetDataByName(this.download.getdataListParm).then(response => {
         if (response.data.list !== null) {
           this.download.list = response.data.list

+ 46 - 74
src/views/customerInformation/returnVisitManagement/index.vue

@@ -1,14 +1,13 @@
  <template>
   <div class="app-container">
-    
 
- 
+
   <div class = "search-bx"  >
 
     <div class="search">
 
       <el-row :gutter="0">
-         
+
           <!-- <el-select v-model="tableObj.getdataListParm.parammaps.customerId" placeholder="客户名称" class="filter-item" style="width: 120px;" clearable filterable remote :remote-method="change_custormer_remote" :loading="loading">
               <el-option v-for="(item,index) in customerNameList" :key="index" :label="item.name" :value="item.id" />
             </el-select> -->
@@ -47,18 +46,15 @@
             <el-input v-model="tableObj.getdataListParm.parammaps.endVisitCycle" placeholder="回访周期" style="width:80px"></el-input>
 
 
-    
-        
-          
             <el-button class="successBorder" @click="form_search">查询</el-button>
             <el-button class="successBorder" @click="form_clear">重置</el-button>
-         
+
             <el-button v-if="isRoleEdit" class="success" icon="el-icon-plus" @click="form_add">设置周期</el-button>
-            <!--   <el-button  class="success" icon="el-icon-upload2" @click="form_export">导出</el-button> -->  
-          
+            <!--   <el-button  class="success" icon="el-icon-upload2" @click="form_export">导出</el-button> -->
+
 
       </el-row>
- 
+
     </div>
     <!-- <div class="operation">
 
@@ -77,17 +73,15 @@
             </el-dropdown>
         </el-col>
       </el-row>
-   
-      
- 
-      
+
+
     </div> -->
 
   </div>
 
     <div class="table"   >
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed"  :max-height="myHeight" @selection-change="change_table_selection">
-        <el-table-column type="selection" align="center" width="50" /> 
+        <el-table-column type="selection" align="center" width="50" />
         <el-table-column label="序号" align="center" type="index" width="50px" fixed="left">
           <template slot-scope="scope">
             <span>{{ scope.$index + (tableObj.pageNum-1) * tableObj.pageSize + 1 }}</span>
@@ -115,8 +109,6 @@
         </el-table-column>
 
 
-
-
         <el-table-column label="所属集团" min-width="90px" align="center" >
           <template slot-scope="scope">
             <span>{{ scope.row.groupName }}</span>
@@ -147,16 +139,13 @@
             <span>{{ scope.row.address }}</span>
           </template>
         </el-table-column>
-        
-         
-       
-   
-    
+
+
         <el-table-column label="操作" align="center" :width="autoWidth"  fixed="right" v-if="autoWidth !== 0">
           <template slot-scope="{row}">
             <!-- <el-button v-if="isRoleEdit" class="miniSuccess" @click="form_edit(row)">编辑</el-button>
             <el-button v-if="isRoleEdit" class="miniDanger" @click="form_delete(row)">删除</el-button> -->
-     
+
             <el-button v-if="isRoleEdit" class="miniSuccess" @click="form_edit(row)">设置回访周期</el-button>
           </template>
         </el-table-column>
@@ -172,7 +161,7 @@
           <el-form-item label="回访周期:" prop="visitCycle"  >
             间隔<el-input ref="visitCycle" v-model="create.temp.visitCycle" class="filter-item" style="width:80px" />天,回访一次
           </el-form-item>
-         
+
 
         </el-form>
         <div slot="footer" class="dialog-footer">
@@ -182,26 +171,20 @@
       </div>
     </el-dialog>
 
-   
- 
 
     <!-- 客户详情 -->
     <el-dialog  title="客户详情" :visible.sync="seeCustomer.dialogFormVisible" top="10px"  :close-on-click-modal="false" width="95%">
       <div class="app-add">
         <CustomerDetail :customer-data="customerData"  />
-        
+
         <div slot="footer" class="dialog-footer">
           <el-button class="cancelClose" @click="seeCustomer.dialogFormVisible = false;get_table_data()">关闭</el-button>
-           
+
         </div>
       </div>
     </el-dialog>
 
 
-   
-
-    
-
   </div>
 </template>
 
@@ -236,53 +219,53 @@ export default {
         // { name: 'getCustomerSelect', offset: 0, pagecount: 0, parammaps: {} },
         { name: 'getDictListSelect1', offset: 0, pagecount: 0, parammaps: { "pid": "54" } },
         { name: 'getEmployeesSelect', offset: 0, pagecount: 0, parammaps: {} },
- 
+
       ],
 
-     
+
       // 客户名称 - 下拉框
       customerNameList: [
         // {id: 1425, name: "测试12"},
         // {id: 1423, name: "朝日牧场(唯品牧场)"},
         // {id: 1422, name: "富源牧业(眉山)有限公司(眉山富源)"}
-      ], 
+      ],
       loading: false,
 
       //集团 - 下拉框
       groupNameList: [
-        {id: 253, name: "无"}, 
-        {id: 207, name: "星连星牧业"}, 
-        {id: 208, name: "海高牧业"}, 
+        {id: 253, name: "无"},
+        {id: 207, name: "星连星牧业"},
+        {id: 208, name: "海高牧业"},
         {id: 254, name: "完达山"}
       ],
       //客户区域 - 下拉框
       rangeNameList: [
-        {id: "华北区域", name: "华北区域"}, 
-        {id: "东北区域", name: "东北区域"}, 
-        {id: "西北区域", name: "西北区域"}, 
+        {id: "华北区域", name: "华北区域"},
+        {id: "东北区域", name: "东北区域"},
+        {id: "西北区域", name: "西北区域"},
         {id: "南方大区", name: "南方大区"}
        ],
 
       //客户状态 - 下拉框
       customeStatusList: [
-        {id: "普通客户", name: "普通客户"}, 
+        {id: "普通客户", name: "普通客户"},
         {id:  "欠款客户", name: "欠款客户"},
          {id: "准客户", name: "准客户"}
       ],
 
       //客户等级 - 下拉框
       customeLevelList:[
-        {"id":"1级","name":"1级"}, 
-        {"id":"2级","name":"2级"}, 
+        {"id":"1级","name":"1级"},
+        {"id":"2级","name":"2级"},
         {"id":"3级","name":"3级"},
       ],
       //负责人 - 下拉框
       directorNameList: [
-        // {id: 18, name: "韩佳佳"}, 
-        // {id: 19, name: "多秋阳"}, 
+        // {id: 18, name: "韩佳佳"},
+        // {id: 19, name: "多秋阳"},
         // {id: 20, name: "张明星"},
       ],
-      
+
       typeNameList: [],
 
       //表格请求参数~~
@@ -306,7 +289,7 @@ export default {
 
             beginVisitCycle: '',
             endVisitCycle: '',
-            
+
             inputDatetime: '',
             beginDate: '',
             endDate: '',
@@ -318,7 +301,7 @@ export default {
           // {"address":"山东省烟台市莱阳市沐浴店镇朝日绿源农业园","createrId":"3248184121834865668","createrName":"高占永","createtime":"2022-05-10","customeStatusId":199,"customeStatusName":"普通客户","customerName":"朝日牧场(唯品牧场)","directorId":30,"directorName":"高占永","enable":1,"groupId":253,"groupName":"无","id":1423,"province":"山东省","rangeId":"202","rangeName":"华北区域","remark":"","scode":"******************","sort":2},
           // {"address":"四川省眉山市青神县西龙镇万沟村4组","createrId":"3248184121834865668","createrName":"高占永","createtime":"2022-05-10","customeStatusId":199,"customeStatusName":"普通客户","customerName":"富源牧业(眉山)有限公司(眉山富源)","directorId":30,"directorName":"高占永","enable":1,"groupId":210,"groupName":"富源牧业","id":1422,"province":"四川省","rangeId":"205","rangeName":"南方大区","remark":"","scode":"******************","sort":3},
           // {"address":"","createrId":"3248184121834865667","createrName":"杨文山","createtime":"2022-05-06","customeStatusId":199,"customeStatusName":"普通客户","customerName":"科元克隆牧场","directorId":22,"directorName":"杨文山","enable":1,"groupId":253,"groupName":"无","id":1421,"province":"","rangeId":"","remark":"","scode":"123456789987654321","sort":4},
-        
+
         ],
         total: 0,
         listLoading: true,
@@ -344,7 +327,7 @@ export default {
 
             beginVisitCycle: '',
             endVisitCycle: '',
-            
+
             inputDatetime: '',
             beginDate: '',
             endDate: '',
@@ -356,7 +339,7 @@ export default {
           // {"address":"山东省烟台市莱阳市沐浴店镇朝日绿源农业园","createrId":"3248184121834865668","createrName":"高占永","createtime":"2022-05-10","customeStatusId":199,"customeStatusName":"普通客户","customerName":"朝日牧场(唯品牧场)","directorId":30,"directorName":"高占永","enable":1,"groupId":253,"groupName":"无","id":1423,"province":"山东省","rangeId":"202","rangeName":"华北区域","remark":"","scode":"******************","sort":2},
           // {"address":"四川省眉山市青神县西龙镇万沟村4组","createrId":"3248184121834865668","createrName":"高占永","createtime":"2022-05-10","customeStatusId":199,"customeStatusName":"普通客户","customerName":"富源牧业(眉山)有限公司(眉山富源)","directorId":30,"directorName":"高占永","enable":1,"groupId":210,"groupName":"富源牧业","id":1422,"province":"四川省","rangeId":"205","rangeName":"南方大区","remark":"","scode":"******************","sort":3},
           // {"address":"","createrId":"3248184121834865667","createrName":"杨文山","createtime":"2022-05-06","customeStatusId":199,"customeStatusName":"普通客户","customerName":"科元克隆牧场","directorId":22,"directorName":"杨文山","enable":1,"groupId":253,"groupName":"无","id":1421,"province":"","rangeId":"","remark":"","scode":"123456789987654321","sort":4},
-        
+
         ],
         total: 0,
         listLoading: true,
@@ -365,7 +348,7 @@ export default {
 
       //客户资料详情组件
       customerData:{ id:"" },
- 
+
       dialogVisible: false,
       // 新增/编辑
       create: {
@@ -405,7 +388,6 @@ export default {
     // this.get_auto_buttons()
 
 
-
   },
 
   methods: {
@@ -428,19 +410,15 @@ export default {
         // console.log("客户名称下拉框", this.customerNameList)
         this.groupNameList = response.data.getDictListSelect1.list
         console.log("集团下拉框", this.groupNameList)
- 
-   
-        this.directorNameList = response.data.getEmployeesSelect.list
-        console.log("负责人下拉框", this.directorNameList)
- 
-      })
-   
 
-    },
 
+        this.directorNameList = response.data.getEmployeesSelect.list
+        console.log("负责人下拉框", this.directorNameList)
 
+      })
 
 
+    },
 
 
     //加载表格
@@ -480,7 +458,7 @@ export default {
       console.log('客户名称模糊查询选中值', item)
       this.tableObj.getdataListParm.parammaps.customerId = item.id
       this.tableObj.getdataListParm.parammaps.customerName = item.name
-  
+
       this.$forceUpdate()
 
     },
@@ -501,7 +479,7 @@ export default {
 
     },
 
-  
+
     //监听 - 表单查询
     form_search() {
       console.log('点击了查询', this.tableObj.getdataListParm.parammaps)
@@ -520,11 +498,11 @@ export default {
 
     //事件 - 清空查询信息
     form_clear() {
-      console.log('点击了重置') 
+      console.log('点击了重置')
       this.tableObj.getdataListParm.parammaps.beginDate = ''
       this.tableObj.getdataListParm.parammaps.endDate = ''
       this.tableObj.getdataListParm.parammaps.inputDatetime = ''
-      
+
       this.tableObj.getdataListParm.parammaps.customerName = ''
       this.tableObj.getdataListParm.parammaps.beginVisitCycle = ''
       this.tableObj.getdataListParm.parammaps.endVisitCycle = ''
@@ -560,7 +538,7 @@ export default {
         this.create.dialogStatus = 'create'
         this.create.dialogFormVisible = true
       }
-     
+
     },
     //监听 - 弹窗 - 新增保存
     add_dialog_save() {
@@ -602,18 +580,17 @@ export default {
           })
 
 
-
         }
       })
     },
-    
+
     //查看客户信息
     click_customer(row) {
       console.log('查看客户信息卡片', row)
 
       this.customerData.id = row.id
       this.seeCustomer.dialogFormVisible = true
- 
+
     },
 
 
@@ -660,10 +637,6 @@ export default {
                   this.$notify({ title: '失败', message: '保存失败', type: 'error', duration: 2000 })
                 }
           })
-          
-
-
-
 
 
         }
@@ -671,7 +644,6 @@ export default {
     },
 
 
-
     // 导出
     form_export(item) {
       GetDataByName(this.download.getdataListParm).then(response => {

+ 99 - 137
src/views/dashboard/editor/index.vue

@@ -50,18 +50,18 @@
                   <p class="todo-title">待审批</p>
                 </div>
               </el-col>
-              
+
             </el-row>
-        </el-card>  
+        </el-card>
 
 
         <el-card class="box-card">
           <div slot="header" class="clearfix">
             <span>快捷入口</span>
-            
+
           </div>
           <div class="text item">
-            
+
             <el-row :gutter="20">
               <el-col :span="4">
                 <div class="rubtn"  @click="jumpSee(1)">合同<br>申请</div>
@@ -89,7 +89,7 @@
               <el-col :span="12">
 
                 <el-date-picker v-model="chart1.getdataListParm.parammaps.inputDatetime" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="width: 250px;" @change="change_chartdate1"/>
-        
+
                   <div id="chartPie1"  style="width: 100%;height:400px;"></div>
 
                   <div class="piettbx">
@@ -113,15 +113,14 @@
                       <span class="piett">总收入:</span>
                       <span class="pietxt">{{chartPie1_data.zsr}}</span>
                     </div>
-                      
+
                   </div>
-                
+
               </el-col>
               <el-col :span="12">
-        
+
                   <div id="chartPie2"  style="width: 100%;height:400px;"></div>
 
-    
 
                   <div class="piettbx" style="height:200px; overflow: auto;">
                     <div class="piettli">
@@ -180,7 +179,7 @@
                       <span class="piett">交通费:</span>
                       <span class="pietxt">{{chartPie2_data.jtf}}</span>
                     </div>
-                      
+
                   </div>
                   <div>
                     <div class="piettli">
@@ -224,9 +223,6 @@
             </el-row>
 
 
-           
-
-             
             <el-row  >
                <div v-show = "showEchart">
                  <div id="chartline1"  style="width: 100%;height:300px;"></div>
@@ -248,7 +244,7 @@
                     <el-radio-button :label="false">支出</el-radio-button>
                   </el-radio-group>
 
-                 
+
                 </el-col>
                 <el-col :span="4">
                   <el-button  class="successBorder"   @click="echartOrTable(2)">切换图表</el-button>
@@ -290,7 +286,7 @@
                         <span>{{ scope.row.hj }}</span>
                       </template>
                     </el-table-column>
-                
+
                   </el-table>
                 </div>
                 <div v-show = "showTableZC">
@@ -300,7 +296,7 @@
                         <span>{{ scope.row.yearMonth }}</span>
                       </template>
                     </el-table-column>
-                    
+
                     <el-table-column label="出差" min-width="90px" align="center" >
                       <template slot-scope="scope">
                         <span>{{ scope.row.chucha }}</span>
@@ -376,22 +372,22 @@
                         <span>{{ scope.row.hj }}</span>
                       </template>
                     </el-table-column>
-                
+
                   </el-table>
                 </div>
               </div>
-            
+
             </el-row>
 
           </div>
         </el-card> -->
-      
+
       </el-col>
       <el-col :span="6">
         <el-card class="box-card">
           <div slot="header" class="clearfix">
             <span>公告栏</span>
-            
+
           </div>
           <div class="text item" style = "padding-bottom:20px;">
               <div style = "margin-bottom:20px;" v-for="(item,index) in newList" :key="index" @click="on_new_detail_tap(item)">
@@ -399,16 +395,15 @@
                 <span style = "display:inline-block;width:34%;overflow:hidden; white-space:nowrap;text-overflow:ellipsis;">{{item.createrdate}}</span>
               </div>
               <div style = "float:right;" @click="form_see()">更多公告</div>
-          
+
           </div>
         </el-card>
 
-        
 
         <el-card class="box-card">
           <div slot="header" class="clearfix">
             <span>常用文件</span>
-            
+
           </div>
           <div class="text item">
             <!-- <span class="fot-txt" @click="form_down(66,'1科湃腾报告PPT模板.pptx')"  style = "color:#409EFF; cursor: pointer;">1科湃腾报告PPT模板</span> -->
@@ -431,27 +426,25 @@
     </el-row>
 
 
-
     <el-dialog title="公告列表" :visible.sync="create.dialogFormVisible" :close-on-click-modal="false" width="60%">
       <div class="app-add">
 
               <el-row :gutter="20">
               <div style = "padding-bottom: 30px;bo" v-for="(item,index) in newObj.list" :key="index" @click="on_new_detail_tap(item)">
-                
+
                   <el-col :span="20">
                     【{{item.noticetype}}】{{item.noticetitle}}
                   </el-col>
                   <el-col :span="4">
                     {{item.updatedate}}
                   </el-col>
-                
-                
+
+
               </div>
               </el-row>
                <pagination v-show="newObj.total>=0" :total="newObj.total" :page.sync="newObj.getdataListParm.offset" :limit.sync="newObj.getdataListParm.pagecount" @pagination="getNewListMore" />
-          
-        
-      
+
+
         <div slot="footer" class="dialog-footer">
           <el-button class="cancelClose" @click="create.dialogFormVisible = false">关闭</el-button>
         </div>
@@ -459,7 +452,6 @@
     </el-dialog>
 
 
- 
     <el-dialog title="公告详情" :visible.sync="detailVisible" :close-on-click-modal="false" width="70%">
         <div style="text-align:center;font-size:30px;padding-bottom: 20px;font-weight:bold">
           {{newObjDetail.noticetitle}}
@@ -467,22 +459,20 @@
         <div style="text-align:center;font-size:15px;">
           <span style="display:inline-block;padding-right:30px;">【{{newObjDetail.noticetype}}】</span>
           <span style="text-align:right;">{{newObjDetail.updatedate}}</span>
-          
+
         </div>
         <div v-html="newObjDetail.content" style="height:500px;overflow: auto;">
 
- 
-     
+
        <!-- <div >
-                 
+
         </div>
          <div>
           附件下载:
         </div>
            -->
-          
-        
-      
+
+
         <div slot="footer" class="dialog-footer">
           <el-button class="cancelClose" @click="detailVisible = false">关闭</el-button>
         </div>
@@ -490,12 +480,11 @@
     </el-dialog>
 
 
-
     <el-dialog title="待回访客户" :visible.sync="createVisit.dialogFormVisible" :close-on-click-modal="false" width="90%">
       <div class="app-add">
 
         <ToDoVisitList :todo-visit="todoVisit"  ref="childVisit"/>
-      
+
         <div slot="footer" class="dialog-footer" >
           <el-button class="cancelClose" @click="createVisit.dialogFormVisible = false">关闭</el-button>
         </div>
@@ -540,7 +529,7 @@
           <el-button class="cancelClose" @click="createReview.dialogFormVisible = false">关闭</el-button>
         </div>
       </div>
-    </el-dialog> 
+    </el-dialog>
 
     <el-dialog title="待备案合同" :visible.sync="createRecord.dialogFormVisible" :close-on-click-modal="false" width="90%">
       <div class="app-add">
@@ -549,7 +538,7 @@
           <el-button class="cancelClose" @click="createRecord.dialogFormVisible = false">关闭</el-button>
         </div>
       </div>
-    </el-dialog> 
+    </el-dialog>
 
     <el-dialog title="待审批" :visible.sync="createApply.dialogFormVisible" :close-on-click-modal="false" width="90%">
       <div class="app-add">
@@ -558,16 +547,7 @@
           <el-button class="cancelClose" @click="createApply.dialogFormVisible = false">关闭</el-button>
         </div>
       </div>
-    </el-dialog> 
-
-
-    
-
-    
-
-
-
-
+    </el-dialog>
 
 
   </div>
@@ -595,7 +575,6 @@ import ToDoApplyList from '@/componentView/ToDoApplyList.vue'
 require('echarts/theme/macarons')
 
 
-
 // var myKey = 0
 export default {
   name: 'DashboardEditor',
@@ -615,16 +594,15 @@ export default {
           this.showTableZC = true
           this.get_table_data22()
         }
- 
+
       }
     }
- 
+
   },
   data() {
     return {
 
 
-
       todoVisit:{ id:"" },
       todoComplete:{ id:"" },
       todoStock:{ id:"" },
@@ -632,7 +610,7 @@ export default {
       todoReview:{ id:"" },
       todoRecord:{ id:"" },
       todoApply:{ id:"" },
-  
+
 
       val: '这是值1',
       date: parseTime(new Date(), '{y}-{m}-{d}'),
@@ -645,7 +623,6 @@ export default {
       cellStyle: { padding: 0 + 'px' },
       timer: '',
 
-      
 
       chart1: {
         getdataListParm: {
@@ -658,7 +635,7 @@ export default {
             inputDatetime: '',
             beginDate: '',
             endDate: '',
-        
+
           }
         }
       },
@@ -698,7 +675,7 @@ export default {
         }
       },
       chartLine1: null,
-    
+
       chartLine1_data :{
           arrtitle:['总收入','总支出'],
           monthdate:['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
@@ -707,7 +684,7 @@ export default {
         },
       //收入类型 - 下拉框
       customeStatusList: [
-        {id: "总收入", name: "总收入"}, 
+        {id: "总收入", name: "总收入"},
         {id:  "合同收入", name: "合同收入"},
         {id: "远程服务收入", name: "远程服务收入"},
         {id: "现场服务收入", name: "现场服务收入"},
@@ -804,7 +781,7 @@ export default {
           parammaps: {
             customerId: '',
             groupId: '',
-        
+
           }
         },
         tableKey: 0,
@@ -832,7 +809,7 @@ export default {
           scode: [{ required: true, message: '必填', trigger: 'blur' }]
         },
       },
-       
+
        detailVisible: false,
        detailTxt:"第一条:报销范围1.为本公司实际业务发生的费用。2.费用包括:交通费和业务招待费。3.人事部、技术部、财务部以及其他内勤人员的费用一般限于通讯费和交通费,如有特殊事因需要招待外部单位需要经公司主管批准。4.本报销范围指的是一天以上,当天往返不属于出差。第二条:报销时间1.发票期限以月度为时间单位报销。2.每月底前将当月费用的审批单根据规定签署批准后,送达财务部审核。",
 
@@ -881,34 +858,33 @@ export default {
     this.getNewListMore()
 
     this.getTodoNum()
- 
+
     var isTodo = this.$route.params.isTodo
 
     console.log("isTodo",isTodo)
- 
 
-    if(isTodo == 'visit'){  this.form_see_todo_list('visit') }  
-    if(isTodo == 'telephone'){  this.form_see_todo_list('telephone') }  
-    if(isTodo == 'stock'){  this.form_see_todo_list('stock') }  
-    if(isTodo == 'delivery'){  this.form_see_todo_list('delivery') }  
 
-    if(isTodo == 'remote'){  this.form_see_todo_list('remote') }  
-    if(isTodo == 'site'){  this.form_see_todo_list('site') }  
-    if(isTodo == 'repair'){  this.form_see_todo_list('repair') }  
+    if(isTodo == 'visit'){  this.form_see_todo_list('visit') }
+    if(isTodo == 'telephone'){  this.form_see_todo_list('telephone') }
+    if(isTodo == 'stock'){  this.form_see_todo_list('stock') }
+    if(isTodo == 'delivery'){  this.form_see_todo_list('delivery') }
 
-    if(isTodo == 'contractp'){  this.form_see_todo_list('contractp') }  
-    if(isTodo == 'remotep'){  this.form_see_todo_list('remotep') } 
-    if(isTodo == 'sitep'){  this.form_see_todo_list('sitep') } 
-    if(isTodo == 'repairp'){  this.form_see_todo_list('repairp') } 
-    if(isTodo == 'expensesp'){  this.form_see_todo_list('expensesp') } 
+    if(isTodo == 'remote'){  this.form_see_todo_list('remote') }
+    if(isTodo == 'site'){  this.form_see_todo_list('site') }
+    if(isTodo == 'repair'){  this.form_see_todo_list('repair') }
 
-    if(isTodo == 'record'){  this.form_see_todo_list('record') } 
+    if(isTodo == 'contractp'){  this.form_see_todo_list('contractp') }
+    if(isTodo == 'remotep'){  this.form_see_todo_list('remotep') }
+    if(isTodo == 'sitep'){  this.form_see_todo_list('sitep') }
+    if(isTodo == 'repairp'){  this.form_see_todo_list('repairp') }
+    if(isTodo == 'expensesp'){  this.form_see_todo_list('expensesp') }
 
-    if(isTodo == 'contractapp'){  this.form_see_todo_list('contractapp') } 
-    if(isTodo == 'businessapp'){  this.form_see_todo_list('businessapp') } 
-    if(isTodo == 'expenseapp'){  this.form_see_todo_list('expenseapp') } 
+    if(isTodo == 'record'){  this.form_see_todo_list('record') }
+
+    if(isTodo == 'contractapp'){  this.form_see_todo_list('contractapp') }
+    if(isTodo == 'businessapp'){  this.form_see_todo_list('businessapp') }
+    if(isTodo == 'expenseapp'){  this.form_see_todo_list('expenseapp') }
 
-     
 
   },
   mounted() {
@@ -925,14 +901,14 @@ export default {
     getTodoNum(){
 
       var send_data =  {
-     
+
           name: 'getToDoNums',
           page: 1,
           offset: 1,
           pagecount: '',
           returntype: 'Map',
           parammaps:  {  "userId":Cookies.get('g_userId')}
-     
+
       }
 
       GetDataByName(send_data).then(response => {
@@ -940,9 +916,9 @@ export default {
         if (response.data.list !== null) {
           this.todoNum = response.data.list[0]
         } else {
- 
+
         }
-     
+
       })
     },
 
@@ -954,7 +930,7 @@ export default {
           this.showTableSR = true
           this.showTableZC = false
           this.get_table_data11()
-          
+
       }
 
       if(e == 2){
@@ -964,7 +940,7 @@ export default {
           this.showTableZC = false
           this.getLine1()
 
-          
+
       }
 
     },
@@ -1015,7 +991,7 @@ export default {
     },
 
     jumpSee(e) {
-       
+
       if(e == 1){
          this.$router.push({ name: 'ContractApply', params: {  }})
       }
@@ -1033,12 +1009,12 @@ export default {
       if(e == 5){
          this.$router.push({ name: 'deliveryRecord', params: {  }})
       }
-      
-      
+
+
     },
     getChart1() {
       this.chart1.listLoading = true
-      
+
       GetDataByName(this.chart1.getdataListParm).then(response => {
         console.log("chartPie1_data",response.data.list)
         if (response.data.list !== null) {
@@ -1060,14 +1036,14 @@ export default {
       }
       this.chartPie1 = echarts.init(document.getElementById('chartPie1'))
       var option = {
- 
+
         series: [
           {
             name: '',
             type: 'pie',
             radius: [10, 100],
             center: ['50%', '50%'],
-            
+
             itemStyle: {
               borderRadius: 8
             },
@@ -1102,13 +1078,13 @@ export default {
               { value: this.chartPie1_data.wxfwsr, name: '维修服务收入' },
               { value: this.chartPie1_data.xcfwsr, name: '现场服务收入' },
               { value: this.chartPie1_data.ycfwsr, name: '远程服务收入' }
-          
+
             ]
           }
         ]
       }
 
-      
+
       this.chartPie1.setOption(option)
       window.onresize = function () {
         this.chartPie1.resize()
@@ -1117,7 +1093,7 @@ export default {
 
     getChart2() {
       this.chart2.listLoading = true
-      
+
       GetDataByName(this.chart2.getdataListParm).then(response => {
         console.log("chartPie2_data",response.data.list)
         if (response.data.list !== null) {
@@ -1140,14 +1116,14 @@ export default {
       }
       this.chartPie2 = echarts.init(document.getElementById('chartPie2'))
       var option = {
- 
+
         series: [
           {
             name: '',
             type: 'pie',
             radius: [10, 100],
             center: ['50%', '50%'],
-            
+
             itemStyle: {
               borderRadius: 8
             },
@@ -1174,7 +1150,7 @@ export default {
               }
             },
             data: [
-           
+
               { value: this.chartPie2_data.chucha, name: '出差' },
               { value: this.chartPie2_data.wlf, name: '物流费' },
               { value: this.chartPie2_data.bgf, name: '办公费' },
@@ -1189,13 +1165,13 @@ export default {
               { value: this.chartPie2_data.qt, name: '其他' },
               { value: this.chartPie2_data.sdf, name: '水电费' },
               { value: this.chartPie2_data.jtf, name: '交通费' },
-          
+
             ]
           }
         ]
       }
 
-      
+
       this.chartPie2.setOption(option)
       window.onresize = function () {
         this.chartPie2.resize()
@@ -1205,28 +1181,28 @@ export default {
       GetDataByName(this.chart3.getdataListParm).then(response => {
         console.log("chartLine1_data",response.data.list)
         if (response.data.list !== null) {
-       
+
           this.chartLine1_data.arr1 =  response.data.chartline1_data.arr1
           this.chartLine1_data.arr2 =  response.data.chartline1_data.arr2
           this.roadchartLine1()
         } else {
-         
+
         }
         setTimeout(() => {
           this.chart1.listLoading = false
         }, 100)
       })
     },
-    
+
     roadchartLine1() {
-       
-  
+
+
        if (this.chartline1 != null) {
         this.chartline1.dispose()
       }
       this.chartline1 = echarts.init(document.getElementById('chartline1'))
       var option = {
- 
+
            title: {
           text: 'Stacked Line'
         },
@@ -1280,7 +1256,7 @@ export default {
         ]
       }
 
-      
+
       this.chartline1.setOption(option)
       window.onresize = function () {
         this.chartline1.resize()
@@ -1288,9 +1264,6 @@ export default {
     },
 
 
-
-  
-
     //加载表格
     get_table_data11() {
       this.tableObj11.listLoading = true
@@ -1343,13 +1316,13 @@ export default {
           returntype: 'Map',
           parammaps: {}
         }
-     
- 
+
+
       GetDataByName(send_data).then(response => {
         console.log('table数据', response.data.list)
         if (response.data.list !== null) {
 
-       
+
           if(response.data.list.length>5){
             this.newList[0] =  response.data.list[0]
             this.newList[1] =  response.data.list[1]
@@ -1371,8 +1344,7 @@ export default {
 
      getNewListMore() {
 
-     
- 
+
       GetDataByName(this.newObj.getdataListParm).then(response => {
         console.log('table数据', response.data.list)
         if (response.data.list !== null) {
@@ -1381,7 +1353,7 @@ export default {
           this.newObj.pageNum = response.data.pageNum
           this.newObj.pageSize = response.data.pageSize
           this.newObj.total = response.data.total
-          
+
         } else {
           this.newObj.list = []
         }
@@ -1405,7 +1377,7 @@ export default {
 
 
     on_new_detail_tap(row) {
- 
+
       this.detailVisible = true
       console.log('点击了查看', row)
                 var send_data = {
@@ -1419,8 +1391,8 @@ export default {
                   console.log('查询', response)
                   if (response.msg !== 'fail') {
                     this.newObjDetail = response.data.list[0]
-                     
-                    
+
+
                   } else {
                      this.newObjDetail = {}
                   }
@@ -1429,17 +1401,16 @@ export default {
     },
 
 
-
     form_down(fileId,fileName){
 
       var send_data = {
           fileId: fileId
        }
 
-      
+
         downloadfileCRM(send_data).then(res => {
-        
-        
+
+
           const content = res
           const blob = new Blob([content])
 
@@ -1466,7 +1437,7 @@ export default {
         //   headers: { token: getToken(), optname: 'insertcustomdoc' },
         //   responseType: 'blob'
         // }).then(res => {
-           
+
         //   const content = res
         //   const blob = new Blob([content])
 
@@ -1482,7 +1453,7 @@ export default {
         //   } else { // IE10+下载
         //     navigator.msSaveBlob(blob, fileName)
         //   }
-           
+
         // })
 
     },
@@ -1520,19 +1491,10 @@ export default {
         this.createApply.dialogFormVisible = true
       }
 
- 
-      
-
- 
 
-
- 
-      
-     
     },
 
 
-
   }
 }
 </script>
@@ -1541,7 +1503,7 @@ export default {
 .todo-item{display: inline-block;cursor:pointer}
 .todo-num{font-size:25px;color:#1767a6;text-align: right;font-weight:bold;margin-bottom: -8px; }
 .todo-title{font-size:16px;color:#1767a6}
- 
+
 
 .box-card{margin-bottom: 20px;}
 .piettbx{height:200px;}

+ 47 - 60
src/views/processManagement/approvalProcess/index.vue

@@ -2,7 +2,6 @@
   <div class="app-container">
 
 
-       
         <div class="search">
           <el-row :gutter="0">
             <el-col :span="21">
@@ -15,11 +14,6 @@
           </el-row>
         </div>
 
-       
-    
-
-
- 
 
     <div class="table">
       <el-table :key="table.tableKey" v-loading="table.listLoading" element-loading-text="给我一点时间" :data="table.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed">
@@ -59,15 +53,15 @@
             <span>{{ scope.row.remark }}</span>
           </template>
         </el-table-column>
-      
-    
+
+
         <el-table-column label="操作" align="center"    :width="autoWidth"  v-if="autoWidth !== 0"     class-name="small-padding fixed-width" fixed="right">
           <template slot-scope="{row}">
             <!-- <el-button v-if="isRoleEdit" class="miniSuccess" @click="form_edit(row)">编辑</el-button>
             <el-button v-if="isRoleEdit" class="miniDanger" @click="form_delete(row)">删除</el-button> -->
-            
+
             <el-button class="miniSuccess" v-if="isApprovalProcessAdd" @click="form_edit(row)">编辑</el-button>
- 
+
             <el-button class="miniSuccess" v-if="row.enable == 0 && isApprovalProcessAdd " @click="form_enable(row)">启用</el-button>
             <el-button class="miniDanger" v-if="row.enable == 1 && isApprovalProcessAdd" @click="form_dis_enable(row)">禁用</el-button>
           </template>
@@ -89,10 +83,10 @@
               <el-option v-for="(item,index) in empnameList" :key="index" :label="item.name" :value="item.id" />
             </el-select>
           </el-form-item> -->
-          
+
           </el-form-item>
 
-     
+
           <el-form-item label="是否立即启用:" prop="enable">
             <el-switch ref="enable" v-model="create.temp.enable" active-color="#13ce66" inactive-color="#ff4949" :active-value="1" :inactive-value="0"  :disabled="create.dialogStatus=='see'"/>
           </el-form-item>
@@ -108,7 +102,7 @@
         </el-row>
         <el-form label-position="right" label-width="">
         <el-row :gutter="30">
-          
+
 
             <el-col :span="6" v-for="(item,index) in processAllList" >
               <el-card class="box-card" >
@@ -130,7 +124,7 @@
                   </el-form-item>
 
                   <el-form-item v-show="item.process == '审批用户'" >
-               
+
 
                       <el-select   v-model="item.procUserIdArr" filterable class="filter-item" style="width: 100%;"  @change="change_process_user(item,index)" placeholder="部门管理员" multiple :disabled="create.dialogStatus=='see'">
                         <el-option v-for="(items,indexs) in procUserList" :key="indexs" :label="items.name" :value="items.id" />
@@ -138,10 +132,10 @@
                   </el-form-item>
                 </div>
               </el-card>
-              
+
             </el-col>
         </el-row>
-        </el-form> 
+        </el-form>
 
         <div slot="footer" class="dialog-footer">
           <el-button class="cancelClose" @click="create.dialogFormVisible = false;get_table_data()">关闭</el-button>
@@ -171,7 +165,7 @@ export default {
       departNameList: [],
       empnameList: [],
       roleNameList: [],
-      
+
 autoWidth: 130,
       processAllList:[
         // {
@@ -191,12 +185,12 @@ autoWidth: 130,
         // {name:"部门管理员",id:"部门管理员"},
         // {name:"部门管理员2",id:"部门管理员2"},
       ],
-     
+
       procUserList:[
         // {name:"用户A",id:"用户A"},
         // {name:"用户b",id:"用户b"},
       ],
-      
+
 
       //表格请求参数~
       table: {
@@ -207,7 +201,7 @@ autoWidth: 130,
           pagecount: 10,
           returntype: 'Map',
           parammaps: {
-   
+
           }
         },
         tableKey: 0,
@@ -263,7 +257,7 @@ autoWidth: 130,
     get_auto_buttons() {
       const Edit = 'ApprovalProcess'
       const isRoleEdit = checkButtons(JSON.parse(sessionStorage.getItem('buttons')), Edit)
-      this.isRoleEdit = isRoleEdit 
+      this.isRoleEdit = isRoleEdit
 
 
       const ApprovalProcessAdd = 'process:approval:enabled'
@@ -285,7 +279,7 @@ autoWidth: 130,
         this.procUserList = response.data.list
         console.log("用户下拉框", response)
       })
- 
+
     },
 
 
@@ -308,15 +302,14 @@ autoWidth: 130,
 
            //计算操作栏宽度
            var btnNum = 0
-            
+
               if(me.isApprovalProcessAdd){
-                  me.autoWidth = 2 * 90  
+                  me.autoWidth = 2 * 90
                } else {
-                me.autoWidth =  90  
+                me.autoWidth =  90
                }
 
               console.log("btnNum=============",btnNum)
-            
 
 
         } else {
@@ -337,7 +330,6 @@ autoWidth: 130,
       console.log('点击了重置')
 
 
-
       this.table.getdataListParm.parammaps.userName = ''
       this.table.getdataListParm.parammaps.empName = ''
       this.table.getdataListParm.parammaps.departmentId = ''
@@ -355,7 +347,7 @@ autoWidth: 130,
     //监听 - 角色
     change_process_role(item,index) {
       console.log("监听 - 角色 ",item,index)
- 
+
       var procRoleIdArr = item.procRoleIdArr
       if(procRoleIdArr.length == 0){
         var procRoleId = ""
@@ -364,20 +356,18 @@ autoWidth: 130,
       }
 
       var procRoleList = this.procRoleList
- 
+
 
       this.processAllList[index].procRoleId = procRoleId
       console.log("processAllList=============", this.processAllList)
-    
-    },
 
- 
+    },
 
 
     change_process_user(item,index) {
-   
+
       console.log("监听 - 用户 ",item,index)
- 
+
       var procUserIdArr = item.procUserIdArr
       if(procUserIdArr.length == 0){
         var procUserId = ""
@@ -386,11 +376,11 @@ autoWidth: 130,
       }
 
       this.processAllList[index].procUserId = procUserId
-      
+
       console.log("processAllList=============", this.processAllList)
     },
 
-  
+
     // 流程
     getProcessList() {
       GetDataByName(this.create.getProcessListParm).then(response => {
@@ -416,8 +406,8 @@ autoWidth: 130,
               this.$set(response.data.list[i], 'procUserIdArr', procUserIdArr)
             }
           }
-          this.processAllList = response.data.list 
-      
+          this.processAllList = response.data.list
+
           console.log('processAllList=============', this.processAllList)
         } else {
           this.processAllList = []
@@ -454,7 +444,6 @@ autoWidth: 130,
           })
 
 
-
         }
       })
     },
@@ -464,7 +453,7 @@ autoWidth: 130,
       console.log(index)
       if(index > 4){
         this.$notify({ title: '增加失败', message: '最多只能增加4个流程', type: 'error', duration: 2000 })
-        return false 
+        return false
       } else {
         if( index == 0){
           var newobj = {
@@ -516,7 +505,7 @@ autoWidth: 130,
             title:"十审",sort:index + 1,id:this.create.temp.id ,process:"审批角色",procRoleId:"",procRoleIdArr:[],procRoleName:"", procUserId:"", procUserIdArr:[], procUserpName:""
           }
         }
-         
+
 
         this.processAllList.push(newobj)
       }
@@ -525,20 +514,20 @@ autoWidth: 130,
       console.log(item,index)
 
       var processAllList = this.processAllList
- 
- 
+
+
       MessageBox.confirm('是否删除此信息?', {
         confirmButtonText: '确认', cancelButtonText: '取消', type: 'warning'
       }).then(() => {
 
         processAllList.splice(index,1)
 
-      
+
         processAllList.forEach(function(i,j){
           if(j >= index){
             console.log(processAllList)
             processAllList[j].sort = j+1
-            
+
             if(j == 0){
               processAllList[j].title=   "一审"
             }
@@ -581,7 +570,7 @@ autoWidth: 130,
           }
         })
         this.processAllList = processAllList
-         
+
       }).catch(() => {
         this.$message({ type: 'info', message: '已取消删除' })
       })
@@ -595,10 +584,10 @@ autoWidth: 130,
       this.create.temp = Object.assign({}, row)
       this.create.temp.id = row.id
       this.create.dialogStatus = 'see'
-      
+
       this.create.dialogFormVisible = true
 
-      this.create.getProcessListParm.parammaps.id = row.id 
+      this.create.getProcessListParm.parammaps.id = row.id
       this.getProcessList()
     },
     // 编辑
@@ -611,7 +600,7 @@ autoWidth: 130,
       this.create.dialogStatus = 'update'
       this.create.dialogFormVisible = true
 
-      this.create.getProcessListParm.parammaps.id = row.id 
+      this.create.getProcessListParm.parammaps.id = row.id
       this.getProcessList()
     },
 
@@ -619,7 +608,7 @@ autoWidth: 130,
     form_edit_save() {
       console.log("processAllList",this.processAllList)
 
- 
+
       this.$refs['temp'].validate(valid => {
         if (valid) {
 
@@ -629,11 +618,11 @@ autoWidth: 130,
               {
                 "name": "updateApprovalProcess","type": "e",
                 "parammaps": this.create.temp
-              }, 
+              },
               {
                 "name": "delApprovalProcessDetail","type": "e",
-                "parammaps": {"id":this.create.temp.id}                
-              }, 
+                "parammaps": {"id":this.create.temp.id}
+              },
               {
                 "name": "insertApprovalProcessDetail",
                 "resultmaps": {
@@ -694,8 +683,6 @@ autoWidth: 130,
           }
 
 
-       
-          
         }
       })
     },
@@ -720,7 +707,7 @@ autoWidth: 130,
 
     },
 
- 
+
     form_enable(row) {
       MessageBox.confirm('是否启用此流程?', {
         confirmButtonText: '确认',
@@ -734,8 +721,8 @@ autoWidth: 130,
                 id: row.id,
                 enable:1
               }
-            
-          } 
+
+          }
         PostDataByName(send_data).then(() => {
           this.get_table_data()
 
@@ -763,8 +750,8 @@ autoWidth: 130,
                 id: row.id,
                 enable:0
               }
-            
-          } 
+
+          }
         PostDataByName(send_data).then(() => {
           this.get_table_data()
 

+ 0 - 3
src/views/productManagement/assetBasicInfo/index.vue

@@ -210,7 +210,6 @@
     </el-row>
 
 
-
     <!-- 弹窗 -->
 <el-dialog
     :title="dialogTitle"
@@ -344,7 +343,6 @@
           </el-col>
 
 
-
       </el-row>
 
        <el-row :gutter="24">
@@ -1197,7 +1195,6 @@ this.isView = false;
 }
 
 
-
 </style>
 
 <style>

+ 389 - 66
src/views/productManagement/installationCompletedSummary/components/InstallationStatistics.vue

@@ -10,7 +10,7 @@
           <el-form-item>
             <el-input
               v-model="queryParams.orderNo"
-              placeholder="服务单"
+              placeholder="服务单"
               clearable
               style="width: 140px"
             />
@@ -36,7 +36,6 @@
                       <el-tooltip
                         :content="item.goodsName"
                         placement="top"
-                        :disabled="item.goodsName.length <= 10"
                         effect="light"
                       >
                         <span class="value">{{ item.goodsName }}</span>
@@ -152,34 +151,64 @@
     >
       <el-table-column
         prop="orderNo"
-        label="服务单"
-        min-width="90"
+        label="服务单"
+        min-width="80"
         align="center"
-      />
+      >
+        <template slot-scope="scope">
+          <span class="order-no-text" @click="handleView(scope.row)">
+            {{ scope.row.orderNo }}
+          </span>
+        </template>
+      </el-table-column>
       <el-table-column
         prop="customerName"
         label="客户名称"
-        min-width="90"
+        min-width="80"
         align="center"
       />
-      <el-table-column prop="acceptTime" label="接单时间" align="center" />
       <el-table-column
-        prop="actualCompleteTime"
-        label="实际完成时间"
+        prop="acceptTime"
+        label="接单时间"
+        min-width="70"
         align="center"
       />
       <el-table-column
-        prop="totalQuantity"
-        label="总计划量"
-        min-width="50"
-        align="center"
-      />
-      <el-table-column
-        prop="installedQuantity"
-        label="总完成量"
-        min-width="50"
+        prop="actualCompleteTime"
+        label="完成时间"
+        min-width="70"
         align="center"
       />
+      <el-table-column prop="totalQuantity" min-width="50" align="center">
+        <template slot="header">
+          <span>总计划量</span>
+          <el-tooltip
+            content="当前工单所有货品数量的总和"
+            placement="top"
+            effect="light"
+          >
+            <i
+              class="el-icon-question"
+              style="margin-left: 4px; color: #909399; cursor: help"
+            ></i>
+          </el-tooltip>
+        </template>
+      </el-table-column>
+      <el-table-column prop="installedQuantity" min-width="50" align="center">
+        <template slot="header">
+          <span>总完成量</span>
+          <el-tooltip
+            content="当前工单所有完成的货品数量的总和"
+            placement="top"
+            effect="light"
+          >
+            <i
+              class="el-icon-question"
+              style="margin-left: 4px; color: #909399; cursor: help"
+            ></i>
+          </el-tooltip>
+        </template>
+      </el-table-column>
 
       <el-table-column
         prop="plannedTimes"
@@ -187,36 +216,73 @@
         min-width="50"
         align="center"
       />
+
       <el-table-column
-        prop="workedTimes"
-        label="实际总工时/天"
-        min-width="50"
+        prop="installUserNames"
+        label="分配人员"
+        min-width="60"
         align="center"
       >
         <template slot-scope="scope">
-          <span :style="{ color: getWorkDaysColor(scope.row) }">{{
-            scope.row.workedTimes
-          }}</span>
+          <div class="staff-tags">
+            <template v-if="scope.row.serviceStaffNames">
+              <el-tag
+                v-for="(item, index) in scope.row.serviceStaffNames.split(',')"
+                :key="index"
+                size="mini"
+                :type="['primary', 'success', 'warning', 'danger'][index % 4]"
+                effect="light"
+                :class="{ 'long-text': item.length > 10 }"
+              >
+                {{ item }}
+              </el-tag>
+            </template>
+          </div>
         </template>
       </el-table-column>
       <el-table-column
         prop="goodsName"
         label="货品名称"
-        min-width="150"
+        min-width="60"
         align="center"
       />
       <el-table-column
-        prop="goodQuantity"
-        label="货品计划数量"
-        min-width="50"
-        align="center"
-      />
-      <el-table-column
-        prop="goodInstallQuantity"
-        label="货品完成数量"
-        min-width="50"
+        prop="projectName"
+        label="项目名称"
+        min-width="60"
         align="center"
       />
+
+      <el-table-column prop="goodQuantity" min-width="50" align="center">
+        <template slot="header">
+          <span>计划数量</span>
+          <el-tooltip
+            content="当前货品需要服务的数量"
+            placement="top"
+            effect="light"
+          >
+            <i
+              class="el-icon-question"
+              style="margin-left: 4px; color: #909399; cursor: help"
+            ></i>
+          </el-tooltip>
+        </template>
+      </el-table-column>
+      <el-table-column prop="goodInstallQuantity" min-width="50" align="center">
+        <template slot="header">
+          <span>完成数量</span>
+          <el-tooltip
+            content="当前货品服务完成的数量"
+            placement="top"
+            effect="light"
+          >
+            <i
+              class="el-icon-question"
+              style="margin-left: 4px; color: #909399; cursor: help"
+            ></i>
+          </el-tooltip>
+        </template>
+      </el-table-column>
       <el-table-column
         prop="installUserName"
         min-width="50"
@@ -228,30 +294,92 @@
         min-width="50"
         label="服务数量"
         align="center"
-      />
-      <el-table-column
-        prop="serverWorkedTimes"
-        min-width="50"
-        label="服务工时"
-        align="center"
-      />
-      <el-table-column prop="completionRate" label="完成效率" align="center">
+      >
+        <template slot="header">
+          <span>服务数量</span>
+          <el-tooltip
+            content="当前服务人员服务完成当前货品的数量"
+            placement="top"
+            effect="light"
+          >
+            <i
+              class="el-icon-question"
+              style="margin-left: 4px; color: #909399; cursor: help"
+            ></i>
+          </el-tooltip>
+        </template>
+      </el-table-column>
+      <el-table-column prop="serverWorkedTimes" min-width="50" align="center">
+        <template slot="header">
+          <span>服务工时/天</span>
+          <el-tooltip
+            content="当前服务人员服务完成当前货品所用的时间"
+            placement="top"
+            effect="light"
+          >
+            <i
+              class="el-icon-question"
+              style="margin-left: 4px; color: #909399; cursor: help"
+            ></i>
+          </el-tooltip>
+        </template>
+      </el-table-column>
+      <el-table-column prop="completionRate" align="center">
+        <template slot="header">
+          <span>完成效率</span>
+          <el-tooltip
+            content="完成效率=服务数量/计划数量*100%"
+            placement="top"
+            effect="light"
+          >
+            <i
+              class="el-icon-question"
+              style="margin-left: 4px; color: #909399; cursor: help"
+            ></i>
+          </el-tooltip>
+        </template>
         <template slot-scope="scope">
           <span :style="{ color: getCompletionRateColor(scope.row) }"
             >{{ scope.row.completionRate }}%</span
           >
         </template>
       </el-table-column>
-      <el-table-column prop="productivity" label="人效" align="center" />
+      <el-table-column prop="productivity" align="center">
+        <template slot="header">
+          <span>人效</span>
+          <el-tooltip
+            content="人效=服务数量/服务工时"
+            placement="top"
+            effect="light"
+          >
+            <i
+              class="el-icon-question"
+              style="margin-left: 4px; color: #909399; cursor: help"
+            ></i>
+          </el-tooltip>
+        </template>
+      </el-table-column>
     </el-table>
+
+    <!-- 使用服务工单的查看弹窗组件 -->
+    <view-dialog
+      :visible.sync="dialogVisible"
+      :row-data="currentRow"
+      :installer-options="personnelOptions"
+      :project-options="projectOptions"
+    />
   </el-card>
 </template>
 
 <script>
 import { GetDataByName, GetDataByNames } from "@/api/common";
+import ViewDialog from "@/views/productManagement/installationOrder/components/ViewDialog.vue";
 
 export default {
   name: "InstallationStatistics",
+  components: {
+    ViewDialog,
+  },
   props: {
     updateTime: {
       type: String,
@@ -278,14 +406,20 @@ export default {
         endDate: "",
         orderNo: "",
       },
-      spanArr: [], // 存储第一级合并信息
-      subSpanArr: [], // 存储第二级合并信息
-      pos: 0, // 当前位置
+      spanArr: [], // 第一级合并:服务工单级别
+      subSpanArr: [], // 第二级合并:货品级别
+      thirdSpanArr: [], // 第三级合并:项目级别
+      pos: 0,
+      subPos: 0,
+      thirdPos: 0,
+      dialogVisible: false,
+      currentRow: null,
+      projectOptions: [], // 添加项目选项数据
     };
   },
   computed: {
     displayData() {
-      return this.isExpanded ? this.tableData : this.tableData.slice(0, 10);
+      return this.tableData;
     },
   },
   watch: {
@@ -298,6 +432,7 @@ export default {
   },
   created() {
     this.initFilterOptions();
+    this.initProjectOptions(); // 添加初始化项目选项
     this.getTableData();
   },
   methods: {
@@ -365,14 +500,7 @@ export default {
       const day = String(d.getDate()).padStart(2, "0");
       return `${year}-${month}-${day}`;
     },
-    getWorkDaysColor(row) {
-      if (row.actualDays > row.planDays) {
-        return "#F56C6C"; // 红色
-      } else if (row.actualDays < row.planDays) {
-        return "#67C23A"; // 绿色
-      }
-      return "#409EFF"; // 蓝色
-    },
+
     getCompletionRateColor(row) {
       if (row.completionRate < 100) {
         return "#F56C6C"; // 红色
@@ -495,9 +623,12 @@ export default {
     },
     // 处理合并信息
     handleSpanData() {
-      this.spanArr = [];
-      this.subSpanArr = [];
+      this.spanArr = []; // 第一级合并:服务工单级别
+      this.subSpanArr = []; // 第二级合并:货品级别
+      this.thirdSpanArr = []; // 第三级合并:项目级别
       this.pos = 0;
+      this.subPos = 0;
+      this.thirdPos = 0;
 
       const data = this.tableData;
 
@@ -522,31 +653,75 @@ export default {
       }
 
       // 第二级合并计算(货品级别)
-      let subPos = 0;
-      let currentSpan = 0;
       let lastOrderNo = ""; // 记录上一个工单号
+      let lastGoodsName = ""; // 记录上一个货品名称
 
       for (let i = 0; i < data.length; i++) {
         if (i === 0) {
           this.subSpanArr.push(1);
-          subPos = i;
           lastOrderNo = data[i].orderNo;
+          lastGoodsName = data[i].goodsName;
+          this.subPos = 0;
         } else {
           // 如果是同一个工单内
           if (data[i].orderNo === lastOrderNo) {
             // 判断当前行与上一行的货品信息是否相同
-            if (data[i].goodsName === data[i - 1].goodsName) {
-              this.subSpanArr[subPos] += 1;
+            if (data[i].goodsName === lastGoodsName) {
+              this.subSpanArr[this.subPos] += 1;
               this.subSpanArr.push(0);
             } else {
               this.subSpanArr.push(1);
-              subPos = i;
+              this.subPos = i;
+              lastGoodsName = data[i].goodsName;
             }
           } else {
             // 新的工单开始
             this.subSpanArr.push(1);
-            subPos = i;
+            this.subPos = i;
             lastOrderNo = data[i].orderNo;
+            lastGoodsName = data[i].goodsName;
+          }
+        }
+      }
+
+      // 第三级合并计算(项目级别)
+      lastOrderNo = "";
+      lastGoodsName = "";
+      let lastProjectName = "";
+
+      for (let i = 0; i < data.length; i++) {
+        if (i === 0) {
+          this.thirdSpanArr.push(1);
+          lastOrderNo = data[i].orderNo;
+          lastGoodsName = data[i].goodsName;
+          lastProjectName = data[i].projectName;
+          this.thirdPos = 0;
+        } else {
+          // 如果是同一个工单和货品内
+          if (
+            data[i].orderNo === lastOrderNo &&
+            data[i].goodsName === lastGoodsName
+          ) {
+            // 判断当前行与上一行的项目信息是否相同
+            if (
+              data[i].projectName === lastProjectName &&
+              data[i].goodQuantity === data[i - 1].goodQuantity &&
+              data[i].goodInstallQuantity === data[i - 1].goodInstallQuantity
+            ) {
+              this.thirdSpanArr[this.thirdPos] += 1;
+              this.thirdSpanArr.push(0);
+            } else {
+              this.thirdSpanArr.push(1);
+              this.thirdPos = i;
+              lastProjectName = data[i].projectName;
+            }
+          } else {
+            // 新的工单或货品开始
+            this.thirdSpanArr.push(1);
+            this.thirdPos = i;
+            lastOrderNo = data[i].orderNo;
+            lastGoodsName = data[i].goodsName;
+            lastProjectName = data[i].projectName;
           }
         }
       }
@@ -563,8 +738,8 @@ export default {
           colspan: _col,
         };
       }
-      // 第二级合并:货品名称、货品计划数量、货品完成数量
-      else if (columnIndex === 8 || columnIndex === 9 || columnIndex === 10) {
+      // 第二级合并:货品名称
+      else if (columnIndex === 8) {
         const _row = this.subSpanArr[rowIndex];
         const _col = _row > 0 ? 1 : 0;
         return {
@@ -572,6 +747,105 @@ export default {
           colspan: _col,
         };
       }
+      // 第三级合并:项目名称、计划数量、完成数量
+      else if (columnIndex === 9 || columnIndex === 10 || columnIndex === 11) {
+        const _row = this.thirdSpanArr[rowIndex];
+        const _col = _row > 0 ? 1 : 0;
+        return {
+          rowspan: _row,
+          colspan: _col,
+        };
+      }
+    },
+    // 修改查看详情方法
+    async handleView(row) {
+      // 直接使用当前行数据
+      this.currentRow = {
+        id: row.id,
+        orderNo: row.orderNo,
+        customerName: row.customerName,
+        projectName: row.projectName,
+        acceptTime: row.acceptTime,
+        actualCompleteTime: row.actualCompleteTime,
+        totalQuantity: row.totalQuantity,
+        installedQuantity: row.installedQuantity,
+        uninstalledQuantity: row.uninstalledQuantity,
+        progress: row.progress,
+        serviceStaffNames: row.installUserName,
+        // 其他需要的字段...
+      };
+      this.dialogVisible = true;
+
+      // 获取完整工单信息
+      const send_select_list = [
+        {
+          name: "getInstallationOrderById",
+          returntype: "Map",
+          parammaps: {
+            orderNo: row.orderNo,
+          },
+        },
+        {
+          name: "getInstallationOrderDetail",
+          returntype: "Map",
+          parammaps: {
+            orderNo: row.orderNo,
+          },
+        },
+        {
+          name: "getInstallationOrderProcessLogByOrderNo",
+          returntype: "Map",
+          parammaps: {
+            orderNo: row.orderNo,
+          },
+        },
+      ];
+
+      try {
+        const response = await GetDataByNames(send_select_list);
+        if (response.data) {
+          // 获取主表数据
+          const mainData =
+            response.data.getInstallationOrderById.list?.[0] || {};
+          // 获取明细表数据
+          const detailData =
+            response.data.getInstallationOrderDetail.list || [];
+          // 获取流程数据
+          const processData =
+            response.data.getInstallationOrderProcessLogByOrderNo.list || [];
+
+          // 更新当前行数据
+          this.currentRow = {
+            ...this.currentRow,
+            ...mainData,
+            products: detailData,
+            processData: processData,
+          };
+        }
+      } catch (error) {
+        console.error("获取工单详情失败:", error);
+        this.$message.error("获取工单详情失败");
+      }
+    },
+    // 初始化项目选项
+    async initProjectOptions() {
+      const send_select_list = {
+        name: "getProjectSelect",
+        returntype: "Map",
+        parammaps: {},
+      };
+
+      try {
+        const response = await GetDataByName(send_select_list);
+        if (response.data && response.data.list) {
+          this.projectOptions = response.data.list.map((item) => ({
+            value: item.id,
+            label: item.name,
+          }));
+        }
+      } catch (error) {
+        console.error("获取项目选项失败:", error);
+      }
     },
   },
 };
@@ -809,4 +1083,53 @@ export default {
     }
   }
 }
+
+.order-no-text {
+  color: #409eff;
+  cursor: pointer;
+  transition: color 0.3s;
+
+  &:hover {
+    color: #66b1ff;
+  }
+}
+
+.order-detail {
+  padding: 20px;
+
+  .detail-section {
+    margin-bottom: 24px;
+
+    .section-title {
+      font-size: 16px;
+      font-weight: 500;
+      color: #303133;
+      margin-bottom: 16px;
+      padding-left: 8px;
+      border-left: 4px solid #409eff;
+    }
+  }
+}
+
+:deep(.el-dialog__body) {
+  padding: 10px 20px;
+}
+
+:deep(.el-descriptions) {
+  padding: 16px;
+  background-color: #fff;
+  border-radius: 4px;
+  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.05);
+
+  .el-descriptions-item__label {
+    background-color: #fafafa;
+    padding: 12px 16px;
+    margin-right: -1px;
+    font-weight: 500;
+  }
+
+  .el-descriptions-item__content {
+    padding: 12px 16px;
+  }
+}
 </style>

+ 69 - 39
src/views/productManagement/installationOrder/components/AddDialog.vue

@@ -27,27 +27,12 @@
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col :span="8">
-          <el-form-item label="服务项目" prop="serviceProject">
-            <el-select
-              v-model="form.serviceProject"
-              placeholder="请选择服务项目"
-              style="width: 100%"
-            >
-              <el-option
-                v-for="item in projectOptions"
-                :key="item.id"
-                :label="item.name"
-                :value="item.id"
-              />
-            </el-select>
-          </el-form-item>
-        </el-col>
         <el-col :span="8">
           <el-form-item label="服务人员" prop="serviceStaff">
             <el-select
               v-model="form.serviceStaff"
               multiple
+              filterable
               placeholder="请选择服务人员"
               style="width: 100%"
             >
@@ -60,9 +45,6 @@
             </el-select>
           </el-form-item>
         </el-col>
-      </el-row>
-
-      <el-row :gutter="10">
         <el-col :span="8">
           <el-form-item label="预计完成时间" prop="estimatedCompleteTime">
             <el-date-picker
@@ -73,6 +55,9 @@
             />
           </el-form-item>
         </el-col>
+      </el-row>
+
+      <el-row :gutter="10">
         <el-col :span="8">
           <el-form-item label="发货单号" prop="deliveryNo">
             <el-input v-model="form.deliveryNo" disabled />
@@ -208,6 +193,23 @@
             width="50"
             align="center"
           />
+          <el-table-column label="服务项目" align="center" width="150">
+            <template slot-scope="scope">
+              <el-select
+                v-model="scope.row.serviceProject"
+                filterable
+                placeholder="请选择服务项目"
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in projectOptions"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                />
+              </el-select>
+            </template>
+          </el-table-column>
           <el-table-column
             prop="goodsCode"
             label="货品编号"
@@ -392,7 +394,6 @@ export default {
     return {
       form: {
         orderer: "",
-        serviceProject: "",
         serviceStaff: [],
         estimatedCompleteTime: "",
         deliveryNo: "",
@@ -413,9 +414,6 @@ export default {
         orderer: [
           { required: true, message: "请选择下单人", trigger: "change" },
         ],
-        serviceProject: [
-          { required: true, message: "请选择服务项目", trigger: "change" },
-        ],
         serviceStaff: [
           { required: true, message: "请选择服务人员", trigger: "change" },
         ],
@@ -511,14 +509,14 @@ export default {
       );
       if (selectedProduct) {
         // 检查是否已经添加过该货品
-        const existingProduct = this.form.products.find(
-          (item) => item.goodsId === selectedProduct.goodsId
-        );
-        if (existingProduct) {
-          this.$message.warning("该货品已经添加过了");
-          this.selectedProduct = "";
-          return;
-        }
+        // const existingProduct = this.form.products.find(
+        //   (item) => item.goodsId === selectedProduct.goodsId
+        // );
+        // if (existingProduct) {
+        //   this.$message.warning("该货品已经添加过了");
+        //   this.selectedProduct = "";
+        //   return;
+        // }
 
         // 添加新货品到表格
         this.form.products.push({
@@ -533,6 +531,7 @@ export default {
           shippedQuantity: 0,
           unshippedQuantity: 0,
           remark: "",
+          serviceProject: "", // 新增服务项目字段
         });
       }
       this.selectedProduct = ""; // 清空选择
@@ -561,13 +560,47 @@ export default {
               return;
             }
 
-            // 检查每个货品的订单数量是否大于0
+            // 检查每个货品的必填项
             const invalidProducts = this.form.products.filter(
-              (item) => !item.orderQuantity || parseInt(item.orderQuantity) <= 0
+              (item) =>
+                !item.orderQuantity ||
+                parseInt(item.orderQuantity) <= 0 ||
+                !item.serviceProject
             );
 
             if (invalidProducts.length > 0) {
-              this.$message.warning("所有货品的订单数量必须大于0");
+              this.$message.warning(
+                "请确保所有货品都已填写服务项目和订单数量(且数量大于0)"
+              );
+              return;
+            }
+
+            // 检查服务项目+货品名称的唯一性
+            const duplicateCheck = new Map();
+            const duplicateItems = [];
+
+            this.form.products.forEach((item) => {
+              const key = `${item.serviceProject}_${item.goodsName}`;
+              if (duplicateCheck.has(key)) {
+                duplicateItems.push({
+                  goodsName: item.goodsName,
+                  projectName:
+                    this.projectOptions.find(
+                      (p) => p.id === item.serviceProject
+                    )?.name || "",
+                });
+              } else {
+                duplicateCheck.set(key, true);
+              }
+            });
+
+            if (duplicateItems.length > 0) {
+              const duplicateInfo = duplicateItems
+                .map((item) => `【${item.projectName} - ${item.goodsName}】`)
+                .join("、");
+              this.$message.warning(
+                `以下服务项目和货品组合重复,请检查:${duplicateInfo}`
+              );
               return;
             }
 
@@ -581,11 +614,6 @@ export default {
                   name: "insertInstallationOrder",
                   type: "e",
                   parammaps: {
-                    projectId: this.form.serviceProject,
-                    projectName:
-                      this.projectOptions.find(
-                        (item) => item.id === this.form.serviceProject
-                      )?.name || "",
                     customerId: this.form.customer,
                     customerName:
                       this.customerOptions.find(
@@ -630,6 +658,7 @@ export default {
                   name: "insertInstallationOrderDetail",
                   resultmaps: {
                     list: this.form.products.map((item) => ({
+                      projectId: item.serviceProject,
                       goodsId: item.goodsId,
                       goodsName: item.goodsName,
                       orderQuantity: parseInt(item.orderQuantity || 0),
@@ -644,6 +673,7 @@ export default {
                       type: "e",
                       parammaps: {
                         goodsId: "@insertInstallationOrderDetail.goodsId",
+                        projectId: "@insertInstallationOrderDetail.projectId",
                         goodsName: "@insertInstallationOrderDetail.goodsName",
                         orderQuantity:
                           "@insertInstallationOrderDetail.orderQuantity",

+ 5 - 0
src/views/productManagement/installationOrder/components/CheckDialog.vue

@@ -159,6 +159,11 @@ export default {
         ],
         telephone: [
           { required: true, message: "请输入联系人电话", trigger: "blur" },
+          {
+            pattern: /^1\d{10}$/,
+            message: "请输入11位有效的手机号码",
+            trigger: "blur",
+          },
         ],
         checkDate: [
           { required: true, message: "请选择验收日期", trigger: "change" },

+ 62 - 20
src/views/productManagement/installationOrder/components/DailyWriteDialog.vue

@@ -22,10 +22,6 @@
         <span class="label">服务人员:</span>
         <span class="value">{{ rowData?.serviceStaffNames || "" }}</span>
       </div>
-      <div class="info-item">
-        <span class="label">项目名称:</span>
-        <span class="value">{{ rowData?.projectName || "" }}</span>
-      </div>
     </div>
 
     <div class="table-header">
@@ -56,8 +52,18 @@
     </div>
 
     <el-table :data="tableData" border style="width: 100%; margin-top: 15px">
-      <el-table-column prop="date" label="日期" width="100" align="center">
+      <el-table-column prop="date" label="日期" width="100" align="center" />
+      <el-table-column
+        prop="projectName"
+        label="服务项目"
+        width="100"
+        align="center"
+      >
+        <template slot-scope="scope">
+          <el-tag type="primary"> {{ scope.row.projectName }} </el-tag>
+        </template>
       </el-table-column>
+
       <el-table-column prop="goodsName" label="货品" width="150" align="center">
         <template slot-scope="scope">
           {{ scope.row.goodsName }}
@@ -93,7 +99,6 @@
             size="small"
             type="number"
             min="0"
-            :max="scope.row.unshippedQuantity"
             @input="handleTodayQuantityChange(scope.row)"
             style="width: 80px"
             placeholder="必填"
@@ -264,18 +269,38 @@ export default {
       try {
         console.log("开始处理表格数据:", responseData);
         this.tableData = responseData.map((item) => {
+          // 根据是否填写状态计算初始剩余量
+          let unshippedQuantity;
+          if (item.isWrite === "已填写") {
+            // 如果是已填写状态,剩余量 = 计划总量 - 当日完成量
+            unshippedQuantity = Math.max(
+              0,
+              item.orderQuantity - item.todayQuantity
+            );
+          } else {
+            // 如果是未填写状态,剩余量 = 计划总量 - 已完成量 - 当日完成量
+            unshippedQuantity = Math.max(
+              0,
+              item.orderQuantity - item.installQuantity - item.todayQuantity
+            );
+          }
+
           const processedItem = {
             date: item.date,
             goodsName: item.goodsName,
+            projectName: item.projectName,
             goodsId: item.goodsId,
             orderQuantity: item.orderQuantity || 0,
             installQuantity: item.installQuantity || 0,
             todayQuantity: item.todayQuantity || 0,
-            unshippedQuantity: item.unshippedQuantity || 0,
+            unshippedQuantity: unshippedQuantity,
             installRemark: item.installRemark || "",
             isWrite: item.isWrite || "未填写",
             orderId: item.orderId,
             userName: item.userName,
+            projectId: item.projectId,
+            projectName: item.projectName,
+            oldTodayQuantity: item.oldTodayQuantity || 0,
           };
           return processedItem;
         });
@@ -296,24 +321,41 @@ export default {
     handleTodayQuantityChange(row) {
       // 确保输入的是非负整数
       row.todayQuantity = Math.floor(Math.max(0, row.todayQuantity));
-
-      if (row.todayQuantity > row.unshippedQuantity) {
-        row.todayQuantity = row.unshippedQuantity;
-        this.$message.warning("当日完成量不能超过剩余量");
+      const oldTodayQuantity = row.oldTodayQuantity;
+      // 根据是否填写状态计算剩余量
+      if (row.isWrite === "已填写") {
+        // 如果是已填写状态,剩余量 = 计划总量 - 当日完成量
+        row.unshippedQuantity =
+          row.orderQuantity -
+            row.installQuantity -
+            row.todayQuantity +
+            oldTodayQuantity <
+          0
+            ? 0
+            : row.orderQuantity -
+              row.installQuantity -
+              row.todayQuantity +
+              oldTodayQuantity;
+      } else {
+        // 如果是未填写状态,剩余量 = 计划总量 - 已完成量 - 当日完成量
+        row.unshippedQuantity =
+          row.orderQuantity - row.installQuantity - row.todayQuantity < 0
+            ? 0
+            : row.orderQuantity - row.installQuantity - row.todayQuantity;
       }
     },
 
     // 验证表格数据
     validateTableData() {
-      const invalidRows = this.tableData.filter(
-        (row) => !row.todayQuantity || row.todayQuantity <= 0
-      );
-
-      if (invalidRows.length > 0) {
-        const dates = invalidRows.map((row) => row.date).join("、");
-        this.$message.error(`${dates} 的当日完成量必须大于0`);
-        return false;
-      }
+      // const invalidRows = this.tableData.filter(
+      //   (row) => !row.todayQuantity || row.todayQuantity <= 0
+      // );
+
+      // if (invalidRows.length > 0) {
+      //   const dates = invalidRows.map((row) => row.date).join("、");
+      //   this.$message.error(`${dates} 的当日完成量必须大于0`);
+      //   return false;
+      // }
       return true;
     },
 

+ 175 - 82
src/views/productManagement/installationOrder/components/EditDialog.vue

@@ -46,28 +46,14 @@
       </el-row>
 
       <el-row :gutter="10">
-        <el-col :span="8">
-          <el-form-item label="服务项目" prop="serviceProject">
-            <el-select
-              v-model="form.serviceProject"
-              placeholder="请选择服务项目"
-              style="width: 100%"
-            >
-              <el-option
-                v-for="item in projectOptions"
-                :key="item.id"
-                :label="item.name"
-                :value="item.id"
-              />
-            </el-select>
-          </el-form-item>
-        </el-col>
         <el-col :span="8">
           <el-form-item label="服务人员" prop="serviceStaffIds">
             <el-select
               v-model="form.serviceStaffIds"
               multiple
+              filterable
               placeholder="请选择服务人员"
+              @change="handleServiceStaffChange"
               style="width: 100%"
             >
               <el-option
@@ -216,6 +202,22 @@
             width="50"
             align="center"
           />
+          <el-table-column label="服务项目" align="center" width="150">
+            <template slot-scope="scope">
+              <el-select
+                v-model="scope.row.projectId"
+                placeholder="请选择服务项目"
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in projectOptions"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                />
+              </el-select>
+            </template>
+          </el-table-column>
           <el-table-column
             prop="goodsCode"
             label="货品编号"
@@ -228,6 +230,40 @@
             align="center"
             width="150"
           />
+
+          <el-table-column
+            prop="stock"
+            label="现有库存"
+            align="center"
+            width="60"
+          />
+          <el-table-column
+            prop="orderQuantity"
+            label="计划总量"
+            align="center"
+            width="110"
+          >
+            <template slot-scope="scope">
+              <el-input
+                v-model="scope.row.orderQuantity"
+                size="mini"
+                style="width: 70px"
+                @input="handleOrderQuantityInput($event, scope.row)"
+              />
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="shippedQuantity"
+            label="已完成量"
+            align="center"
+            width="70"
+          />
+          <el-table-column
+            prop="unshippedQuantity"
+            label="未完成量"
+            align="center"
+            width="70"
+          />
           <el-table-column
             prop="goodsSpecification"
             label="货品规格"
@@ -277,39 +313,6 @@
             align="center"
             width="50"
           />
-          <el-table-column
-            prop="stock"
-            label="现有库存"
-            align="center"
-            width="60"
-          />
-          <el-table-column
-            prop="orderQuantity"
-            label="计划总量"
-            align="center"
-            width="110"
-          >
-            <template slot-scope="scope">
-              <el-input
-                v-model="scope.row.orderQuantity"
-                size="mini"
-                style="width: 70px"
-                @input="handleOrderQuantityInput($event, scope.row)"
-              />
-            </template>
-          </el-table-column>
-          <el-table-column
-            prop="shippedQuantity"
-            label="已完成量"
-            align="center"
-            width="70"
-          />
-          <el-table-column
-            prop="unshippedQuantity"
-            label="未完成量"
-            align="center"
-            width="70"
-          />
           <el-table-column
             prop="remark"
             label="备注"
@@ -395,6 +398,13 @@ export default {
         this.$nextTick(async () => {
           await this.getOrderData();
           this.getInitialData();
+          // 设置默认选中的服务人员
+          if (this.rowData.serviceStaffIds) {
+            this.form.serviceStaffIds = this.rowData.serviceStaffIds
+              .split(",")
+              .map((id) => parseInt(id.trim()));
+            this.previousServiceStaffIds = [...this.form.serviceStaffIds]; // 保存初始状态
+          }
         });
       }
     },
@@ -402,9 +412,19 @@ export default {
   data() {
     return {
       form: {
-        products: [], // 只保留 products 数组,因为表格初始化需要它
-        serviceStaffIds: [], // 改为数组类型
+        orderNo: "",
+        orderTime: "",
+        createId: "",
+        createName: "",
+        serviceStaffIds: [],
+        estimatedCompleteTime: "",
+        deliveryNo: "",
+        contractNo: "",
+        customerName: "",
+        remark: "",
+        products: [],
       },
+      previousServiceStaffIds: [], // 上一次选择的服务人员
       customerOptions: [], // 客户选项
       loading: false, // 客户加载状态
       selectedProduct: "", // 当前选中的货品
@@ -416,9 +436,6 @@ export default {
         createId: [
           { required: true, message: "请选择下单人", trigger: "change" },
         ],
-        serviceProject: [
-          { required: true, message: "请选择服务项目", trigger: "change" },
-        ],
         serviceStaffIds: [
           { required: true, message: "请选择服务人员", trigger: "change" },
         ],
@@ -429,6 +446,51 @@ export default {
     };
   },
   methods: {
+    async handleServiceStaffChange(newValue) {
+      // 找出被删除的 ID(只会有一个)
+      const removedId = this.previousServiceStaffIds.find(
+        (id) => !newValue.includes(id)
+      );
+
+      // 如果有被删除的 ID
+      if (removedId) {
+        // 获取被删除人员的名称
+        const removedStaff = this.installerOptions.find(
+          (item) => item.value === removedId
+        );
+
+        const params = {
+          name: "checkIsDoOrderByUserId",
+          returntype: "Map",
+          parammaps: {
+            orderId: this.rowData.id,
+            userId: removedId,
+          },
+        };
+
+        try {
+          const response = await GetDataByName(params);
+          if (!response) {
+            throw new Error("接口返回数据为空");
+          }
+          if (response.data.list && response.data.list[0].result === "1") {
+            this.$message.warning(
+              `不能移除, ${removedStaff?.label || "当前服务人员"} 已开始服务`
+            );
+            // 恢复选中状态
+            this.$nextTick(() => {
+              this.form.serviceStaffIds = [...this.previousServiceStaffIds];
+            });
+            return;
+          }
+        } catch (error) {
+          console.error("数据处理失败:", error);
+        }
+      }
+
+      // 如果检查通过,更新上一次的选择状态
+      this.previousServiceStaffIds = [...newValue];
+    },
     // 获取订单数据
     async getOrderData() {
       try {
@@ -451,23 +513,14 @@ export default {
 
         const response = await GetDataByNames(params);
         if (response.msg === "ok") {
-          // 获取主表数据
           const mainData = response.data.getInstallationOrderById.list[0] || {};
-          // 获取明细表数据
           const detailData =
             response.data.getInstallationOrderDetail.list || [];
 
-          // 初始化表单数据
           this.form = {
             orderNo: mainData.orderNo || "",
             orderTime: mainData.orderTime ? new Date(mainData.orderTime) : "",
-            serviceProject: parseInt(mainData.projectId),
-            orderer: parseInt(mainData.dispatcherId)
-              ? parseInt(mainData.dispatcherId)
-              : null,
-            createId: parseInt(mainData.createId)
-              ? parseInt(mainData.createId)
-              : null,
+            createId: parseInt(mainData.createId) || null,
             createName: mainData.createName || "",
             serviceStaffIds: mainData.serviceStaffIds
               ? mainData.serviceStaffIds.split(",").map((id) => parseInt(id))
@@ -491,12 +544,10 @@ export default {
               shippedQuantity: item.shippedQuantity || 0,
               unshippedQuantity: item.unshippedQuantity || 0,
               remark: item.remark || "",
+              projectId: parseInt(item.projectId) || "",
+              projectName: item.projectName || "",
             })),
           };
-          console.log("form:", this.form);
-          console.log("projectOptions:", this.projectOptions);
-          console.log("mainData.projectId:", mainData.projectId);
-          console.log("parsed serviceProject:", parseInt(mainData.projectId));
         } else {
           this.$message.error("获取数据失败");
         }
@@ -514,6 +565,7 @@ export default {
       this.$emit("update:visible", false);
       this.$refs.form && this.$refs.form.resetFields();
       this.form.products = [];
+      this.previousServiceStaffIds = []; // 重置上一次的选择状态
     },
 
     // 取消
@@ -557,20 +609,19 @@ export default {
 
     // 处理货品选择变化
     handleProductChange(value) {
-      console.log("value:", this.form.products, value);
       const selectedProduct = this.productOptions.find(
         (item) => item.goodsId === value
       );
       if (selectedProduct) {
         // 检查是否已经添加过该货品
-        const existingProduct = this.form.products.find(
-          (item) => item.goodsId === selectedProduct.goodsId
-        );
-        if (existingProduct) {
-          this.$message.warning("该货品已经添加过了");
-          this.selectedProduct = "";
-          return;
-        }
+        // const existingProduct = this.form.products.find(
+        //   (item) => item.goodsId === selectedProduct.goodsId
+        // );
+        // if (existingProduct) {
+        //   this.$message.warning("该货品已经添加过了");
+        //   this.selectedProduct = "";
+        //   return;
+        // }
 
         // 添加新货品到表格
         this.form.products.push({
@@ -585,6 +636,8 @@ export default {
           shippedQuantity: 0,
           unshippedQuantity: 0,
           remark: "",
+          projectId: "",
+          projectName: "",
         });
       }
       this.selectedProduct = ""; // 清空选择
@@ -613,6 +666,49 @@ export default {
               return;
             }
 
+            // 检查每个货品的必填项
+            const invalidProducts = this.form.products.filter(
+              (item) =>
+                !item.orderQuantity ||
+                parseInt(item.orderQuantity) <= 0 ||
+                !item.projectId
+            );
+
+            if (invalidProducts.length > 0) {
+              this.$message.warning(
+                "请确保所有货品都已填写服务项目和订单数量(且数量大于0)"
+              );
+              return;
+            }
+
+            // 检查服务项目+货品名称的唯一性
+            const duplicateCheck = new Map();
+            const duplicateItems = [];
+
+            this.form.products.forEach((item) => {
+              const key = `${item.projectId}_${item.goodsName}`;
+              if (duplicateCheck.has(key)) {
+                duplicateItems.push({
+                  goodsName: item.goodsName,
+                  projectName:
+                    this.projectOptions.find((p) => p.id === item.projectId)
+                      ?.name || "",
+                });
+              } else {
+                duplicateCheck.set(key, true);
+              }
+            });
+
+            if (duplicateItems.length > 0) {
+              const duplicateInfo = duplicateItems
+                .map((item) => `【${item.projectName} - ${item.goodsName}】`)
+                .join("、");
+              this.$message.warning(
+                `以下服务项目和货品组合重复,请检查:${duplicateInfo}`
+              );
+              return;
+            }
+
             // 构建保存参数
             const params = {
               common: {
@@ -624,11 +720,6 @@ export default {
                   type: "e",
                   parammaps: {
                     id: this.rowData.id,
-                    projectId: this.form.serviceProject,
-                    projectName:
-                      this.projectOptions.find(
-                        (item) => item.id === this.form.serviceProject
-                      )?.name || "",
                     totalQuantity: this.form.products.reduce(
                       (sum, item) => sum + parseInt(item.orderQuantity || 0),
                       0
@@ -669,6 +760,7 @@ export default {
                   name: "insertInstallationOrderDetail",
                   resultmaps: {
                     list: this.form.products.map((item) => ({
+                      projectId: item.projectId,
                       goodsId: item.goodsId,
                       goodsName: item.goodsName,
                       orderQuantity: parseInt(item.orderQuantity || 0),
@@ -682,6 +774,7 @@ export default {
                       name: "insertInstallationOrderDetail",
                       type: "e",
                       parammaps: {
+                        projectId: "@insertInstallationOrderDetail.projectId",
                         goodsId: "@insertInstallationOrderDetail.goodsId",
                         goodsName: "@insertInstallationOrderDetail.goodsName",
                         orderQuantity:

+ 487 - 167
src/views/productManagement/installationOrder/components/ViewDialog.vue

@@ -162,6 +162,12 @@
                     width="50"
                     align="center"
                   />
+                  <el-table-column
+                    prop="projectName"
+                    label="服务项目"
+                    align="center"
+                    width="150"
+                  />
                   <el-table-column
                     prop="goodsCode"
                     label="货品编号"
@@ -243,10 +249,25 @@
                   />
                   <el-table-column
                     prop="unshippedQuantity"
-                    label="未完成量"
+                    label="剩余量"
                     align="center"
-                    width="70"
-                  />
+                    width="80"
+                  >
+                    <template slot-scope="scope">
+                      <span
+                        :style="{
+                          color:
+                            parseInt(scope.row.unshippedQuantity) < 0
+                              ? '#67C23A'
+                              : '',
+                        }"
+                      >
+                        {{
+                          formatUnshippedQuantity(scope.row.unshippedQuantity)
+                        }}
+                      </span>
+                    </template>
+                  </el-table-column>
                   <el-table-column
                     prop="remark"
                     label="备注"
@@ -395,14 +416,49 @@
               <span class="label">服务人员:</span>
               <span class="value">{{ form.serviceStaffNames }}</span>
             </div>
-            <div class="header-item">
-              <span class="label">项目名称:</span>
-              <span class="value">{{ form.projectName }}</span>
+          </div>
+
+          <div class="filter-section">
+            <div class="filter-left">
+              <el-date-picker
+                v-model="filterDate"
+                type="daterange"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+                value-format="yyyy-MM-dd"
+                style="width: 260px; margin-right: 15px"
+              />
+              <el-select
+                v-model="filterStaff"
+                filterable
+                placeholder="请选择服务人员"
+                clearable
+                style="width: 200px; margin-right: 15px"
+              >
+                <el-option
+                  v-for="item in serviceStaffList"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                />
+              </el-select>
+              <el-button
+                type="primary"
+                icon="el-icon-search"
+                @click="getOrderDailyData"
+                >查 询</el-button
+              >
+              <el-button
+                type="primary"
+                icon="el-icon-download"
+                @click="handleExport"
+                >导 出</el-button
+              >
             </div>
           </div>
 
           <el-table
-            :data="form.serviceProgressData"
+            :data="displayProgressData"
             border
             style="width: 100%; margin-top: 20px"
             :header-cell-style="{
@@ -418,12 +474,19 @@
               align="center"
               width="100"
             />
+            <el-table-column
+              prop="projectName"
+              label="项目名称"
+              align="center"
+              min-width="120"
+            />
             <el-table-column
               prop="goodsCode"
               label="货品编号"
               align="center"
               min-width="80"
             />
+
             <el-table-column
               prop="goodsName"
               label="货品名称"
@@ -442,7 +505,20 @@
               label="剩余量"
               align="center"
               width="80"
-            />
+            >
+              <template slot-scope="scope">
+                <span
+                  :style="{
+                    color:
+                      parseInt(scope.row.unshippedQuantity) < 0
+                        ? '#67C23A'
+                        : '',
+                  }"
+                >
+                  {{ formatUnshippedQuantity(scope.row.unshippedQuantity) }}
+                </span>
+              </template>
+            </el-table-column>
             <el-table-column
               prop="installUserName"
               label="服务人员"
@@ -474,13 +550,20 @@
     </el-tabs>
 
     <div slot="footer" class="dialog-footer">
+      <el-button v-if="showRejectButton" type="danger" @click="handleReject"
+        >驳 回</el-button
+      >
+      <el-button v-if="showAcceptButton" type="primary" @click="handleAccept"
+        >接 单</el-button
+      >
       <el-button @click="handleDialogClose">关 闭</el-button>
     </div>
   </el-dialog>
 </template>
 
 <script>
-import { GetDataByNames } from "@/api/common";
+import { GetDataByNames, GetDataByName } from "@/api/common";
+import * as XLSX from "xlsx";
 
 export default {
   name: "ViewDialog",
@@ -501,11 +584,37 @@ export default {
       type: Object,
       default: () => ({}),
     },
+    checkButtonPermission: {
+      type: Function,
+      required: true,
+    },
+    isCurrentUserInServiceStaff: {
+      type: Function,
+      required: true,
+    },
   },
   computed: {
     baseApi() {
       return process.env.VUE_APP_BASE_API;
     },
+    showRejectButton() {
+      return (
+        this.form.statusName === "未接单" &&
+        this.checkButtonPermission(
+          "productManagement:installationOrder:reject"
+        ) &&
+        this.isCurrentUserInServiceStaff(this.form.serviceStaffIds)
+      );
+    },
+    showAcceptButton() {
+      return (
+        this.form.statusName === "未接单" &&
+        this.checkButtonPermission(
+          "productManagement:installationOrder:accept"
+        ) &&
+        this.isCurrentUserInServiceStaff(this.form.serviceStaffIds)
+      );
+    },
     ordererName() {
       return (
         this.installerOptions.find(
@@ -532,53 +641,58 @@ export default {
       return `${this.form.remainingTime} 天`;
     },
     acceptanceImages() {
-      if (!this.form.acceptanceImagePath) return [];
-      return this.form.acceptanceImagePath.split(",").slice(0, 3);
+      if (!this.form.acceptanceImagePath) {
+        return [];
+      }
+      const images = this.form.acceptanceImagePath.split(",");
+      return images.slice(0, 3);
     },
     acceptanceImageUrls() {
-      if (!this.form.acceptanceImagePath) return [];
-      return this.form.acceptanceImagePath
-        .split(",")
-        .map((path) => this.baseApi + path);
+      if (!this.form.acceptanceImagePath) {
+        return [];
+      }
+      const images = this.form.acceptanceImagePath.split(",");
+      return images.map((path) => this.baseApi + path);
     },
-    // 判断最后一步是否为驳回
     isLastStepReject() {
-      if (!this.form.processData || !this.form.processData.length) return false;
+      if (!this.form.processData || this.form.processData.length === 0) {
+        return false;
+      }
 
-      const sortedData = [...this.form.processData].sort(
-        (a, b) => new Date(b.createTime) - new Date(a.createTime)
-      );
+      const sortedData = this.form.processData.slice().sort((a, b) => {
+        return new Date(b.createTime) - new Date(a.createTime);
+      });
 
       return sortedData[0].operationType === "reject";
     },
-
-    // 获取接单步骤信息
     getAcceptStepInfo() {
-      if (!this.form.processData || !this.form.processData.length) {
-        return { operationUserName: "", createTime: "", operationContent: "" };
+      const emptyResult = {
+        operationUserName: "",
+        createTime: "",
+        operationContent: "",
+      };
+
+      if (!this.form.processData || this.form.processData.length === 0) {
+        return emptyResult;
       }
 
-      const sortedData = [...this.form.processData].sort(
-        (a, b) => new Date(b.createTime) - new Date(a.createTime)
-      );
+      const sortedData = this.form.processData.slice().sort((a, b) => {
+        return new Date(b.createTime) - new Date(a.createTime);
+      });
 
-      // 如果最后一步是驳回,显示驳回信息
       if (this.isLastStepReject) {
         return sortedData[0];
       }
 
-      // 否则显示接单信息
-      return (
-        sortedData.find((item) => item.operationType === "accept") || {
-          operationUserName: "",
-          createTime: "",
-          operationContent: "",
-        }
+      const acceptItem = sortedData.find(
+        (item) => item.operationType === "accept"
       );
+      return acceptItem || emptyResult;
     },
-    // 获取当前激活步骤
     getActiveStep() {
-      if (!this.form.processData || !this.form.processData.length) return 0;
+      if (!this.form.processData || this.form.processData.length === 0) {
+        return 0;
+      }
 
       const stepMap = {
         create: 1,
@@ -588,11 +702,12 @@ export default {
         check: 5,
       };
 
-      // 如果有驳回记录,直接返回2(停在服务接单步骤)
       const hasReject = this.form.processData.some(
         (item) => item.operationType === "reject"
       );
-      if (hasReject) return 2;
+      if (hasReject) {
+        return 2;
+      }
 
       let maxStep = 0;
       this.form.processData.forEach((item) => {
@@ -602,32 +717,56 @@ export default {
 
       return maxStep;
     },
-
-    // 获取步骤状态
     stepStatus() {
       return this.isLastStepReject ? "error" : "process";
     },
+    displayProgressData() {
+      return this.form.serviceProgressData;
+    },
+    formatUnshippedQuantity() {
+      return (value) => {
+        const num = parseInt(value) || 0;
+        if (num < 0) {
+          return `超量 ${Math.abs(num)}`;
+        }
+        return num.toString();
+      };
+    },
   },
   watch: {
     visible(val) {
       if (val) {
-        // 弹窗打开时初始化数据
         this.$nextTick(() => {
           this.initData();
         });
       } else {
-        // 弹窗关闭时重置数据
         this.resetData();
       }
     },
     activeTab(val) {
       if (val === "progress") {
-        // 切换到服务记录标签页时重新初始化合并状态
+        this.getOrderDailyData();
         this.$nextTick(() => {
           this.mergeGroups = [];
         });
       }
     },
+    "form.serviceStaffIds": {
+      handler(val) {
+        if (val && this.form.serviceStaffNames) {
+          const ids = val.split(",");
+          const names = this.form.serviceStaffNames.split(",");
+
+          this.serviceStaffList = ids.map((id, index) => ({
+            value: id.trim(),
+            label: names[index].trim(),
+          }));
+        } else {
+          this.serviceStaffList = [];
+        }
+      },
+      immediate: true,
+    },
   },
   data() {
     return {
@@ -640,6 +779,8 @@ export default {
         orderer: "",
         serviceProject: "",
         serviceStaffNames: "",
+        statusName: "",
+        serviceStaffIds: "",
         projectName: "",
         estimatedCompleteTime: "",
         deliveryNo: "",
@@ -667,17 +808,44 @@ export default {
       spanCount: 1,
       mergeGroups: [],
       dateMergeGroups: [],
+      filterDate: [],
+      filterStaff: null,
+      serviceStaffList: [],
     };
   },
   methods: {
-    // 初始化数据
+    async handleReject() {
+      try {
+        this.$emit("reject");
+        this.handleDialogClose();
+      } catch (error) {
+        console.error("驳回失败:", error);
+      }
+    },
+    async handleAccept() {
+      try {
+        this.$emit("accept");
+        this.handleDialogClose();
+      } catch (error) {
+        console.error("接单失败:", error);
+      }
+    },
     initData() {
       this.isTableVisible = true;
       this.mergeGroups = [];
       this.activeTab = "basic";
       this.getOrderData();
     },
-    // 重置数据
+    getFormattedDateTime() {
+      const now = new Date();
+      const year = now.getFullYear();
+      const month = String(now.getMonth() + 1).padStart(2, "0");
+      const day = String(now.getDate()).padStart(2, "0");
+      const hours = String(now.getHours()).padStart(2, "0");
+      const minutes = String(now.getMinutes()).padStart(2, "0");
+      const seconds = String(now.getSeconds()).padStart(2, "0");
+      return `${year}${month}${day}${hours}${minutes}${seconds}`;
+    },
     resetData() {
       this.form = {
         orderNo: "",
@@ -685,6 +853,7 @@ export default {
         orderer: "",
         serviceProject: "",
         serviceStaffNames: "",
+        serviceStaffIds: "",
         projectName: "",
         estimatedCompleteTime: "",
         deliveryNo: "",
@@ -710,11 +879,12 @@ export default {
       };
       this.mergeGroups = [];
       this.isTableVisible = true;
+      this.filterStaff = null;
+      this.filterDate = [];
     },
-    // 获取订单数据
     async getOrderData() {
       try {
-        this.isTableVisible = true; // 重置表格为展开状态
+        this.isTableVisible = true;
         const params = [
           {
             name: "getInstallationOrderById",
@@ -737,35 +907,24 @@ export default {
               orderId: this.rowData.id,
             },
           },
-          {
-            name: "getInstallationDailyDetailByOrderId",
-            returntype: "Map",
-            parammaps: {
-              orderId: this.rowData.id,
-            },
-          },
         ];
 
         const response = await GetDataByNames(params);
         if (response.msg === "ok") {
-          // 获取主表数据
           const mainData = response.data.getInstallationOrderById.list[0] || {};
-          // 获取明细表数据
           const detailData =
             response.data.getInstallationOrderDetail.list || [];
           const processData =
             response.data.getInstallationOrderProcessLogByOrderId.list || [];
-          const dailyData =
-            response.data.getInstallationDailyDetailByOrderId.list || [];
-
-          // 初始化表单数据
           this.form = {
+            statusName: mainData.statusName || "",
             orderNo: mainData.orderNo || "",
             orderTime: mainData.orderTime || "",
             orderer: mainData.dispatcherId,
             serviceProject: mainData.projectId,
             projectName: mainData.projectName || "",
             serviceStaffNames: mainData.serviceStaffNames || "",
+            serviceStaffIds: mainData.serviceStaffIds || "",
             estimatedCompleteTime: mainData.estimatedCompleteTime || "",
             deliveryNo: mainData.deliveryNo || "",
             contractNo: mainData.contractNo || "",
@@ -778,7 +937,7 @@ export default {
             acceptTime: mainData.acceptTime || "",
             actualCompleteTime: mainData.actualCompleteTime || "",
             remainingTime: mainData.remainingTime,
-            serviceProgressData: dailyData,
+            serviceProgressData: this.form.serviceProgressData,
             products: detailData.map((item) => ({
               goodsId: item.goodsId,
               goodsCode: item.goodsCode || "",
@@ -791,7 +950,8 @@ export default {
               shippedQuantity: item.shippedQuantity || 0,
               unshippedQuantity: item.unshippedQuantity || 0,
               remark: item.remark || "",
-              installQuantity: item.installQuantity || 0,
+              projectName: item.projectName || "",
+              projectId: item.projectId || "",
             })),
             processData: processData,
             acceptanceImagePath: mainData.acceptanceImagePath || "",
@@ -814,148 +974,248 @@ export default {
         this.$message.error("获取数据失败");
       }
     },
+    async getOrderDailyData() {
+      const [beginDate, endDate] = this.filterDate;
+      try {
+        const params = {
+          name: "getInstallationDailyDetailByOrderId",
+          returntype: "Map",
+          parammaps: {
+            orderId: this.rowData.id,
+            beginDate: beginDate || "",
+            endDate: endDate || "",
+            staffId: this.filterStaff || "",
+          },
+        };
+
+        const response = await GetDataByName(params);
+        if (response.msg === "ok") {
+          this.dateMergeGroups = [];
+          this.mergeGroups = [];
+
+          this.form.serviceProgressData = response.data.list || [];
+
+          this.$nextTick(() => {
+            const data = this.form.serviceProgressData;
+            if (!data || !data.length) return;
+
+            let dateGroup = {
+              start: 0,
+              count: 1,
+            };
+
+            let currentGroup = {
+              start: 0,
+              count: 1,
+            };
 
-    // 关闭弹窗
+            for (let i = 1; i < data.length; i++) {
+              const currentRow = data[i - 1];
+              const nextRow = data[i];
+
+              if (currentRow.installDate === nextRow.installDate) {
+                dateGroup.count++;
+              } else {
+                this.dateMergeGroups.push({ ...dateGroup });
+                dateGroup = {
+                  start: i,
+                  count: 1,
+                };
+              }
+
+              const isSameProduct =
+                currentRow.goodsCode === nextRow.goodsCode &&
+                currentRow.goodsName === nextRow.goodsName &&
+                currentRow.orderQuantity === nextRow.orderQuantity &&
+                currentRow.projectName === nextRow.projectName &&
+                currentRow.unshippedQuantity === nextRow.unshippedQuantity &&
+                currentRow.installDate === nextRow.installDate;
+
+              if (isSameProduct) {
+                currentGroup.count++;
+              } else {
+                this.mergeGroups.push({ ...currentGroup });
+                currentGroup = {
+                  start: i,
+                  count: 1,
+                };
+              }
+            }
+            this.dateMergeGroups.push({ ...dateGroup });
+            this.mergeGroups.push({ ...currentGroup });
+          });
+        } else {
+          this.$message.error("获取数据失败");
+        }
+      } catch (error) {
+        console.error("获取数据失败:", error);
+        this.$message.error("获取数据失败");
+      }
+    },
     handleDialogClose() {
       this.$emit("update:visible", false);
     },
-
-    // 获取步骤信息
     getStepInfo(operationType) {
-      if (!this.form.processData || !this.form.processData.length) {
-        return { operationUserName: "", createTime: "" };
+      const emptyResult = {
+        operationUserName: "",
+        createTime: "",
+      };
+
+      if (!this.form.processData || this.form.processData.length === 0) {
+        return emptyResult;
       }
 
-      // 按时间倒序排序,获取最新的操作记录
-      const sortedData = [...this.form.processData].sort(
-        (a, b) => new Date(b.createTime) - new Date(a.createTime)
-      );
+      const sortedData = this.form.processData.slice().sort((a, b) => {
+        return new Date(b.createTime) - new Date(a.createTime);
+      });
 
-      return (
-        sortedData.find((item) => item.operationType === operationType) || {
-          operationUserName: "",
-          createTime: "",
-        }
+      const targetItem = sortedData.find(
+        (item) => item.operationType === operationType
       );
+      return targetItem || emptyResult;
     },
-
-    // 获取特定步骤的状态
     getStepStatus(step) {
       if (this.isLastStepReject && step > 2) {
-        return "wait"; // 驳回后的步骤显示为等待状态(灰色)
+        return "wait";
       }
       if (step <= this.getActiveStep) {
-        return "success"; // 当前步骤之前的显示为成功状态
+        return "success";
       }
-      return "wait"; // 其他步骤显示为等待状态
+      return "wait";
     },
-
-    // 处理单元格合并方法
     handleSpanMethod({ row, column, rowIndex, columnIndex }) {
-      const data = this.form.serviceProgressData;
-      if (!data || !data.length) return;
-
-      // 如果是第一行,初始化合并组
-      if (rowIndex === 0) {
-        // 日期列的合并组
-        this.dateMergeGroups = [];
-        let dateGroup = {
-          start: 0,
-          count: 1,
-        };
-
-        // 货品相关列的合并组
-        this.mergeGroups = [];
-        let currentGroup = {
-          start: 0,
-          count: 1,
-        };
-
-        // 遍历所有行,分别处理日期和货品的合并
-        for (let i = 1; i < data.length; i++) {
-          const currentRow = data[i - 1];
-          const nextRow = data[i];
-
-          // 日期列的合并逻辑(只看日期是否相同)
-          if (currentRow.installDate === nextRow.installDate) {
-            dateGroup.count++;
-          } else {
-            this.dateMergeGroups.push({ ...dateGroup });
-            dateGroup = {
-              start: i,
-              count: 1,
-            };
-          }
-
-          // 货品相关列的合并逻辑(需要所有相关字段都相同)
-          const isSameProduct =
-            currentRow.goodsCode === nextRow.goodsCode &&
-            currentRow.goodsName === nextRow.goodsName &&
-            currentRow.orderQuantity === nextRow.orderQuantity &&
-            currentRow.unshippedQuantity === nextRow.unshippedQuantity &&
-            currentRow.installDate === nextRow.installDate; // 添加日期条件
-
-          if (isSameProduct) {
-            currentGroup.count++;
-          } else {
-            this.mergeGroups.push({ ...currentGroup });
-            currentGroup = {
-              start: i,
-              count: 1,
-            };
-          }
-        }
-        // 添加最后一组
-        this.dateMergeGroups.push({ ...dateGroup });
-        this.mergeGroups.push({ ...currentGroup });
+      const data = this.displayProgressData;
+      if (!data || data.length === 0) {
+        return;
       }
 
-      // 日期列的合并规则(第一列)
       if (columnIndex === 0) {
-        for (const group of this.dateMergeGroups) {
-          if (rowIndex === group.start) {
+        const result = this.dateMergeGroups.find((group) => {
+          return (
+            rowIndex >= group.start && rowIndex < group.start + group.count
+          );
+        });
+
+        if (result) {
+          if (rowIndex === result.start) {
             return {
-              rowspan: group.count,
+              rowspan: result.count,
               colspan: 1,
             };
-          } else if (
-            rowIndex > group.start &&
-            rowIndex < group.start + group.count
-          ) {
-            return {
-              rowspan: 0,
-              colspan: 0,
-            };
           }
+          return {
+            rowspan: 0,
+            colspan: 0,
+          };
         }
       }
 
-      // 货品相关列的合并规则(第2-5列)
-      if (columnIndex > 0 && columnIndex <= 4) {
-        for (const group of this.mergeGroups) {
-          if (rowIndex === group.start) {
+      if (columnIndex > 0 && columnIndex <= 5) {
+        const result = this.mergeGroups.find((group) => {
+          return (
+            rowIndex >= group.start && rowIndex < group.start + group.count
+          );
+        });
+
+        if (result) {
+          if (rowIndex === result.start) {
             return {
-              rowspan: group.count,
+              rowspan: result.count,
               colspan: 1,
             };
-          } else if (
-            rowIndex > group.start &&
-            rowIndex < group.start + group.count
-          ) {
-            return {
-              rowspan: 0,
-              colspan: 0,
-            };
           }
+          return {
+            rowspan: 0,
+            colspan: 0,
+          };
         }
       }
 
-      // 其他列不合并
       return {
         rowspan: 1,
         colspan: 1,
       };
     },
+    async handleExport() {
+      const params = {
+        name: "getInstallationDailyDetailByOrderId",
+        returntype: "Map",
+        parammaps: {
+          orderId: this.rowData.id,
+          beginDate: "",
+          endDate: "",
+          staffId: "",
+        },
+      };
+      let data = [];
+      try {
+        data = (await GetDataByName(params)).data.list || [];
+        if (!data || data.length === 0) {
+          this.$message.warning("暂无数据可导出");
+          return;
+        }
+      } catch (error) {
+        console.error("导出数据失败:", error);
+        this.$message.error("导出数据失败");
+        return;
+      }
+
+      const headers = [
+        "日期",
+        "项目名称",
+        "货品编号",
+        "货品名称",
+        "服务总量",
+        "剩余量",
+        "服务人员",
+        "当日服务量",
+        "累计服务量",
+        "备注",
+      ];
+
+      const rows = data.map((item) => [
+        item.installDate || "",
+        item.projectName || "",
+        item.goodsCode || "",
+        item.goodsName || "",
+        parseInt(item.orderQuantity) || 0,
+        parseInt(item.unshippedQuantity) < 0
+          ? `超量 ${Math.abs(parseInt(item.unshippedQuantity))}`
+          : parseInt(item.unshippedQuantity) || 0,
+        item.installUserName || "",
+        parseInt(item.installQuantity) || 0,
+        parseInt(item.shippedQuantity) || 0,
+        item.installRemark || "",
+      ]);
+
+      const wb = XLSX.utils.book_new();
+
+      const wsData = [headers, ...rows];
+
+      const ws = XLSX.utils.aoa_to_sheet(wsData);
+
+      const colWidths = [
+        { wch: 12 },
+        { wch: 20 },
+        { wch: 12 },
+        { wch: 20 },
+        { wch: 10 },
+        { wch: 10 },
+        { wch: 12 },
+        { wch: 12 },
+        { wch: 12 },
+        { wch: 30 },
+      ];
+      ws["!cols"] = colWidths;
+
+      XLSX.utils.book_append_sheet(wb, ws, "服务记录");
+
+      const fileName = `服务记录_${
+        this.form.orderNo
+      }_${this.getFormattedDateTime()}.xlsx`;
+
+      XLSX.writeFile(wb, fileName);
+    },
   },
 };
 </script>
@@ -979,7 +1239,7 @@ export default {
   }
 
   .el-dialog__body {
-    padding: 0; /* 移除顶部内边距 */
+    padding: 0;
 
     .dialog-tabs {
       .el-tabs__header {
@@ -1234,4 +1494,64 @@ export default {
     }
   }
 }
+
+.filter-section {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  margin: 15px 0;
+  padding: 0 20px;
+
+  .filter-left {
+    display: flex;
+    align-items: center;
+
+    :deep(.el-input__inner) {
+      height: 32px;
+      line-height: 32px;
+    }
+
+    :deep(.el-range-editor.el-input__inner) {
+      height: 32px;
+      line-height: 32px;
+      padding: 0 10px;
+    }
+
+    :deep(.el-range-separator) {
+      line-height: 24px;
+      font-size: 12px;
+    }
+
+    :deep(.el-range__icon),
+    :deep(.el-range__close-icon) {
+      line-height: 24px;
+    }
+
+    :deep(.el-range-input) {
+      height: 30px;
+      line-height: 30px;
+    }
+
+    :deep(.el-select) {
+      .el-input__inner {
+        height: 32px;
+        line-height: 32px;
+      }
+    }
+
+    .el-button {
+      height: 32px;
+      padding: 8px 20px;
+      font-size: 13px;
+    }
+  }
+
+  .filter-right {
+    .el-button {
+      height: 32px;
+      padding: 8px 20px;
+      font-size: 13px;
+    }
+  }
+}
 </style>

+ 216 - 165
src/views/productManagement/installationOrder/index.vue

@@ -78,7 +78,7 @@
         </el-select>
       </el-form-item>
       <el-form-item>
-        <el-select
+        <!-- <el-select
           v-model="queryParams.projectId"
           placeholder="项目名称"
           clearable
@@ -91,7 +91,7 @@
             :label="dict.name"
             :value="dict.id"
           />
-        </el-select>
+        </el-select> -->
       </el-form-item>
       <el-form-item>
         <el-date-picker
@@ -198,7 +198,7 @@
           </el-link>
         </template>
       </el-table-column>
-      <el-table-column prop="projectName" label="项目名称" align="center" />
+      <!-- <el-table-column prop="projectName" label="项目名称" align="center" /> -->
       <el-table-column
         prop="statusName"
         label="处理状态"
@@ -390,168 +390,161 @@
       />
       <el-table-column label="操作" align="center" width="220" fixed="right">
         <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="primary"
+            @click="handleView(scope.row)"
+            v-if="
+              getButtonVisible(
+                {
+                  permission: 'productManagement:installationOrder:view',
+                  type: 'view',
+                },
+                scope.row
+              )
+            "
+            >查看</el-button
+          >
+
+          <el-button
+            size="mini"
+            type="primary"
+            @click="handleEdit(scope.row)"
+            v-if="
+              getButtonVisible(
+                {
+                  permission: 'productManagement:installationOrder:edit',
+                  type: 'edit',
+                },
+                scope.row
+              )
+            "
+            >编辑</el-button
+          >
+
+          <el-button
+            size="mini"
+            type="danger"
+            @click="handleDelete(scope.row)"
+            v-if="
+              getButtonVisible(
+                {
+                  permission: 'productManagement:installationOrder:delete',
+                  type: 'delete',
+                },
+                scope.row
+              )
+            "
+            >删除</el-button
+          >
+
+          <el-button
+            size="mini"
+            type="success"
+            @click="handleDispatch(scope.row)"
+            v-if="
+              getButtonVisible(
+                {
+                  permission: 'productManagement:installationOrder:dispatch',
+                  type: 'dispatch',
+                },
+                scope.row
+              )
+            "
+            >派单</el-button
+          >
+
           <el-button
             size="mini"
             style="
-              background-color: #2d8cf0;
-              border-color: #2d8cf0;
+              background-color: #e74c3c;
+              border-color: #e74c3c;
               color: #fff;
             "
-            @click="handleView(scope.row)"
+            @click="handleReject(scope.row)"
             v-if="
-              checkButtonPermission('productManagement:installationOrder:view')
+              getButtonVisible(
+                {
+                  permission: 'productManagement:installationOrder:reject',
+                  type: 'reject',
+                },
+                scope.row
+              )
             "
-            >查看</el-button
+            >驳回</el-button
           >
-          <template v-if="scope.row.statusName === '未接单'">
-            <el-button
-              size="mini"
-              type="primary"
-              @click="handleEdit(scope.row)"
-              v-if="
-                checkButtonPermission(
-                  'productManagement:installationOrder:edit'
-                ) && isCurrentUserInCreateId(scope.row.createId)
-              "
-              >编辑</el-button
-            >
-            <el-button
-              size="mini"
-              type="success"
-              @click="handleDispatch(scope.row)"
-              v-if="
-                checkButtonPermission(
-                  'productManagement:installationOrder:dispatch'
-                ) && isCurrentUserInCreateId(scope.row.createId)
-              "
-              >派单</el-button
-            >
-            <el-button
-              size="mini"
-              style="
-                background-color: #e74c3c;
-                border-color: #e74c3c;
-                color: #fff;
-              "
-              @click="handleReject(scope.row)"
-              v-if="
-                checkButtonPermission(
-                  'productManagement:installationOrder:reject'
-                ) && isCurrentUserInServiceStaff(scope.row.serviceStaffIds)
-              "
-              >驳回</el-button
-            >
-            <el-button
-              size="mini"
-              style="
-                background-color: #f39c12;
-                border-color: #f39c12;
-                color: #fff;
-              "
-              @click="handleAccept(scope.row)"
-              v-if="
-                checkButtonPermission(
-                  'productManagement:installationOrder:accept'
-                ) && isCurrentUserInServiceStaff(scope.row.serviceStaffIds)
-              "
-              >接单</el-button
-            >
-            <el-button
-              size="mini"
-              type="danger"
-              @click="handleDelete(scope.row)"
-              v-if="
-                checkButtonPermission(
-                  'productManagement:installationOrder:delete'
-                ) && isCurrentUserInCreateId(scope.row.createId)
-              "
-              >删除</el-button
-            >
-          </template>
-          <template
-            v-else-if="
-              scope.row.statusName === '处理中' ||
-              scope.row.statusName === '已接单'
+
+          <el-button
+            size="mini"
+            style="
+              background-color: #f39c12;
+              border-color: #f39c12;
+              color: #fff;
             "
+            @click="handleAccept(scope.row)"
+            v-if="
+              getButtonVisible(
+                {
+                  permission: 'productManagement:installationOrder:accept',
+                  type: 'accept',
+                },
+                scope.row
+              )
+            "
+            >接单</el-button
+          >
+
+          <el-button
+            size="mini"
+            style="
+              background-color: #409eff;
+              border-color: #409eff;
+              color: #fff;
+            "
+            @click="handleDailyWrite(scope.row)"
+            v-if="
+              getButtonVisible(
+                {
+                  permission: 'productManagement:installationOrder:dailyWrite',
+                  type: 'write',
+                },
+                scope.row
+              )
+            "
+            >填写</el-button
+          >
+
+          <el-button
+            size="mini"
+            type="success"
+            @click="handleComplete(scope.row)"
+            v-if="
+              getButtonVisible(
+                {
+                  permission: 'productManagement:installationOrder:complete',
+                  type: 'complete',
+                },
+                scope.row
+              )
+            "
+            >完成</el-button
+          >
+
+          <el-button
+            size="mini"
+            type="warning"
+            @click="handleCheck(scope.row)"
+            v-if="
+              getButtonVisible(
+                {
+                  permission: 'productManagement:installationOrder:check',
+                  type: 'check',
+                },
+                scope.row
+              )
+            "
+            >验收</el-button
           >
-            <el-button
-              size="mini"
-              type="success"
-              @click="handleDispatch(scope.row)"
-              v-if="
-                checkButtonPermission(
-                  'productManagement:installationOrder:dispatch'
-                ) && isCurrentUserInCreateId(scope.row.createId)
-              "
-              >派单</el-button
-            >
-            <el-button
-              size="mini"
-              style="
-                background-color: #409eff;
-                border-color: #409eff;
-                color: #fff;
-              "
-              @click="handleDailyWrite(scope.row)"
-              v-if="
-                checkButtonPermission(
-                  'productManagement:installationOrder:dailyWrite'
-                ) && isCurrentUserInServiceStaff(scope.row.serviceStaffIds)
-              "
-              >填写</el-button
-            >
-            <el-button
-              size="mini"
-              type="success"
-              @click="handleComplete(scope.row)"
-              v-if="
-                checkButtonPermission(
-                  'productManagement:installationOrder:complete'
-                ) && isCurrentUserInServiceStaff(scope.row.serviceStaffIds)
-              "
-              >完成</el-button
-            >
-          </template>
-          <template v-else-if="scope.row.statusName === '已完成未验收'">
-            <el-button
-              size="mini"
-              type="warning"
-              @click="handleCheck(scope.row)"
-              v-if="
-                checkButtonPermission(
-                  'productManagement:installationOrder:check'
-                )
-              "
-              >验收</el-button
-            >
-          </template>
-          <template v-else-if="scope.row.statusName === '已完成'">
-            <!-- 仅保留查看按钮 -->
-          </template>
-          <template v-else-if="scope.row.statusName === '接单驳回'">
-            <el-button
-              size="mini"
-              type="primary"
-              @click="handleEdit(scope.row)"
-              v-if="
-                checkButtonPermission(
-                  'productManagement:installationOrder:edit'
-                )
-              "
-              >编辑</el-button
-            >
-            <el-button
-              size="mini"
-              type="danger"
-              @click="handleDelete(scope.row)"
-              v-if="
-                checkButtonPermission(
-                  'productManagement:installationOrder:delete'
-                )
-              "
-              >删除</el-button
-            >
-          </template>
         </template>
       </el-table-column>
     </el-table>
@@ -565,7 +558,7 @@
       @pagination="getList"
     />
 
-    <!-- 新增服务计划弹窗 
+    <!-- 新增服务计划弹窗
      传递 installerOptions 给下单人和服务人员选择器
      传递 projectOptions 给服务项目选择器
      传递 currentUser 给下单人选择器-->
@@ -593,6 +586,10 @@
       :installer-options="installerOptions"
       :project-options="projectOptions"
       :row-data="currentRow"
+      :check-button-permission="checkButtonPermission"
+      :is-current-user-in-service-staff="isCurrentUserInServiceStaff"
+      @reject="() => (rejectDialogVisible = true)"
+      @accept="() => (acceptDialogVisible = true)"
     />
 
     <!-- 派单弹窗 -->
@@ -775,7 +772,7 @@ export default {
       },
       editDialogVisible: false,
       viewDialogVisible: false,
-      currentRow: null,
+      currentRow: {},
       progressTooltip: null,
       dispatchDialogVisible: false,
       rejectDialogVisible: false,
@@ -1037,6 +1034,8 @@ export default {
                   goodsId: item.goodsId,
                   todayQuantity: item.todayQuantity || 0,
                   remark: item.installRemark,
+                  projectId: item.projectId,
+                  projectName: item.projectName,
                 })),
               },
               children: [
@@ -1053,6 +1052,8 @@ export default {
                     todayQuantity:
                       "@submitInstallationDailyWrite.todayQuantity",
                     remark: "@submitInstallationDailyWrite.remark",
+                    projectId: "@submitInstallationDailyWrite.projectId",
+                    projectName: "@submitInstallationDailyWrite.projectName",
                   },
                 },
               ],
@@ -1347,8 +1348,8 @@ export default {
         this.progressTooltip = null;
       }
     },
-    // 处理驳回确认
-    async handleRejectConfirm(formData) {
+    // 处理驳回
+    async handleRejectConfirm(form) {
       try {
         const params = {
           common: {
@@ -1360,7 +1361,7 @@ export default {
               type: "e",
               parammaps: {
                 orderId: this.currentRow.id,
-                rejectReason: formData.rejectReason,
+                rejectReason: form.rejectReason,
               },
             },
             {
@@ -1373,7 +1374,7 @@ export default {
                 operationUserName: this.currentUser.name,
                 beforeStatus: this.currentRow.statusName,
                 afterStatus: "接单驳回",
-                operationContent: `驳回原因:${formData.rejectReason}`,
+                operationContent: `驳回原因:${form.rejectReason}`,
               },
             },
           ],
@@ -1383,6 +1384,7 @@ export default {
         if (response.msg === "ok") {
           this.$message.success("驳回成功");
           this.rejectDialogVisible = false;
+          this.viewDialogVisible = false;
           this.getList();
         } else {
           this.$message.error(response.msg || "驳回失败");
@@ -1392,8 +1394,8 @@ export default {
         this.$message.error("驳回失败");
       }
     },
-    // 处理接单确认
-    async handleAcceptConfirm(formData) {
+    // 处理接单
+    async handleAcceptConfirm(form) {
       try {
         const params = {
           common: {
@@ -1404,7 +1406,7 @@ export default {
               name: "acceptInstallationOrder",
               type: "e",
               parammaps: {
-                orderId: formData.orderId,
+                orderId: form.orderId,
                 acceptId: this.currentUser.id,
                 acceptName: this.currentUser.name,
               },
@@ -1429,6 +1431,7 @@ export default {
         if (response.msg === "ok") {
           this.$message.success("接单成功");
           this.acceptDialogVisible = false;
+          this.viewDialogVisible = false;
           this.getList();
         } else {
           this.$message.error(response.msg || "接单失败");
@@ -1444,6 +1447,7 @@ export default {
     },
     // 判断当前用户是否在服务人员列表中
     isCurrentUserInServiceStaff(serviceStaffIds) {
+      console.log("serviceStaffIds", serviceStaffIds);
       if (!serviceStaffIds) return false;
       const currentUserId = parseInt(this.currentUser.id);
       const staffIds = serviceStaffIds
@@ -1453,10 +1457,57 @@ export default {
     },
     // 判断当前用户是否是创建人
     isCurrentUserInCreateId(createId) {
-      console.log("createId", createId, this.currentUser.id);
       if (!createId) return false;
       return createId === parseInt(this.currentUser.id);
     },
+    /**
+     * 按钮显示控制逻辑
+     * @param {Object} button - 按钮配置对象
+     * @param {Object} row - 行数据
+     * @returns {boolean} - 是否显示按钮
+     */
+    getButtonVisible(button, row) {
+      // 权限检查
+      if (!this.checkButtonPermission(button.permission)) {
+        return false;
+      }
+
+      // 状态检查
+      const statusMap = {
+        view: true, // 查看按钮始终显示
+        edit: ["未接单", "已接单", "处理中", "接单驳回"].includes(
+          row.statusName
+        ),
+        delete: ["未接单", "接单驳回"].includes(row.statusName),
+        dispatch: ["未接单", "已接单", "处理中"].includes(row.statusName),
+        reject: row.statusName === "未接单",
+        accept: row.statusName === "未接单",
+        write: ["已接单", "处理中"].includes(row.statusName),
+        complete: ["已接单", "处理中"].includes(row.statusName),
+        check: row.statusName === "已完成未验收",
+      };
+
+      if (!statusMap[button.type]) {
+        return false;
+      }
+
+      // 角色检查
+      const roleMap = {
+        view: true, // 查看按钮所有人可见
+        edit:
+          this.isCurrentUserInCreateId(row.createId) ||
+          this.isCurrentUserInServiceStaff(row.serviceStaffIds),
+        delete: this.isCurrentUserInCreateId(row.createId),
+        dispatch: this.isCurrentUserInCreateId(row.createId),
+        reject: this.isCurrentUserInServiceStaff(row.serviceStaffIds),
+        accept: this.isCurrentUserInServiceStaff(row.serviceStaffIds),
+        write: this.isCurrentUserInServiceStaff(row.serviceStaffIds),
+        complete: this.isCurrentUserInServiceStaff(row.serviceStaffIds),
+        check: true, // 验收按钮所有人可见
+      };
+
+      return roleMap[button.type] || false;
+    },
   },
 };
 </script>

+ 10 - 10
src/views/productManagement/installationSummary/components/InstallationStatistics.vue

@@ -42,8 +42,8 @@
         </div>
       </div>
     </div>
-    <el-table 
-      :data="displayData" 
+    <el-table
+      :data="displayData"
       style="width: 100%"
       border
       size="small"
@@ -444,17 +444,17 @@ export default {
   text-align: center;
   border-top: 1px solid #EBEEF5;
   margin-top: -1px;
-  
+
   .el-button {
     font-size: 13px;
     color: #909399;
     padding: 8px;
-    
+
     .button-content {
       display: inline-flex;
       align-items: center;
       position: relative;
-      
+
       i {
         font-size: 12px;
         color: #C0C4CC;
@@ -469,10 +469,10 @@ export default {
         opacity: 0;
       }
     }
-    
+
     &:hover {
       color: #409EFF;
-      
+
       .button-content {
         i {
           color: #409EFF;
@@ -490,12 +490,12 @@ export default {
 
 :deep(.el-table) {
   font-size: 12px;
-  
+
   .el-table__header th {
     padding: 8px 0;
     background-color: #f5f7fa;
   }
-  
+
   .el-table__body td {
     padding: 8px 0;
     background-color: #fff;
@@ -511,4 +511,4 @@ export default {
 :deep(.el-table__body-wrapper) {
   transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 }
-</style> 
+</style>

+ 7 - 7
src/views/productManagement/installationSummary/components/InstallationStatusChart.vue

@@ -68,7 +68,7 @@ export default {
     },
     setChartOption(data) {
       if (!this.chart) return
-      
+
       const option = {
         animation: true,
         animationDuration: 300,
@@ -148,7 +148,7 @@ export default {
               const style = api.style();
               const radius = 7.5;
               const value = api.value(1);
-              
+
               return {
                 type: 'group',
                 children: [{
@@ -202,7 +202,7 @@ export default {
               const style = api.style();
               const radius = 7.5;
               const value = api.value(1);
-              
+
               return {
                 type: 'group',
                 children: [{
@@ -244,12 +244,12 @@ export default {
           }
         ]
       }
-      
+
       this.chart.setOption(option, false)
     },
     updateChart(data) {
       if (!this.chart) return
-      
+
       const chartData = data || this.localChartData
       if (JSON.stringify(this.lastData) !== JSON.stringify(chartData)) {
         this.lastData = chartData
@@ -276,10 +276,10 @@ export default {
   display: flex;
   justify-content: space-between;
   align-items: center;
-  
+
   .chart-filters {
     display: flex;
     align-items: center;
   }
 }
-</style> 
+</style>

+ 39 - 18
src/views/productManagement/installationSummary/components/InstallationTable.vue

@@ -32,21 +32,21 @@
           label="客户名称"
           min-width="150"
           align="center"
-          sortable="custom"
+          sortable
         />
         <el-table-column
           prop="projectName"
           label="项目名称"
           min-width="110"
           align="center"
-          sortable="custom"
+          sortable
         />
         <el-table-column
           prop="goodsName"
           label="货品名称"
           min-width="110"
           align="center"
-          sortable="custom"
+          sortable
         />
         <el-table-column
           prop="serviceStaffNames"
@@ -77,8 +77,8 @@
           prop="statusName"
           label="单据状态"
           width="110"
+          sortable
           align="center"
-          sortable="custom"
         >
           <template slot-scope="scope">
             <el-tag
@@ -95,7 +95,6 @@
           label="进度"
           width="250"
           align="center"
-          sortable="custom"
         >
           <template slot-scope="scope">
             <div class="progress-wrapper">
@@ -105,7 +104,7 @@
                     <div
                       class="progress-inner"
                       :style="{
-                        width: Math.round(scope.row.rate) + '%',
+                        width: Math.min(Math.round(scope.row.rate), 100) + '%',
                         backgroundColor: getProgressColor(scope.row.statusName),
                       }"
                     >
@@ -150,12 +149,7 @@
           label="今日完成量"
           align="center"
         />
-        <el-table-column
-          prop="rate"
-          label="完成率"
-          align="center"
-          sortable="custom"
-        >
+        <el-table-column prop="rate" label="完成率" align="center">
           <template slot-scope="scope">
             {{ parseInt(scope.row.rate) + "%" }}
           </template>
@@ -175,17 +169,38 @@
             >
               <span
                 :class="{
-                  'normal-time': scope.row.remainingTime > 3,
+                  'normal-time':
+                    scope.row.remainingTime > 3 && !scope.row.earlyDays,
                   'warning-time':
                     scope.row.remainingTime >= 0 &&
-                    scope.row.remainingTime <= 3,
-                  'overdue-time': scope.row.remainingTime < 0,
+                    scope.row.remainingTime <= 3 &&
+                    !scope.row.earlyDays,
+                  'overdue-time':
+                    (scope.row.remainingTime < 0 && !scope.row.earlyDays) ||
+                    (scope.row.earlyDays && scope.row.earlyDays < 0),
+                  'early-time': scope.row.earlyDays && scope.row.earlyDays > 0,
                 }"
               >
-                <template v-if="scope.row.remainingTime < 0">
-                  已逾期 {{ Math.abs(scope.row.remainingTime) }} 天
+                <template
+                  v-if="
+                    scope.row.earlyDays !== null &&
+                    scope.row.earlyDays !== undefined
+                  "
+                >
+                  <template v-if="scope.row.earlyDays > 0">
+                    提前 {{ scope.row.earlyDays }} 天完成
+                  </template>
+                  <template v-else-if="scope.row.earlyDays < 0">
+                    延期 {{ Math.abs(scope.row.earlyDays) }} 天完成
+                  </template>
+                  <template v-else> 按时完成 </template>
+                </template>
+                <template v-else>
+                  <template v-if="scope.row.remainingTime < 0">
+                    已逾期 {{ Math.abs(scope.row.remainingTime) }} 天
+                  </template>
+                  <template v-else> {{ scope.row.remainingTime }} 天 </template>
                 </template>
-                <template v-else> {{ scope.row.remainingTime }} 天 </template>
               </span>
             </template>
           </template>
@@ -458,6 +473,12 @@ export default {
   font-weight: bold;
 }
 
+:deep(.early-time) {
+  color: #67c23a;
+  font-size: 15px;
+  font-weight: bold;
+}
+
 // 添加表格内容的过渡效果
 :deep(.el-table__body-wrapper) {
   transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);

+ 19 - 2
src/views/productManagement/installationSummary/components/StatisticsPanel.vue

@@ -28,7 +28,14 @@ export default {
   },
   data() {
     return {
-      statisticsData: [],
+      statisticsData: [
+        { icon: "order-produced", text: "已完成", value: 0 },
+        { icon: "order-producing", text: "已完成未验收", value: 0 },
+        { icon: "order-total-count", text: "进行中", value: 0 },
+        { icon: "order-completed", text: "未接单", value: 0 },
+        { icon: "order-unproduced", text: "未开始", value: 0 },
+        { icon: "order-uncompleted", text: "已超期", value: 0 },
+      ],
     };
   },
   created() {
@@ -53,8 +60,18 @@ export default {
       ];
       try {
         const response = await GetDataByNames(send_select_list);
-        this.statisticsData =
+        const backendData =
           response.data.getStatisticsPanelNumsOfInstall.list || [];
+
+        // 更新固定面板的数值
+        backendData.forEach((item) => {
+          const target = this.statisticsData.find(
+            (stat) => stat.icon === item.icon
+          );
+          if (target) {
+            target.value = item.value;
+          }
+        });
       } catch (error) {
         console.error("获取数据失败:", error);
         throw error;

+ 15 - 18
src/views/productManagement/processConfiguration/index.vue

@@ -47,7 +47,7 @@
         </el-table-column>
         </el-table>
         </el-col>
-       
+
     </el-row>
 
 
@@ -89,8 +89,8 @@
             {{ scope.row.process }}
             </template>
         </el-table-column>
-      
-      
+
+
         <el-table-column label="操作" min-width="80px" header-align="center" align="center">
             <template slot-scope="scope">
             <el-button type="primary"  v-if="scope.row.pid != -1" size="mini" @click="handleEdit(scope.row)">修改</el-button>
@@ -100,7 +100,7 @@
         </el-table>
     </el-row>
 
-  
+
     </el-dialog>
 
 
@@ -136,7 +136,7 @@
                 :checked-keys="defaultCheckedKeys"
                 @popoverHide="popoverHide"
                 :disabled="false"
-              /> 
+              />
             </el-form-item>
           </el-row>
 
@@ -193,7 +193,7 @@
                 :checked-keys="defaultCheckedKeys"
                 @popoverHide="popoverHideEdit"
                 :disabled="false"
-              /> 
+              />
             </el-form-item>
           </el-row>
 
@@ -265,15 +265,14 @@
               />
             </el-form-item>
         </el-row>
-        
-        <el-row :gutter="24" style="display: flex; justify-content: flex-end; margin-top: 20px;"> 
+
+        <el-row :gutter="24" style="display: flex; justify-content: flex-end; margin-top: 20px;">
         <el-button type="primary" class="add-button" style="padding: 10px 20px;" size="mini" @click="handleProcessRecordsAddData">保存并新增</el-button>
         <el-button type="primary" class="add-button" style="padding: 10px 20px;" size="mini" @click="handleProcessRecordsAddCancelData">保存并关闭</el-button>
         <el-button type="primary" class="add-button" style="padding: 10px 20px;" size="mini" @click="handleProcessRecordsCancelAdd">取消</el-button>
     </el-row>
-        
-    </el-form>
 
+    </el-form>
 
 
     </el-dialog>
@@ -329,16 +328,15 @@
               />
             </el-form-item>
         </el-row>
-        
-        <el-row :gutter="24" style="display: flex; justify-content: flex-end; margin-top: 20px;"> 
+
+        <el-row :gutter="24" style="display: flex; justify-content: flex-end; margin-top: 20px;">
         <el-button type="primary" v-if="!this.dialogProcessRecordsEdit"  class="add-button" style="padding: 10px 20px;" size="mini" @click="handleProcessRecordsAddData">保存并新增</el-button>
         <el-button type="primary" v-if="dialogProcessRecordsEdit" class="add-button" style="padding: 10px 20px;" size="mini" @click="handleProcessRecordsEditCancelData">保存并关闭</el-button>
         <el-button type="primary" v-if="!dialogProcessRecordsEdit" class="add-button" style="padding: 10px 20px;" size="mini" @click="handleProcessRecordsAddCancelData">保存并关闭</el-button>
         <el-button type="primary" class="add-button" style="padding: 10px 20px;" size="mini" @click="handleProcessRecordsCancelAdd">取消</el-button>
     </el-row>
-        
-    </el-form>
 
+    </el-form>
 
 
     </el-dialog>
@@ -347,7 +345,6 @@
 </template>
 
 
-
 <script>
 import 'element-ui/lib/theme-chalk/index.css';
 import Cookies from 'js-cookie';
@@ -641,7 +638,7 @@ export default {
     get_process_records(){
         this.getProcessRecordsParm.parammaps.pid = this.pid;
         GetDataByName(this.getProcessRecordsParm).then((response) => {
-          if (response.data && response.data.list) { 
+          if (response.data && response.data.list) {
             this.list = response.data.list;
             this.listLoading = false;
           }else{
@@ -652,7 +649,7 @@ export default {
     },
     get_process_data() {
         GetDataByName(this.getProcessParm).then((response) => {
-          if (response.data && response.data.list) { 
+          if (response.data && response.data.list) {
             this.processList = transData( response.data.list, 'id', 'pid', 'children');
             for (let index = 0; index < this.processList.length; index++) {
                 this.processList[index].number = index+1;
@@ -664,7 +661,7 @@ export default {
         });
       },
   },
- 
+
   created() {
     this.get_process_data()
   },

+ 1 - 1
src/views/productManagement/productionSummary/components/BarChart.vue

@@ -161,4 +161,4 @@ export default {
   width: 100%;
   height: 100%;
 }
-</style> 
+</style>

+ 18 - 18
src/views/productManagement/productionSummary/components/ProductionStatusChart.vue

@@ -11,18 +11,18 @@
             <el-option label="近半年" value="4"/>
             <el-option label="全年" value="5"/>
           </el-select>
-          <el-select 
-            v-model="product" 
-            placeholder="货品" 
-            size="small" 
+          <el-select
+            v-model="product"
+            placeholder="货品"
+            size="small"
             style="width: 120px;"
             :loading="productLoading"
           >
             <el-option label="全部" value="all"/>
-            <el-option 
-              v-for="item in productOptions" 
-              :key="item.value" 
-              :label="item.label" 
+            <el-option
+              v-for="item in productOptions"
+              :key="item.value"
+              :label="item.label"
               :value="item.value"
             />
           </el-select>
@@ -111,7 +111,7 @@ export default {
     },
     setChartOption(data) {
       if (!this.chart) return
-      
+
       const option = {
         animation: true,
         animationDuration: 300,
@@ -206,7 +206,7 @@ export default {
               const style = api.style();
               const radius = 7.5;
               const value = api.value(1);
-              
+
               return {
                 type: 'group',
                 children: [{
@@ -276,7 +276,7 @@ export default {
               const style = api.style();
               const radius = 7.5;
               const value = api.value(1);
-              
+
               return {
                 type: 'group',
                 children: [{
@@ -361,13 +361,13 @@ export default {
           }
         ]
       }
-      
+
       // 使用 notMerge 参数为 false,只更新数据
       this.chart.setOption(option, false)
     },
     updateChart(data) {
       if (!this.chart) return
-      
+
       const chartData = data || this.localChartData
       // 只在数据真正变化时才更新图表
       if (JSON.stringify(this.lastData) !== JSON.stringify(chartData)) {
@@ -391,11 +391,11 @@ export default {
         // 使用 Promise.race 添加超时处理
         const result = await Promise.race([
           this.getProductList(),
-          new Promise((_, reject) => 
+          new Promise((_, reject) =>
             setTimeout(() => reject(new Error('请求超时')), 5000)
           )
         ])
-        
+
         this.productOptions = result || this.defaultProductOptions
       } catch (error) {
         console.error('获取产品列表失败:', error)
@@ -414,7 +414,7 @@ export default {
         //   label: item.name,
         //   value: item.code
         // }))
-        
+
         // 模拟接口调用
         await new Promise(resolve => setTimeout(resolve, 500))
         return this.defaultProductOptions
@@ -443,10 +443,10 @@ export default {
   display: flex;
   justify-content: space-between;
   align-items: center;
-  
+
   .chart-filters {
     display: flex;
     align-items: center;
   }
 }
-</style> 
+</style>

+ 1 - 1
src/views/productManagement/productionSummary/components/mixins/resize.js

@@ -49,4 +49,4 @@ export default {
       this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler)
     }
   }
-} 
+}

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 396 - 232
src/views/productManagement/productionWorkOrder/index.vue


+ 88 - 164
src/views/reviewManagement/contractPayment/index.vue

@@ -4,7 +4,7 @@
     <div class = "search-bx"  >
         <div class="search">
           <el-row :gutter="0">
- 
+
               <el-input v-model="tableObj.getdataListParm.parammaps.contractCode" placeholder="合同编号" class="filter-item" style="width: 120px;padding-bottom:10px;" />
 
               <el-input v-model="tableObj.getdataListParm.parammaps.beginPlanCost" placeholder="合同金额" style="width:80px"></el-input>
@@ -35,7 +35,6 @@
               </el-select>
 
 
-
               <el-input v-model="tableObj.getdataListParm.parammaps.beginPlanCost" placeholder="应收金额" style="width:90px"></el-input>
                 -
               <el-input v-model="tableObj.getdataListParm.parammaps.endPlanCost" placeholder="应收金额" style="width:90px;margin-right:10px;"></el-input>
@@ -46,35 +45,29 @@
 
 
               <el-date-picker v-model="tableObj.getdataListParm.parammaps.inputDatetime1" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="本期收款时间" end-placeholder="本期收款时间" style="width: 250px;" />
- 
- 
- 
+
+
               <el-select v-model="tableObj.getdataListParm.parammaps.createrId" placeholder="创建人" class="filter-item" style="width: 120px;" clearable filterable>
               <el-option v-for="(item,index) in createrNameList" :key="index" :label="item.name" :value="item.id" />
             </el-select>
 
- 
 
-          
                 <el-button class="successBorder" @click="form_search">查询</el-button>
                 <el-button class="successBorder" @click="form_clear">重置</el-button>
-              
+
                 <!-- <el-button  class="success" icon="el-icon-upload2" @click="form_export">导出</el-button> -->
-         
+
           </el-row>
         </div>
- 
 
-    </div>
 
+    </div>
 
-  
 
     <div class="table"   >
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" :max-height="myHeight">
 
-        
- 
+
         <el-table-column label="序号" align="center" type="index" width="50px"  fixed="left">
           <template slot-scope="scope">
             <span>{{ scope.$index + (tableObj.pageNum-1) * tableObj.pageSize + 1 }}</span>
@@ -105,7 +98,7 @@
             <span>{{ scope.row.stages }}</span>
           </template>
         </el-table-column>
- 
+
         <el-table-column label="应收款时间" min-width="110px" align="center"  >
           <template slot-scope="scope">
             <span>{{ scope.row.collectionDate }}</span>
@@ -122,20 +115,19 @@
           </template>
         </el-table-column>
 
-        
 
         <el-table-column label="剩余款项" min-width="110px" align="center"  >
           <template slot-scope="scope">
             <span>{{ scope.row.noReturnCost }}</span>
           </template>
         </el-table-column>
-      
+
         <el-table-column label="回款金额" min-width="110px" align="center"  >
           <template slot-scope="scope">
             <span>{{ scope.row.returnCost }}</span>
           </template>
-        </el-table-column> 
- 
+        </el-table-column>
+
         <el-table-column label="客户名称" min-width="120px" align="center" show-overflow-tooltip>
           <template slot-scope="scope">
             <span>{{ scope.row.customerName }}</span>
@@ -151,18 +143,18 @@
             <span>{{ scope.row.createrName  }}</span>
           </template>
         </el-table-column>
-        
-       
+
+
         <el-table-column label="操作" align="center"   :width="autoWidth"  v-if="autoWidth !== 0"   class-name="small-padding fixed-width" fixed="right">
           <template slot-scope="{row}">
-           
+
              <el-button class="miniSuccess" @click="form_sure(row)" v-if="isContractpayRevoke && row.isComplete  == '1'">完成收款</el-button>
 
-             <el-button v-if=" row.costStatus  !== '已收款'" class="miniSuccess" @click="form_close(row)" >关闭</el-button>  
-             
+             <el-button v-if=" row.costStatus  !== '已收款'" class="miniSuccess" @click="form_close(row)" >关闭</el-button>
+
             <el-button class="miniSuccess" @click="form_revoke(row)" v-if="isContractpayRevoke && row.isRevoke  == '1'">撤销</el-button>
 
-           
+
           </template>
         </el-table-column>
 
@@ -177,7 +169,6 @@
       <pagination v-show="tableObj.total>=0" :total="tableObj.total" :page.sync="tableObj.getdataListParm.offset" :limit.sync="tableObj.getdataListParm.pagecount" @pagination="get_table_data" />
     </div>
 
- 
 
     <!-- 查看/反馈 -->
     <el-dialog  title="合同详情" :visible.sync="createSee.dialogFormVisible" :close-on-click-modal="false" width="95%" :before-close="dialog_close">
@@ -197,7 +188,7 @@
           <!-- <el-button class="success" @click="form_sure(createSee.temp)" v-if="isContractpayRevoke && createSee.temp.isComplete  == '1'">完成收款</el-button> -->
           <el-button class="cancelClose" @click="dialog_close()">关闭</el-button>
 
-      
+
         </div>
       </div>
     </el-dialog>
@@ -209,7 +200,7 @@
         <el-form ref="suretemp" :rules="sure.rules" :model="sure.temp" label-position="right" label-width="150px" style="width: 70%;margin:0 auto 50px">
 
           <el-form-item label="收款时间:" prop="collectionDate">
-      
+
             <el-date-picker v-model="sure.temp.collectionDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"  :picker-options="setDisabled" style="width: 100%;" :clearable="false"   />
 
           </el-form-item>
@@ -230,10 +221,8 @@
             <!-- <el-radio v-model="sure.temp.isAlert" label="1"  >是</el-radio>
             <el-radio v-model="sure.temp.isAlert" label="0"  >否</el-radio> -->
           </el-form-item>
-          
 
 
-    
         </el-form>
         <div slot="footer" class="dialog-footer">
           <el-button class="cancelClose" @click="dialog_sure_close()">关闭</el-button>
@@ -250,8 +239,8 @@
           <el-form-item label="撤销原因:" prop="revokeReason">
             <el-input ref="remark" v-model="revoke.temp.revokeReason" type="textarea" :autosize="{ minRows: 4, maxRows: 8} "  :rows="8" placeholder="请输入备注,最多200个字" maxlength="200" class="filter-item" style="width: 100%;"   />
           </el-form-item>
-             
- 
+
+
         </el-form>
         <div slot="footer" class="dialog-footer">
           <el-button class="cancelClose" @click="revoke.dialogFormVisible = false;get_table_data()">关闭</el-button>
@@ -292,7 +281,7 @@ export default {
 
       rowData:{},
       isHome:"",
-      
+
       isRoleEdit: [],isContractpayRevoke: [],
 
 
@@ -313,24 +302,18 @@ export default {
 
 
        // 下拉框 - 创建人
-      createrNameList: [],  
+      createrNameList: [],
 
 
       // 下拉框 - 款项状态
       moneyNameList: [
-        { "name": "未收款", "id": "未收款" }, 
+        { "name": "未收款", "id": "未收款" },
         { "name": "已收款", "id": "已收款" },
         { "name": "部分收款", "id": "部分收款" },
       ],
 
-   
- 
-
-     
-
-      
 
-      //表格 - 列表 - 查询 
+      //表格 - 列表 - 查询
       tableObj: {
         getdataListParm: {
           name: 'getContractCostList',
@@ -345,7 +328,7 @@ export default {
             groupId: "",
             createrId: "",
             contractStatus: "",
-   
+
             beginPlanCost: "",
             endPlanCost: "",
             beginMoneyStep: "",
@@ -354,14 +337,12 @@ export default {
             endStages: "",
 
             inputDatetime1: "",
-       
+
 
             beginCollectionDate: "",
             endCollectionDate: "",
-           
 
-      
-      
+
           }
         },
         tableKey: 0,
@@ -387,7 +368,7 @@ export default {
             groupId: "",
             createrId: "",
             contractStatus: "",
-   
+
             beginPlanCost: "",
             endPlanCost: "",
             beginMoneyStep: "",
@@ -396,14 +377,12 @@ export default {
             endStages: "",
 
             inputDatetime1: "",
-       
+
 
             beginCollectionDate: "",
             endCollectionDate: "",
-           
 
-      
-      
+
           }
         },
         tableKey: 0,
@@ -413,15 +392,13 @@ export default {
         temp: {}
       },
 
- 
 
       createSee:{
         temp:{id:"",costId:"",isComplete:""},
         dialogFormVisible: false,
       },
 
- 
-      
+
       setDisabled: {
         disabledDate(time) {
            return time.getTime() > Date.now();  // 可选历史天、可选当前天、不可选未来天
@@ -430,18 +407,16 @@ export default {
           // return time.getTime() < Date.now(); // 不可选历史天、不可选当前天、可选未来天
         },
       },
-     
+
       textMap: {
         create: '新增',
         see: '查看',
         update: '编辑'
       },
 
- 
 
- 
       imageUrl0:"",
-     
+
       // 撤销
       revoke: {
         dialogFormVisible: false,
@@ -462,8 +437,8 @@ export default {
           actualCost: [{ required: true, message: '必填', trigger: 'blur' }],
          }
       },
-      
-      
+
+
       autoWidth: 160,
 
       requestParam: {},
@@ -475,7 +450,7 @@ export default {
   },
 
   watch: {
- 
+
     tableStockList: {
       deep: true,
       handler: function (item) {
@@ -485,14 +460,14 @@ export default {
               sum = parseInt(i.nums) * parseFloat(i.price) + sum
           })
           this.stockSumPrice = sum
-         
+
       }
     },
- 
+
   },
 
   created() {
-   
+
     this.get_select_list()
     this.get_auto_buttons()
 
@@ -502,7 +477,7 @@ export default {
     var codeNum = this.$route.params.codeNum
 
     console.log("rowData",rowData,"======isHome",isHome,"======codeNum",codeNum)
- 
+
 
     if(isHome == 'home'){
       this.rowData = rowData
@@ -513,7 +488,7 @@ export default {
       var stages = this.$route.params.stages
       this.tableObj.getdataListParm.parammaps.beginStages = stages
       this.tableObj.getdataListParm.parammaps.endStages = stages
-     
+
 
       this.get_table_data()
 
@@ -521,20 +496,15 @@ export default {
       this.rowData = {}
       this.isHome = ""
       this.codeNum = ""
- 
+
       this.get_table_data()
     }
 
   },
 
 
-
   methods: {
 
- 
-   
-   
-
 
     //获取按钮权限
     get_auto_buttons() {
@@ -558,7 +528,6 @@ export default {
         this.createrNameList = response.data.getUsersSelect.list
         console.log("创建人下拉框", this.createrNameList)
 
- 
 
       })
 
@@ -573,7 +542,7 @@ export default {
         console.log('table数据======>', response.data.list)
         if (response.data.list !== null) {
 
- 
+
           this.tableObj.list = response.data.list
           this.tableObj.pageNum = response.data.pageNum
           this.tableObj.pageSize = response.data.pageSize
@@ -592,8 +561,8 @@ export default {
                   if(me.isContractpayRevoke && row.isRevoke  == '1'){
                     itemBtnNum = itemBtnNum + 1
                   }
-                 
-                   
+
+
                   console.log(itemBtnNum)
                   if(itemBtnNum > btnNum){
                     btnNum = itemBtnNum
@@ -603,7 +572,6 @@ export default {
               me.autoWidth = btnNum * 90  + 100
 
 
-
         } else {
           this.tableObj.list = []
         }
@@ -613,8 +581,6 @@ export default {
       })
 
 
-      
-
       var send_price = {
         name: 'getContractCostOfPrice',
         parammaps: this.tableObj.getdataListParm.parammaps
@@ -630,8 +596,6 @@ export default {
       })
 
 
-
-       
     },
     form_search() {
       console.log('点击了查询')
@@ -644,8 +608,7 @@ export default {
         this.tableObj.getdataListParm.parammaps.beginCollectionDate = ''
         this.tableObj.getdataListParm.parammaps.endCollectionDate = ''
       }
- 
-      
+
 
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
@@ -660,30 +623,25 @@ export default {
 
       this.tableObj.getdataListParm.parammaps.contractStatus = ''
       this.tableObj.getdataListParm.parammaps.createrId = ''
-      
+
       this.tableObj.getdataListParm.parammaps.beginPlanCost = ''
       this.tableObj.getdataListParm.parammaps.endPlanCost = ''
       this.tableObj.getdataListParm.parammaps.beginMoneyStep = ''
       this.tableObj.getdataListParm.parammaps.endMoneyStep = ''
       this.tableObj.getdataListParm.parammaps.beginStages = ''
       this.tableObj.getdataListParm.parammaps.endStages = ''
- 
+
       this.tableObj.getdataListParm.parammaps.inputDatetime1 = ''
-  
+
        this.tableObj.getdataListParm.parammaps.beginCollectionDate = ''
       this.tableObj.getdataListParm.parammaps.endCollectionDate = ''
-  
+
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
 
- 
-
 
     },
 
- 
-
- 
 
     //客户失去焦点
     customer_search_blur(item) {
@@ -692,7 +650,7 @@ export default {
       this.tableObj.getdataListParm.parammaps.customerName = ""
       this.customerNameList = []
     },
- 
+
 
     //模糊查询客户
     customer_search(queryString, cb) {
@@ -730,9 +688,9 @@ export default {
       this.create.temp.customerName = ""
       this.create.temp.customerId = ""
       this.create.customerNameList = []
-      
+
       this.get_customer_list()
-      this.$forceUpdate() 
+      this.$forceUpdate()
 
     },
     // 弹窗中的客户
@@ -751,15 +709,11 @@ export default {
     //监听 - 下拉中客户名称
     change_customer(item) {
       console.log(item)
-      this.create.temp.customerId = item 
- 
-    
- 
+      this.create.temp.customerId = item
 
-    },
 
+    },
 
-  
 
     // 备货信息表格
     getStockTableList() {
@@ -772,17 +726,8 @@ export default {
         }
       })
     },
-    
-   
-        
- 
-
-
- 
 
 
-    
-
     //小表格中的删除单号
     form_deleteCode(item, index) {
       console.log('小表格中的删除单号', item)
@@ -793,48 +738,36 @@ export default {
     },
 
 
-   
-
-    
-
     //图片展示
     show_pic1() {
       this.imageIsShow = true
     },
 
- 
+
     // 查看
     form_see(row) {
 
 
-
-   
-
       this.concustomerData.id = row.id
       this.conmoreData.id = row.id
       this.resturnmData.id = row.id
 
- 
+
       console.log('点击了查看',this.resturnmData.id)
 
       this.createSee.temp.id = row.id
       this.createSee.temp.costId = row.costId
       this.createSee.temp.isComplete = row.isComplete
-      
-       
 
 
- 
-   
       this.createSee.dialogFormVisible = true
 
 
-
     },
 
       // 关闭
     form_close(row) {
-   
+
           var send_data =   {
               "name": "closeContractCost",
               "parammaps": {
@@ -843,7 +776,6 @@ export default {
           }
 
 
-
             this.$confirm('是否关闭该条记录?', '提示', {
               confirmButtonText: '确定',
               cancelButtonText: '取消',
@@ -854,10 +786,8 @@ export default {
                     console.log('关闭发送参数', send_data)
                     if (response.msg !== 'fail') {
                       this.$notify({ title: '成功', message: '关闭成功', type: 'success', duration: 2000 })
-                     
-                      this.get_table_data()
 
-                 
+                      this.get_table_data()
 
 
                     } else {
@@ -869,13 +799,12 @@ export default {
               this.$message({
                 type: 'info',
                 message: '已取消删除'
-              });          
+              });
             });
-          
 
-      
+
     },
- 
+
 
     // 确认回收
     form_sure(row) {
@@ -886,7 +815,7 @@ export default {
 
       this.sure.temp = Object.assign({}, row)
       this.sure.temp.collectionDate = parseTime(new Date(), '{y}-{m}-{d}')
-      
+
       this.sure.dialogFormVisible = true
     },
     // 确认回收 - 重置
@@ -931,7 +860,7 @@ export default {
             ]
         }
 
- 
+
              ExecDataByConfig(send_data).then(response => {
                     console.log('确认回收参数', send_data)
                     if (response.msg !== 'fail') {
@@ -950,7 +879,7 @@ export default {
 
                         }
                       }
-                    
+
                       GetDataByName(send_weixin_data1).then(response => {
                         console.log('微信推送(获取参数)======>', response )
                         if (response.data.message == 'ok') {
@@ -966,12 +895,12 @@ export default {
                             "content": [
                               { "color": "#173177","value": value1 },
                               { "color": "#173177", "value": value2 },
-                              { "color": "#173177", "value": value3 }, 
+                              { "color": "#173177", "value": value3 },
                               { "color": "#173177","value": value4 }
                             ]
                           }
 
-                          
+
                             wxpush(send_weixin_data2).then(response => {
                               console.log('微信推送(获取参数)======>', response )
                             })
@@ -993,7 +922,7 @@ export default {
 
                           }
                         }
-                      
+
                         GetDataByName(send_weixin_data3).then(response => {
                           console.log('微信推送(获取参数)======>', response )
                           if (response.data.message == 'ok') {
@@ -1009,12 +938,12 @@ export default {
                               "content": [
                                 { "color": "#173177","value": value1 },
                                 { "color": "#173177", "value": value2 },
-                                { "color": "#173177", "value": value3 }, 
+                                { "color": "#173177", "value": value3 },
                                 { "color": "#173177","value": value4 }
                               ]
                             }
 
-                            
+
                               wxpush(send_weixin_data4).then(response => {
                                 console.log('微信推送(获取参数)======>', response )
                               })
@@ -1026,19 +955,16 @@ export default {
                       }
 
 
-
                       if(this.isHome == 'home'){
                       // 返回首页
-                        this.$router.push({ name: 'Dashboard', params: { isTodo: 'contractp' }})   
+                        this.$router.push({ name: 'Dashboard', params: { isTodo: 'contractp' }})
                       }
-                      
+
                     } else {
                       this.$notify({ title: '失败', message: '提交失败' + response.data, type: 'error', duration: 2000 })
                     }
                   })
 
-         
-          
 
         }
       })
@@ -1049,8 +975,8 @@ export default {
     form_revoke(row) {
       console.log('点击了撤销', row)
       this.reset_revoke()
- 
-      this.revoke.temp.id = row.costId 
+
+      this.revoke.temp.id = row.costId
       this.revoke.dialogFormVisible = true
     },
     // 撤销 - 重置
@@ -1063,7 +989,7 @@ export default {
       this.$refs['revoketemp'].validate(valid => {
         if (valid) {
           var send_data =  {
-         
+
               "common": {   "returnmap": "0"  },
               "data": [
                   {
@@ -1082,7 +1008,6 @@ export default {
           }
 
 
-
             this.$confirm('是否撤销该条记录?', '提示', {
               confirmButtonText: '确定',
               cancelButtonText: '取消',
@@ -1106,7 +1031,7 @@ export default {
 
                         }
                       }
-                    
+
                       GetDataByName(send_weixin_data1).then(response => {
                         console.log('微信推送(获取参数)======>', response )
                         if (response.data.message == 'ok') {
@@ -1122,12 +1047,12 @@ export default {
                             "content": [
                               { "color": "#173177","value": value1 },
                               { "color": "#173177", "value": value2 },
-                              { "color": "#173177", "value": value3 }, 
+                              { "color": "#173177", "value": value3 },
                               { "color": "#173177","value": value4 }
                             ]
                           }
 
-                          
+
                             wxpush(send_weixin_data2).then(response => {
                               console.log('微信推送(获取参数)======>', response )
                             })
@@ -1147,15 +1072,14 @@ export default {
               this.$message({
                 type: 'info',
                 message: '已取消删除'
-              });          
+              });
             });
-          
+
 
         }
       })
     },
 
-   
 
     dialog_close(){
       this.createSee.dialogFormVisible = false
@@ -1163,11 +1087,11 @@ export default {
       this.conmoreData.id = ""
       this.concustomerData.id = ""
       this.resturnmData.id = ""
-      
+
       this.get_table_data()
       if(this.isHome == 'home'){
        // 返回首页
-       this.$router.push({ name: 'Dashboard', params: { isTodo: 'contractp' }})   
+       this.$router.push({ name: 'Dashboard', params: { isTodo: 'contractp' }})
       }
     },
 
@@ -1176,15 +1100,15 @@ export default {
       this.get_table_data()
       if(this.isHome == 'home'){
        // 返回首页
-       this.$router.push({ name: 'Dashboard', params: { isTodo: 'contractp' }})   
+       this.$router.push({ name: 'Dashboard', params: { isTodo: 'contractp' }})
       }
     },
 
     // 导出
     form_export(item) {
-       
+
        this.download.getdataListParm.parammaps = this.tableObj.getdataListParm.parammaps
-    
+
        GetDataByName(this.download.getdataListParm).then(response => {
          if (response.data.list !== null) {
            this.download.list = response.data.list
@@ -1201,7 +1125,7 @@ export default {
          ]
          json2excel(excelDatas, '合同款项', true, 'xlsx')
        })
- 
+
     },
 
     // 导入
@@ -1249,7 +1173,7 @@ export default {
     height: 178px;
     display: block;
   }
- 
+
 // #uploadPic .el-upload-list--picture-card .el-upload-list__item {
 //   width: 70px;
 //   height: 70px;

+ 127 - 189
src/views/reviewManagement/expensesPayment/index.vue

@@ -4,7 +4,7 @@
     <div class = "search-bx"  >
         <div class="search">
           <el-row :gutter="0">
-             
+
               <el-input v-model="tableObj.getdataListParm.parammaps.reimbursementCode" placeholder="报销申请单号" class="filter-item" style="width: 120px;padding-bottom:10px;" />
 
               <el-select v-model="tableObj.getdataListParm.parammaps.employeeId" placeholder="申报人" class="filter-item" style="width: 120px;" clearable filterable>
@@ -28,35 +28,26 @@
 
                <el-input v-model="tableObj.getdataListParm.parammaps.postCode" placeholder="寄送发票快递单号" style="width:120px"></el-input>
 
- 
 
               <el-date-picker v-model="tableObj.getdataListParm.parammaps.inputDatetime2" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="付款时间" end-placeholder="付款时间" style="width: 250px;" />
 
-             
-
- 
 
-            
                 <el-button class="successBorder" @click="form_search">查询</el-button>
                 <el-button class="successBorder" @click="form_clear">重置</el-button>
-               
+
                 <!-- <el-button  class="success" icon="el-icon-upload2" @click="form_export">导出</el-button> -->
-               
+
           </el-row>
         </div>
 
-      
 
     </div>
 
 
-  
-
     <div class="table"   >
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" :max-height="myHeight">
 
-        
- 
+
         <el-table-column label="序号" align="center" type="index" width="50px"  fixed="left">
           <template slot-scope="scope">
             <span>{{ scope.$index + (tableObj.pageNum-1) * tableObj.pageSize + 1 }}</span>
@@ -72,7 +63,7 @@
             <span>{{ scope.row.payStatus  }}</span>
           </template>
         </el-table-column>
-       
+
         <el-table-column label="申报类型" min-width="90px" align="center"  >
           <template slot-scope="scope">
             <span>{{ scope.row.declareTypeName  }}</span>
@@ -113,22 +104,22 @@
             <span>{{ scope.row.payDate  }}</span>
           </template>
         </el-table-column>
-     
+
         <el-table-column label="备注" min-width="120px" align="center" show-overflow-tooltip>
           <template slot-scope="scope">
             <span>{{ scope.row.remark   }}</span>
           </template>
         </el-table-column>
-       
+
 
         <el-table-column label="操作" align="center"   :width="autoWidth"  v-if="autoWidth !== 0"   class-name="small-padding fixed-width" fixed="right">
           <template slot-scope="{row}">
-           
+
              <el-button class="miniSuccess" @click="form_sure(row)" v-if="isExpensespayAdd && row.isComplete  == '1'">完成付款</el-button>
-    
+
             <el-button class="miniSuccess" @click="form_revoke(row)" v-if="isExpensespayAdd && row.isRevoke  == '1'">撤销</el-button>
 
-           
+
           </template>
         </el-table-column>
 
@@ -136,10 +127,10 @@
 
       <el-row :gutter="0">
         <el-col :span="6" :offset="12" style="color:#f00">
-          列表申报总金额:{{tableSumMoney}}    
+          列表申报总金额:{{tableSumMoney}}
         </el-col>
 
-       
+
       </el-row>
 
       <pagination v-show="tableObj.total>=0" :total="tableObj.total" :page.sync="tableObj.getdataListParm.offset" :limit.sync="tableObj.getdataListParm.pagecount" @pagination="get_table_data" />
@@ -149,11 +140,11 @@
     <el-dialog title="报销申请详情" :visible.sync="create.dialogFormVisible" :close-on-click-modal="false" width="95%">
       <div class="app-add">
         <el-form ref="tempTableForm"   :model="create.temp" label-position="right" label-width="150px" style="width: 95%;margin:0 auto 50px">
-         
+
         <el-row :gutter="25">
-              
+
               <el-col :span="declareTypeLength"   >
-   
+
                   <el-form-item label="报销人:" prop="employeeName">
                     <el-input ref="employeeName" v-model="create.temp.employeeName" class="filter-item" style="width: 100%;" disabled/>
                   </el-form-item>
@@ -165,7 +156,7 @@
                   <el-form-item label="申报金额:" prop="serviceCost">
                     <el-input ref="serviceCost" v-model="create.temp.serviceCost" class="filter-item" style="width: 100%;" disabled/>
                   </el-form-item>
-                  
+
                   <el-form-item label="寄送发票快递名称:" prop="postName">
                     <el-input ref="postName" v-model="create.temp.postName" class="filter-item" style="width: 100%;" maxlength="11" placeholder="" disabled />
                   </el-form-item>
@@ -186,14 +177,14 @@
                      <el-row>
                       <el-col :span="6"  v-for="(item,index) in tableInvocieList ">
                           <el-col :span="24">
-                            <el-image style="width: 250px; height: 250px;display:inline-block"  :src="item"></el-image> 
+                            <el-image style="width: 250px; height: 250px;display:inline-block"  :src="item"></el-image>
                           </el-col>
                       </el-col>
                     </el-row>
                   </el-form-item>
               </el-col>
 
- 
+
               <el-col :span="16" v-if ="declareType == 1">
 
                 <h3>报销清单</h3>
@@ -202,7 +193,7 @@
                       <el-button class="miniPrimary" @click="choose_travel()">关联出差单</el-button>
                 </el-row>
                 <el-row v-if="create.dialogStatus=='create' || create.dialogStatus=='update'">
-                   
+
                         <el-col :span="8">
                             <el-form-item label="创建人:" prop="vdate">
                               <el-input   v-model="create.temp.vdate"   disabled/>
@@ -222,9 +213,6 @@
                          </el-col>
 
 
-                     
-
-
                 </el-row>
 
                 <el-row>
@@ -248,39 +236,39 @@
                     <el-table-column label="拜见人" min-width="110px" align="center">
                       <template slot-scope="scope">
                         <span  >{{ scope.row.clienter }}</span>
-                       
+
                       </template>
                     </el-table-column>
                     <el-table-column label="差旅费" min-width="110px" align="center">
                         <el-table-column label="交通费" min-width="110px" align="center">
                           <template slot-scope="scope">
                             <span  >{{ scope.row.toll }}</span>
-                           
+
                           </template>
                         </el-table-column>
                         <el-table-column label="油费" min-width="110px" align="center">
                           <template slot-scope="scope">
                             <span  >{{ scope.row.oilCost }}</span>
-                          
+
                           </template>
                         </el-table-column>
                         <el-table-column label="住宿费" min-width="110px" align="center">
                           <template slot-scope="scope">
                             <span  >{{ scope.row.hotelCost }}</span>
-                           
+
                           </template>
                         </el-table-column>
                     </el-table-column>
                     <el-table-column label="业务招待费" min-width="110px" align="center">
                       <template slot-scope="scope">
                         <span  >{{ scope.row.serviceCost }}</span>
-                      
+
                       </template>
                     </el-table-column>
                     <el-table-column label="其他费用" min-width="110px" align="center">
                       <template slot-scope="scope">
                         <span  >{{ scope.row.otherCost }}</span>
-           
+
                       </template>
                     </el-table-column>
                     <el-table-column label="合计" min-width="110px" align="center">
@@ -293,19 +281,19 @@
                         <span>{{ scope.row.travelCode }}</span>
                       </template>
                     </el-table-column>
- 
-                     
+
+
                   </el-table>
                 </el-row>
 
-  
+
               </el-col>
 
               <el-col :span="16" v-if ="declareType == 2">
                 <h3>报销清单</h3>
 
                 <el-row  >
-                   
+
                         <el-col :span="8">
                             <el-form-item label="创建人:" prop="vdate">
                               <el-input   v-model="create.temp.vdate"   disabled/>
@@ -315,7 +303,7 @@
                          <el-col :span="8">
                             <el-form-item label="时间:" prop="billDate">
                               <el-input   v-model="create.temp.billDate"   disabled/>
-                 
+
                             </el-form-item>
                          </el-col>
 
@@ -326,9 +314,6 @@
                          </el-col>
 
 
-                     
-
-
                 </el-row>
 
                 <el-row>
@@ -343,19 +328,19 @@
                     <el-table-column label="类型" min-width="110px" align="center">
                       <template slot-scope="scope">
                         <span  >{{ scope.row.goodsType }}</span>
-     
+
                       </template>
                     </el-table-column>
                     <el-table-column label="名称" min-width="110px" align="center">
                       <template slot-scope="scope">
                         <span  >{{ scope.row.goodsName }}</span>
-        
+
                       </template>
                     </el-table-column>
                     <el-table-column label="购买日期" min-width="110px" align="center">
                       <template slot-scope="scope">
                         <span  >{{ scope.row.purchaseDate }}</span>
-    
+
                       </template>
                     </el-table-column>
                     <el-table-column label="数量" min-width="110px" align="center">
@@ -372,24 +357,22 @@
                     <el-table-column label="单价" min-width="110px" align="center">
                       <template slot-scope="scope">
                         <span  >{{ scope.row.goodsPrice }}</span>
-                       
+
                       </template>
                     </el-table-column>
                     <el-table-column label="合计" min-width="110px" align="center">
                       <template slot-scope="scope">
                         <span>{{  parseFloat(scope.row.toll) + parseFloat(scope.row.oilCost) }}</span>
-            
+
                       </template>
                     </el-table-column>
                   </el-table>
-                </el-row> 
-             
-  
+                </el-row>
+
+
               </el-col>
           </el-row>
-          
 
-   
 
         </el-form>
         <div slot="footer" class="dialog-footer">
@@ -405,17 +388,15 @@
       <div class="app-add">
 
 
-        <RemotePayDetail :remote-data="remoteData"  />  
+        <RemotePayDetail :remote-data="remoteData"  />
+
 
-         
         <div slot="footer" class="dialog-footer">
-         
 
- 
 
           <el-button class="cancelClose" @click="dialog_close()">关闭</el-button>
 
-      
+
         </div>
       </div>
     </el-dialog>
@@ -427,12 +408,12 @@
         <el-form ref="suretemp" :rules="sure.rules" :model="sure.temp" label-position="right" label-width="150px" style="width: 70%;margin:0 auto 50px">
 
           <el-form-item label="付款时间:" prop="collectDate">
-      
+
             <el-date-picker v-model="sure.temp.collectDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"  :picker-options="setDisabled"  style="width: 100%;" :clearable="false"   />
 
           </el-form-item>
-             
- 
+
+
         </el-form>
         <div slot="footer" class="dialog-footer">
           <el-button class="cancelClose" @click="dialog_sure_close()">关闭</el-button>
@@ -449,8 +430,8 @@
           <el-form-item label="撤销原因:" prop="revokeReason">
             <el-input ref="remark" v-model="revoke.temp.revokeReason" type="textarea" :autosize="{ minRows: 4, maxRows: 8} "  :rows="8" placeholder="请输入,最多200个字" maxlength="200" class="filter-item" style="width: 100%;"   />
           </el-form-item>
-             
- 
+
+
         </el-form>
         <div slot="footer" class="dialog-footer">
           <el-button class="cancelClose" @click="revoke.dialogFormVisible = false;get_table_data()">关闭</el-button>
@@ -466,7 +447,7 @@
         <el-row>
             <el-col :span="6"  v-for="(item,index) in tableInvocieList ">
                 <el-col :span="24">
-                  <el-image style="width: 350px; height: 350px;display:inline-block"  :src="item"></el-image> 
+                  <el-image style="width: 350px; height: 350px;display:inline-block"  :src="item"></el-image>
                 </el-col>
              </el-col>
           </el-row>
@@ -492,7 +473,7 @@ import Pagination from '@/components/Pagination'
 import { MessageBox } from 'element-ui'
 
 import RemotePayDetail from '@/componentView/RemotePayDetail.vue'
- 
+
 import { constants } from 'zlib';
 
 
@@ -504,7 +485,7 @@ export default {
       myHeight:document.documentElement.clientHeight - 85 - 160,
       employeid: Cookies.get('employeid'),
       disabled: false,
-      
+
       rowData:{},
       isHome:"",
 
@@ -512,7 +493,6 @@ export default {
       sumPriceAll2:0,
       isRoleEdit: [],isExpensespayAdd: [],
 
- 
 
       send_select_list: [
         { name: 'getUserFuzzy', offset: 0, pagecount: 0, parammaps: { "inputvalue": "" } },
@@ -525,13 +505,13 @@ export default {
 
 
        // 下拉框 - 创建人
-      createrNameList: [],  
+      createrNameList: [],
 
 
       // 下拉框 - 款项状态
       moneyNameList: [
-        { "name": "未付款", "id": "未付款" }, 
-        { "name": "已付款", "id": "已付款" } 
+        { "name": "未付款", "id": "未付款" },
+        { "name": "已付款", "id": "已付款" }
       ],
 
       // 下拉框 - 申报类型
@@ -550,16 +530,10 @@ export default {
         { "name": "手续费", "id": "手续费" },
         { "name": "采购", "id": "采购" },
         { "name": "其他费用", "id": "其他费用" },
-      ], 
-
-   
- 
-
-     
+      ],
 
-      
 
-      //表格 - 列表 - 查询 
+      //表格 - 列表 - 查询
       tableObj: {
         getdataListParm: {
           name: 'getReimbursementCost',
@@ -572,20 +546,20 @@ export default {
             employeeId: "",
             payStatus: "",
             declareTypeName: "",
-           
+
             postCode: "",
             beginServiceCost: "",
             endServiceCost: "",
-        
+
             inputDatetime1: "",
             inputDatetime2: "",
-    
+
             beginDeclareDate: "",
             endDeclareDate: "",
             beginPayDate: "",
             endPayDate: "",
- 
-      
+
+
           }
         },
         tableKey: 0,
@@ -610,20 +584,20 @@ export default {
             employeeId: "",
             payStatus: "",
             declareTypeName: "",
-           
+
             postCode: "",
             beginServiceCost: "",
             endServiceCost: "",
-        
+
             inputDatetime1: "",
             inputDatetime2: "",
-    
+
             beginDeclareDate: "",
             endDeclareDate: "",
             beginPayDate: "",
             endPayDate: "",
- 
-      
+
+
           }
         },
         tableKey: 0,
@@ -633,16 +607,13 @@ export default {
         temp: {}
       },
 
- 
 
       createSee:{
         temp:{},
         dialogFormVisible: false,
       },
 
- 
 
-     
       textMap: {
         create: '新增',
         see: '查看',
@@ -654,7 +625,7 @@ export default {
       create: {
         dialogFormVisible: false,
         dialogStatus: '',
-        temp: {employeeId: '', declareTypeName: '', serviceCost: '', billDate: parseTime(new Date(), '{y}-{m}-{d}'), postName: '', postCode: '', declareReason: '', remark: '',  
+        temp: {employeeId: '', declareTypeName: '', serviceCost: '', billDate: parseTime(new Date(), '{y}-{m}-{d}'), postName: '', postCode: '', declareReason: '', remark: '',
         scenePhoto1: -1, scenePhoto2: -1, scenePhoto3: -1, scenePhoto4: -1, scenePhoto5: -1, scenePhoto6: -1, scenePhoto7: -1, scenePhoto8: -1, scenePhoto9: -1,scenePhoto10: -1,
           picname1: '', picname2: '', picname3: '', picname4: '', picname5: '', picname6: '', picname7: '', picname8: '', picname9: '',  picname10: '',},
         rules: {
@@ -678,9 +649,7 @@ export default {
           returntype: 'Map',
           parammaps: { id: "" }
         },
-   
 
-       
 
       },
 
@@ -702,9 +671,9 @@ export default {
       ],
       //z这里表格初始ID
       tableBuyId:91,
- 
+
       imageUrl0:"",
-     
+
       // 撤销
       revoke: {
         dialogFormVisible: false,
@@ -756,13 +725,12 @@ export default {
   },
 
   watch: {
- 
-   
- 
+
+
   },
 
   created() {
- 
+
     this.get_select_list()
     this.get_auto_buttons()
 
@@ -771,7 +739,7 @@ export default {
     var codeNum = this.$route.params.codeNum
 
     console.log("rowData",rowData,"======isHome",isHome,"======codeNum",codeNum)
- 
+
 
     if(isHome == 'home'){
       this.rowData = rowData
@@ -783,7 +751,7 @@ export default {
       this.rowData = {}
       this.isHome = ""
       this.codeNum = ""
- 
+
       this.get_table_data()
     }
 
@@ -791,7 +759,7 @@ export default {
   },
 
   watch: {
- 
+
     tableTravelList: {
       deep: true,
       handler: function (item) {
@@ -800,11 +768,10 @@ export default {
           this.tableTravelList.forEach(function(i){
               sum = parseFloat(i.toll) + parseFloat(i.oilCost)+ parseFloat(i.hotelCost) + parseFloat(i.serviceCost) + parseFloat(i.otherCost)  + sum
           })
-       
+
             this.sumPriceAll1 = sum
-    
-          
-         
+
+
       }
     },
     tableBuyList: {
@@ -815,26 +782,18 @@ export default {
           this.tableBuyList.forEach(function(i){
               sum = parseFloat(i.goodsPrice) * parseFloat(i.goodsNum)  + sum
           })
-       
+
             this.sumPriceAll2 = sum
-    
-          
-         
+
+
       }
     },
 
 
-
-    
- 
   },
 
   methods: {
 
- 
-   
-   
-
 
     //获取按钮权限
     get_auto_buttons() {
@@ -850,10 +809,10 @@ export default {
     get_select_list() {
 
       GetDataByNames(this.send_select_list).then(response => {
-        
+
         this.employeeNameList = response.data.getUserFuzzy.list
         console.log("申报人下拉框", this.employeeNameList)
- 
+
 
       })
 
@@ -867,7 +826,7 @@ export default {
         console.log('table数据======>', response.data.list)
         if (response.data.list !== null) {
 
- 
+
           this.tableObj.list = response.data.list
           this.tableObj.pageNum = response.data.pageNum
           this.tableObj.pageSize = response.data.pageSize
@@ -886,15 +845,15 @@ export default {
                   if(me.isExpensespayAdd && row.isRevoke  == '1'){
                     itemBtnNum = itemBtnNum + 1
                   }
-                 
-                   
+
+
                   console.log(itemBtnNum)
                   if(itemBtnNum > btnNum){
                     btnNum = itemBtnNum
                   }
               })
               console.log("btnNum=============",btnNum)
-              me.autoWidth = btnNum * 90  
+              me.autoWidth = btnNum * 90
 
 
         } else {
@@ -906,8 +865,6 @@ export default {
       })
 
 
-      
-
       var send_price = {
         name: 'getReimbursementCostOfPrice',
         parammaps: this.tableObj.getdataListParm.parammaps
@@ -917,23 +874,18 @@ export default {
         console.log('table总价格数据======>', response )
         if (response.data.list !== null) {
           this.tableSumMoney = response.data.list[0].totlePrice
-  
+
         } else {
           this.tableSumMoney = ""
-       
+
         }
       })
 
 
-
-       
     },
     form_search() {
       console.log('点击了查询')
 
-       
- 
-
 
       if (this.tableObj.getdataListParm.parammaps.inputDatetime1 !== '' && this.tableObj.getdataListParm.parammaps.inputDatetime1 !== null) {
         this.tableObj.getdataListParm.parammaps.beginDeclareDate = parseTime(this.tableObj.getdataListParm.parammaps.inputDatetime1[0], '{y}-{m}-{d}')
@@ -953,8 +905,6 @@ export default {
         this.tableObj.getdataListParm.parammaps.endPayDate  = ''
       }
 
-     
-      
 
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
@@ -962,7 +912,7 @@ export default {
     form_clear() {
       console.log('点击了重置')
 
-         
+
       this.tableObj.getdataListParm.parammaps.reimbursementCode = ''
       this.tableObj.getdataListParm.parammaps.employeeId  = ''
       this.tableObj.getdataListParm.parammaps.payStatus = ''
@@ -970,32 +920,26 @@ export default {
 
       this.tableObj.getdataListParm.parammaps.postCode  = ''
       this.tableObj.getdataListParm.parammaps.beginServiceCost  = ''
-      
+
       this.tableObj.getdataListParm.parammaps.endServiceCost  = ''
- 
- 
+
+
       this.tableObj.getdataListParm.parammaps.inputDatetime1 = ''
       this.tableObj.getdataListParm.parammaps.inputDatetime2 = ''
- 
+
       this.tableObj.getdataListParm.parammaps.beginDeclareDate  = ''
       this.tableObj.getdataListParm.parammaps.endDeclareDate  = ''
       this.tableObj.getdataListParm.parammaps.beginPayDate  = ''
       this.tableObj.getdataListParm.parammaps.endPayDate  = ''
- 
-  
+
+
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
 
- 
-
 
     },
 
- 
- 
-    
 
-    
     // 查看
     form_see_nums(row) {
       console.log(row)
@@ -1039,8 +983,8 @@ export default {
          tableInvocieList.push(url)
       }
 
- 
-      this.tableInvocieList  = tableInvocieList 
+
+      this.tableInvocieList  = tableInvocieList
       console.log( this.tableInvocieList )
 
       this.createSeeNums.dialogFormVisible = true
@@ -1053,7 +997,7 @@ export default {
       this.imageIsShow = true
     },
 
- 
+
      // 查看
     form_see(row) {
       console.log('点击了查看', row)
@@ -1105,13 +1049,12 @@ export default {
       }
 
 
-      this.tableInvocieList  = tableInvocieList 
+      this.tableInvocieList  = tableInvocieList
       console.log( this.tableInvocieList )
 
 
       if(row.declareTypeName == "出差"){
 
-      
 
          this.declareType = 1
          this.declareTypeLength = 8
@@ -1120,7 +1063,7 @@ export default {
 
       } else if(row.declareTypeName == "采购"){
         this.declareType = 2
-         this.declareTypeLength = 8 
+         this.declareTypeLength = 8
         this.create.getTableBuyListParm.parammaps.id = row.id
         this.getTableBuyList()
       } else {
@@ -1128,7 +1071,6 @@ export default {
          this.declareTypeLength = 24
       }
 
- 
 
       this.create.dialogStatus = 'see'
       this.create.dialogFormVisible = true
@@ -1137,33 +1079,31 @@ export default {
     getTableTravelList(){
       GetDataByName(this.create.getTableTravelListParm).then(response => {
         if (response.data.list !== null) {
-           
+
           this.tableTravelList = response.data.list
-          
+
         } else {
           this.tableTravelList = []
         }
-   
-        console.log("出差小表格", this.tableTravelList)    
+
+        console.log("出差小表格", this.tableTravelList)
       })
     },
     getTableBuyList(){
       GetDataByName(this.create.getTableBuyListParm).then(response => {
 
-        
+
         if (response.data.list !== null) {
-           
+
           this.tableBuyList = response.data.list
-          
+
         } else {
           this.tableBuyList = []
         }
-        console.log("采购小表格", this.tableBuyList)    
+        console.log("采购小表格", this.tableBuyList)
       })
     },
 
-     
- 
 
     // 确认回收
     form_sure(row) {
@@ -1184,9 +1124,9 @@ export default {
           var send_data =  {
               name: 'completeReimbursementCost',
               parammaps: this.sure.temp
-            
-          } 
- 
+
+          }
+
                  PostDataByName(send_data).then(response => {
                     console.log('确认回收参数', send_data)
                     if (response.msg !== 'fail') {
@@ -1201,15 +1141,13 @@ export default {
 
                       if(this.isHome == 'home'){
                       // 返回首页
-                        this.$router.push({ name: 'Dashboard', params: { isTodo: 'expensesp' }})   
+                        this.$router.push({ name: 'Dashboard', params: { isTodo: 'expensesp' }})
                       }
                     } else {
                       this.$notify({ title: '失败', message: '提交失败' + response.data, type: 'error', duration: 2000 })
                     }
                   })
 
-         
-          
 
         }
       })
@@ -1220,14 +1158,14 @@ export default {
     form_revoke(row) {
       console.log('点击了撤销', row)
       this.reset_revoke()
- 
+
       this.revoke.temp.id = row.id
       this.revoke.dialogFormVisible = true
     },
     // 撤销 - 重置
     reset_revoke() {
       this.revoke.temp.revokeReason = ""
-      
+
     },
 
     // 撤销 - 确认
@@ -1237,8 +1175,8 @@ export default {
           var send_data =  {
               name: 'revokeReimbursementCost',
               parammaps: this.revoke.temp
-            
-          } 
+
+          }
 
 
             this.$confirm('是否撤销该条记录?', '提示', {
@@ -1254,7 +1192,7 @@ export default {
                       this.revoke.dialogFormVisible = false
                       this.get_table_data()
 
-                      
+
                       var rowId = this.revoke.temp.id
                     this.get_wxPush(70,'报销',rowId)
                     } else {
@@ -1266,9 +1204,9 @@ export default {
               this.$message({
                 type: 'info',
                 message: '已取消删除'
-              });          
+              });
             });
-          
+
 
         }
       })
@@ -1280,7 +1218,7 @@ export default {
       this.get_table_data()
       if(this.isHome == 'home'){
        // 返回首页
-       this.$router.push({ name: 'Dashboard', params: { isTodo: 'sitep' }})   
+       this.$router.push({ name: 'Dashboard', params: { isTodo: 'sitep' }})
       }
     },
 
@@ -1289,15 +1227,15 @@ export default {
       this.get_table_data()
       if(this.isHome == 'home'){
        // 返回首页
-       this.$router.push({ name: 'Dashboard', params: { isTodo: 'sitep' }})   
+       this.$router.push({ name: 'Dashboard', params: { isTodo: 'sitep' }})
       }
     },
 
     // 导出
     form_export(item) {
-       
+
        this.download.getdataListParm.parammaps = this.tableObj.getdataListParm.parammaps
-    
+
        GetDataByName(this.download.getdataListParm).then(response => {
          if (response.data.list !== null) {
            this.download.list = response.data.list
@@ -1314,7 +1252,7 @@ export default {
          ]
          json2excel(excelDatas, '报销款项', true, 'xlsx')
        })
- 
+
     },
 
     // 导入
@@ -1333,7 +1271,7 @@ export default {
 
                         }
                       }
-                      
+
                       GetDataByName(send_weixin_data1).then(response => {
                         console.log('微信推送(获取参数)======>', response )
                         if (response.data.message == 'ok') {
@@ -1349,12 +1287,12 @@ export default {
                             "content": [
                               { "color": "#173177","value": value1 },
                               { "color": "#173177", "value": value2 },
-                              { "color": "#173177", "value": value3 }, 
+                              { "color": "#173177", "value": value3 },
                               { "color": "#173177","value": value4 }
                             ]
                           }
 
-                          
+
                             wxpush(send_weixin_data2).then(response => {
                               console.log('微信推送(获取参数)======>', response )
                             })
@@ -1406,7 +1344,7 @@ export default {
     height: 178px;
     display: block;
   }
- 
+
 // #uploadPic .el-upload-list--picture-card .el-upload-list__item {
 //   width: 70px;
 //   height: 70px;

+ 84 - 145
src/views/reviewManagement/remotePayment/index.vue

@@ -4,7 +4,7 @@
     <div class = "search-bx"  >
         <div class="search">
           <el-row :gutter="0">
-             
+
               <el-input v-model="tableObj.getdataListParm.parammaps.remoteCode" placeholder="远程服务编号" class="filter-item" style="width: 120px" />
 
               <el-select v-model="tableObj.getdataListParm.parammaps.costStatus" placeholder="收款状态" class="filter-item" style="width: 120px;" clearable>
@@ -28,7 +28,6 @@
               </el-select>
 
 
-
               <el-input v-model="tableObj.getdataListParm.parammaps.receiverName" placeholder="客户对接人" style="width:120px"></el-input>
 
 
@@ -44,33 +43,24 @@
               <el-date-picker v-model="tableObj.getdataListParm.parammaps.inputDatetime3" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="支付时间" end-placeholder="支付时间" style="width: 250px;" />
 
               <el-date-picker v-model="tableObj.getdataListParm.parammaps.inputDatetime4" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="收款时间" end-placeholder="收款时间" style="width: 250px;" />
-            
-
 
 
-               
- 
-
-            
                 <el-button class="successBorder" @click="form_search">查询</el-button>
                 <el-button class="successBorder" @click="form_clear">重置</el-button>
-              
+
                 <!-- <el-button  class="success" icon="el-icon-upload2" @click="form_export">导出</el-button> -->
-            
+
           </el-row>
         </div>
 
-        
-    </div>
 
+    </div>
 
-  
 
     <div class="table"   >
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" :max-height="myHeight">
 
-        
- 
+
         <el-table-column label="序号" align="center" type="index" width="50px"  fixed="left">
           <template slot-scope="scope">
             <span>{{ scope.$index + (tableObj.pageNum-1) * tableObj.pageSize + 1 }}</span>
@@ -116,13 +106,13 @@
             <span>{{ scope.row.payDate  }}</span>
           </template>
         </el-table-column>
-        
+
         <el-table-column label="收款时间" min-width="100px" align="center"  >
           <template slot-scope="scope">
             <span>{{ scope.row.collectDate  }}</span>
           </template>
         </el-table-column>
- 
+
         <el-table-column label="服务开始时间" min-width="120px" align="center">
           <template slot-scope="scope">
             <span>{{ scope.row.remoteBeginDate  }}</span>
@@ -171,13 +161,13 @@
 
         <el-table-column label="操作" align="center"   :width="autoWidth"  v-if="autoWidth !== 0"   class-name="small-padding fixed-width" fixed="right">
           <template slot-scope="{row}">
-           
+
              <el-button class="miniSuccess" @click="form_sure(row)" v-if="isRemotepayRevoke && row.isComplete  == '1'">完成收款</el-button>
-          
-              
+
+
             <el-button class="miniSuccess" @click="form_revoke(row)" v-if="isRemotepayRevoke && row.isRevoke  == '1'">撤销</el-button>
 
-           
+
           </template>
         </el-table-column>
 
@@ -185,32 +175,31 @@
 
       <el-row :gutter="0">
         <el-col :span="6" :offset="12" style="color:#f00">
-          列表合同总金额:{{tableSumMoney}}    
+          列表合同总金额:{{tableSumMoney}}
         </el-col>
         <el-col :span="6" style="color:#f00">
-          超时未支付金额:{{tableNoMoney}}   
+          超时未支付金额:{{tableNoMoney}}
         </el-col>
-       
+
       </el-row>
 
       <pagination v-show="tableObj.total>=0" :total="tableObj.total" :page.sync="tableObj.getdataListParm.offset" :limit.sync="tableObj.getdataListParm.pagecount" @pagination="get_table_data" />
     </div>
 
- 
 
     <!-- 查看/反馈 -->
     <el-dialog  title="远程服务详情" :visible.sync="createSee.dialogFormVisible" :close-on-click-modal="false" width="95%" :before-close="dialog_close">
       <div class="app-add">
 
 
-        <RemotePayDetail :remote-data="remoteData"  />  
+        <RemotePayDetail :remote-data="remoteData"  />
+
 
-         
         <div slot="footer" class="dialog-footer">
           <el-button class="success" @click="form_sure(createSee.temp)" v-if="isRemotepayRevoke && createSee.temp.isComplete  == '1'">完成收款</el-button>
           <el-button class="cancelClose" @click="dialog_close()">关闭</el-button>
 
-      
+
         </div>
       </div>
     </el-dialog>
@@ -222,12 +211,12 @@
         <el-form ref="suretemp" :rules="sure.rules" :model="sure.temp" label-position="right" label-width="150px" style="width: 70%;margin:0 auto 50px">
 
           <el-form-item label="收款时间:" prop="collectDate">
-      
+
             <el-date-picker v-model="sure.temp.collectDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"  :picker-options="setDisabled" style="width: 100%;" :clearable="false"   />
 
           </el-form-item>
-             
- 
+
+
         </el-form>
         <div slot="footer" class="dialog-footer">
           <el-button class="cancelClose" @click="dialog_sure_close()">关闭</el-button>
@@ -244,8 +233,8 @@
           <el-form-item label="撤销原因:" prop="revokeReason">
             <el-input ref="remark" v-model="revoke.temp.revokeReason" type="textarea" :autosize="{ minRows: 4, maxRows: 8} "  :rows="8" placeholder="请输入备注,最多200个字" maxlength="200" class="filter-item" style="width: 100%;"   />
           </el-form-item>
-             
- 
+
+
         </el-form>
         <div slot="footer" class="dialog-footer">
           <el-button class="cancelClose" @click="revoke.dialogFormVisible = false;get_table_data()">关闭</el-button>
@@ -270,7 +259,7 @@ import Pagination from '@/components/Pagination'
 import { MessageBox } from 'element-ui'
 
 import RemotePayDetail from '@/componentView/RemotePayDetail.vue'
- 
+
 import { constants } from 'zlib';
 
 
@@ -282,13 +271,12 @@ export default {
       myHeight:document.documentElement.clientHeight - 85 - 220,
       employeid: Cookies.get('employeid'),
       disabled: false,
- 
+
       rowData:{},
       isHome:"",
 
       isRoleEdit: [],isRemotepayRevoke: [],
 
- 
 
       send_select_list: [
         { name: 'getDictListSelect', offset: 0, pagecount: 0, parammaps: { "pid": "54" } },
@@ -303,13 +291,13 @@ export default {
 
 
        // 下拉框 - 创建人
-      createrNameList: [],  
+      createrNameList: [],
 
 
       // 下拉框 - 款项状态
       moneyNameList: [
-        { "name": "未收款", "id": "未收款" }, 
-        { "name": "已收款", "id": "已收款" } 
+        { "name": "未收款", "id": "未收款" },
+        { "name": "已收款", "id": "已收款" }
       ],
 
 
@@ -322,14 +310,11 @@ export default {
         },
       },
 
-   
- 
+
       autoWidth: 130,
-     
 
-      
 
-      //表格 - 列表 - 查询 
+      //表格 - 列表 - 查询
       tableObj: {
         getdataListParm: {
           name: 'getRemoteCostList',
@@ -343,7 +328,7 @@ export default {
             customerId: "",
             groupId: "",
             costStatus: "",
-           
+
             employeeId: "",
             receiverName: "",
             beginRemoteCost: "",
@@ -362,8 +347,8 @@ export default {
             endPayDate: "",
             beginCollectDate: "",
             endCollectDate: "",
-      
-      
+
+
           }
         },
         tableKey: 0,
@@ -375,7 +360,7 @@ export default {
 
       tableSumMoney:0,
       tableNoMoney:0,
-      
+
       download: {
         getdataListParm: {
           name: 'getRemoteCostList',
@@ -389,7 +374,7 @@ export default {
             customerId: "",
             groupId: "",
             costStatus: "",
-           
+
             employeeId: "",
             receiverName: "",
             beginRemoteCost: "",
@@ -408,8 +393,8 @@ export default {
             endPayDate: "",
             beginCollectDate: "",
             endCollectDate: "",
-      
-      
+
+
           }
         },
         tableKey: 0,
@@ -418,27 +403,23 @@ export default {
         listLoading: true,
         temp: {}
       },
- 
+
 
       createSee:{
         temp:{},
         dialogFormVisible: false,
       },
 
- 
 
-     
       textMap: {
         create: '新增',
         see: '查看',
         update: '编辑'
       },
 
- 
 
- 
       imageUrl0:"",
-     
+
       // 撤销
       revoke: {
         dialogFormVisible: false,
@@ -460,7 +441,7 @@ export default {
       },
 
       remoteData:{ id:"" },
- 
+
 
       requestParam: {},
       isokDisable: false,
@@ -471,13 +452,12 @@ export default {
   },
 
   watch: {
- 
-   
- 
+
+
   },
 
   created() {
-    
+
     this.get_select_list()
     this.get_auto_buttons()
 
@@ -486,7 +466,7 @@ export default {
     var codeNum = this.$route.params.codeNum
 
     console.log("rowData",rowData,"======isHome",isHome,"======codeNum",codeNum)
- 
+
 
     if(isHome == 'home'){
       this.rowData = rowData
@@ -498,20 +478,15 @@ export default {
       this.rowData = {}
       this.isHome = ""
       this.codeNum = ""
- 
+
       this.get_table_data()
     }
 
   },
 
 
-
   methods: {
 
- 
-   
-   
-
 
     //获取按钮权限
     get_auto_buttons() {
@@ -540,9 +515,6 @@ export default {
         this.employeeNameList = response.data.getEmployeesSelect.list
         console.log("技术人员下拉框", this.employeeNameList)
 
-        
-
- 
 
       })
 
@@ -556,7 +528,7 @@ export default {
         console.log('table数据======>', response.data.list)
         if (response.data.list !== null) {
 
- 
+
           this.tableObj.list = response.data.list
           this.tableObj.pageNum = response.data.pageNum
           this.tableObj.pageSize = response.data.pageSize
@@ -575,15 +547,15 @@ export default {
                   if(me.isRemotepayRevoke && row.isRevoke  == '1'){
                     itemBtnNum = itemBtnNum + 1
                   }
-                 
-                   
+
+
                   console.log(itemBtnNum)
                   if(itemBtnNum > btnNum){
                     btnNum = itemBtnNum
                   }
               })
               console.log("btnNum=============",btnNum)
-              me.autoWidth = btnNum * 90  
+              me.autoWidth = btnNum * 90
 
 
         } else {
@@ -595,8 +567,6 @@ export default {
       })
 
 
-      
-
       var send_price = {
         name: 'getRemoteCostOfPrice',
         parammaps: this.tableObj.getdataListParm.parammaps
@@ -614,8 +584,6 @@ export default {
       })
 
 
-
-       
     },
     form_search() {
       console.log('点击了查询')
@@ -655,8 +623,7 @@ export default {
         this.tableObj.getdataListParm.parammaps.beginCollectDate  = ''
         this.tableObj.getdataListParm.parammaps.endCollectDate  = ''
       }
- 
-      
+
 
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
@@ -671,17 +638,17 @@ export default {
 
       this.tableObj.getdataListParm.parammaps.costStatus  = ''
       this.tableObj.getdataListParm.parammaps.employeeId  = ''
-      
+
       this.tableObj.getdataListParm.parammaps.receiverName  = ''
       this.tableObj.getdataListParm.parammaps.beginRemoteCost  = ''
       this.tableObj.getdataListParm.parammaps.endRemoteCost  = ''
-   
- 
+
+
       this.tableObj.getdataListParm.parammaps.inputDatetime1 = ''
       this.tableObj.getdataListParm.parammaps.inputDatetime2 = ''
       this.tableObj.getdataListParm.parammaps.inputDatetime3 = ''
       this.tableObj.getdataListParm.parammaps.inputDatetime4 = ''
-  
+
       this.tableObj.getdataListParm.parammaps.beginRemoteBeginDate  = ''
       this.tableObj.getdataListParm.parammaps.endRemoteBeginDate  = ''
       this.tableObj.getdataListParm.parammaps.beginRemoteEndDate  = ''
@@ -690,18 +657,13 @@ export default {
       this.tableObj.getdataListParm.parammaps.endPayDate  = ''
       this.tableObj.getdataListParm.parammaps.beginCollectDate  = ''
       this.tableObj.getdataListParm.parammaps.endCollectDate  = ''
-  
+
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
 
- 
-
 
     },
 
- 
-
- 
 
     //客户失去焦点
     customer_search_blur(item) {
@@ -710,7 +672,7 @@ export default {
       this.tableObj.getdataListParm.parammaps.customerName = ""
       this.customerNameList = []
     },
- 
+
 
     //模糊查询客户
     customer_search(queryString, cb) {
@@ -748,9 +710,9 @@ export default {
       this.create.temp.customerName = ""
       this.create.temp.customerId = ""
       this.create.customerNameList = []
-      
+
       this.get_customer_list()
-      this.$forceUpdate() 
+      this.$forceUpdate()
 
     },
     // 弹窗中的客户
@@ -769,24 +731,11 @@ export default {
     //监听 - 下拉中客户名称
     change_customer(item) {
       console.log(item)
-      this.create.temp.customerId = item 
- 
-    
- 
+      this.create.temp.customerId = item
 
-    },
-
-
-  
- 
-        
- 
-
-
- 
 
+    },
 
-    
 
     //小表格中的删除单号
     form_deleteCode(item, index) {
@@ -798,16 +747,12 @@ export default {
     },
 
 
-   
-
-    
-
     //图片展示
     show_pic1() {
       this.imageIsShow = true
     },
 
- 
+
     // 查看
     form_see(row) {
 
@@ -815,23 +760,19 @@ export default {
       row.barid = String(row.barid)
 
       this.createSee.temp = Object.assign({}, row)
-   
 
 
        this.remoteData.id = row.id
 
- 
+
       console.log('点击了查看')
 
-   
-      this.createSee.dialogFormVisible = true
 
+      this.createSee.dialogFormVisible = true
 
 
     },
 
-     
- 
 
     // 确认回收
     form_sure(row) {
@@ -852,9 +793,9 @@ export default {
           var send_data =  {
               name: 'completeRemoteCost',
               parammaps: this.sure.temp
-            
-          } 
- 
+
+          }
+
                  PostDataByName(send_data).then(response => {
                     console.log('确认回收参数', send_data)
                     if (response.msg !== 'fail') {
@@ -874,7 +815,7 @@ export default {
 
                         }
                       }
-                      
+
                       GetDataByName(send_weixin_data1).then(response => {
                         console.log('微信推送(获取参数)======>', response )
                         if (response.data.message == 'ok') {
@@ -890,12 +831,12 @@ export default {
                             "content": [
                               { "color": "#173177","value": value1 },
                               { "color": "#173177", "value": value2 },
-                              { "color": "#173177", "value": value3 }, 
+                              { "color": "#173177", "value": value3 },
                               { "color": "#173177","value": value4 }
                             ]
                           }
 
-                          
+
                             wxpush(send_weixin_data2).then(response => {
                               console.log('微信推送(获取参数)======>', response )
                             })
@@ -908,15 +849,13 @@ export default {
 
                       if(this.isHome == 'home'){
                       // 返回首页
-                        this.$router.push({ name: 'Dashboard', params: { isTodo: 'remotep' }})   
+                        this.$router.push({ name: 'Dashboard', params: { isTodo: 'remotep' }})
                       }
                     } else {
                       this.$notify({ title: '失败', message: '提交失败' + response.data, type: 'error', duration: 2000 })
                     }
                   })
 
-         
-          
 
         }
       })
@@ -927,14 +866,14 @@ export default {
     form_revoke(row) {
       console.log('点击了撤销', row)
       this.reset_revoke()
- 
+
       this.revoke.temp.id = row.id
       this.revoke.dialogFormVisible = true
     },
     // 撤销 - 重置
     reset_revoke() {
       this.revoke.temp.revokeReason = ""
-      
+
     },
 
     // 撤销 - 确认
@@ -944,8 +883,8 @@ export default {
           var send_data =  {
               name: 'revokeRemoteCost',
               parammaps: this.revoke.temp
-            
-          } 
+
+          }
 
 
             this.$confirm('是否撤销该条记录?', '提示', {
@@ -971,7 +910,7 @@ export default {
 
                         }
                       }
-                      
+
                       GetDataByName(send_weixin_data1).then(response => {
                         console.log('微信推送(获取参数)======>', response )
                         if (response.data.message == 'ok') {
@@ -987,12 +926,12 @@ export default {
                             "content": [
                               { "color": "#173177","value": value1 },
                               { "color": "#173177", "value": value2 },
-                              { "color": "#173177", "value": value3 }, 
+                              { "color": "#173177", "value": value3 },
                               { "color": "#173177","value": value4 }
                             ]
                           }
 
-                          
+
                             wxpush(send_weixin_data2).then(response => {
                               console.log('微信推送(获取参数)======>', response )
                             })
@@ -1012,9 +951,9 @@ export default {
               this.$message({
                 type: 'info',
                 message: '已取消删除'
-              });          
+              });
             });
-          
+
 
         }
       })
@@ -1025,7 +964,7 @@ export default {
       this.get_table_data()
       if(this.isHome == 'home'){
        // 返回首页
-       this.$router.push({ name: 'Dashboard', params: { isTodo: 'remotep' }})   
+       this.$router.push({ name: 'Dashboard', params: { isTodo: 'remotep' }})
       }
     },
 
@@ -1034,15 +973,15 @@ export default {
       this.get_table_data()
       if(this.isHome == 'home'){
        // 返回首页
-       this.$router.push({ name: 'Dashboard', params: { isTodo: 'remotep' }})   
+       this.$router.push({ name: 'Dashboard', params: { isTodo: 'remotep' }})
       }
     },
 
     // 导出
     form_export(item) {
-       
+
        this.download.getdataListParm.parammaps = this.tableObj.getdataListParm.parammaps
-    
+
        GetDataByName(this.download.getdataListParm).then(response => {
          if (response.data.list !== null) {
            this.download.list = response.data.list
@@ -1059,7 +998,7 @@ export default {
          ]
          json2excel(excelDatas, '远程服务款项', true, 'xlsx')
        })
- 
+
     },
 
     // 导入
@@ -1107,7 +1046,7 @@ export default {
     height: 178px;
     display: block;
   }
- 
+
 // #uploadPic .el-upload-list--picture-card .el-upload-list__item {
 //   width: 70px;
 //   height: 70px;

+ 87 - 153
src/views/reviewManagement/repairPayment/index.vue

@@ -4,7 +4,7 @@
     <div class = "search-bx"  >
         <div class="search">
           <el-row :gutter="0">
-      
+
               <el-input v-model="tableObj.getdataListParm.parammaps.repairCode" placeholder="维修服务编号" class="filter-item" style="width: 120px;padding-bottom:10px;" />
 
               <el-select v-model="tableObj.getdataListParm.parammaps.costStatus" placeholder="收款状态" class="filter-item" style="width: 120px;" clearable>
@@ -32,8 +32,6 @@
               </el-select>
 
 
-
-
               <el-select v-model="tableObj.getdataListParm.parammaps.employeeId" placeholder="维修人员" class="filter-item" style="width: 120px;" clearable filterable>
                 <el-option v-for="(item,index) in employeeNameList" :key="index" :label="item.name" :value="item.id" />
               </el-select>
@@ -46,36 +44,27 @@
               <el-date-picker v-model="tableObj.getdataListParm.parammaps.inputDatetime3" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="支付时间" end-placeholder="支付时间" style="width: 250px;" />
 
               <el-date-picker v-model="tableObj.getdataListParm.parammaps.inputDatetime4" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="收款时间" end-placeholder="收款时间" style="width: 250px;" />
-            
 
-              
 
               <el-input v-model="tableObj.getdataListParm.parammaps.postCode" placeholder="快递单号" style="width:120px"></el-input>
 
-               
- 
 
-           
                 <el-button class="successBorder" @click="form_search">查询</el-button>
                 <el-button class="successBorder" @click="form_clear">重置</el-button>
-               
+
                 <!-- <el-button  class="success" icon="el-icon-upload2" @click="form_export">导出</el-button> -->
-             
+
           </el-row>
         </div>
 
-         
 
     </div>
 
 
-  
-
     <div class="table"  >
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" :max-height="myHeight">
 
-        
- 
+
         <el-table-column label="序号" align="center" type="index" width="50px"  fixed="left">
           <template slot-scope="scope">
             <span>{{ scope.$index + (tableObj.pageNum-1) * tableObj.pageSize + 1 }}</span>
@@ -108,14 +97,14 @@
         </el-table-column>
          <el-table-column label="沟通结果" min-width="110px" align="center" show-overflow-tooltip>
           <template slot-scope="scope">
-            <el-tooltip v-if= "scope.row.talkResult =='查看'" class="item" effect="dark" 
+            <el-tooltip v-if= "scope.row.talkResult =='查看'" class="item" effect="dark"
             :content= "'建议方案:' + scope.row.proposal + '\n\n\n' +'处理结果:' + scope.row.processingResults"  placement="right">
               <span>查看</span>
             </el-tooltip>
-            
+
             <span v-else>{{ scope.row.talkResult   }}</span>
-            
-            
+
+
           </template>
         </el-table-column>
         <el-table-column label="客户对接人" min-width="110px" align="center"  >
@@ -148,13 +137,13 @@
             <span>{{ scope.row.payDate  }}</span>
           </template>
         </el-table-column>
-        
+
         <el-table-column label="收款时间" min-width="100px" align="center"  >
           <template slot-scope="scope">
             <span>{{ scope.row.collectDate  }}</span>
           </template>
         </el-table-column>
- 
+
         <el-table-column label="服务开始时间" min-width="120px" align="center">
           <template slot-scope="scope">
             <span>{{ scope.row.serviceBeginDate  }}</span>
@@ -165,7 +154,7 @@
             <span>{{ scope.row.serviceEndDate   }}</span>
           </template>
         </el-table-column>
-       
+
         <el-table-column label="维修人员" min-width="110px" align="center" show-overflow-tooltip>
           <template slot-scope="scope">
             <span>{{ scope.row.employeeName   }}</span>
@@ -181,7 +170,7 @@
             <span>{{ scope.row.remark   }}</span>
           </template>
         </el-table-column>
-    
+
         <el-table-column label="服务总结" min-width="110px" align="center" show-overflow-tooltip>
           <template slot-scope="scope">
             <span>{{ scope.row.serviceSummary   }}</span>
@@ -195,14 +184,14 @@
 
         <el-table-column label="操作" align="center" :width="autoWidth"  v-if="autoWidth !== 0"  class-name="small-padding fixed-width" fixed="right">
           <template slot-scope="{row}">
-           
-            
+
+
              <el-button class="miniSuccess" @click="form_sure(row)" v-if="isSitepayRevoke && row.isComplete  == '1'">完成收款</el-button>
-          
-              
+
+
             <el-button class="miniSuccess" @click="form_revoke(row)" v-if="isSitepayRevoke && row.isRevoke  == '1'">撤销</el-button>
 
-           
+
           </template>
         </el-table-column>
 
@@ -210,32 +199,31 @@
 
       <el-row :gutter="0">
         <el-col :span="6" :offset="12" style="color:#f00">
-          列表合同总金额:{{tableSumMoney}}    
+          列表合同总金额:{{tableSumMoney}}
         </el-col>
         <el-col :span="6" style="color:#f00">
-          超时未支付金额:{{tableNoMoney}}   
+          超时未支付金额:{{tableNoMoney}}
         </el-col>
-       
+
       </el-row>
 
       <pagination v-show="tableObj.total>=0" :total="tableObj.total" :page.sync="tableObj.getdataListParm.offset" :limit.sync="tableObj.getdataListParm.pagecount" @pagination="get_table_data" />
     </div>
 
- 
 
     <!-- 查看/反馈 -->
     <el-dialog  title="维修服务详情" :visible.sync="createSee.dialogFormVisible" :close-on-click-modal="false" width="95%" :before-close="dialog_close">
       <div class="app-add">
 
 
-        <RepairPayDetail :repair-data="repairData"  />  
+        <RepairPayDetail :repair-data="repairData"  />
+
 
-         
         <div slot="footer" class="dialog-footer">
           <el-button class="success" @click="form_sure(createSee.temp)" v-if="isSitepayRevoke && createSee.temp.isComplete  == '1'">完成收款</el-button>
           <el-button class="cancelClose" @click="dialog_close()">关闭</el-button>
 
-      
+
         </div>
       </div>
     </el-dialog>
@@ -247,12 +235,12 @@
         <el-form ref="suretemp" :rules="sure.rules" :model="sure.temp" label-position="right" label-width="150px" style="width: 70%;margin:0 auto 50px">
 
           <el-form-item label="收款时间:" prop="collectDate">
-      
+
             <el-date-picker v-model="sure.temp.collectDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"  :picker-options="setDisabled" style="width: 100%;" :clearable="false"   />
 
           </el-form-item>
-             
- 
+
+
         </el-form>
         <div slot="footer" class="dialog-footer">
           <el-button class="cancelClose" @click="dialog_sure_close()">关闭</el-button>
@@ -269,8 +257,8 @@
           <el-form-item label="撤销原因:" prop="revokeReason">
             <el-input ref="remark" v-model="revoke.temp.revokeReason" type="textarea" :autosize="{ minRows: 4, maxRows: 8} "  :rows="8" placeholder="请输入备注,最多200个字" maxlength="200" class="filter-item" style="width: 100%;"   />
           </el-form-item>
-             
- 
+
+
         </el-form>
         <div slot="footer" class="dialog-footer">
           <el-button class="cancelClose" @click="revoke.dialogFormVisible = false;get_table_data()">关闭</el-button>
@@ -295,7 +283,7 @@ import Pagination from '@/components/Pagination'
 import { MessageBox } from 'element-ui'
 
 import RepairPayDetail from '@/componentView/RepairPayDetail.vue'
- 
+
 import { constants } from 'zlib';
 
 
@@ -310,10 +298,9 @@ export default {
       autoWidth: 130,
       rowData:{},
       isHome:"",
-      
+
       isRoleEdit: [],isSitepayRevoke: [],
 
- 
 
       send_select_list: [
         { name: 'getDictListSelect', offset: 0, pagecount: 0, parammaps: { "pid": "54" } },
@@ -328,29 +315,23 @@ export default {
 
 
        // 下拉框 - 创建人
-      createrNameList: [],  
+      createrNameList: [],
 
 
       // 下拉框 - 款项状态
       moneyNameList: [
-        { "name": "未收款", "id": "未收款" }, 
-        { "name": "已收款", "id": "已收款" } 
+        { "name": "未收款", "id": "未收款" },
+        { "name": "已收款", "id": "已收款" }
       ],
 
       typeNameList: [
-        { "name": "电话回访维修", "id": "电话回访维修" }, 
+        { "name": "电话回访维修", "id": "电话回访维修" },
         { "name": "邮寄公司维修", "id": "邮寄公司维修" },
         { "name": "上门维修", "id": "上门维修" },
       ],
 
-   
- 
 
-     
-
-      
-
-      //表格 - 列表 - 查询 
+      //表格 - 列表 - 查询
       tableObj: {
         getdataListParm: {
           name: 'getRepairCost',
@@ -364,7 +345,7 @@ export default {
             customerId: "",
             groupId: "",
             costStatus: "",
-           
+
             employeeId: "",
             receiverName: "",
             beginServiceCost: "",
@@ -386,8 +367,8 @@ export default {
 
             typeName: "",
             postCode: "",
-      
-      
+
+
           }
         },
         tableKey: 0,
@@ -413,7 +394,7 @@ export default {
             customerId: "",
             groupId: "",
             costStatus: "",
-           
+
             employeeId: "",
             receiverName: "",
             beginServiceCost: "",
@@ -435,8 +416,8 @@ export default {
 
             typeName: "",
             postCode: "",
-      
-      
+
+
           }
         },
         tableKey: 0,
@@ -452,7 +433,7 @@ export default {
         dialogFormVisible: false,
       },
 
-      
+
       setDisabled: {
         disabledDate(time) {
            return time.getTime() > Date.now();  // 可选历史天、可选当前天、不可选未来天
@@ -462,18 +443,16 @@ export default {
         },
       },
 
-     
+
       textMap: {
         create: '新增',
         see: '查看',
         update: '编辑'
       },
 
- 
 
- 
       imageUrl0:"",
-     
+
       // 撤销
       revoke: {
         dialogFormVisible: false,
@@ -495,7 +474,7 @@ export default {
       },
 
       repairData:{ id:"" },
- 
+
 
       requestParam: {},
       isokDisable: false,
@@ -506,13 +485,12 @@ export default {
   },
 
   watch: {
- 
-   
- 
+
+
   },
 
   created() {
-     
+
     this.get_select_list()
     this.get_auto_buttons()
 
@@ -521,7 +499,7 @@ export default {
     var codeNum = this.$route.params.codeNum
 
     console.log("rowData",rowData,"======isHome",isHome,"======codeNum",codeNum)
- 
+
 
     if(isHome == 'home'){
       this.rowData = rowData
@@ -533,7 +511,7 @@ export default {
       this.rowData = {}
       this.isHome = ""
       this.tableObj.getdataListParm.parammaps.repairCode = ""
- 
+
       this.get_table_data()
     }
 
@@ -541,13 +519,8 @@ export default {
   },
 
 
-
   methods: {
 
- 
-   
-   
-
 
     //获取按钮权限
     get_auto_buttons() {
@@ -574,9 +547,6 @@ export default {
         this.employeeNameList = response.data.getEmployeesSelect.list
         console.log("技术人员下拉框", this.employeeNameList)
 
-        
-
- 
 
       })
 
@@ -590,7 +560,7 @@ export default {
         console.log('table数据======>', response.data.list)
         if (response.data.list !== null) {
 
- 
+
           this.tableObj.list = response.data.list
           this.tableObj.pageNum = response.data.pageNum
           this.tableObj.pageSize = response.data.pageSize
@@ -607,15 +577,15 @@ export default {
                   if(me.isSitepayRevoke && row.isRevoke  == '1'){
                     itemBtnNum = itemBtnNum + 1
                   }
-                 
-                   
+
+
                   console.log(itemBtnNum)
                   if(itemBtnNum > btnNum){
                     btnNum = itemBtnNum
                   }
               })
               console.log("btnNum=============",btnNum)
-              me.autoWidth = btnNum * 90  
+              me.autoWidth = btnNum * 90
 
           console.log('table数据======>', this.tableObj.list)
         } else {
@@ -627,8 +597,6 @@ export default {
       })
 
 
-      
-
       var send_price = {
         name: 'getRepairCostOfPrice',
         parammaps: this.tableObj.getdataListParm.parammaps
@@ -646,8 +614,6 @@ export default {
       })
 
 
-
-       
     },
     form_search() {
       console.log('点击了查询')
@@ -687,8 +653,7 @@ export default {
         this.tableObj.getdataListParm.parammaps.beginCollectDate  = ''
         this.tableObj.getdataListParm.parammaps.endCollectDate  = ''
       }
- 
-      
+
 
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
@@ -703,17 +668,17 @@ export default {
 
       this.tableObj.getdataListParm.parammaps.costStatus  = ''
       this.tableObj.getdataListParm.parammaps.employeeId  = ''
-      
+
       this.tableObj.getdataListParm.parammaps.receiverName  = ''
       this.tableObj.getdataListParm.parammaps.beginServiceCost  = ''
       this.tableObj.getdataListParm.parammaps.endServiceCost  = ''
-   
- 
+
+
       this.tableObj.getdataListParm.parammaps.inputDatetime1 = ''
       this.tableObj.getdataListParm.parammaps.inputDatetime2 = ''
       this.tableObj.getdataListParm.parammaps.inputDatetime3 = ''
       this.tableObj.getdataListParm.parammaps.inputDatetime4 = ''
-  
+
       this.tableObj.getdataListParm.parammaps.beginServiceBeginDate  = ''
       this.tableObj.getdataListParm.parammaps.endServiceBeginDate  = ''
       this.tableObj.getdataListParm.parammaps.beginServiceSuccessDate  = ''
@@ -726,19 +691,13 @@ export default {
       this.tableObj.getdataListParm.parammaps.typeName  = ''
       this.tableObj.getdataListParm.parammaps.postCode  = ''
 
-     
-  
+
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
 
- 
-
 
     },
 
- 
-
- 
 
     //客户失去焦点
     customer_search_blur(item) {
@@ -747,7 +706,7 @@ export default {
       this.tableObj.getdataListParm.parammaps.customerName = ""
       this.customerNameList = []
     },
- 
+
 
     //模糊查询客户
     customer_search(queryString, cb) {
@@ -785,9 +744,9 @@ export default {
       this.create.temp.customerName = ""
       this.create.temp.customerId = ""
       this.create.customerNameList = []
-      
+
       this.get_customer_list()
-      this.$forceUpdate() 
+      this.$forceUpdate()
 
     },
     // 弹窗中的客户
@@ -806,24 +765,11 @@ export default {
     //监听 - 下拉中客户名称
     change_customer(item) {
       console.log(item)
-      this.create.temp.customerId = item 
- 
-    
- 
-
-    },
-
-
-  
- 
-        
- 
+      this.create.temp.customerId = item
 
 
- 
-
+    },
 
-    
 
     //小表格中的删除单号
     form_deleteCode(item, index) {
@@ -835,16 +781,12 @@ export default {
     },
 
 
-   
-
-    
-
     //图片展示
     show_pic1() {
       this.imageIsShow = true
     },
 
- 
+
     // 查看
     form_see(row) {
 
@@ -852,23 +794,19 @@ export default {
       row.barid = String(row.barid)
 
       this.createSee.temp = Object.assign({}, row)
-   
 
 
        this.repairData.id = row.id
 
- 
+
       console.log('点击了查看')
 
-   
-      this.createSee.dialogFormVisible = true
 
+      this.createSee.dialogFormVisible = true
 
 
     },
 
-     
- 
 
     // 确认回收
     form_sure(row) {
@@ -889,9 +827,9 @@ export default {
           var send_data =  {
               name: 'completeRepairCost',
               parammaps: this.sure.temp
-            
-          } 
- 
+
+          }
+
                  PostDataByName(send_data).then(response => {
                     console.log('确认回收参数', send_data)
                     if (response.msg !== 'fail') {
@@ -901,21 +839,18 @@ export default {
                       this.get_table_data()
 
 
-                      
                 var rowId = this.sure.temp.id
                 this.get_wxPush(45,'维修服务',rowId)
 
                       if(this.isHome == 'home'){
                       // 返回首页
-                        this.$router.push({ name: 'Dashboard', params: { isTodo: 'repairp' }})   
+                        this.$router.push({ name: 'Dashboard', params: { isTodo: 'repairp' }})
                       }
                     } else {
                       this.$notify({ title: '失败', message: '提交失败' + response.data, type: 'error', duration: 2000 })
                     }
                   })
 
-         
-          
 
         }
       })
@@ -926,14 +861,14 @@ export default {
     form_revoke(row) {
       console.log('点击了撤销', row)
       this.reset_revoke()
- 
+
       this.revoke.temp.id = row.id
       this.revoke.dialogFormVisible = true
     },
     // 撤销 - 重置
     reset_revoke() {
       this.revoke.temp.revokeReason = ""
-      
+
     },
 
     // 撤销 - 确认
@@ -943,8 +878,8 @@ export default {
           var send_data =  {
               name: 'revokeRepairCost',
               parammaps: this.revoke.temp
-            
-          } 
+
+          }
 
 
             this.$confirm('是否撤销该条记录?', '提示', {
@@ -961,7 +896,6 @@ export default {
                       this.get_table_data()
 
 
-                      
 var rowId = this.revoke.temp.id
                 this.get_wxPush(46,'维修服务',rowId)
 
@@ -974,9 +908,9 @@ var rowId = this.revoke.temp.id
               this.$message({
                 type: 'info',
                 message: '已取消删除'
-              });          
+              });
             });
-          
+
 
         }
       })
@@ -987,7 +921,7 @@ var rowId = this.revoke.temp.id
       this.get_table_data()
       if(this.isHome == 'home'){
        // 返回首页
-       this.$router.push({ name: 'Dashboard', params: { isTodo: 'repairp' }})   
+       this.$router.push({ name: 'Dashboard', params: { isTodo: 'repairp' }})
       }
     },
 
@@ -996,15 +930,15 @@ var rowId = this.revoke.temp.id
       this.get_table_data()
       if(this.isHome == 'home'){
        // 返回首页
-       this.$router.push({ name: 'Dashboard', params: { isTodo: 'repairp' }})   
+       this.$router.push({ name: 'Dashboard', params: { isTodo: 'repairp' }})
       }
     },
 
     // 导出
     form_export(item) {
-       
+
        this.download.getdataListParm.parammaps = this.tableObj.getdataListParm.parammaps
-    
+
        GetDataByName(this.download.getdataListParm).then(response => {
          if (response.data.list !== null) {
            this.download.list = response.data.list
@@ -1021,7 +955,7 @@ var rowId = this.revoke.temp.id
          ]
          json2excel(excelDatas, '维修服务款项', true, 'xlsx')
        })
- 
+
     },
 
     // 导入
@@ -1040,7 +974,7 @@ var rowId = this.revoke.temp.id
 
                         }
                       }
-                      
+
                       GetDataByName(send_weixin_data1).then(response => {
                         console.log('微信推送(获取参数)======>', response )
                         if (response.data.message == 'ok') {
@@ -1056,12 +990,12 @@ var rowId = this.revoke.temp.id
                             "content": [
                               { "color": "#173177","value": value1 },
                               { "color": "#173177", "value": value2 },
-                              { "color": "#173177", "value": value3 }, 
+                              { "color": "#173177", "value": value3 },
                               { "color": "#173177","value": value4 }
                             ]
                           }
 
-                          
+
                             wxpush(send_weixin_data2).then(response => {
                               console.log('微信推送(获取参数)======>', response )
                             })
@@ -1112,7 +1046,7 @@ var rowId = this.revoke.temp.id
     height: 178px;
     display: block;
   }
- 
+
 // #uploadPic .el-upload-list--picture-card .el-upload-list__item {
 //   width: 70px;
 //   height: 70px;

+ 85 - 161
src/views/reviewManagement/sitePayment/index.vue

@@ -4,7 +4,7 @@
     <div class = "search-bx"  >
         <div class="search">
           <el-row :gutter="0">
-            
+
               <el-input v-model="tableObj.getdataListParm.parammaps.serviceCode" placeholder="现场服务编号" class="filter-item" style="width: 120px;padding-bottom:10px;" />
 
               <el-select v-model="tableObj.getdataListParm.parammaps.costStatus" placeholder="收款状态" class="filter-item" style="width: 120px;" clearable>
@@ -38,8 +38,6 @@
               </el-select>
 
 
-
-
               <el-input v-model="tableObj.getdataListParm.parammaps.beginServiceCost" placeholder="服务费用" style="width:90px"></el-input>
                 -
               <el-input v-model="tableObj.getdataListParm.parammaps.endServiceCost" placeholder="服务费用" style="width:90px;margin-right:10px;"></el-input>
@@ -48,35 +46,25 @@
               <el-date-picker v-model="tableObj.getdataListParm.parammaps.inputDatetime3" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="支付时间" end-placeholder="支付时间" style="width: 250px;" />
 
               <el-date-picker v-model="tableObj.getdataListParm.parammaps.inputDatetime4" class="inputDatetime filter-item" type="daterange" range-separator="至" start-placeholder="收款时间" end-placeholder="收款时间" style="width: 250px;" />
-            
 
 
-
-               
- 
-
-        
                 <el-button class="successBorder" @click="form_search">查询</el-button>
                 <el-button class="successBorder" @click="form_clear">重置</el-button>
-              
+
                 <!-- <el-button  class="success" icon="el-icon-upload2" @click="form_export">导出</el-button> -->
-          
-    
+
+
           </el-row>
         </div>
 
-        
 
     </div>
 
 
-  
-
     <div class="table"   >
       <el-table :key="tableObj.tableKey" v-loading="tableObj.listLoading" element-loading-text="给我一点时间" :data="tableObj.list" border fit highlight-current-row style="width: 100%;" :row-style="rowStyle" :cell-style="cellStyle" class="elTable table-fixed" :max-height="myHeight">
 
-        
- 
+
         <el-table-column label="序号" align="center" type="index" width="50px"  fixed="left">
           <template slot-scope="scope">
             <span>{{ scope.$index + (tableObj.pageNum-1) * tableObj.pageSize + 1 }}</span>
@@ -127,7 +115,7 @@
             <span>{{ scope.row.payDate  }}</span>
           </template>
         </el-table-column>
-        
+
         <el-table-column label="收款时间" min-width="100px" align="center"  >
           <template slot-scope="scope">
             <span>{{ scope.row.collectDate  }}</span>
@@ -138,7 +126,7 @@
             <span>{{ scope.row.serviceTypeName   }}</span>
           </template>
         </el-table-column>
- 
+
         <el-table-column label="服务开始时间" min-width="120px" align="center">
           <template slot-scope="scope">
             <span>{{ scope.row.serviceBeginDate   }}</span>
@@ -149,7 +137,7 @@
             <span>{{ scope.row.serviceSuccessDate    }}</span>
           </template>
         </el-table-column>
-        
+
         <el-table-column label="服务人员" min-width="110px" align="center" show-overflow-tooltip>
           <template slot-scope="scope">
             <span>{{ scope.row.employeeName    }}</span>
@@ -188,13 +176,13 @@
 
         <el-table-column label="操作" align="center"  :width="autoWidth"  v-if="autoWidth !== 0"  class-name="small-padding fixed-width" fixed="right">
           <template slot-scope="{row}">
-           
+
              <el-button class="miniSuccess" @click="form_sure(row)" v-if="isSitepayRevoke && row.isComplete  == '1'">完成收款</el-button>
-          
-              
+
+
             <el-button class="miniSuccess" @click="form_revoke(row)" v-if="isSitepayRevoke && row.isRevoke  == '1'">撤销</el-button>
 
-           
+
           </template>
         </el-table-column>
 
@@ -202,32 +190,31 @@
 
       <el-row :gutter="0">
         <el-col :span="6" :offset="12" style="color:#f00">
-          列表合同总金额:{{tableSumMoney}}    
+          列表合同总金额:{{tableSumMoney}}
         </el-col>
         <el-col :span="6" style="color:#f00">
-          超时未支付金额:{{tableNoMoney}}   
+          超时未支付金额:{{tableNoMoney}}
         </el-col>
-       
+
       </el-row>
 
       <pagination v-show="tableObj.total>=0" :total="tableObj.total" :page.sync="tableObj.getdataListParm.offset" :limit.sync="tableObj.getdataListParm.pagecount" @pagination="get_table_data" />
     </div>
 
- 
 
     <!-- 查看/反馈 -->
     <el-dialog  title="现场服务详情" :visible.sync="createSee.dialogFormVisible" :close-on-click-modal="false" width="95%" :before-close="dialog_close">
       <div class="app-add">
 
 
-        <SitePayDetail :site-data="siteData"  />  
+        <SitePayDetail :site-data="siteData"  />
+
 
-         
         <div slot="footer" class="dialog-footer">
           <el-button class="success" @click="form_sure(createSee.temp)" v-if="isSitepayRevoke && createSee.temp.isComplete  == '1'">完成收款</el-button>
           <el-button class="cancelClose" @click="dialog_close()">关闭</el-button>
 
-      
+
         </div>
       </div>
     </el-dialog>
@@ -239,17 +226,12 @@
         <el-form ref="suretemp" :rules="sure.rules" :model="sure.temp" label-position="right" label-width="150px" style="width: 70%;margin:0 auto 50px">
 
           <el-form-item label="收款时间:" prop="collectDate">
-      
+
             <el-date-picker v-model="sure.temp.collectDate" type="date" placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"  :picker-options="setDisabled" style="width: 100%;" :clearable="false"   />
 
           </el-form-item>
 
-        
 
-
-              
-
- 
         </el-form>
         <div slot="footer" class="dialog-footer">
           <el-button class="cancelClose" @click="dialog_sure_close()">关闭</el-button>
@@ -266,8 +248,8 @@
           <el-form-item label="撤销原因:" prop="revokeReason">
             <el-input ref="remark" v-model="revoke.temp.revokeReason" type="textarea" :autosize="{ minRows: 4, maxRows: 8} "  :rows="8" placeholder="请输入备注,最多200个字" maxlength="200" class="filter-item" style="width: 100%;"   />
           </el-form-item>
-             
- 
+
+
         </el-form>
         <div slot="footer" class="dialog-footer">
           <el-button class="cancelClose" @click="revoke.dialogFormVisible = false;get_table_data()">关闭</el-button>
@@ -292,7 +274,7 @@ import Pagination from '@/components/Pagination'
 import { MessageBox } from 'element-ui'
 
 import SitePayDetail from '@/componentView/SitePayDetail.vue'
- 
+
 import { constants } from 'zlib';
 
 
@@ -304,14 +286,12 @@ export default {
       myHeight:document.documentElement.clientHeight - 85 - 220,
       employeid: Cookies.get('employeid'),
       disabled: false,
- 
+
       rowData:{},
       isHome:"",
 
       isRoleEdit: [],isSitepayRevoke: [],
 
- 
-
 
       send_select_list: [
         { name: 'getDictListSelect', offset: 0, pagecount: 0, parammaps: { "pid": "54" } },
@@ -326,31 +306,25 @@ export default {
 
       // 下拉框 - 服务类型
       serviceTypeNameList: [
-        { "name": "安装", "id": "安装" }, 
-        { "name": "更换", "id": "更换" }, 
-        { "name": "维修", "id": "维修" }, 
+        { "name": "安装", "id": "安装" },
+        { "name": "更换", "id": "更换" },
+        { "name": "维修", "id": "维修" },
         { "name": "培训", "id": "培训" },
       ],
 
 
        // 下拉框 - 创建人
-      createrNameList: [],  
+      createrNameList: [],
 
 
       // 下拉框 - 款项状态
       moneyNameList: [
-        { "name": "未收款", "id": "未收款" }, 
-        { "name": "已收款", "id": "已收款" } 
+        { "name": "未收款", "id": "未收款" },
+        { "name": "已收款", "id": "已收款" }
       ],
 
-   
- 
-
-     
-
-      
 
-      //表格 - 列表 - 查询 
+      //表格 - 列表 - 查询
       tableObj: {
         getdataListParm: {
           name: 'getServiceCostList',
@@ -364,7 +338,7 @@ export default {
             customerId: "",
             groupId: "",
             costStatus: "",
-           
+
             employeeId: "",
             receiverName: "",
             serviceTypeName: "",
@@ -384,8 +358,8 @@ export default {
             endPayDate: "",
             beginCollectDate: "",
             endCollectDate: "",
-      
-      
+
+
           }
         },
         tableKey: 0,
@@ -411,7 +385,7 @@ export default {
             customerId: "",
             groupId: "",
             costStatus: "",
-           
+
             employeeId: "",
             receiverName: "",
             serviceTypeName: "",
@@ -431,8 +405,8 @@ export default {
             endPayDate: "",
             beginCollectDate: "",
             endCollectDate: "",
-      
-      
+
+
           }
         },
         tableKey: 0,
@@ -441,27 +415,23 @@ export default {
         listLoading: true,
         temp: {}
       },
- 
+
 
       createSee:{
         temp:{},
         dialogFormVisible: false,
       },
 
- 
 
-     
       textMap: {
         create: '新增',
         see: '查看',
         update: '编辑'
       },
 
- 
 
- 
       imageUrl0:"",
-     
+
       // 撤销
       revoke: {
         dialogFormVisible: false,
@@ -483,8 +453,8 @@ export default {
       },
 
       siteData:{ id:"" },
- 
-      
+
+
       setDisabled: {
         disabledDate(time) {
            return time.getTime() > Date.now();  // 可选历史天、可选当前天、不可选未来天
@@ -502,13 +472,12 @@ export default {
   },
 
   watch: {
- 
-   
- 
+
+
   },
 
   created() {
-   
+
     this.get_select_list()
     this.get_auto_buttons()
 
@@ -518,7 +487,7 @@ export default {
     var codeNum = this.$route.params.codeNum
 
     console.log("rowData",rowData,"======isHome",isHome,"======codeNum",codeNum)
- 
+
 
     if(isHome == 'home'){
       this.rowData = rowData
@@ -530,7 +499,7 @@ export default {
       this.rowData = {}
       this.isHome = ""
       this.codeNum = ""
- 
+
       this.get_table_data()
     }
 
@@ -538,13 +507,8 @@ export default {
   },
 
 
-
   methods: {
 
- 
-   
-   
-
 
     //获取按钮权限
     get_auto_buttons() {
@@ -571,9 +535,6 @@ export default {
         this.employeeNameList = response.data.getEmployeesSelect.list
         console.log("技术人员下拉框", this.employeeNameList)
 
-        
-
- 
 
       })
 
@@ -587,7 +548,7 @@ export default {
         console.log('table数据======>', response.data.list)
         if (response.data.list !== null) {
 
- 
+
           this.tableObj.list = response.data.list
           this.tableObj.pageNum = response.data.pageNum
           this.tableObj.pageSize = response.data.pageSize
@@ -606,15 +567,15 @@ export default {
                   if(me.isSitepayRevoke && row.isRevoke  == '1'){
                     itemBtnNum = itemBtnNum + 1
                   }
-                 
-                   
+
+
                   console.log(itemBtnNum)
                   if(itemBtnNum > btnNum){
                     btnNum = itemBtnNum
                   }
               })
               console.log("btnNum=============",btnNum)
-              me.autoWidth = btnNum * 90  
+              me.autoWidth = btnNum * 90
 
 
         } else {
@@ -626,8 +587,6 @@ export default {
       })
 
 
-      
-
       var send_price = {
         name: 'getServiceCostOfPrice',
         parammaps: this.tableObj.getdataListParm.parammaps
@@ -645,8 +604,6 @@ export default {
       })
 
 
-
-       
     },
     form_search() {
       console.log('点击了查询')
@@ -686,8 +643,7 @@ export default {
         this.tableObj.getdataListParm.parammaps.beginCollectDate  = ''
         this.tableObj.getdataListParm.parammaps.endCollectDate  = ''
       }
- 
-      
+
 
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
@@ -704,18 +660,17 @@ export default {
       this.tableObj.getdataListParm.parammaps.employeeId  = ''
       this.tableObj.getdataListParm.parammaps.serviceTypeName  = ''
 
-      
-      
+
       this.tableObj.getdataListParm.parammaps.receiverName  = ''
       this.tableObj.getdataListParm.parammaps.beginServiceCost  = ''
       this.tableObj.getdataListParm.parammaps.endServiceCost  = ''
-   
- 
+
+
       this.tableObj.getdataListParm.parammaps.inputDatetime1 = ''
       this.tableObj.getdataListParm.parammaps.inputDatetime2 = ''
       this.tableObj.getdataListParm.parammaps.inputDatetime3 = ''
       this.tableObj.getdataListParm.parammaps.inputDatetime4 = ''
-  
+
       this.tableObj.getdataListParm.parammaps.beginServiceBeginDate  = ''
       this.tableObj.getdataListParm.parammaps.endServiceBeginDate  = ''
       this.tableObj.getdataListParm.parammaps.beginServiceSuccessDate  = ''
@@ -724,18 +679,13 @@ export default {
       this.tableObj.getdataListParm.parammaps.endPayDate  = ''
       this.tableObj.getdataListParm.parammaps.beginCollectDate  = ''
       this.tableObj.getdataListParm.parammaps.endCollectDate  = ''
-  
+
       this.tableObj.getdataListParm.offset = 1
       this.get_table_data()
 
- 
-
 
     },
 
- 
-
- 
 
     //客户失去焦点
     customer_search_blur(item) {
@@ -744,7 +694,7 @@ export default {
       this.tableObj.getdataListParm.parammaps.customerName = ""
       this.customerNameList = []
     },
- 
+
 
     //模糊查询客户
     customer_search(queryString, cb) {
@@ -782,9 +732,9 @@ export default {
       this.create.temp.customerName = ""
       this.create.temp.customerId = ""
       this.create.customerNameList = []
-      
+
       this.get_customer_list()
-      this.$forceUpdate() 
+      this.$forceUpdate()
 
     },
     // 弹窗中的客户
@@ -803,24 +753,11 @@ export default {
     //监听 - 下拉中客户名称
     change_customer(item) {
       console.log(item)
-      this.create.temp.customerId = item 
- 
-    
- 
-
-    },
+      this.create.temp.customerId = item
 
 
-  
- 
-        
- 
-
-
- 
-
+    },
 
-    
 
     //小表格中的删除单号
     form_deleteCode(item, index) {
@@ -832,16 +769,12 @@ export default {
     },
 
 
-   
-
-    
-
     //图片展示
     show_pic1() {
       this.imageIsShow = true
     },
 
- 
+
     // 查看
     form_see(row) {
 
@@ -849,23 +782,19 @@ export default {
       row.barid = String(row.barid)
 
       this.createSee.temp = Object.assign({}, row)
-   
 
 
        this.siteData.id = row.id
 
- 
+
       console.log('点击了查看')
 
-   
-      this.createSee.dialogFormVisible = true
 
+      this.createSee.dialogFormVisible = true
 
 
     },
 
-     
- 
 
     // 确认回收
     form_sure(row) {
@@ -886,9 +815,9 @@ export default {
           var send_data =  {
               name: 'completeServiceCost',
               parammaps: this.sure.temp
-            
-          } 
- 
+
+          }
+
                  PostDataByName(send_data).then(response => {
                     console.log('确认回收参数', send_data)
                     if (response.msg !== 'fail') {
@@ -908,7 +837,7 @@ export default {
 
                         }
                       }
-                      
+
                       GetDataByName(send_weixin_data1).then(response => {
                         console.log('微信推送(获取参数)======>', response )
                         if (response.data.message == 'ok') {
@@ -924,12 +853,12 @@ export default {
                             "content": [
                               { "color": "#173177","value": value1 },
                               { "color": "#173177", "value": value2 },
-                              { "color": "#173177", "value": value3 }, 
+                              { "color": "#173177", "value": value3 },
                               { "color": "#173177","value": value4 }
                             ]
                           }
 
-                          
+
                             wxpush(send_weixin_data2).then(response => {
                               console.log('微信推送(获取参数)======>', response )
                             })
@@ -940,20 +869,15 @@ export default {
                       })
 
 
-
-
-
                       if(this.isHome == 'home'){
                       // 返回首页
-                        this.$router.push({ name: 'Dashboard', params: { isTodo: 'sitep' }})   
+                        this.$router.push({ name: 'Dashboard', params: { isTodo: 'sitep' }})
                       }
                     } else {
                       this.$notify({ title: '失败', message: '提交失败' + response.data, type: 'error', duration: 2000 })
                     }
                   })
 
-         
-          
 
         }
       })
@@ -964,14 +888,14 @@ export default {
     form_revoke(row) {
       console.log('点击了撤销', row)
       this.reset_revoke()
- 
+
       this.revoke.temp.id = row.id
       this.revoke.dialogFormVisible = true
     },
     // 撤销 - 重置
     reset_revoke() {
       this.revoke.temp.revokeReason = ""
-      
+
     },
 
     // 撤销 - 确认
@@ -981,8 +905,8 @@ export default {
           var send_data =  {
               name: 'revokeServiceCost',
               parammaps: this.revoke.temp
-            
-          } 
+
+          }
 
 
             this.$confirm('是否撤销该条记录?', '提示', {
@@ -1008,7 +932,7 @@ export default {
 
                         }
                       }
-                      
+
                       GetDataByName(send_weixin_data1).then(response => {
                         console.log('微信推送(获取参数)======>', response )
                         if (response.data.message == 'ok') {
@@ -1024,12 +948,12 @@ export default {
                             "content": [
                               { "color": "#173177","value": value1 },
                               { "color": "#173177", "value": value2 },
-                              { "color": "#173177", "value": value3 }, 
+                              { "color": "#173177", "value": value3 },
                               { "color": "#173177","value": value4 }
                             ]
                           }
 
-                          
+
                             wxpush(send_weixin_data2).then(response => {
                               console.log('微信推送(获取参数)======>', response )
                             })
@@ -1049,9 +973,9 @@ export default {
               this.$message({
                 type: 'info',
                 message: '已取消删除'
-              });          
+              });
             });
-          
+
 
         }
       })
@@ -1062,7 +986,7 @@ export default {
       this.get_table_data()
       if(this.isHome == 'home'){
        // 返回首页
-       this.$router.push({ name: 'Dashboard', params: { isTodo: 'sitep' }})   
+       this.$router.push({ name: 'Dashboard', params: { isTodo: 'sitep' }})
       }
     },
 
@@ -1072,14 +996,14 @@ export default {
       this.get_table_data()
       if(this.isHome == 'home'){
        // 返回首页
-       this.$router.push({ name: 'Dashboard', params: { isTodo: 'sitep' }})   
+       this.$router.push({ name: 'Dashboard', params: { isTodo: 'sitep' }})
       }
     },
     // 导出
     form_export(item) {
-       
+
        this.download.getdataListParm.parammaps = this.tableObj.getdataListParm.parammaps
-    
+
        GetDataByName(this.download.getdataListParm).then(response => {
          if (response.data.list !== null) {
            this.download.list = response.data.list
@@ -1096,7 +1020,7 @@ export default {
          ]
          json2excel(excelDatas, '现场服务款项', true, 'xlsx')
        })
- 
+
     },
 
     // 导入
@@ -1144,7 +1068,7 @@ export default {
     height: 178px;
     display: block;
   }
- 
+
 // #uploadPic .el-upload-list--picture-card .el-upload-list__item {
 //   width: 70px;
 //   height: 70px;

+ 0 - 3
src/views/systemManagement/boardEchartManagement/index.vue

@@ -342,8 +342,6 @@ export default {
           this.table.list = arr
 
 
-
-
           this.table.pageNum = response.data.pageNum
           this.table.pageSize = response.data.pageSize
           this.table.total = response.data.total
@@ -873,7 +871,6 @@ export default {
       // })
 
 
-
     }
 
   }

+ 7 - 12
src/views/systemManagement/user/index.vue

@@ -1,7 +1,6 @@
 <template>
   <div class="app-container">
-    
-     
+
 
       <!-- <el-button v-if="isRoleEdit" class="import" style="float: right;" @click="form_inport">导入</el-button>
       <el-dropdown style="float: right;margin-right: 10px;">
@@ -11,7 +10,7 @@
           <el-dropdown-item @click.native="form_export(2)">导出数据</el-dropdown-item>
         </el-dropdown-menu>
       </el-dropdown> -->
-   
+
 
     <div class="search">
 
@@ -77,7 +76,7 @@
           <template slot-scope="{row}">
             <!-- <el-button v-if="isRoleEdit" class="miniSuccess" @click="form_edit(row)">编辑</el-button>
             <el-button v-if="isRoleEdit" class="miniDanger" @click="form_delete(row)">删除</el-button> -->
- 
+
             <el-button class="miniSuccess" @click="handleScanningCode(row)">扫码接收消息</el-button>
             <el-button class="miniSuccess" @click="form_edit(row)">编辑</el-button>
             <el-button class="miniDanger" @click="form_delete(row)">删除</el-button>
@@ -141,7 +140,7 @@
         </div>
       </div>
     </el-dialog>
-    
+
   </div>
 </template>
 
@@ -244,7 +243,6 @@ export default {
       // this.imgUrl = 'http://tmrwatch.cn/wx/code?scene_str=tmrwatch_test.'+ Cookies.get('pastureid')+'.'+ row.username + '.'+row.empname
 
 
-
         // this.imgUrl = 'http://tmrwatch.cn/wx/code?scene_str=crm.'+ row.userName
 
 
@@ -310,7 +308,6 @@ export default {
       console.log('点击了重置')
 
 
-
       this.table.getdataListParm.parammaps.userName = ''
       this.table.getdataListParm.parammaps.empName = ''
       this.table.getdataListParm.parammaps.departmentId = ''
@@ -406,7 +403,6 @@ export default {
           })
 
 
-
         }
       })
     },
@@ -430,7 +426,7 @@ export default {
     form_edit_save() {
       this.$refs['temp'].validate(valid => {
         if (valid) {
-          
+
 
           var send_data =  {
               "common":{"returnmap":"0"},
@@ -444,7 +440,7 @@ export default {
                   "name": "clearUserRoleByUserId",
                   "type":"e",
                   "parammaps": {"id": this.create.temp.id}
-                }, 
+                },
                 {
                   "name": "insertUserRole",
                   "type":"e",
@@ -466,7 +462,6 @@ export default {
              ]
             }
 
-           
 
           ExecDataByConfig(send_data).then(response => {
             console.log('编辑保存发送参数', this.requestParam)
@@ -488,7 +483,7 @@ export default {
       this.requestParam.parammaps = this.create.temp
 
       console.log(row)
-    
+
      var send_data = {
       "name":"updateUser",
       "parammaps":   {

+ 0 - 2
src/views/systemManagement/user/index1.vue

@@ -266,7 +266,6 @@ export default {
       console.log('点击了重置')
 
 
-
       this.table.getdataListParm.parammaps.userName = ''
       this.table.getdataListParm.parammaps.empName = ''
       this.table.getdataListParm.parammaps.departmentId = ''
@@ -331,7 +330,6 @@ export default {
           })
 
 
-
         }
       })
     },

+ 0 - 1
src/widgets/BarChart.vue

@@ -85,7 +85,6 @@ export default {
         // const legendName222 = dimensions[1].name
 
 
-
         console.log('data', this.data)
 
         const valueName = this.schema.find(schema => !schema.asxAxis).name

+ 1 - 6
src/widgets/BarLineChart1.vue

@@ -76,8 +76,6 @@ export default {
       if (this.schema.filter(schema => schema.asxAxis).length === 2) {
 
 
-
-
         console.log("进入了多个维度====================")
         const dimensions = this.schema.filter(schema => schema.asxAxis)
 
@@ -91,9 +89,6 @@ export default {
         console.log('legendName======', legendName)
 
 
-
-
-
         var second_name = this.schema.filter(function (i) {
           return i.is_second == true;
         })
@@ -152,7 +147,7 @@ export default {
           //     data: [],
           //     type: 'bar'
           //   }
-          // }  
+          // }
           if (!schema.asxAxis) {
             if (schema.is_second == true) {
               seriesObj[schema.name] = {

+ 75 - 80
vue.config.js

@@ -1,16 +1,16 @@
 // 'use strict'
-const path = require('path')
-const defaultSettings = require('./src/settings.js')
+const path = require("path");
+const defaultSettings = require("./src/settings.js");
 
 function resolve(dir) {
-  return path.join(__dirname, dir)
+  return path.join(__dirname, dir);
 }
 
-const name = defaultSettings.title || 'vue Admin Template' // page title
+const name = defaultSettings.title || "vue Admin Template"; // page title
 // If your port is set to 80,
 // use administrator privileges to execute the command line.
 // For example, Mac: sudo npm run
-const port = 9528 // dev port
+const port = 9528; // dev port
 
 // All configuration item explanations can be find in https://cli.vuejs.org/config/
 module.exports = {
@@ -21,17 +21,17 @@ module.exports = {
    * In most cases please use '/' !!!
    * Detail: https://cli.vuejs.org/config/#publicpath
    */
-  publicPath: '/',
-  outputDir: 'dist',
-  assetsDir: 'static',
-  lintOnSave: process.env.NODE_ENV === 'development',
+  publicPath: "/",
+  outputDir: "dist",
+  assetsDir: "static",
+  lintOnSave: process.env.NODE_ENV === "development",
   productionSourceMap: false,
   devServer: {
     port: port,
     open: true,
     overlay: {
       warnings: false,
-      errors: true
+      errors: true,
     },
     proxy: {
       // change xxx-api/login => mock/login
@@ -40,98 +40,93 @@ module.exports = {
         target: `http://127.0.0.1:${port}/mock`,
         changeOrigin: true,
         pathRewrite: {
-          ['^' + process.env.VUE_APP_BASE_API]: ''
-        }
-      }
+          ["^" + process.env.VUE_APP_BASE_API]: "",
+        },
+      },
     },
-    after: require('./mock/mock-server.js')
+    after: require("./mock/mock-server.js"),
   },
   configureWebpack: {
     // provide the app's title in webpack's name field, so that
     // it can be accessed in index.html to inject the correct title.
-    devtool: 'source-map',
+    devtool: "source-map",
     name: name,
     resolve: {
       alias: {
-        '@': resolve('src')
-      }
-    }
+        "@": resolve("src"),
+      },
+    },
   },
   chainWebpack(config) {
-    config.plugins.delete('preload') // TODO: need test
-    config.plugins.delete('prefetch') // TODO: need test
+    config.plugins.delete("preload"); // TODO: need test
+    config.plugins.delete("prefetch"); // TODO: need test
 
     // set svg-sprite-loader
+    config.module.rule("svg").exclude.add(resolve("src/icons")).end();
     config.module
-      .rule('svg')
-      .exclude.add(resolve('src/icons'))
-      .end()
-    config.module
-      .rule('icons')
+      .rule("icons")
       .test(/\.svg$/)
-      .include.add(resolve('src/icons'))
+      .include.add(resolve("src/icons"))
       .end()
-      .use('svg-sprite-loader')
-      .loader('svg-sprite-loader')
+      .use("svg-sprite-loader")
+      .loader("svg-sprite-loader")
       .options({
-        symbolId: 'icon-[name]'
+        symbolId: "icon-[name]",
       })
-      .end()
+      .end();
 
     // set preserveWhitespace
     config.module
-      .rule('vue')
-      .use('vue-loader')
-      .loader('vue-loader')
-      .tap(options => {
-        options.compilerOptions.preserveWhitespace = true
-        return options
+      .rule("vue")
+      .use("vue-loader")
+      .loader("vue-loader")
+      .tap((options) => {
+        options.compilerOptions.preserveWhitespace = true;
+        return options;
       })
-      .end()
+      .end();
 
     config
-    // https://webpack.js.org/configuration/devtool/#development
-      .when(process.env.NODE_ENV === 'development',
-        config => config.devtool('cheap-source-map')
-      )
+      // https://webpack.js.org/configuration/devtool/#development
+      .when(process.env.NODE_ENV === "development", (config) =>
+        config.devtool("cheap-source-map")
+      );
 
-    config
-      .when(process.env.NODE_ENV !== 'development',
-        config => {
-          config
-            .plugin('ScriptExtHtmlWebpackPlugin')
-            .after('html')
-            .use('script-ext-html-webpack-plugin', [{
+    config.when(process.env.NODE_ENV !== "development", (config) => {
+      config
+        .plugin("ScriptExtHtmlWebpackPlugin")
+        .after("html")
+        .use("script-ext-html-webpack-plugin", [
+          {
             // `runtime` must same as runtimeChunk name. default is `runtime`
-              inline: /runtime\..*\.js$/
-            }])
-            .end()
-          config
-            .optimization.splitChunks({
-              chunks: 'all',
-              cacheGroups: {
-                libs: {
-                  name: 'chunk-libs',
-                  test: /[\\/]node_modules[\\/]/,
-                  priority: 10,
-                  chunks: 'initial' // only package third parties that are initially dependent
-                },
-                elementUI: {
-                  name: 'chunk-elementUI', // split elementUI into a single package
-                  priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
-                  test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
-                },
-                commons: {
-                  name: 'chunk-commons',
-                  test: resolve('src/components'), // can customize your rules
-                  minChunks: 3, //  minimum common number
-                  priority: 5,
-                  reuseExistingChunk: true
-                }
-              }
-            })
-          config.optimization.runtimeChunk('single')
-        }
-      )
-  }
-}
+            inline: /runtime\..*\.js$/,
+          },
+        ])
+        .end();
+      config.optimization.splitChunks({
+        chunks: "all",
+        cacheGroups: {
+          libs: {
+            name: "chunk-libs",
+            test: /[\\/]node_modules[\\/]/,
+            priority: 10,
+            chunks: "initial", // only package third parties that are initially dependent
+          },
+          elementUI: {
+            name: "chunk-elementUI", // split elementUI into a single package
+            priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
+            test: /[\\/]node_modules[\\/]_?element-ui(.*)/, // in order to adapt to cnpm
+          },
+          commons: {
+            name: "chunk-commons",
+            test: resolve("src/components"), // can customize your rules
+            minChunks: 3, //  minimum common number
+            priority: 5,
+            reuseExistingChunk: true,
+          },
+        },
+      });
+      config.optimization.runtimeChunk("single");
+    });
+  },
+};

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác