From 287934f48daa9889f824e12d1af687bc5aa3bbe2 Mon Sep 17 00:00:00 2001
From: Mr.Zhang <710666463@qq.com>
Date: 星期一, 14 八月 2023 18:59:20 +0800
Subject: [PATCH] 工资

---
 web_standard/src/components/ext/OperaWorkorderDetailWindow.vue          |  217 ++++-----
 web_standard/src/api/ext/userSalary.js                                  |   16 
 web_standard/src/views/ext/salaryStatistic.vue                          |  182 +++++++
 platform_web/src/views/system/permission.vue                            |    2 
 web_standard/src/views/ext/workingorderExt.vue                          |    4 
 web_standard/src/api/business/salaryParam.js                            |   40 +
 web_standard/src/views/business/workPlans.vue                           |    7 
 web_standard/coderd.json                                                |    2 
 web_standard/src/views/business/salaryParam.vue                         |  142 ++++++
 web_standard/src/views/ext/workorderRecordExt.vue                       |   18 
 web_standard/src/api/ext/salaryStatistic.js                             |   16 
 platform_web/src/views/system/permissionCom.vue                         |   99 ++++
 /dev/null                                                               |  162 -------
 web_standard/src/components/ext/OrderDistrubution.vue                   |    5 
 web_standard/src/views/ext/userSalary.vue                               |  201 ++++++++
 web_standard/src/components/business/OperaSalaryParamWindow.vue         |  229 +++++++++
 web_standard/src/views/ext/workorderPutRecordExt.vue                    |   13 
 web_standard/.env.development                                           |    3 
 platform_web/src/components/system/permission/OperaPermissionWindow.vue |    8 
 19 files changed, 1,071 insertions(+), 295 deletions(-)

diff --git a/platform_web/src/components/system/permission/OperaPermissionWindow.vue b/platform_web/src/components/system/permission/OperaPermissionWindow.vue
index aec81be..0b29104 100644
--- a/platform_web/src/components/system/permission/OperaPermissionWindow.vue
+++ b/platform_web/src/components/system/permission/OperaPermissionWindow.vue
@@ -26,6 +26,12 @@
   name: 'OperaPermissionWindow',
   extends: BaseOpera,
   components: { GlobalWindow },
+  props: {
+    type: {
+      type: Number|String,
+      default: 0
+    }
+  },
   data () {
     return {
       // 鍘熸潈闄愮爜
@@ -58,6 +64,7 @@
         this.$nextTick(() => {
           this.$refs.form.resetFields()
           this.form[this.configData['field.id']] = null
+          this.form.type = this.type
         })
         return
       }
@@ -67,6 +74,7 @@
         for (const key in this.form) {
           this.form[key] = target[key]
         }
+        this.form.type = this.type
       })
     },
     confirm () {
diff --git a/platform_web/src/views/system/permission.vue b/platform_web/src/views/system/permission.vue
index 39071c5..4f68f70 100644
--- a/platform_web/src/views/system/permission.vue
+++ b/platform_web/src/views/system/permission.vue
@@ -60,7 +60,7 @@
       ></pagination>
     </template>
     <!-- 鏂板缓/淇敼 -->
-    <OperaPermissionWindow ref="operaPermissionWindow" @success="handlePageChange"/>
+    <OperaPermissionWindow ref="operaPermissionWindow" :type="0" @success="handlePageChange"/>
   </TableLayout>
 </template>
 
diff --git a/platform_web/src/views/system/permissionCom.vue b/platform_web/src/views/system/permissionCom.vue
new file mode 100644
index 0000000..78201f2
--- /dev/null
+++ b/platform_web/src/views/system/permissionCom.vue
@@ -0,0 +1,99 @@
+<template>
+  <TableLayout :permissions="['system:permission:query']">
+    <!-- 鎼滅储琛ㄥ崟 -->
+    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+      <el-form-item label="鏉冮檺缂栫爜" prop="code">
+        <el-input v-model="searchForm.code" v-trim placeholder="璇疯緭鍏ユ潈闄愮紪鐮�" @keypress.enter.native="search"/>
+      </el-form-item>
+      <el-form-item label="鏉冮檺鍚嶇О" prop="name">
+        <el-input v-model="searchForm.name" v-trim placeholder="璇疯緭鍏ユ潈闄愬悕绉�" @keypress.enter.native="search"/>
+      </el-form-item>
+      <section>
+        <el-button type="primary" @click="search">鎼滅储</el-button>
+        <el-button @click="reset">閲嶇疆</el-button>
+      </section>
+    </el-form>
+    <!-- 琛ㄦ牸鍜屽垎椤� -->
+    <template v-slot:table-wrap>
+      <ul class="toolbar" v-permissions="['system:permission:create', 'system:permission:delete']">
+        <li><el-button type="primary" @click="$refs.operaPermissionWindow.open('鏂板缓绯荤粺鏉冮檺')" icon="el-icon-plus" v-permissions="['system:permission:create']">鏂板缓</el-button></li>
+        <li><el-button @click="deleteByIdInBatch" v-permissions="['system:permission:delete']">鍒犻櫎</el-button></li>
+      </ul>
+      <el-table
+        v-loading="isWorking.search"
+        :data="tableData.list"
+        :default-sort = "{prop: 'createTime', order: 'descending'}"
+        stripe
+        border
+        @selection-change="handleSelectionChange"
+        @sort-change="handleSortChange"
+      >
+        <el-table-column type="selection" fixed="left" align="center" width="55"></el-table-column>
+        <el-table-column prop="code" label="鏉冮檺缂栫爜" fixed="left" align="center" min-width="200px"></el-table-column>
+        <el-table-column prop="name" label="鏉冮檺鍚嶇О" fixed="left" align="center" min-width="120px"></el-table-column>
+        <el-table-column prop="remark" label="鏉冮檺澶囨敞" align="center" min-width="120px"></el-table-column>
+        <el-table-column prop="createUser" label="鍒涘缓浜�" align="center" min-width="100px">
+          <template slot-scope="{row}">{{row.createUserInfo == null ? '' : row.createUserInfo.username}}</template>
+        </el-table-column>
+        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" align="center" min-width="140px" sortable="custom" sort-by="perm.CREATE_TIME"></el-table-column>
+        <el-table-column prop="updateUser" label="鏇存柊浜�" align="center" min-width="100px">
+          <template slot-scope="{row}">{{row.updateUserInfo == null ? '' : row.updateUserInfo.username}}</template>
+        </el-table-column>
+        <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" align="center" min-width="140px"></el-table-column>
+        <el-table-column
+          v-if="containPermissions(['system:permission:update', 'system:permission:delete'])"
+          label="鎿嶄綔"
+          align="center"
+          min-width="130"
+          fixed="right"
+        >
+          <template slot-scope="{row}">
+            <el-button v-if="!row.fixed" type="text" @click="$refs.operaPermissionWindow.open('缂栬緫绯荤粺鏉冮檺', row)"  v-permissions="['system:permission:update']">缂栬緫</el-button>
+            <el-button v-if="!row.fixed" type="text" @click="deleteById(row)" style="color: red" v-permissions="['system:permission:delete']">鍒犻櫎</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+        @size-change="handleSizeChange"
+        @current-change="handlePageChange"
+        :pagination="tableData.pagination"
+      ></pagination>
+    </template>
+    <!-- 鏂板缓/淇敼 -->
+    <OperaPermissionWindow ref="operaPermissionWindow" :type="1" @success="handlePageChange"/>
+  </TableLayout>
+</template>
+
+<script>
+import Pagination from '@/components/common/Pagination'
+import TableLayout from '@/layouts/TableLayout'
+import BaseTable from '@/components/base/BaseTable'
+import OperaPermissionWindow from '@/components/system/permission/OperaPermissionWindow'
+export default {
+  name: 'SystemPermission',
+  extends: BaseTable,
+  components: { OperaPermissionWindow, TableLayout, Pagination },
+  data () {
+    return {
+      // 鎼滅储
+      searchForm: {
+        code: '',
+        name: '',
+        remark: '',
+        type: 1
+      }
+    }
+  },
+  created () {
+    this.config({
+      module: '鏉冮檺',
+      api: '/system/permission',
+      sorts: [{
+        property: 'perm.CREATE_TIME',
+        direction: 'DESC'
+      }]
+    })
+    this.search()
+  }
+}
+</script>
diff --git a/web_standard/.env.development b/web_standard/.env.development
index 58469cd..177dd1e 100644
--- a/web_standard/.env.development
+++ b/web_standard/.env.development
@@ -21,5 +21,8 @@
 # 鐒︽澗
 VUE_APP_BASE_URL = 'http://192.168.0.36:10021/'
 
+# 姹熻悕
+VUE_APP_BASE_URL = 'http://192.168.0.35:10021'
+
 # VUE_APP_BASE_URL = 'https://dmtest.ahapp.net/doumeeplant_api/'
 
diff --git a/web_standard/coderd.json b/web_standard/coderd.json
index 12a424d..36dcaf5 100644
--- a/web_standard/coderd.json
+++ b/web_standard/coderd.json
@@ -4,7 +4,7 @@
     "alias": "eva",
     "command": "page",
     "option": {
-      "resources": "workorder_check_attr_ext"
+      "resources": "salary_param"
     }
   }
 }
