From 38dff69b2c218ae53b4cc79257368139a2803ebc Mon Sep 17 00:00:00 2001
From: Mr.Zhang <710666463@qq.com>
Date: 星期二, 15 八月 2023 18:18:19 +0800
Subject: [PATCH] 08.15

---
 platform_web/src/components/business/OperaClientMangerWindow.vue |    1 
 web_standard/src/components/common/Header.vue                    |   51 ++++++---
 .gitignore                                                       |    1 
 web_standard/.env.production                                     |   12 --
 web_standard/src/views/business/workPlans.vue                    |    9 +
 web_standard/src/views/business/salaryParam.vue                  |   39 +++++--
 platform_web/src/components/system/menu/OperaMenuH5Window.vue    |   11 +
 web_standard/src/views/.DS_Store                                 |    0 
 web_standard/public/salary_import_template.xlsx                  |    0 
 platform_web/src/views/system/menuH5.vue                         |    2 
 platform_web/.env.development                                    |   15 --
 web_standard/src/views/ext/userSalary.vue                        |   32 +++++-
 web_standard/src/components/business/OperaSalaryParamWindow.vue  |   47 +++++++--
 web_standard/src/utils/form.js                                   |    9 +
 web_standard/src/views/ext/plansExt.vue                          |   47 ++++++---
 web_standard/src/assets/style/lib.css                            |    1 
 web_standard/src/components/ext/OrderQrCodeLabel.vue             |    2 
 web_standard/src/assets/style/style.scss                         |    2 
 web_standard/.env.development                                    |   10 -
 19 files changed, 189 insertions(+), 102 deletions(-)

diff --git a/.gitignore b/.gitignore
index 091cb8d..577c5c1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,4 @@
 /web_standard/doumeeplant_web
 /web_standard/.vscode
 .idea
+.DS_Store
\ No newline at end of file
diff --git a/platform_web/.env.development b/platform_web/.env.development
index 0e5af1b..f0c4c7b 100644
--- a/platform_web/.env.development
+++ b/platform_web/.env.development
@@ -13,20 +13,11 @@
 # 鎺ュ彛鍓嶇紑
 VUE_APP_API_PREFIX = ''
 
-#娴嬭瘯鏈嶅姟鍣�
-# VUE_APP_BASE_URL = 'http://139.186.142.91:10012/'
-#姹囨櫤
-#VUE_APP_BASE_URL = 'https://106.14.220.133:10012/'
 
-#浠诲悍鏈湴
-# VUE_APP_BASE_URL = 'http://192.168.0.15:10012/'
-# VUE_APP_BASE_URL = 'https://hsky.doumee.com/doumeeplant_api/'
 
 #姹熻悕鏈湴
-#VUE_APP_BASE_URL = 'http://192.168.0.12:10012/'
+#VUE_APP_BASE_URL = 'http://192.168.0.36:10021/'
+
 #鍒樼纾婃湰鍦�
-#VUE_APP_BASE_URL = 'http://192.168.0.18:10012/'
-#VUE_APP_BASE_URL = 'http://192.168.0.176:10012/'
-#VUE_APP_BASE_URL = 'http://6201h1b706.zicp.fun:19470/'
 VUE_APP_BASE_URL = 'http://192.168.0.18:10021/'
-VUE_APP_BASE_URL = 'https://dmtest.ahapp.net/doumeeplant_api/'
\ No newline at end of file
+# VUE_APP_BASE_URL = 'https://dmtest.ahapp.net/doumeeplant_api/'
\ No newline at end of file
diff --git a/platform_web/src/components/business/OperaClientMangerWindow.vue b/platform_web/src/components/business/OperaClientMangerWindow.vue
index 3b381aa..c1f562b 100644
--- a/platform_web/src/components/business/OperaClientMangerWindow.vue
+++ b/platform_web/src/components/business/OperaClientMangerWindow.vue
@@ -217,6 +217,7 @@
         this.form.fileurlfull = this.form.fileStoreAddr ? this.form.fileurlfull : ''
       })
     },
