From d044dc871c16f05c9a1fb1489621020c91ec9d59 Mon Sep 17 00:00:00 2001
From: Mr.Shi <1878285526@qq.com>
Date: 星期三, 16 八月 2023 18:30:56 +0800
Subject: [PATCH] Merge branch 'master' of ssh://139.186.142.91:29418/productDev/dmMes

---
 web_standard/src/views/ext/userSalary.vue |  219 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 219 insertions(+), 0 deletions(-)

diff --git a/web_standard/src/views/ext/userSalary.vue b/web_standard/src/views/ext/userSalary.vue
new file mode 100644
index 0000000..9564fda
--- /dev/null
+++ b/web_standard/src/views/ext/userSalary.vue
@@ -0,0 +1,219 @@
+<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="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="璇烽�夋嫨">
+          <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="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">
+          <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
+        @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: '',
+        materialName: '',
+      },
+      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' }]
+    })
+    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() {
+    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
+    },
+    customIndex(index) {
+      console.log();
+      return (this.tableData.pagination.pageIndex-1) * this.tableData.pagination.pageSize + index + 1
+    }
+  }
+}
+
+</script>

--
Gitblit v1.9.3