\ No newline at end of file
diff --git a/web_standard/src/api/business/salaryParam.js b/web_standard/src/api/business/salaryParam.js
new file mode 100644
index 0000000..6a34dd9
--- /dev/null
+++ b/web_standard/src/api/business/salaryParam.js
@@ -0,0 +1,40 @@
+import request from '../../utils/request'
+
+// 鏌ヨ
+export function fetchList (data) {
+  return request.post('/business/salaryParam/page', data, {
+    trim: true
+  })
+}
+
+// 瀵煎嚭Excel
+export function exportExcel (data) {
+  return request.post('/business/salaryParam/exportExcel', data, {
+    trim: true,
+    download: true
+  })
+}
+
+// 鍒涘缓
+export function create (data) {
+  return request.post('/business/salaryParam/create', data)
+}
+
+// 淇敼
+export function updateById (data) {
+  return request.post('/business/salaryParam/updateById', data)
+}
+
+// 鍒犻櫎
+export function deleteById (id) {
+  return request.get(`/business/salaryParam/delete/${id}`)
+}
+
+// 鎵归噺鍒犻櫎
+export function deleteByIdInBatch (ids) {
+  return request.get('/business/salaryParam/delete/batch', {
+    params: {
+      ids
+    }
+  })
+}
diff --git a/web_standard/src/api/ext/salaryStatistic.js b/web_standard/src/api/ext/salaryStatistic.js
new file mode 100644
index 0000000..039e54e
--- /dev/null
+++ b/web_standard/src/api/ext/salaryStatistic.js
@@ -0,0 +1,16 @@
+import request from '../../utils/request'
+
+// 鏌ヨ
+export function fetchList (data) {
+  return request.post('/ext/workorderRecordExt/salaryStatistic', data, {
+    trim: true
+  })
+}
+
+// 瀵煎嚭Excel
+export function exportExcel (data) {
+  return request.post('/ext/workorderRecordExt/exportSalaryStatistics', data, {
+    trim: true,
+    download: true
+  })
+}
diff --git a/web_standard/src/api/ext/userSalary.js b/web_standard/src/api/ext/userSalary.js
new file mode 100644
index 0000000..c04cc1c
--- /dev/null
+++ b/web_standard/src/api/ext/userSalary.js
@@ -0,0 +1,16 @@
+import request from '../../utils/request'
+
+// 鏌ヨ
+export function fetchList (data) {
+  return request.post('/ext/workorderRecordExt/userSalary', data, {
+    trim: true
+  })
+}
+
+// 瀵煎嚭Excel
+export function exportExcel (data) {
+  return request.post('/ext/workorderRecordExt/exportUserSalary', data, {
+    trim: true,
+    download: true
+  })
+}
diff --git a/web_standard/src/components/business/OperaSalaryParamWindow.vue b/web_standard/src/components/business/OperaSalaryParamWindow.vue
new file mode 100644
index 0000000..19517f6
--- /dev/null
+++ b/web_standard/src/components/business/OperaSalaryParamWindow.vue
@@ -0,0 +1,229 @@
+<template>
+  <GlobalWindow
+    :title="title"
+    :visible.sync="visible"
+    :confirm-working="isWorking"
+    @confirm="confirm"
+  >
+    <el-form :model="form" ref="form" :rules="rules">
+      <el-form-item label="璁′环鏂瑰紡" prop="type">
+        <el-select v-model="form.type" placeholder="璇烽�夋嫨璁′环鏂瑰紡" clearable>
+          <el-option
+            v-for="item in type"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="宸ュ巶" prop="departId">
+        <el-select v-model="form.departId" placeholder="璇烽�夋嫨宸ュ巶" clearable @change="selectFactoey">
+          <el-option
+            v-for="item in factories"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="鐗╂枡" prop="materialId">
+        <el-select v-model="form.materialId" placeholder="璇烽�夋嫨鐗╂枡" clearable>
+          <el-option
+            v-for="item in materials"
+            :key="item.materialId"
+            :label="item.mmodel.name"
+            :value="item.materialId"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="宸ュ簭" prop="procedureId">
+        <el-select v-model="form.procedureId" placeholder="璇烽�夋嫨璁′环鏂瑰紡" clearable>
+          <el-option
+            v-for="item in productes"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="宸ヨ祫鍗曚环锛堝厓)" prop="salary">
+        <el-input v-model="form.salary" placeholder="璇疯緭鍏ュ伐璧勫崟浠凤紙鍏�)" v-trim/>
+      </el-form-item>
+      <el-form-item label="鏍囧噯鏁堢巼" prop="num">
+        <div style="display: flex;">
+          <el-input v-model="form.num" v-trim/>/
+          <el-input v-model="form.hours" v-trim/><div class="unit">灏忔椂</div>
+          <el-input v-model="form.minute" v-trim/><div class="unit">鍒嗛挓</div>
+          <el-input v-model="form.second" v-trim/><div>绉�</div>
+        </div>
+      </el-form-item>
+      <el-form-item label="涓嶈壇鍝佹槸鍚﹁鍏�" prop="unqualified">
+        <el-switch v-model="form.unqualified" :inactive-value="0" :active-value="1"></el-switch>
+        <!-- <el-input v-model="form.unqualified" placeholder="璇疯緭鍏ヤ笉鑹搧鏄惁璁″叆 0鍚� 1鏄�" v-trim/> -->
+      </el-form-item>
+      
+    </el-form>
+  </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import { getDepartmentListByConditon } from '@/api/ext/departmentExt'
+import { getBomMaterialList } from '@/api/ext/bomExt'
+import { routeExt as proceList } from '@/api/ext/routeProcedureExt'
+export default {
+  name: 'OperaSalaryParamWindow',
+  extends: BaseOpera,
+  components: { GlobalWindow },
+  data () {
+    return {
+      // 琛ㄥ崟鏁版嵁
+      form: {
+        id: null,
+        materialId: '',
+        createUser: '',
+        createTime: '',
+        updateUser: '',
+        updateTime: '',
+        remark: '',
+        rootDepartId: '',
+        departId: '',
+        procedureId: '',
+        bomId: '',
+        salary: '',
+        num: '',
+        times: '',
+        hours: '',
+        minute: '',
+        second: '',
+        unqualified: 0,
+        type: ''
+      },
+      type: [
+        { label: '璁′欢', value: 0 },
+        { label: '璁℃椂', value: 1 },
+      ],
+      factories: [],
+      materials: [],
+      productes: [],
+      // 楠岃瘉瑙勫垯
+      rules: {
+      }
+    }
+  },
+  created () {
+    this.config({
+      api: '/business/salaryParam',
+      'field.id': 'id'
+    })
+    this.initData()
+  },
+  methods: {
+    open (title, target) {
+      this.title = title
+      this.visible = true
+      this.isEdit = false
+      // 鏂板缓
+      if (target == null) {
+        this.$nextTick(() => {
+          this.$refs.form.resetFields()
+          this.form[this.configData['field.id']] = null
+          this.form.times = ''
+          this.form.second = ''
+          this.form.minute = ''
+          this.form.hours = ''
+          this.form.departId = this.factories[0]?this.factories[0].id:''
+          this.selectFactoey(this.form.departId)
+        })
+        return
+      }
+      // 缂栬緫
+      this.$nextTick(() => {
+        this.isEdit = true
+        for (const key in this.form) {
+          this.form[key] = target[key]
+        }
+        let { times } = target
+        this.form.second = +times%60
+        let lesMin = Math.floor(+times/60)
+        this.form.minute = lesMin%60
+        this.form.hours = Math.floor(lesMin/60)
+        this.selectFactoey(this.form.departId, true)
+        
+      })
+    },
+    initData() {
+      getDepartmentListByConditon({ type: 1 })
+        .then(res => {
+          this.factories = res
+        })
+        .catch(err => {
+          console.log(err)
+        })
+    },
+    selectFactoey (v, isEdit=false) {
+      
+      // console.log(v)
+      if (!isEdit) {
+        this.materials = []
+        this.form.materialId = ''
+        this.form.procedureId = ''
+        this.productes = []
+      }
+      getBomMaterialList({ departId: v })
+        .then(res => {
+          // console.log(res)
+          this.materials = res
+          if (!isEdit) {
+            this.form.materialId = res[0]?res[0].materialId:''
+          }
+          this.selectMaterial(this.form.materialId, isEdit)
+        })
+        .catch(err => {
+          console.log(err)
+        })
+    },
+    selectMaterial (id, isEdit) {
+     
+      let routeId;
+      for (const item of this.materials) {
+        if (item.materialId === id) {
+          routeId = item.routeId
+        }
+      }
+      proceList(routeId)
+        .then(res => {
+          // console.log(res)
+          this.productes = res.proceList
+          if (!isEdit) {
+            this.form.procedureId = this.productes[0]?this.productes[0].id:''
+          }
+        }).catch(err => {
+          console.log(err)
+        })
+    },
+    confirm () {
+      // console.log((+this.form.hours) * 3600);
+      // console.log((+this.form.minute) * 60);
+      // console.log(this.form.second);
+      this.form.times = (+this.form.hours) * 3600 + (+this.form.minute)* 60 + (+this.form.second)
+      if (this.form.id == null || this.form.id === '') {
+        this.__confirmCreate()
+        return
+      }
+      this.__confirmEdit()
+    },
+  },
+}
+</script>
+
+<style>
+.unit {
+  white-space: nowrap;
+}
+</style>
diff --git a/web_standard/src/components/ext/OperaWorkorderDetailWindow.vue b/web_standard/src/components/ext/OperaWorkorderDetailWindow.vue
index a189878..a5bfa91 100644
--- a/web_standard/src/components/ext/OperaWorkorderDetailWindow.vue
+++ b/web_standard/src/components/ext/OperaWorkorderDetailWindow.vue
@@ -1,28 +1,23 @@
 <template>