+    
     typeChange() {
       let tempDate = new Date();
       tempDate.setDate(tempDate.getDate() + (this.form.oepnType ? 365 : 15))
diff --git a/platform_web/src/components/system/menu/OperaMenuH5Window.vue b/platform_web/src/components/system/menu/OperaMenuH5Window.vue
index 2adcdd2..0c2c453 100644
--- a/platform_web/src/components/system/menu/OperaMenuH5Window.vue
+++ b/platform_web/src/components/system/menu/OperaMenuH5Window.vue
@@ -29,7 +29,7 @@
             @uploadBegin="isUploading=true"
           />
           <div style="display: flex; flex-direction: column-reverse;" v-if="!!form.icon">
-            <el-button style="margin-left: 5px; padding: 0 5px;" type="text" @click="form.icon=''">鍒犻櫎</el-button>
+            <el-button style="margin-left: 5px; padding: 0 5px;" type="text" @click="deletePic">鍒犻櫎</el-button>
           </div>
         </div>
       </el-form-item>
@@ -59,7 +59,8 @@
       // 闇�鎺掗櫎閫夋嫨鐨勮彍鍗旾D
       excludeMenuId: null,
       uploadData: {
-        floader: 'company/menu'
+        // floader: 'company/menu'
+        folder: 'company/menu'
       },
       parent: {},
       // 琛ㄥ崟鏁版嵁
@@ -98,7 +99,6 @@
       debugger
       this.title = title
       
-      console.log('-----',parent);
       this.visible = true
       // 鏂板缓锛宮enu涓虹┖鏃惰〃绀烘柊寤鸿彍鍗�
       if (target == null) {
@@ -109,6 +109,7 @@
           this.form.id = null
           this.form.parentId = parent == null ? null : parent.id
           this.parentName = parent == null ? null : parent.name
+          this.form.fullIcon = ''
         })
         return
       }
@@ -124,6 +125,10 @@
     uploadReverseSuccess(file) {
       this.form.icon = file.imgurl;
       this.form.fullIcon = file.imgurlfull;
+    },
+    deletePic() {
+      this.form.fullIcon=''
+      this.form.icon=''
     }
   },
 }
diff --git a/platform_web/src/views/system/menuH5.vue b/platform_web/src/views/system/menuH5.vue
index cfc1906..b023771 100644
--- a/platform_web/src/views/system/menuH5.vue
+++ b/platform_web/src/views/system/menuH5.vue
@@ -23,7 +23,7 @@
         <el-table-column prop="name" label="鑿滃崟鍚嶇О"  fixed="left" align="center" min-width="160px"></el-table-column>
         <el-table-column prop="icon" label="鍥炬爣" align="center" min-width="80px" class-name="table-column-icon">
           <template slot-scope="{row}">
-            <el-image v-if="row.icon != null && row.icon !== ''" style="width: 40px; height: 40px;" :src="row.icon"></el-image>
+            <el-image v-if="row.icon != null && row.icon !== ''" style="width: 40px; height: 40px;" :src="row.resourcePath + row.icon"></el-image>
             <template v-else>鏈缃�</template>
           </template>
         </el-table-column>
diff --git a/web_standard/.env.development b/web_standard/.env.development
index 177dd1e..37d3f79 100644
--- a/web_standard/.env.development
+++ b/web_standard/.env.development
@@ -13,16 +13,12 @@
 # 鎺ュ彛鍓嶇紑
 VUE_APP_API_PREFIX = ''
 
-# 娴嬭瘯鏈嶅姟鍣�
-# VUE_APP_BASE_URL = 'http://139.186.142.91:10012/'
-# 姹囨櫤
-# VUE_APP_BASE_URL = 'https://106.14.220.133:10012/'
-
 # 鐒︽澗
 VUE_APP_BASE_URL = 'http://192.168.0.36:10021/'
 
 # 姹熻悕
-VUE_APP_BASE_URL = 'http://192.168.0.35:10021'
+# VUE_APP_BASE_URL = 'http://192.168.0.35:10021/'
 
-# VUE_APP_BASE_URL = 'https://dmtest.ahapp.net/doumeeplant_api/'
+# 娴嬭瘯鏈嶅姟鍣�
+VUE_APP_BASE_URL = 'https://dmtest.ahapp.net/doumeeplant_api/'
 
diff --git a/web_standard/.env.production b/web_standard/.env.production
index b412c72..b575403 100644
--- a/web_standard/.env.production
+++ b/web_standard/.env.production
@@ -8,21 +8,9 @@
 VUE_APP_ROUTER_MODE = 'hash'
 
 # 椤圭洰涓婁笅鏂囪矾寰�
-# VUE_APP_CONTEXT_PATH = '/doumeeplant_web/'
 VUE_APP_CONTEXT_PATH = '/web/'
 
 # 鎺ュ彛鍓嶇紑
 VUE_APP_API_PREFIX = '/doumeeplant'
-
-# 娴嬭瘯鏈嶅姟鍣�
-# VUE_APP_BASE_URL = 'http://139.186.142.91:10012/'
-# 婕旂ず鏈嶅姟鍣�
-# VUE_APP_BASE_URL = 'http://121.41.112.139:10012/'
-# 姝e紡鐜
-# VUE_APP_BASE_URL = 'http://127.0.0.1:10012/'
-#鑹句附鏍兼柉 https://hsky.doumee.com/doumeeplant_api/doc.html
-# VUE_APP_BASE_URL = 'https://hsky.doumee.com/doumeeplant_api/'
-
-# VUE_APP_BASE_URL = 'https://dmtest.ahapp.net/doumeeplant_api/'
 
 VUE_APP_BASE_URL = 'https://www.mes.red/doumeeplant/'