-  <GlobalWindow
-    :title="title"
-    width="1182px"
-    :visible.sync="visible"
-    :confirm-working="isWorking"
-    @confirm="confirm"
-  >
+  <GlobalWindow :title="title" width="1182px" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm">
     <div style="min-width:1150px">
       <el-form :model="form" ref="form" label-width="100px" label-suffix="锛�" inline>
         <div style="margin-bottom:15px">
           <span class="text-code">{{ form.procedureName + ' | ' + form.mmodel.name + ' ' + form.mmodel.code }}</span>
           <!-- 0宸插垱寤恒��1宸插鏂欍��2宸插畬宸ユ銆�3宸叉楠屻��4宸叉姤宸ャ�併��6宸插彇娑� -->
-          <span v-if="form.status==0" style="background-color: #305ED5;" class="status-log">宸插垱寤�</span>
-          <span v-else-if="form.status==6" style="background-color: #BBBBBB;" class="status-log">宸插彇娑�</span>
-          <span v-else style="background-color: #03AF76;" class="status-log">{{ form.status==1 ? '宸插鏂�' : form.status==2 ? '宸插畬宸ユ' : form.status==3 ? '宸叉楠�' : '宸叉姤宸�' }}</span>
+          <span v-if="form.status == 0" style="background-color: #305ED5;" class="status-log">宸插垱寤�</span>
+          <span v-else-if="form.status == 6" style="background-color: #BBBBBB;" class="status-log">宸插彇娑�</span>
+          <span v-else style="background-color: #03AF76;" class="status-log">{{ form.status == 1 ? '宸插鏂�' : form.status == 2 ?
+            '宸插畬宸ユ' : form.status == 3 ? '宸叉楠�' : '宸叉姤宸�' }}</span>
           <!-- <span v-if="form.status==3" style="background-color: #BBBBBB;" class="status-log">宸插彇娑�</span> -->
         </div>
-        <el-form-item label="宸ュ崟缂栧彿" prop="workorderCode" class="count-style" >
+        <el-form-item label="宸ュ崟缂栧彿" prop="workorderCode" class="count-style">
           {{ form.code }}
         </el-form-item>
-        <el-form-item label="鐢熶骇鏃ユ湡" prop="proTime" class="count-style" >
+        <el-form-item label="鐢熶骇鏃ユ湡" prop="proTime" class="count-style">
           {{ form.planDate }}
         </el-form-item>
-        <el-form-item label="鐢熶骇鎵规鍙�" prop="batch" class="count-style" >
+        <el-form-item label="鐢熶骇鎵规鍙�" prop="batch" class="count-style">
           {{ form.batch }}
         </el-form-item>
         <!-- <el-form-item label="璁″垝浜哄憳" prop="planUser" class="count-style" >
@@ -31,8 +26,8 @@
         <el-form-item label="璁″垝鏃ユ湡" prop="planDate" class="count-style" >
           {{ form.pmodel.createTime }}
         </el-form-item> -->
-        <el-form-item label="鐢熶骇鏁伴噺" prop="machine" class="count-style" >
-          {{ form.planNum ? (form.planNum + (form.umodel.name ? form.umodel.name : '')) : '0'  }}
+        <el-form-item label="鐢熶骇鏁伴噺" prop="machine" class="count-style">
+          {{ form.planNum ? (form.planNum + (form.umodel.name ? form.umodel.name : '')) : '0' }}
         </el-form-item>
         <!-- <el-form-item label="璁″垝鏁伴噺" prop="planNum" class="count-style" >
           {{ form.pmodel.num }}
@@ -43,42 +38,36 @@
         <!-- <el-form-item label="鍙戝竷鏃ユ湡" prop="startDate" class="count-style" >
           {{ form.pmodel.publishDate }}
         </el-form-item> -->
-        <el-form-item label="鍘熷伐鍗曞彿" prop="originWorkorderId" class="count-style" >
+        <el-form-item label="鍘熷伐鍗曞彿" prop="originWorkorderId" class="count-style">
           {{ form.originWorkorderId }}
         </el-form-item>
-        <el-form-item label="鍒嗛厤浜哄憳" prop="distributeUser" class="count-style" >
+        <el-form-item label="鍒嗛厤浜哄憳" prop="distributeUser" class="count-style">
           {{ form.userName }}
         </el-form-item>
-        <el-form-item label="鍒嗛厤鏃堕棿" prop="distributeTime" class="count-style" >
+        <el-form-item label="鍒嗛厤鏃堕棿" prop="distributeTime" class="count-style">
           {{ form.createTime }}
         </el-form-item>
-        <el-form-item label="鐢熶骇浜哄憳" prop="proUser" class="count-style" >
-  
+        <el-form-item label="鐢熶骇浜哄憳" prop="proUser" class="count-style">
+
           <div v-for="(item, index) in form.proUserList" :key="index">{{ item.proUserDepartName }}</div>
           <!-- {{ form.proUserName + (form.proUserDepartName ? ('/' + form.proUserDepartName) : '') }} -->
         </el-form-item>
-        <el-form-item label="鐢熶骇璁惧" prop="machine" class="count-style" >
-          {{ form.pgmodel && `銆�${form.pgmodel.code}銆�${form.pgmodel.name}`}}
+        <el-form-item label="鐢熶骇璁惧" prop="machine" class="count-style">
+          {{ form.pgmodel && `銆�${form.pgmodel.code}銆�${form.pgmodel.name}` }}
         </el-form-item>
-        
-        <el-form-item label="鍚堟牸鏁伴噺" prop="qualifiedNum" class="count-style" >
+
+        <el-form-item label="鍚堟牸鏁伴噺" prop="qualifiedNum" class="count-style">
           {{ form.qualifiedNum ? (form.qualifiedNum + (form.umodel.name ? form.umodel.name : '')) : '0' }}
         </el-form-item>
-        <el-form-item label="涓嶈壇鏁伴噺" prop="unqualifiedNum" class="count-style" >
+        <el-form-item label="涓嶈壇鏁伴噺" prop="unqualifiedNum" class="count-style">
           {{ form.unqualifiedNum ? (form.unqualifiedNum + (form.umodel.name ? form.umodel.name : '')) : '0' }}
         </el-form-item>
       </el-form>
       <!-- 琛ㄦ牸鍜屽垎椤� -->
       <el-tabs v-model="activeName" @tab-click="handleClick">
         <el-tab-pane label="鐢熶骇鎶ュ伐" name="first">
-          <el-table
-            v-loading="isSearch"
-            :data="report"
-            border
-            show-summary
-            :summary-method="getReportSummaries"
-          >
-          <!-- stripe -->
+          <el-table v-loading="isSearch" :data="report" border show-summary :summary-method="getReportSummaries">
+            <!-- stripe -->
             <el-table-column prop="createTime" label="鎶ュ伐鏃堕棿" min-width="140px"></el-table-column>
             <el-table-column label="鐢熶骇浜哄憳" show-overflow-tooltip min-width="100px">
               <template slot-scope="{row}">
@@ -86,11 +75,27 @@
               </template>
             </el-table-column>
             <el-table-column prop="machine" label="鐢熶骇璁惧" min-width="100px">
-              {{ form.pgmodel && `銆�${form.pgmodel.code}銆�${form.pgmodel.name}`}}
+              {{ form.pgmodel && `銆�${form.pgmodel.code}銆�${form.pgmodel.name}` }}
             </el-table-column>
             <!-- <el-table-column prop="amodel.code" label="宸ヨ瀹瑰櫒缂栧彿" show-overflow-tooltip="" min-width="100px"></el-table-column> -->
             <el-table-column prop="mmodel.name" label="鐗╂枡鍚嶇О" show-overflow-tooltip min-width="100px"></el-table-column>
-            <el-table-column prop="doneType" label="鎶ュ伐绫诲瀷" min-width="60px">
+            <el-table-column prop="qualifiedNum" label="鍚堟牸鏁伴噺" min-width="100px">
+              <template slot-scope="{row}">
+                <span class="valid-style">{{ row.qualifiedNum + row.umodel.name }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column prop="unqualifiedNum" label="涓嶈壇鏁伴噺" min-width="100px">
+              <template slot-scope="{row}">
+                <span class="unvalid-style">{{ row.unqualifiedNum + row.umodel.name }}</span>
+                <!-- <span :class="row.materialDonetype==0 ? 'valid-style' : ''">{{ row.num + row.umodel.name }}</span> -->
+              </template>
+            </el-table-column>
+            <el-table-column prop="num" label="鎶ュ伐鏁伴噺" min-width="100px">
+              <template slot-scope="{row}">
+                <span>{{ row.num + row.umodel.name }}</span>
+              </template>
+            </el-table-column>
+            <!-- <el-table-column prop="doneType" label="鎶ュ伐绫诲瀷" min-width="60px">
               <template slot-scope="{row}">
                 <span v-if="row.doneType==0" class="valid-style">鍚堟牸</span>
                 <span v-else-if="row.doneType==1" class="unvalid-style">涓嶈壇</span>
@@ -102,15 +107,11 @@
               <template slot-scope="{row}">
                 <span :class="row.doneType==0 ? 'valid-style' : (row.doneType==1 ? 'unvalid-style' :(row.doneType==2 ? 'scrap-style' : ''))">{{ row.num ? (row.num + (row.umodel.name ? row.umodel.name : '')) : '0' }}</span>
               </template>
-            </el-table-column>
+            </el-table-column> -->
           </el-table>
         </el-tab-pane>
         <el-tab-pane label="鐢熶骇妫�楠�" name="second">
-          <el-table
-            v-loading="isSearch"
-            :data="verify"
-            stripe
-            border>
+          <el-table v-loading="isSearch" :data="verify" stripe border>
             <el-table-column prop="code" label="妫�楠岃褰曠紪鍙�" min-width="140px"></el-table-column>
             <el-table-column prop="createTime" label="妫�楠屾椂闂�" min-width="140px"></el-table-column>
             <el-table-column prop="smodelRealName" label="妫�楠屼汉鍛�" min-width="100px"></el-table-column>
@@ -138,30 +139,23 @@
             </el-table-column>
             <el-table-column prop="devmodel.code" label="鐢熶骇璁惧" min-width="100px">
               <template slot-scope="{row}">
-                {{ row.devmodel && `銆�${row.devmodel.code}銆�${row.devmodel.name}`}}
+                {{ row.devmodel && `銆�${row.devmodel.code}銆�${row.devmodel.name}` }}
               </template>
             </el-table-column>
             <!-- <el-table-column prop="proUserids" label="鐢熶骇浜哄憳" show-overflow-tooltip min-width="100px"></el-table-column> -->
           </el-table>
         </el-tab-pane>
         <el-tab-pane label="鐢熶骇鎶曟枡" name="third">
-          <el-table
-            v-loading="isSearch"
-            :data="feeds"
-            stripe
-            border
-            show-summary
-            :summary-method="getPutSummaries"
-          >
+          <el-table v-loading="isSearch" :data="feeds" stripe border show-summary :summary-method="getPutSummaries">
             <el-table-column prop="createTime" label="鎶曟枡鏃堕棿" min-width="140px"></el-table-column>
             <!-- <el-table-column prop="amodel.code" label="宸ヨ瀹瑰櫒缂栧彿" min-width="100px"></el-table-column> -->
             <el-table-column prop="mmodel.name" label="鐗╂枡鍚嶇О" min-width="100px"></el-table-column>
             <el-table-column prop="promodel.name" label="宸ュ簭鍚嶇О" min-width="100px"></el-table-column>
             <el-table-column label="璐ㄩ噺灞炴��" min-width="100px">
               <template slot-scope="{row}">
-                <span v-if="row.materialDonetype==0" class="valid-style">鍚堟牸</span>
-                <span v-else-if="row.materialDonetype==1" class="unvalid-style">涓嶈壇</span>
-                <span v-else-if="row.materialDonetype==2" class="scrap-style">鎶ュ簾</span>
+                <span v-if="row.materialDonetype == 0" class="valid-style">鍚堟牸</span>
+                <span v-else-if="row.materialDonetype == 1" class="unvalid-style">涓嶈壇</span>
+                <span v-else-if="row.materialDonetype == 2" class="scrap-style">鎶ュ簾</span>
                 <span v-else>-</span>
               </template>
             </el-table-column>
@@ -178,12 +172,7 @@
           </el-table>
         </el-tab-pane>
         <el-tab-pane label="鐢熶骇鐐规" name="fourth">
-          <el-table
-            v-loading="isSearch"
-            :data="check"
-            stripe
-            border
-          >
+          <el-table v-loading="isSearch" :data="check" stripe border>
             <el-table-column prop="createTime" label="璁板綍鏃堕棿" min-width="140px"></el-table-column>
             <el-table-column prop="userName" label="鎿嶄綔浜哄憳" min-width="100px"></el-table-column>
             <el-table-column prop="attrName" label="妫�鐐瑰睘鎬�" min-width="100px"></el-table-column>
@@ -203,12 +192,8 @@
             <el-table-column prop="value" align="left"></el-table-column>
           </el-table> -->
         </el-tab-pane>
-        <Pagination
-          style="margin-top:10px"
-          @size-change="handleSizeChange"
-          @current-change="handlePageChange"
-          :pagination="pagination"
-        ></Pagination>
+        <Pagination style="margin-top:10px" @size-change="handleSizeChange" @current-change="handlePageChange"
+          :pagination="pagination"></Pagination>
       </el-tabs>
     </div>
     <div slot="footer" class="window__header">
@@ -229,7 +214,7 @@
   name: 'OperaWorkorderDetailWindow',
   extends: BaseOpera,
   components: { GlobalWindow, Pagination },
-  data () {
+  data() {
     return {
       // 琛ㄥ崟鏁版嵁
       form: {
@@ -287,7 +272,7 @@
     }
   },
   inject: ['origins'],
-  created () {
+  created() {
     this.config({
       api: '/ext/materialExt',
       'field.id': 'id'
@@ -302,39 +287,39 @@
     //   })
   },
   methods: {
-    open (title, target) {
+    open(title, target) {
       this.title = title
       this.visible = true
       this.activeName = 'first',
-      // 缂栬緫
-      this.$nextTick(() => {
-        for (const key in this.form) {
-          this.form[key] = target[key]
-        }
-        // console.log('this.form', this.form)
-        workorderRecordExtPage(
-          {
-            capacity: this.pagination.pageSize,
-            model: {
-              type: 1,
-              workorderId: this.form.id
-            },
-            page: this.pagination.pageIndex,
-            sorts: null
-          })
-          .then(res => {
-            // console.log(res)
-            this.report = res.records
-            this.pagination.pageIndex = res.page
-            this.pagination.total = res.total
-            this.pagination.pageSize = res.capacity
-          })
-          .catch(err => {
-            console.log(err)
-          })
-      })
+        // 缂栬緫
+        this.$nextTick(() => {
+          for (const key in this.form) {
+            this.form[key] = target[key]
+          }
+          // console.log('this.form', this.form)
+          workorderRecordExtPage(
+            {
+              capacity: this.pagination.pageSize,
+              model: {
+                type: 1,
+                workorderId: this.form.id
+              },
+              page: this.pagination.pageIndex,
+              sorts: null
+            })
+            .then(res => {
+              // console.log(res)
+              this.report = res.records
+              this.pagination.pageIndex = res.page
+              this.pagination.total = res.total
+              this.pagination.pageSize = res.capacity
+            })
+            .catch(err => {
+              console.log(err)
+            })
+        })
     },
-    cancel () {
+    cancel() {
       this.$refs.form.resetFields()
       this.activeName = 'first'
       this.pagination.pageIndex = 1
@@ -342,21 +327,21 @@
       this.pagination.total = 0
       this.visible = false
     },
-    statusToStr (status) {
+    statusToStr(status) {
       for (const item of this.status) {
         if (item.id === status) {
           return item.name
         }
       }
     },
-    originToStr (id) {
+    originToStr(id) {
       for (const item of this.origins()) {
         if (item.id === id) {
           return item.code
         }
       }
     },
-    columnStyle ({ row, column, rowIndex, columnIndex }) {
+    columnStyle({ row, column, rowIndex, columnIndex }) {
       if (rowIndex % 2 === 0) {
         // 淇敼姣忚绗竴涓崟鍏冩牸鐨勮儗鏅壊
         return 'background:#f3f6fc;'
@@ -364,22 +349,22 @@
         return 'background:#ffffff;'
       }
     },
-    handleClick (tab, event) {
+    handleClick(tab, event) {
       this.pagination.pageIndex = 1
       this.pagination.pageSize = 10
       this.pagination.total = 0
       this.search()
     },
-    handleSizeChange (pageSize) {
+    handleSizeChange(pageSize) {
       this.pagination.pageSize = pageSize
       this.search()
     },
-    handlePageChange (pageIndex) {
+    handlePageChange(pageIndex) {
       this.pagination.pageIndex = pageIndex
       // console.log('鑾峰彇鏁版嵁')
       this.search()
     },
-    search () {
+    search() {
       if (this.activeName === 'first') {
         workorderRecordExtPage(
           {
@@ -389,7 +374,7 @@
               workorderId: this.form.id
             },
             page: this.pagination.pageIndex,
-            sorts: [{direction: "DESC", property: "CREATE_TIME"}]
+            sorts: [{ direction: "DESC", property: "CREATE_TIME" }]
           })
           .then(res => {
             // console.log(res)
@@ -408,7 +393,7 @@
             workorderId: this.form.id
           },
           page: this.pagination.pageIndex,
-          sorts: [{direction: "DESC", property: "CREATE_TIME"}]
+          sorts: [{ direction: "DESC", property: "CREATE_TIME" }]
         })
           .then(res => {
             // console.log(res.records)
@@ -429,7 +414,7 @@
               workorderId: this.form.id
             },
             page: this.pagination.pageIndex,
-            sorts: [{direction: "DESC", property: "CREATE_TIME"}]
+            sorts: [{ direction: "DESC", property: "CREATE_TIME" }]
           })
           .then(res => {
             // console.log(res)
@@ -449,7 +434,7 @@
               workorderId: this.form.id
             },
             page: this.pagination.pageIndex,
-            sorts: [{direction: "DESC", property: "CREATE_TIME"}]
+            sorts: [{ direction: "DESC", property: "CREATE_TIME" }]
           })
           .then(res => {
             // console.log(res)
@@ -463,7 +448,7 @@
           })
       }
     },
-    getPutSummaries (param) {
+    getPutSummaries(param) {
       const { columns, data } = param;
       const sums = [];
       columns.forEach((column, index) => {
@@ -476,7 +461,7 @@
         } else if (index === 5) {
           sums[index] = '-';
           return;
-        } 
+        }
         const values = data.map(item => Number(item[column.property]));
         if (!values.every(value => isNaN(value))) {
           sums[index] = 0
@@ -489,15 +474,12 @@
       });
       return sums
     },
-    getReportSummaries (param) {
+    getReportSummaries(param) {
       const { columns, data } = param;
       const sums = [];
       columns.forEach((column, index) => {
         if (index === 0) {
           sums[index] = '鍚堣';
-          return;
-        } else if (index === 4) {
-          sums[index] = '-';
           return;
         }
         const values = data.map(item => Number(item[column.property]));
@@ -522,21 +504,24 @@
   width: 23%;
   // height: 32px;
 }
+
 ::v-deep .el-form-item {
   margin-bottom: 8px !important;
 }
+
 .text-code {
   color: #333;
   font-weight: 500;
   padding-right: 15px;
   font-size: 15px;
-  vertical-align:middle;
+  vertical-align: middle;
 }
+
 .status-log {
   padding: 1px 5px;
   border-radius: 3px;
   font-size: 12px;
-  color:#fff;
-  vertical-align:middle;
+  color: #fff;
+  vertical-align: middle;
 }
 </style>
diff --git a/web_standard/src/components/ext/OrderDistrubution.vue b/web_standard/src/components/ext/OrderDistrubution.vue
index 97946e5..9d055e4 100644
--- a/web_standard/src/components/ext/OrderDistrubution.vue
+++ b/web_standard/src/components/ext/OrderDistrubution.vue
@@ -109,9 +109,12 @@
         this.form.planDate = new Date()
         this.form.planId = target.id
         this.form.planNum = target.num - target.distributNum
-        getDeviceByCondition({})
+        getDeviceByCondition({procedureId: target.procedureId})
           .then(res => {
+
             this.device = res
+            this.form.proGroupId = res[0] ? res[0].id : ''
+            this.getUser(this.form.proGroupId)
           })
           .catch(err => {
             console.log(err)
diff --git a/web_standard/src/components/ext/addProcesRoute.vue b/web_standard/src/components/ext/addProcesRoute.vue
deleted file mode 100644
index bd2da93..0000000
--- a/web_standard/src/components/ext/addProcesRoute.vue
+++ /dev/null
@@ -1,162 +0,0 @@
-<template>
-  <GlobalWindow
-    :title="title"
-    :visible.sync="visible"
-    :confirm-working="isWorking"
-    :width="width"
-    @confirm="confirm"
-  >
-    <div class="text">鍩烘湰淇℃伅</div>
-    <el-form聽ref="searchForm"聽聽:model="searchForm"聽label-width="140px"聽inline>
-      <el-form-item聽label="宸ヨ壓鍚嶇О:"聽prop="rmodelName"聽required="true">
-        <el-input聽v-model="searchForm.rmodelName"聽placeholder="璇疯緭鍏ュ伐鑹哄悕绉�"聽@keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item聽label="宸ヨ壓缂栫爜锛�"聽prop="procedureId"聽required="true">
-    聽聽<GlobalWindow
-    聽聽聽聽:title="title"
-    聽聽聽聽:visible.sync="visible"
-    聽聽聽聽:confirm-working="isWorking"
-    聽聽聽聽:width="width"
-    聽聽聽聽@confirm="confirm"
-    聽聽>
-    聽聽聽聽<div聽class="text">鍩烘湰淇℃伅</div>
-    聽聽聽聽聽<el-form聽ref="searchForm"聽聽:model="searchForm"聽label-width="140px"聽inline>
-      聽聽聽聽聽聽<el-form-item聽label="宸ヨ壓鍚嶇О:"聽prop="rmodelName"聽required="true">
-      聽聽聽聽聽聽聽聽<el-input聽v-model="searchForm.rmodelName"聽placeholder="璇疯緭鍏ュ伐鑹哄悕绉�"聽@keypress.enter.native="search"></el-input>
-      聽聽聽聽聽聽</el-form-item>
-    聽聽聽聽聽聽聽聽<el-form-item聽label="宸ヨ壓缂栫爜锛�"聽prop="procedureId"聽required="true">
-    聽聽<GlobalWindow
-    聽聽聽聽:title="title"
-    聽聽聽聽:visible.sync="visible"
-    聽聽聽聽:confirm-working="isWorking"
-    聽聽聽聽:width="width"
-    聽聽聽聽@confirm="confirm"
-    聽聽>
-<!-- 聽聽聽聽<div聽class="text">鍩烘湰淇℃伅</div>
-聽聽聽聽聽<el-form聽ref="searchForm"聽聽:model="searchForm"聽label-width="140px"聽inline>
-聽聽聽聽聽聽聽聽聽聽聽聽<el-form-item聽label="宸ヨ壓鍚嶇О:"聽prop="rmodelName"聽required="true">
-聽聽聽聽聽聽聽聽<el-input聽v-model="searchForm.rmodelName"聽placeholder="璇疯緭鍏ュ伐鑹哄悕绉�"聽@keypress.enter.native="search"></el-input>
-聽聽聽聽聽聽</el-form-item>
-聽聽聽聽聽聽聽聽<el-form-item聽label="宸ヨ壓缂栫爜锛�"聽prop="procedureId"聽required="true">
->>>>>>> .r46706
-聽聽聽聽聽聽聽聽<el-input聽v-model="searchForm.procedureId"聽placeholder="璇疯緭鍏ュ伐鑹虹紪鐮�"聽@keypress.enter.native="search"></el-input>
-聽聽聽聽聽聽</el-form-item>
-聽聽聽聽聽聽聽聽聽聽<el-form-item聽label="鎵�灞炲伐鍘傦細"聽prop="procedureId"聽required="true">
-聽聽聽聽聽聽聽聽<el-input聽v-model="searchForm.dmodelCompanyId"聽placeholder="璇疯緭鍏ユ墍灞炲伐鍘�"聽@keypress.enter.native="search"></el-input>
-聽聽聽聽聽聽</el-form-item>
-聽聽聽聽聽聽聽聽<div聽class="text聽title"><span>宸ュ簭鍒楄〃</span></div>
-聽聽聽聽聽聽聽聽<div聽style="padding-top:20px">
-聽聽聽聽聽聽聽<el-button聽type="primary"聽聽@click="drawer聽=聽true"聽>娣诲姞宸ュ簭
-聽聽聽聽聽聽聽聽聽<el-drawer
-聽聽聽聽聽title="鎴戞槸鏍囬"
-聽聽聽聽聽:visible.sync="drawer"
-聽聽聽聽聽size='50%'
-聽聽聽聽聽modal="false"
-聽聽聽聽:with-header="false">
-聽聽聽聽<span>鎴戞潵鍟�!</span>
-聽聽聽聽聽聽<div聽class="demo-drawer__footer">
-聽聽聽聽聽聽<el-button聽@click="cancelForm">鍙柭犳秷</el-button>
-聽聽聽聽聽聽<el-button聽type="primary"聽@click="$refs.drawer.closeDrawer()"聽:loading="loading">{{聽loading聽?聽'鎻愪氦涓�...'聽:聽'纭犲畾'聽}}</el-button>
-聽聽聽聽</div>
-聽聽聽聽</el-drawer>
-聽聽聽聽聽聽聽</el-button>
-聽聽聽聽聽聽聽<el-button聽type="primary"聽plain>涓婄Щ</el-button>
-聽聽聽聽聽聽聽<el-button聽type="primary"聽plain>涓嬬Щ</el-button>
-聽聽聽聽聽聽聽</div>
-聽聽聽聽聽聽聽聽聽聽<template聽v-slot:table-wrap>
-聽聽聽聽聽聽<el-table
-聽聽聽聽聽聽聽聽:data="list"
-聽聽聽聽聽聽聽聽stripe
-聽聽聽聽聽聽聽聽border
-聽聽聽聽聽聽聽聽@selection-change="handleSelectionChange"
-聽聽聽聽聽聽>
-聽聽聽聽聽聽聽聽<el-table-column聽type="selection"聽width="55"聽fixed="left"></el-table-column>
-聽聽聽聽聽聽聽聽<el-table-column聽label="鐗╂枡淇℃伅"聽min-width="140px">
-聽聽聽聽聽聽聽聽</el-table-column>
-聽聽聽聽聽聽聽聽<el-table-column聽prop="origin"聽label="浜х敓鏂瑰紡"聽min-width="100px">
-聽聽聽聽聽聽聽聽</el-table-column>
-聽聽聽聽聽聽聽聽</el-table-column>
-聽聽聽聽聽聽聽聽<el-table-column聽label="琚浆鎹㈠睘鎬�"聽min-width="100px">
-聽聽聽聽聽聽聽聽</el-table-column>
-聽聽聽聽聽聽聽聽<el-table-column聽prop="convertedName"聽label="琚浆鎹㈠崟浣�"聽min-width="100px"></el-table-column>
-聽聽聽聽聽聽聽聽<el-table-column聽prop="convertedNum"聽label="琚浆鎹㈡暟鍊�"聽min-width="100px"></el-table-column>
-聽聽聽聽聽聽聽聽<el-table-column聽label="杞崲灞炴��"聽min-width="100px">
-聽聽聽聽聽聽聽聽</el-table-column>
-聽聽聽聽聽聽聽聽<el-table-column聽prop="unitName"聽label="杞崲鍗曚綅"聽min-width="100px"></el-table-column>
-聽聽聽聽聽聽聽聽<el-table-column聽prop="unitNum"聽label="杞崲鏁板��"聽min-width="100px"></el-table-column>
-聽聽聽聽聽聽聽聽<el-table-column聽prop="convertedTime"聽label="杞崲鏃堕棿"聽min-width="140px"></el-table-column>
-聽聽聽聽聽聽聽聽<el-table-column
-聽聽聽聽聽聽聽聽聽聽label="鎿嶄綔"
-聽聽聽聽聽聽聽聽聽聽min-width="120"
-聽聽聽聽聽聽聽聽聽聽fixed="right"
-聽聽聽聽聽聽聽聽>
-聽聽聽聽聽聽聽聽聽聽<template聽slot-scope="{row}">
-聽聽聽聽聽聽聽聽聽聽聽聽<el-button聽type="text"聽@click="$refs.operaUnitConversionExtWindow.open('缂栬緫鍗曚綅杞崲',聽row)">缂栬緫</el-button>
-聽聽聽聽聽聽聽聽聽聽聽聽<el-button聽type="text"聽@click="deleteById(row)">鍒犻櫎</el-button>
-聽聽聽聽聽聽聽聽聽聽</template>
-聽聽聽聽聽聽聽聽</el-table-column>
-聽聽聽聽聽聽</el-table>
-聽聽聽聽聽聽<pagination
-聽聽聽聽聽聽聽聽@size-change="handleSizeChange"
-聽聽聽聽聽聽聽聽@current-change="handlePageChange"
-聽聽聽聽聽聽聽聽:pagination="tableData.pagination"
-聽聽聽聽聽聽>
-聽聽聽聽聽聽</pagination>
-聽聽聽聽</template>
-聽聽聽聽聽聽<section>
-聽聽聽聽聽聽聽聽<el-button聽type="primary"聽@click="search">鏌ユ壘</el-button>
-聽聽聽聽聽聽聽聽<el-button聽type="primary"聽@click="reset">娓呯┖</el-button>
-聽聽聽聽聽聽</section>
-聽聽聽聽</el-form> -->
-聽聽</GlobalWindow>
-</template>
-
-<script>
-import BaseOpera from "@/components/base/BaseOpera";
-import GlobalWindow from "@/components/common/GlobalWindow";
-export default {
-  name: "OperaRouteProcedureExtWindow",
-  extends: BaseOpera,
-  components: { GlobalWindow },
-  data() {
-    return {
-      width: "86%",
-      drawer: false,
-      searchForm: {
-        rmodelName: "",
-        routeId: "",
-        procedureId: "",
-        dmodelCompanyId: "",
-        activeIndex: "1",
-        activeIndex2: "1",
-        id: null,
-        deleted: "",
-        //聽rmodelName:聽'',
-      },
-
-      rules: {},
-    };
-  },
-  methods: {},
-  created() {
-    this.config({
-      api: "/ext/routeProcedureExt",
-      "field.id": "id",
-    });
-  },
-};
-</script>
-
-<style聽lang="scss"聽scoped>
-.text {
-  font-weight: 500;
-}
-.title {
-  width: 80px;
-  height: 30px;
-  border-bottom: 4px聽solid聽#2E68EC;
-  text-align: center;
-  color: #2e68ec;
-  padding-top: 20px;
-}
-</style>
diff --git a/web_standard/src/views/business/salaryParam.vue b/web_standard/src/views/business/salaryParam.vue
new file mode 100644
index 0000000..11a2579
--- /dev/null
+++ b/web_standard/src/views/business/salaryParam.vue
@@ -0,0 +1,142 @@
+<template>
+  <TableLayout :permissions="['business:salaryparam:query']">
+    <!-- 鎼滅储琛ㄥ崟 -->
+    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+      
+      <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">
+        <el-input v-model="searchForm.procedureName" placeholder="璇疯緭鍏ュ伐搴�" @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <el-form-item label="璁′环鏂瑰紡" prop="type">
+        <el-select v-model="searchForm.type" placeholder="璇烽�夋嫨璁′环鏂瑰紡" clearable>
+          <el-option
+            v-for="item in type"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          >
+          </el-option>
+        </el-select>
+      </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>
+      <el-table
+        v-loading="isWorking.search"
+        :data="tableData.list"
+        stripe
+        border
+        @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="type" label="璁′环鏂瑰紡" min-width="100px">
+          <template slot-scope="{row}">
+            {{ row.type == 0 ? '璁′欢' : '璁℃椂' }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="materialName" label="鐗╂枡鍚嶇О" min-width="140px"></el-table-column>
+        <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>
+        <el-table-column prop="times" label="鏍囧噯鏃堕暱" min-width="100px">
+          <template slot-scope="{row}">
+            {{ timesToStr(row.times) }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="unqualified" label="涓嶈壇鍝佹槸鍚﹁鍏�" min-width="110px">
+          <template slot-scope="{row}">
+            {{ row.unqualified == 0 ? '鍚�' : '鏄�' }}
+          </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="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>
+        <el-table-column prop="departId" label="宸ュ巶缂栫爜锛堝叧鑱攄epartment琛級" min-width="100px"></el-table-column>
+        <el-table-column prop="bomId" label="bom缂栫爜锛堝叧鑱攂om琛級" min-width="100px"></el-table-column> -->
+        
+        <el-table-column
+          v-if="containPermissions(['business:salaryparam:update', 'business:salaryparam:delete'])"
+          label="鎿嶄綔"
+          min-width="120"
+          fixed="right"
+        >
+          <template slot-scope="{row}">
+            <el-button type="text" @click="$refs.operaSalaryParamWindow.open('缂栬緫缁╂晥宸ヨ祫閰�', row)" v-permissions="['business:salaryparam:update']">缂栬緫</el-button>
+            <el-button type="text" @click="deleteById(row)" v-permissions="['business:salaryparam:delete']">鍒犻櫎</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+        @size-change="handleSizeChange"
+        @current-change="handlePageChange"
+        :pagination="tableData.pagination"
+      >
+      </pagination>
+    </template>
+    <!-- 鏂板缓/淇敼 -->
+    <OperaSalaryParamWindow ref="operaSalaryParamWindow" @success="handlePageChange"/>
+  </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OperaSalaryParamWindow from '@/components/business/OperaSalaryParamWindow'
+export default {
+  name: 'SalaryParam',
+  extends: BaseTable,
+  components: { TableLayout, Pagination, OperaSalaryParamWindow },
+  data () {
+    return {
+      // 鎼滅储
+      searchForm: {
+        keyWord: '',
+        procedureName: '',
+        type: ''
+      },
+      type: [
+        { label: '璁′欢', value: '0' },
+        { label: '璁℃椂', value: '1' },
+      ]
+    }
+  },
+  created () {
+    this.config({
+      module: '璁剧疆绫�-缁╂晥宸ヨ祫閰嶇疆琛�',
+      api: '/business/salaryParam',
+      'field.id': 'id',
+      'field.main': 'id'
+    })
+    this.search()
+  },
+  methods: {
+    timesToStr(times) {
+      if (!times) {
+        return '-'
+      }
+      let sec = times%60
+      let lesMin = Math.floor(times/60)
+      let min = lesMin%60
+      let hours =  Math.floor(lesMin/60)
+      return `${hours}鏃�${min}鍒�${sec}绉抈
+    }
+  },
+}
+</script>
diff --git a/web_standard/src/views/business/workPlans.vue b/web_standard/src/views/business/workPlans.vue
index bbf64f7..222ae5d 100644
--- a/web_standard/src/views/business/workPlans.vue
+++ b/web_standard/src/views/business/workPlans.vue
@@ -109,16 +109,15 @@
             <span v-else>-</span>
           </template>
         </el-table-column>
-        <el-table-column label="浼樺厛绾�" min-width="80px">
-          <template slot-scope="{row}">
+        <el-table-column prop="urgent" label="浼樺厛绾�" min-width="80px">
+          <!-- <template slot-scope="{row}">
             <span v-if="row.urgent">{{ row.urgent }}</span>
             <span v-else>-</span>
-          </template>
+          </template> -->
         </el-table-column>
         <el-table-column label="鏆傚仠" min-width="80px">
           <template slot-scope="{row}">
             {{ row.paused==0?'鍚�':'鏄�' }}
-           
           </template>
         </el-table-column>
 
diff --git a/web_standard/src/views/ext/salaryStatistic.vue b/web_standard/src/views/ext/salaryStatistic.vue
new file mode 100644
index 0000000..e58ab8d
--- /dev/null
+++ b/web_standard/src/views/ext/salaryStatistic.vue
@@ -0,0 +1,182 @@
+<template>
+  <TableLayout v-permissions="['ext:workorderrecordext:query']">
+    <!-- 鎼滅储琛ㄥ崟 -->
+    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" label-suffix="锛�" inline>
+      <el-form-item label="鐢熶骇浜哄憳" prop="userId">
+        <el-select v-model="searchForm.userId" clearable filterable placeholder="璇烽�夋嫨">
+          <el-option
+            v-for="item in proUsers"
+            :key="item.id"
+            :label="item.name"
+            :value="item.userId">
+          </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>
+      <el-form-item label="宸ュ簭" prop="procedureId">
+        <el-select v-model="searchForm.procedureId" filterable clearable placeholder="璇烽�夋嫨">
+          <el-option
+            v-for="(item, index) in procedures"
+            :key="index"
+            :label="item.name"
+            :value="item.id">
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="鎶ュ伐鏃堕棿">
+        <el-date-picker
+          v-model="planDate"
+          type="daterange"
+          value-format="yyyy-MM-dd"
+          range-separator="~"
+          start-placeholder="寮�濮嬫棩鏈�"
+          end-placeholder="缁撴潫鏃ユ湡"
+          @change="dateChange"
+        ></el-date-picker>
+      </el-form-item>
+      <section>
+        <el-button type="primary" @click="search">鎼滅储</el-button>
+        <el-button @click="reset">閲嶇疆</el-button>
+      </section>
+    </el-form>
+    <!-- 琛ㄦ牸鍜屽垎椤� -->
+    <template v-slot:table-wrap>
+      <ul class="toolbar">
+        <!-- v-permissions="['ext:workorderrecordext:exportExcel']" -->
+        <li ><el-button type="primary" :loading="isWorking.export" @click="exportExcel">瀵煎嚭</el-button></li>
+      </ul>
+      <el-table
+        v-loading="isWorking.search"
+        :data="tableData.list"
+        stripe
+        border
+      >
+        <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="jijianSalary" label="璁′欢宸ヨ祫" min-width="100px">
+          <template slot-scope="{row}">
+            {{ row.jijianSalary / 100 }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="jishiSalary" label="璁℃椂宸ヨ祫" min-width="100px">
+          <template slot-scope="{row}">
+            {{ row.jishiSalary / 100 }}
+          </template>
+        </el-table-column>
+        <el-table-column prop="num" label="鎶ュ伐鍗曟�绘暟" min-width="100px"></el-table-column>
+        <el-table-column prop="totalSalary" label="灏忚宸ヨ祫(鍏�)" min-width="100px">
+          <template slot-scope="{row}">
+            {{ row.totalSalary / 100 }}
+          </template>
+        </el-table-column>
+       
+      </el-table>
+      <pagination
+        @size-change="handleSizeChange"
+        @current-change="handlePageChange"
+        :pagination="tableData.pagination"
+      ></pagination>
+    </template>
+  </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import { productesGroup } from '@/api/ext/proceduresExt'
+import { companyUserExtAllUser } from '@/api/ext/companyUserExt'
+export default {
+  name: 'WorkorderRecordExt',
+  extends: BaseTable,
+  components: { TableLayout, Pagination },
+  data () {
+    return {
+      // 鎼滅储
+      searchForm: {
+        procedureId: '',
+        userId: '',
+        startDate: '',
+        endDate: '',
+        materialId: '',
+      },
+      procedures: [
+      ],
+      proUsers: [
+      ],
+   
+      orderStatus:[
+        // 0宸插垱寤恒��1宸查鏂欍��2宸插畬宸ユ銆�3宸叉楠屻��4宸茶繑宸ャ��5宸插叆搴撱��6宸叉殏鍋溿��7宸插彇娑堛��8宸插叧闂�
+        //  0宸插垱寤恒��1宸插鏂欍��2宸插畬宸ユ銆�3宸叉楠屻��4宸叉姤宸ャ��5宸插叆搴撱��6宸插彇娑�
+        { name: '宸插垱寤�', id: 0 },
+        { name: '宸插鏂�', id: 1 },
+        { name: '宸插畬宸ユ', id: 2 },
+        { name: '宸叉楠�', id: 3 },
+        { name: '宸叉姤宸�', id: 4 },
+        { name: '宸插彇娑�', id: 6 }
+      ],
+      planDate: []
+    }
+  },
+  created () {
+    this.config({
+      module: '鎶ュ伐璁板綍',
+      api: '/ext/salaryStatistic',
+      'field.id': 'id',
+      'field.main': 'name',
+      sorts: [{ direction: 'DESC', property: 'CREATE_TIME' }]
+    })
+    
+    this.search()
+  },
+  activated() {
+    productesGroup({})
+      .then(res => {
+        this.procedures = res
+      })
+      .catch(err => {
+        console.log(err)
+      })
+    companyUserExtAllUser({ departmentId: this.$store.state.userInfo.curComDepartment.id })
+      .then(res => {
+        this.proUsers = res
+      })
+      .catch(err => {
+        console.log(err)
+      })
+  },
+  methods: {
+    dateChange (v) {
+      // console.log('鏃ユ湡閫夋嫨浜�')
+      this.searchForm.startDate = v[0]
+      this.searchForm.endDate = v[1]
+    },
+    reset () {
+      // console.log('rest', this.searchDate)
+      this.planDate = []
+      this.searchForm.startDate = ''
+      this.searchForm.endDate = ''
+      this.$refs.searchForm.resetFields()
+      this.search()
+    },
+    statusToStr (row) {
+      for (const item of this.orderStatus) {
+        if (item.id === row.omodel.status) {
+          return item.name
+        }
+      }
+      return '-'
+    },
+    customIndex(index) {
+      console.log();
+      return (this.tableData.pagination.pageIndex-1) * this.tableData.pagination.pageSize + index + 1
+    }
+  }
+}
+
+</script>
diff --git a/web_standard/src/views/ext/userSalary.vue b/web_standard/src/views/ext/userSalary.vue
new file mode 100644
index 0000000..cd82995
--- /dev/null
+++ b/web_standard/src/views/ext/userSalary.vue
@@ -0,0 +1,201 @@
+<template>
+  <TableLayout v-permissions="['ext:workorderrecordext:query']">
+    <!-- 鎼滅储琛ㄥ崟 -->
+    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" label-suffix="锛�" inline>
+      <el-form-item label="鐢熶骇浜哄憳" prop="userId">
+        <el-select v-model="searchForm.userId" clearable filterable placeholder="璇烽�夋嫨">
+          <el-option
+            v-for="item in proUsers"
+            :key="item.id"
+            :label="item.name"
+            :value="item.userId">
+          </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>
+      <el-form-item label="宸ュ簭" prop="procedureId">
+        <el-select v-model="searchForm.procedureId" filterable clearable placeholder="璇烽�夋嫨">
+          <el-option
+            v-for="(item, index) in procedures"
+            :key="index"
+            :label="item.name"
+            :value="item.id">
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="鎶ュ伐鏃堕棿">
+        <el-date-picker
+          v-model="planDate"
+          type="daterange"
+          value-format="yyyy-MM-dd"
+          range-separator="~"
+          start-placeholder="寮�濮嬫棩鏈�"
+          end-placeholder="缁撴潫鏃ユ湡"
+          @change="dateChange"
+        ></el-date-picker>
+      </el-form-item>
+      <section>
+        <el-button type="primary" @click="search">鎼滅储</el-button>
+        <el-button @click="reset">閲嶇疆</el-button>
+      </section>
+    </el-form>
+    <!-- 琛ㄦ牸鍜屽垎椤� -->
+    <template v-slot:table-wrap>
+      <ul class="toolbar">
+        <!-- v-permissions="['ext:workorderrecordext:exportExcel']" -->
+        <li ><el-button type="primary" :loading="isWorking.export" @click="exportExcel">瀵煎嚭</el-button></li>
+      </ul>
+      <el-table
+        v-loading="isWorking.search"
+        :data="tableData.list"
+        stripe
+        border
+      >
+        <el-table-column prop="id" 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>
+        <el-table-column prop="materialCode" label="鐗╂枡缂栫爜" min-width="140px"></el-table-column>
+        <el-table-column prop="procedureName" label="宸ュ簭鍚嶇О" min-width="100px"></el-table-column>
+        <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="rate" label="鍚堟牸鐜�(%)" min-width="100px"></el-table-column>
+      </el-table>
+      <pagination
+        @size-change="handleSizeChange"
+        @current-change="handlePageChange"
+        :pagination="tableData.pagination"
+      ></pagination>
+    </template>
+  </TableLayout>
+</template>
+
+<script>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import { getDeviceByCondition } from '@/api/ext/deviceExt'
+import { productesGroup } from '@/api/ext/proceduresExt'
+import { companyUserExtAllUser } from '@/api/ext/companyUserExt'
+import { addPrecision } from '@/utils/util'
+export default {
+  name: 'WorkorderRecordExt',
+  extends: BaseTable,
+  components: { TableLayout, Pagination },
+  data () {
+    return {
+      // 鎼滅储
+      searchForm: {
+        procedureId: '',
+        userId: '',
+        startDate: '',
+        endDate: '',
+        materialId: '',
+      },
+      procedures: [
+      ],
+      proUsers: [
+      ],
+   
+      orderStatus:[
+        // 0宸插垱寤恒��1宸查鏂欍��2宸插畬宸ユ銆�3宸叉楠屻��4宸茶繑宸ャ��5宸插叆搴撱��6宸叉殏鍋溿��7宸插彇娑堛��8宸插叧闂�
+        //  0宸插垱寤恒��1宸插鏂欍��2宸插畬宸ユ銆�3宸叉楠屻��4宸叉姤宸ャ��5宸插叆搴撱��6宸插彇娑�
+        { name: '宸插垱寤�', id: 0 },
+        { name: '宸插鏂�', id: 1 },
+        { name: '宸插畬宸ユ', id: 2 },
+        { name: '宸叉楠�', id: 3 },
+        { name: '宸叉姤宸�', id: 4 },
+        { name: '宸插彇娑�', id: 6 }
+      ],
+      planDate: []
+    }
+  },
+  created () {
+    this.config({
+      module: '鎶ュ伐璁板綍',
+      api: '/ext/userSalary',
+      'field.id': 'id',
+      'field.main': 'name',
+      sorts: [{ direction: 'DESC', property: 'CREATE_TIME' }]
+    })
+    
+    this.search()
+  },
+  activated() {
+    productesGroup({})
+      .then(res => {
+        this.procedures = res
+      })
+      .catch(err => {
+        console.log(err)
+      })
+    companyUserExtAllUser({ departmentId: this.$store.state.userInfo.curComDepartment.id })
+      .then(res => {
+        this.proUsers = res
+      })
+      .catch(err => {
+        console.log(err)
+      })
+  },
+  methods: {
+    dateChange (v) {
+      // console.log('鏃ユ湡閫夋嫨浜�')
+      this.searchForm.startDate = v[0]
+      this.searchForm.endDate = v[1]
+    },
+    reset () {
+      // console.log('rest', this.searchDate)
+      this.planDate = []
+      this.searchForm.startDate = ''
+      this.searchForm.endDate = ''
+      this.$refs.searchForm.resetFields()
+      this.search()
+    },
+    statusToStr (row) {
+      for (const item of this.orderStatus) {
+        if (item.id === row.omodel.status) {
+          return item.name
+        }
+      }
+      return '-'
+    },
+    getSummaries (param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = '鍚堣';
+          return;
+        } else if (index === 4 || index === 8 || index === 6 || index === 10) {
+          // || index === 8 || index === 9 || index === 16 || index === 17
+          sums[index] = '-';
+          return;
+        }
+        const values = data.map(item => {
+          if (index === 6) {
+            return Number(item.omodel.planNum)
+          } else {
+            return Number(item[column.property])
+          }
+          
+        });
+        if (!values.every(value => isNaN(value))) {
+          sums[index] = 0
+          values.forEach(item => {
+            sums[index] = addPrecision(item, sums[index])
+          })
+        } else {
+          sums[index] = '-';
+        }
+      });
+      return sums
+    }
+  }
+}
+
+</script>
diff --git a/web_standard/src/views/ext/workingorderExt.vue b/web_standard/src/views/ext/workingorderExt.vue
index 524d150..8fce261 100644
--- a/web_standard/src/views/ext/workingorderExt.vue
+++ b/web_standard/src/views/ext/workingorderExt.vue
@@ -282,7 +282,7 @@
         status: '',
         mixParam: '',
         pgmodelId: '',
-        statusList: [0,1,2,3]
+        statusList: [0,1,2,3,7]
       },
       origins: [],
       types: [
@@ -307,7 +307,7 @@
         { name: '宸叉楠�', id: 3 },
         // { name: '宸叉姤宸�', id: 4 },
         // { name: '宸插叆搴�', id: 5 },
-        // { name: '宸插彇娑�', id: 6 }
+        { name: '鐢熶骇涓�', id: 7 }
       ],
       productes: [
       ],
diff --git a/web_standard/src/views/ext/workorderPutRecordExt.vue b/web_standard/src/views/ext/workorderPutRecordExt.vue
index 4debc12..b618fe0 100644
--- a/web_standard/src/views/ext/workorderPutRecordExt.vue
+++ b/web_standard/src/views/ext/workorderPutRecordExt.vue
@@ -120,19 +120,18 @@
             <span class="long-title-style">{{ row.procedureName }}</span>
           </template>
         </el-table-column>
-        <el-table-column prop="doneType" label="璐ㄩ噺灞炴��" min-width="100px">
+        <el-table-column prop="qualifiedNum" label="鍚堟牸鏁伴噺" min-width="100px">
           <template slot-scope="{row}">
-            <span v-if="row.materialDonetype==0" class="valid-style">鍚堟牸</span>
-            <span v-else-if="row.materialDonetype==1" class="unvalid-style">涓嶈壇</span>
-            <!-- <span v-else-if="row.doneType==2" class="scrap-style">鎶ュ簾</span> -->
-            <span v-else>-</span>
+            <span class="valid-style">{{ row.qualifiedNum + row.umodel.name }}</span>
           </template>
         </el-table-column>
-        <el-table-column prop="num" label="鏁伴噺" min-width="100px">
+        <el-table-column prop="unqualifiedNum" label="涓嶈壇鏁伴噺" min-width="100px">
           <template slot-scope="{row}">
-            <span :class="row.materialDonetype==0 ? 'valid-style' : 'unvalid-style'">{{ row.num + row.umodel.name }}</span>
+            <span class="unvalid-style">{{ row.num + row.umodel.name}}</span>
+            <!-- <span :class="row.materialDonetype==0 ? 'valid-style' : ''">{{ row.num + row.umodel.name }}</span> -->
           </template>
         </el-table-column>
+        <el-table-column prop="num" label="鎶ュ伐鏁伴噺" min-width="100px"></el-table-column>
         <!-- <el-table-column prop="amodel.code" label="宸ヨ鍣ㄥ叿" min-width="100px"></el-table-column> -->
         <el-table-column prop="deviceCode" label="璁惧" show-overflow-tooltip min-width="100px">
           <template slot-scope="{row}">
diff --git a/web_standard/src/views/ext/workorderRecordExt.vue b/web_standard/src/views/ext/workorderRecordExt.vue
index 31273cf..02af8b7 100644
--- a/web_standard/src/views/ext/workorderRecordExt.vue
+++ b/web_standard/src/views/ext/workorderRecordExt.vue
@@ -112,7 +112,7 @@
           </template>
         </el-table-column>
         <el-table-column prop="procedureName" label="鐢熶骇鍛樺伐" min-width="100px"></el-table-column>
-        <el-table-column prop="doneType" label="鎶ュ伐绫诲瀷" min-width="100px">
+        <!-- <el-table-column prop="doneType" label="鎶ュ伐绫诲瀷" min-width="100px">
           <template slot-scope="{row}">
             <span v-if="row.doneType==0" class="valid-style">鍚堟牸</span>
             <span v-else-if="row.doneType==1" class="unvalid-style">涓嶈壇</span>
@@ -124,6 +124,22 @@
           <template slot-scope="{row}">
             <span :class="row.doneType==0 ? 'valid-style' : (row.doneType==1 ? 'unvalid-style' : (row.doneType==2 ? 'scrap-style' : ''))">{{ row.num + row.umodel.name }}</span>
           </template>
+        </el-table-column> -->
+        <el-table-column prop="qualifiedNum" label="鍚堟牸鏁伴噺" min-width="100px">
+          <template slot-scope="{row}">
+            <span class="valid-style">{{ row.qualifiedNum + row.umodel.name }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="unqualifiedNum" label="涓嶈壇鏁伴噺" min-width="100px">
+          <template slot-scope="{row}">
+            <span class="unvalid-style">{{ row.unqualifiedNum + row.umodel.name}}</span>
+            <!-- <span :class="row.materialDonetype==0 ? 'valid-style' : ''">{{ row.num + row.umodel.name }}</span> -->
+          </template>
+        </el-table-column>
+        <el-table-column prop="num" label="鎶ュ伐鏁伴噺" min-width="100px">
+          <template slot-scope="{row}">
+            <span>{{ row.num + row.umodel.name}}</span>
+          </template>
         </el-table-column>
         <!-- <el-table-column prop="amodel.code" label="宸ヨ鍣ㄥ叿" min-width="100px"></el-table-column> -->
         <el-table-column prop="deviceCode" label="璁惧" show-overflow-tooltip min-width="100px">

--
Gitblit v1.9.3