diff --git a/web_standard/public/salary_import_template.xlsx b/web_standard/public/salary_import_template.xlsx
new file mode 100644
index 0000000..8d89b12
--- /dev/null
+++ b/web_standard/public/salary_import_template.xlsx
Binary files differ
diff --git a/web_standard/src/assets/style/lib.css b/web_standard/src/assets/style/lib.css
index f05ad44..92404e1 100644
--- a/web_standard/src/assets/style/lib.css
+++ b/web_standard/src/assets/style/lib.css
@@ -115,6 +115,7 @@
 .success{ color: #70B603; }
 .waring{ color: #F59A23; }
 .error{ color: #f00; }
+.c1{color: #111}.c2{color: #222}.c3{ color: #333;}.c6{ color: #666;}.cc{ color: #ccc;}.cf{ color: #fff;}
 /* /deep/ .uicon-close .u-icon--right{ position: absolute; right: 30px; top: 30px; z-index: 999;} */
 .popCloseBtn{ position: absolute; width:50px; height:50px; right: 20px; top: 20px;}
 .fixedHeader{ position: absolute; left: 0; top: 0;}
diff --git a/web_standard/src/assets/style/style.scss b/web_standard/src/assets/style/style.scss
index 4d1e4fa..69c3973 100644
--- a/web_standard/src/assets/style/style.scss
+++ b/web_standard/src/assets/style/style.scss
@@ -89,7 +89,7 @@
 .el-date-editor--daterange.el-input__inner,
 .el-date-editor--timerange.el-input,
 .el-date-editor--timerange.el-input__inner {
-  width: 220px !important;
+  width: 240px !important;
 }
 
 .el-input__inner {
diff --git a/web_standard/src/components/business/OperaSalaryParamWindow.vue b/web_standard/src/components/business/OperaSalaryParamWindow.vue
index 19517f6..9d2c21a 100644
--- a/web_standard/src/components/business/OperaSalaryParamWindow.vue
+++ b/web_standard/src/components/business/OperaSalaryParamWindow.vue
@@ -18,7 +18,7 @@
         </el-select>
       </el-form-item>
       <el-form-item label="宸ュ巶" prop="departId">
-        <el-select v-model="form.departId" placeholder="璇烽�夋嫨宸ュ巶" clearable @change="selectFactoey">
+        <el-select v-model="form.departId" placeholder="璇烽�夋嫨宸ュ巶" :disabled="isEdit" clearable @change="selectFactoey">
           <el-option
             v-for="item in factories"
             :key="item.id"
@@ -29,18 +29,18 @@
         </el-select>
       </el-form-item>
       <el-form-item label="鐗╂枡" prop="materialId">
-        <el-select v-model="form.materialId" placeholder="璇烽�夋嫨鐗╂枡" clearable>
+        <el-select v-model="form.materialId" placeholder="璇烽�夋嫨鐗╂枡" :disabled="isEdit" clearable @change="selectMaterial">
           <el-option
             v-for="item in materials"
-            :key="item.materialId"
+            :key="item.realMaterialId"
             :label="item.mmodel.name"
-            :value="item.materialId"
+            :value="item.realMaterialId"
           >
           </el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="宸ュ簭" prop="procedureId">
-        <el-select v-model="form.procedureId" placeholder="璇烽�夋嫨璁′环鏂瑰紡" clearable>
+        <el-select v-model="form.procedureId" placeholder="璇烽�夋嫨宸ュ簭" :disabled="isEdit" clearable>
           <el-option
             v-for="item in productes"
             :key="item.id"
@@ -51,7 +51,7 @@
         </el-select>
       </el-form-item>
       <el-form-item label="宸ヨ祫鍗曚环锛堝厓)" prop="salary">
-        <el-input v-model="form.salary" placeholder="璇疯緭鍏ュ伐璧勫崟浠凤紙鍏�)" v-trim/>
+        <el-input v-model="form.salary" placeholder="璇疯緭鍏ュ伐璧勫崟浠凤紙鍏�)" @input="inputZAction(form, 'salary')" v-trim/>
       </el-form-item>
       <el-form-item label="鏍囧噯鏁堢巼" prop="num">
         <div style="display: flex;">
@@ -76,6 +76,7 @@
 import { getDepartmentListByConditon } from '@/api/ext/departmentExt'
 import { getBomMaterialList } from '@/api/ext/bomExt'
 import { routeExt as proceList } from '@/api/ext/routeProcedureExt'
+import { numRule } from '@/utils/form'
 export default {
   name: 'OperaSalaryParamWindow',
   extends: BaseOpera,
@@ -104,6 +105,7 @@
         unqualified: 0,
         type: ''
       },
+      isEdit: false,
       type: [
         { label: '璁′欢', value: 0 },
         { label: '璁℃椂', value: 1 },
@@ -113,6 +115,18 @@
       productes: [],
       // 楠岃瘉瑙勫垯
       rules: {
+        departId: [
+          { required: true, validator: numRule, message: '璇烽�夋嫨宸ュ巶', tigger: 'change' }
+        ],
+        materialId: [
+          { required: true, validator: numRule, message: '璇烽�夋嫨鐗╂枡', tigger: 'change' }
+        ],
+        procedureId: [
+          { required: true, validator: numRule, message: '璇烽�夋嫨宸ュ簭', tigger: 'change' }
+        ],
+        salary: [
+          { required: true, validator: numRule, message: '璇疯緭鍏ュ伐璧勫崟浠�', tigger: 'blur' }
+        ],
       }
     }
   },
@@ -179,10 +193,10 @@
         .then(res => {
           // console.log(res)
           this.materials = res
-          if (!isEdit) {
-            this.form.materialId = res[0]?res[0].materialId:''
-          }
-          this.selectMaterial(this.form.materialId, isEdit)
+          // if (!isEdit) {
+          //   this.form.materialId = res[0]?res[0].materialId:''
+          // }
+          // this.selectMaterial(this.form.materialId)
         })
         .catch(err => {
           console.log(err)
@@ -192,7 +206,7 @@
      
       let routeId;
       for (const item of this.materials) {
-        if (item.materialId === id) {
+        if (item.realMaterialId === id) {
           routeId = item.routeId
         }
       }
@@ -201,12 +215,23 @@
           // console.log(res)
           this.productes = res.proceList
           if (!isEdit) {
+            // debugger
             this.form.procedureId = this.productes[0]?this.productes[0].id:''
           }
         }).catch(err => {
           console.log(err)
         })
     },
+    // 2浣嶆湁鏁堥攢鍞紙姝o級
+    inputZAction(item, key) {
+      item[key] = item[key].replace(/[^\d.]/g, '')
+                      .replace(/\.{2,}/g, '.')
+                      .replace('.', '$#$')
+                      .replace(/\./g, '')
+                      .replace('$#$', '.')
+                      .replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3')
+                      .replace(/^\./g, '')
+    },
     confirm () {
       // console.log((+this.form.hours) * 3600);
       // console.log((+this.form.minute) * 60);
diff --git a/web_standard/src/components/common/Header.vue b/web_standard/src/components/common/Header.vue
index ebab123..82597f4 100644
--- a/web_standard/src/components/common/Header.vue
+++ b/web_standard/src/components/common/Header.vue
@@ -8,14 +8,18 @@
           {{title}}
         </h2>
         <div class="user">
-          <div class="user_help" @click="jumpWord">
-            <img src="@/assets/images/ic_help@2x.png" alt="" />
-            <span>甯姪鏂囨。</span>
+          <div class="help" @click="jumpWord">
+            <div class="user_help">
+              <img src="@/assets/images/ic_help@2x.png" alt="" />
+              <span>甯姪鏂囨。</span>
+            </div>
+            <span class="ml5 mr5">|</span>
+            <span>浼佷笟浠g爜锛� {{ tempId }}</span>
           </div>
-          <div style="margin-right: 10px;">浼佷笟浠g爜锛� {{ tempId }}</div>
+          <!-- <div style="margin-right: 10px;">浼佷笟浠g爜锛� {{ tempId }}</div> -->
           <el-dropdown trigger="click" style="margin-right: 20px;" v-userState @command="select">
             <span class="el-dropdown-link">
-            {{ tempC }}<i class="el-icon-arrow-down el-icon--right"></i>
+            <span class="c2 f16">{{ tempC }}</span><i class="el-icon-arrow-down el-icon--right"></i>
             </span>
             <el-dropdown-menu slot="dropdown">
               <el-dropdown-item v-for="(item, index) in cList" :key="index" :command='item.id'>{{ item.name }}</el-dropdown-item>
@@ -131,7 +135,7 @@
   created () {
     if (this.userInfo.curComDepartment) {
       this.tempC = this.userInfo.curComDepartment.name
-      this.tempId = this.userInfo.curComDepartment.id
+      this.tempId = this.userInfo.company.id
     }
     getDepartmentListByConditon({
       type: 0
@@ -276,30 +280,41 @@
       // width: 30%;
       flex-shrink: 0;
       // text-align: right;
+      vertical-align: middle;
       display: flex;
       align-items: center;
-      .user_help {
-        width: 111px;
-        height: 36px;
+      .help {
         display: flex;
+        height: 29px;
+        line-height: 38px;
         align-items: center;
         justify-content: center;
-        background: #F7F7F7;
-        border-radius: 4px;
+        vertical-align: middle;
         margin-right: 30px;
-        cursor: pointer;
-        img {
-          width: 16px;
-          height: 16px;
-          margin-right: 7px !important;
-        }
         span {
-          font-size: 16px;
+          font-size: 12px;
           font-family: PingFangSC-Regular, PingFang SC;
           font-weight: 400;
+          vertical-align: middle;
           color: #666666;
         }
+        .user_help {
+          // width: 111px;
+          
+          // background: #F7F7F7;
+         
+          
+          cursor: pointer;
+          img {
+            width: 16px;
+            height: 16px;
+            margin-right: 7px !important;
+            vertical-align: middle;
+          }
+          
+        }
       }
+      
       .el-dropdown {
         flex-shrink: 0;
         top: 2px;
diff --git a/web_standard/src/components/ext/OrderQrCodeLabel.vue b/web_standard/src/components/ext/OrderQrCodeLabel.vue
index a7e2675..225d6fc 100644
--- a/web_standard/src/components/ext/OrderQrCodeLabel.vue
+++ b/web_standard/src/components/ext/OrderQrCodeLabel.vue
@@ -93,7 +93,7 @@
                 <tr>
                   <td>鎵撳嵃淇℃伅</td>
                   <td style="text-align:left; line-height:16px;" colspan="2">
-                    <div>{{ userInfo.realname + ', ' + current}}</div>
+                    <div>{{ userInfo.companyUser.name + ', ' + current}}</div>
                   </td>
                 </tr>
               </tbody>
diff --git a/web_standard/src/utils/form.js b/web_standard/src/utils/form.js
index 4d6b612..667e154 100644
--- a/web_standard/src/utils/form.js
+++ b/web_standard/src/utils/form.js
@@ -35,3 +35,12 @@
   }
   callback()
 }
+
+export function numRule(rule, value, callback) {
+  // debugger
+  if (value == null || value < 0 || !value) {
+    callback(new Error())
+  } else {
+    callback()
+  }
+}
diff --git a/web_standard/src/views/.DS_Store b/web_standard/src/views/.DS_Store
index c35a195..deaf3ff 100644
--- a/web_standard/src/views/.DS_Store
+++ b/web_standard/src/views/.DS_Store
Binary files differ
diff --git a/web_standard/src/views/business/salaryParam.vue b/web_standard/src/views/business/salaryParam.vue
index 11a2579..c690bb2 100644
--- a/web_standard/src/views/business/salaryParam.vue
+++ b/web_standard/src/views/business/salaryParam.vue
@@ -3,7 +3,7 @@
     <!-- 鎼滅储琛ㄥ崟 -->
     <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
       
-      <el-form-item label="鐗╂枡" prop="keyWord">
+      <el-form-item label="鐗╂枡淇℃伅" prop="keyWord">
         <el-input v-model="searchForm.keyWord" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�/缂栫爜" @keypress.enter.native="search"></el-input>
       </el-form-item>
       <el-form-item label="宸ュ簭" prop="procedureName">
@@ -22,15 +22,27 @@
       </el-form-item>
       <section>
         <el-button type="primary" @click="search">鎼滅储</el-button>
-        <el-button type="primary" :loading="isWorking.export" v-permissions="['business:salaryparam:exportExcel']" @click="exportExcel">瀵煎嚭</el-button>
+        
         <el-button @click="reset">閲嶇疆</el-button>
       </section>
     </el-form>
     <!-- 琛ㄦ牸鍜屽垎椤� -->
     <template v-slot:table-wrap>
-      <ul class="toolbar" v-permissions="['business:salaryparam:create', 'business:salaryparam:delete']">
-        <li><el-button type="primary" @click="$refs.operaSalaryParamWindow.open('鏂板缓缁╂晥宸ヨ祫閰嶇疆')" icon="el-icon-plus" v-permissions="['business:salaryparam:create']">鏂板缓</el-button></li>
-        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:salaryparam:delete']">鍒犻櫎</el-button></li>
+      <ul class="toolbar" v-permissions="['business:salaryparam:create', 'business:salaryparam:delete', 'business:salaryparam:exportExcel', 'business:salaryparam:importExcel']">
+        <li><el-button type="primary" @click="$refs.operaSalaryParamWindow.open('鏂板缓缁╂晥宸ヨ祫閰嶇疆')" v-permissions="['business:salaryparam:create']">鏂板缓</el-button></li>
+        <li><el-button type="primary" @click="deleteByIdInBatch" v-permissions="['business:salaryparam:delete']">鎵归噺鍒犻櫎</el-button></li>
+        <li>
+          <el-button type="primary" :loading="isWorking.export" v-permissions="['business:salaryparam:exportExcel']" @click="exportExcel">瀵煎嚭</el-button>
+        </li>
+        <li v-permissions="['business:salaryparam:importExcel']">
+          <ImportButton
+            text="瀵煎叆"
+            template-name="salary_import_template.xlsx"
+            template-path="/template/salary_import_template.xlsx"
+            action="/business/salaryParam/importBatch"
+            @success="search"
+          />
+        </li>
       </ul>
       <el-table
         v-loading="isWorking.search"
@@ -40,7 +52,7 @@
         @selection-change="handleSelectionChange"
       >
         <el-table-column type="selection" width="55"></el-table-column>
-        <el-table-column prop="id" label="涓婚敭"  min-width="100px"></el-table-column>
+        <el-table-column prop="id" label="搴忓彿"  min-width="100px"></el-table-column>
         <el-table-column prop="type" label="璁′环鏂瑰紡" min-width="100px">
           <template slot-scope="{row}">
             {{ row.type == 0 ? '璁′欢' : '璁℃椂' }}
@@ -50,9 +62,12 @@
         <el-table-column prop="materialCode" label="鐗╂枡缂栫爜" min-width="100px"></el-table-column>
         <el-table-column prop="procedureName" label="宸ュ簭鍚嶇О" min-width="100px"></el-table-column>
         <el-table-column prop="salary" label="宸ヨ祫鍗曚环锛堝厓)" min-width="100px"></el-table-column>
-        <el-table-column prop="num" label="鏍囧噯鏁伴噺" min-width="100px">
+        <el-table-column prop="num" label="鏍囧噯浜у嚭" min-width="100px">
+          <template slot-scope="{row}">
+            {{ row.num == 0 ? '-' : row.num }}
+          </template>
         </el-table-column>
-        <el-table-column prop="times" label="鏍囧噯鏃堕暱" min-width="100px">
+        <el-table-column prop="times" label="鏍囧噯宸ユ椂" min-width="100px">
           <template slot-scope="{row}">
             {{ timesToStr(row.times) }}
           </template>
@@ -63,7 +78,7 @@
           </template>
         </el-table-column>
         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="150px"></el-table-column>
-        <!-- <el-table-column prop="updateUser" label="鏇存柊浜虹紪鐮�" min-width="100px"></el-table-column> -->
+        <el-table-column prop="createUserName" label="鍒涘缓浜�" min-width="100px"></el-table-column>
         <!-- <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" min-width="100px"></el-table-column>
         <el-table-column prop="remark" label="澶囨敞" min-width="100px"></el-table-column>
         <el-table-column prop="rootDepartId" label="涓荤粍缁囩紪鐮侊紙鍏宠仈department琛ㄦ牴缁勭粐锛�" min-width="100px"></el-table-column>
@@ -98,11 +113,12 @@
 import BaseTable from '@/components/base/BaseTable'
 import TableLayout from '@/layouts/TableLayout'
 import Pagination from '@/components/common/Pagination'
+import ImportButton from '@/components/common/ImportButton'
 import OperaSalaryParamWindow from '@/components/business/OperaSalaryParamWindow'
 export default {
   name: 'SalaryParam',
   extends: BaseTable,
-  components: { TableLayout, Pagination, OperaSalaryParamWindow },
+  components: { TableLayout, Pagination, OperaSalaryParamWindow, ImportButton },
   data () {
     return {
       // 鎼滅储
@@ -128,7 +144,8 @@
   },
   methods: {
     timesToStr(times) {
-      if (!times) {
+      
+      if (times==0||!times) {
         return '-'
       }
       let sec = times%60
diff --git a/web_standard/src/views/business/workPlans.vue b/web_standard/src/views/business/workPlans.vue
index 222ae5d..360a5f5 100644
--- a/web_standard/src/views/business/workPlans.vue
+++ b/web_standard/src/views/business/workPlans.vue
@@ -26,6 +26,9 @@
       <el-form-item label="鎵规鍙�" prop="batch">
         <el-input v-model="searchForm.batch" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
       </el-form-item>
+      <el-form-item label="閿�鍞崟鍙�" prop="salesorder">
+        <el-input v-model="searchForm.salesorder" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
+      </el-form-item>
       <el-form-item label="璁″垝鏃ユ湡" prop="planDate">
         <el-date-picker style="width: 300px;" @change="changeDate" v-model="searchForm.planDate" type="datetimerange"
           value-format="yyyy-MM-dd" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡">
@@ -45,7 +48,7 @@
           <ImportButton
             text="瀵煎叆"
             template-name="workplans_import_template.xlsx"
-            template-path="template/workplans_import_template.xlsx"
+            template-path="/template/workplans_import_template.xlsx"
             action="/business/workPlans/importBatch"
             @success="search"
           />
@@ -57,11 +60,12 @@
       </ul>
       <el-table v-loading="isWorking.search" :data="tableData.list" border stripe @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55"></el-table-column>
-        <el-table-column prop="planCode" label="鎴愬搧璁″垝缂栫爜" min-width="150px">
+        <el-table-column prop="planCode" label="鎴愬搧璁″垝缂栫爜" min-width="190px">
           <template slot-scope="{row}">
             <el-button type="text" @click="$refs.plannedProgress.open('璁″垝鎵ц杩涘害', row)">
               <span class="long-title-style">{{ row.planCode }}</span>
             </el-button>
+            <el-tag type="danger" size="mini" v-if="row.hasExpire">寤舵湡</el-tag>
           </template>
         </el-table-column>
         <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" min-width="100px"></el-table-column>
@@ -184,6 +188,7 @@
         factoryId: '',
         materialId: '',
         batch: '',
+        salesorder: '',
         planStatus: '',
         planCode: ''
       },
diff --git a/web_standard/src/views/ext/plansExt.vue b/web_standard/src/views/ext/plansExt.vue
index 53e384c..f8dcf28 100644
--- a/web_standard/src/views/ext/plansExt.vue
+++ b/web_standard/src/views/ext/plansExt.vue
@@ -100,7 +100,11 @@
         @row-style="rowStyle"
       >
         <el-table-column type="selection" fixed="left" width="55"></el-table-column>
-        <el-table-column prop="id" label="璁″垝搴忓彿" fixed="left" min-width="80px"></el-table-column>
+        <el-table-column prop="id" label="璁″垝搴忓彿" fixed="left" min-width="80px">
+          <template slot-scope="{row}">
+            <span>{{ row.id }}</span><el-tag type="danger" size="mini" v-if="row.hasExpire">寤舵湡</el-tag>
+          </template>
+        </el-table-column>
         <el-table-column prop="mmodel.name" fixed="left" label="鐗╂枡鍚嶇О" show-overflow-tooltip min-width="140px">
           <template slot-scope="{row}">
             <el-button type="text" class="materail" @click="showPlan(row.id)">
@@ -110,36 +114,35 @@
         </el-table-column>
         <el-table-column prop="mmodel.code" label="鐗╂枡缂栫爜" min-width="160px">
         </el-table-column>
-        <el-table-column prop="planDate" label="璁″垝鏃ユ湡" min-width="100px"></el-table-column>
+        
         <el-table-column prop="fmodel.name" label="宸ュ巶" min-width="100px"></el-table-column>
         <el-table-column prop="pmodel.name" label="宸ュ簭" show-overflow-tooltip min-width="100px">
           <template slot-scope="{row}">
             <span class="long-title-style">{{ row.pmodel ? row.pmodel.name : '-' }}</span>
           </template>
         </el-table-column>
+        <el-table-column prop="batch" label="鐢熶骇鎵规鍙�" show-overflow-tooltip min-width="140px"></el-table-column>
         <el-table-column prop="num" label="璁″垝鏁伴噺" min-width="100px">
           <template slot-scope="{row}">
             <span>{{ row.num + (row.umodel ? row.umodel.name : '') }}</span>
           </template>
         </el-table-column>
-        <el-table-column prop="batch" label="鐢熶骇鎵规鍙�" show-overflow-tooltip min-width="140px"></el-table-column>
-        <el-table-column prop="urgent" label="浼樺厛绾�" min-width="60px"></el-table-column>
+        <el-table-column prop="workPlanStartDate" label="璁″垝寮�濮嬫棩鏈�" min-width="100px">
+          <!-- <template slot-scope="{row}">
+            {{ row.workPlanStartDate ? row.workPlanStartDate.substring(0, row.workPlanStartDate.length-9) : '-' }}
+          </template> -->
+        </el-table-column>
+        <el-table-column prop="workPlanEndDate" label="璁″垝缁撴潫鏃ユ湡" min-width="100px">
+          <template slot-scope="{row}">
+            {{ row.workPlanStartDate ? row.workPlanStartDate.substring(0, row.workPlanStartDate.length-9) : '-' }}
+          </template>
+        </el-table-column>
+        
         <el-table-column label="璁″垝鐘舵��" min-width="80px">
           <template slot-scope="{row}">
             {{ statusToStr(row.status) }}
           </template>
         </el-table-column>
-        <el-table-column label="璁″垝绫诲瀷" min-width="80px">
-          <template slot-scope="{row}">
-            <span :style="typeColor(row.type)">{{ typeToStr(row.type) }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column label="鏆傚仠" min-width="60px">
-          <template slot-scope="{row}">
-            {{ row.paused == 0 ? '鍚�' : '鏄�' }}
-          </template>
-        </el-table-column>
-        <el-table-column prop="workPlanCode" label="鎴愬搧璁″垝缂栫爜" min-width="140px"></el-table-column>
         <el-table-column prop="distributNoDoneNum" label="宸插垎閰嶆湭鎶ュ伐鏁伴噺" min-width="140px">
           <template slot-scope="{row}">
             <span>{{row.distributNoDoneNum ? (row.distributNoDoneNum + (row.umodel ? row.umodel.name : '')) : '-' }}</span>
@@ -153,6 +156,18 @@
         <el-table-column prop="unqulifiedNum" label="涓嶈壇鏁伴噺" min-width="100px">
           <template slot-scope="{row}">
             <span>{{row.unqulifiedNum ? (row.unqulifiedNum + (row.umodel ? row.umodel.name : '')) : '-' }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="urgent" label="浼樺厛绾�" min-width="60px"></el-table-column>
+        <el-table-column label="鏆傚仠" min-width="60px">
+          <template slot-scope="{row}">
+            {{ row.paused == 0 ? '鍚�' : '鏄�' }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="workPlanCode" label="涓昏鍒掔紪鐮�" min-width="140px"></el-table-column>
+        <el-table-column label="绫诲瀷" min-width="80px">
+          <template slot-scope="{row}">
+            <span :style="typeColor(row.type)">{{ typeToStr(row.type) }}</span>
           </template>
         </el-table-column>
         <el-table-column prop="publishDate" label="鍙戝竷鏃ユ湡" min-width="100px">
@@ -559,7 +574,7 @@
         if (index === 0) {
           sums[index] = '鍚堣';
           return;
-        } else if (index === 1 || index === 8 || index === 9 || index === 16 || index === 17) {
+        } else if (index === 1 || index === 6 || index === 8 || index === 9 || index === 14 || index === 16 || index === 17) {
           sums[index] = '-';
           return;
         } else if (index === 8 ) {
diff --git a/web_standard/src/views/ext/userSalary.vue b/web_standard/src/views/ext/userSalary.vue
index cd82995..9564fda 100644
--- a/web_standard/src/views/ext/userSalary.vue
+++ b/web_standard/src/views/ext/userSalary.vue
@@ -12,8 +12,8 @@
           </el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="鐗╂枡缂栫爜" prop="mmodelCode">
-        <el-input v-model="searchForm.mmodelCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�" @keypress.enter.native="search"></el-input>
+      <el-form-item label="鐗╂枡淇℃伅" prop="materialName">
+        <el-input v-model="searchForm.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�/缂栫爜" @keypress.enter.native="search"></el-input>
       </el-form-item>
       <el-form-item label="宸ュ簭" prop="procedureId">
         <el-select v-model="searchForm.procedureId" filterable clearable placeholder="璇烽�夋嫨">
@@ -53,7 +53,7 @@
         stripe
         border
       >
-        <el-table-column prop="id" label="搴忓彿" fixed="left" min-width="80px"></el-table-column>
+        <el-table-column type="index" :index="customIndex" label="搴忓彿" fixed="left" min-width="80px"></el-table-column>
         <el-table-column prop="userInfo.userName" label="鐢熶骇浜哄憳" min-width="100px"></el-table-column>
         <el-table-column prop="userInfo.departName" label="閮ㄩ棬" min-width="100px"> </el-table-column>
         <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" min-width="100px"></el-table-column>
@@ -62,8 +62,16 @@
         <el-table-column prop="workorderCode" label="宸ュ崟缂栫爜" min-width="150px"></el-table-column>
         <el-table-column prop="unitName" label="鍗曚綅" min-width="100px"></el-table-column>
         <el-table-column prop="num" label="鎶ュ伐鏁�" min-width="100px"></el-table-column>
-        <el-table-column prop="qualifiedNum" label="鑹搧鏁�" min-width="100px"></el-table-column>
-        <el-table-column prop="unQualifiedNum" label="涓嶈壇鍝佹暟" min-width="100px"></el-table-column>
+        <el-table-column prop="qualifiedNum" label="鑹搧鏁�" min-width="100px">
+          <template slot-scope="{row}">
+            {{ row.qualifiedNum || 0 }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="unQualifiedNum" label="涓嶈壇鍝佹暟" min-width="100px">
+          <template slot-scope="{row}">
+            {{ row.unQualifiedNum || 0 }}
+          </template>
+        </el-table-column>
         <el-table-column prop="rate" label="鍚堟牸鐜�(%)" min-width="100px"></el-table-column>
       </el-table>
       <pagination
@@ -95,7 +103,7 @@
         userId: '',
         startDate: '',
         endDate: '',
-        materialId: '',
+        materialName: '',
       },
       procedures: [
       ],
@@ -123,7 +131,13 @@
       'field.main': 'name',
       sorts: [{ direction: 'DESC', property: 'CREATE_TIME' }]
     })
-    
+    let tempDate = new Date()
+    let year = tempDate.getFullYear()
+    let month = tempDate.getMonth() + 1
+    let day = tempDate.getDate()
+    this.searchForm.startDate = `${year}-${month}-01`
+    this.searchForm.endDate = `${year}-${month}-${day}`
+    this.planDate = [this.searchForm.startDate, this.searchForm.endDate]
     this.search()
   },
   activated() {
@@ -194,6 +208,10 @@
         }
       });
       return sums
+    },
+    customIndex(index) {
+      console.log();
+      return (this.tableData.pagination.pageIndex-1) * this.tableData.pagination.pageSize + index + 1
     }
   }
 }

--
Gitblit v1.9.3