From 38febeef0511f6d8812a82f55f440567a2b39c10 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期三, 05 六月 2024 18:07:44 +0800
Subject: [PATCH] 人员管理bug
---
src/components/view/a6-waste-handover.vue | 272 +++++++++++++++++++++++++++
src/components/view/a6-external-personnel-management.vue | 126 ++++++++++++
static/js/menu.js | 6
src/components/view/a6-standard-material-list.vue | 138 +++++++++++++
src/components/view/person-manage.vue | 2
5 files changed, 540 insertions(+), 4 deletions(-)
diff --git a/src/components/view/a6-external-personnel-management.vue b/src/components/view/a6-external-personnel-management.vue
new file mode 100644
index 0000000..bb062f6
--- /dev/null
+++ b/src/components/view/a6-external-personnel-management.vue
@@ -0,0 +1,126 @@
+<style scoped>
+ .title {
+ height: 60px;
+ line-height: 60px;
+ }
+
+ .search {
+ background-color: #fff;
+ height: 80px;
+ display: flex;
+ align-items: center;
+ }
+ .search_thing {
+ display: flex;
+ align-items: center;
+ height: 50px;
+ }
+ .search_label {
+ width: 80px;
+ font-size: 14px;
+ text-align: right;
+ }
+
+ .search_input {
+ width: calc(100% - 120px);
+ }
+ .table {
+ margin-top: 10px;
+ background-color: #fff;
+ width: calc(100% - 40px);
+ height: calc(100% - 60px - 80px - 10px - 40px);
+ padding: 20px;
+ }
+
+</style>
+<template>
+ <div class="below-standard-main">
+ <div style="width: 100%;height: 100%;">
+ <div>
+ <el-row class="title">
+ <el-col :span="12" style="padding-left: 20px;">澶栨潵浜哄憳绠$悊</el-col>
+ <el-col :span="12" style="text-align: right;">
+ <el-button size="medium" type="primary" @click="$refs['ValueTable'].openAddDia('鏂板鎺ュ彛')" v-if="addPower">鏂� 澧�</el-button>
+ <el-button size="medium" @click="$refs['ValueTable'].openDownDia()">瀵� 鍑�</el-button>
+ </el-col>
+ </el-row>
+ </div>
+ <div class="search">
+ <div class="search_thing">
+ <div class="search_label">鏃ユ湡锛�</div>
+ <div class="search_input">
+ <el-date-picker
+ v-model="componentData.entity.sample"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ type="date"
+ size="small"
+ @change="refreshTable()"
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </div>
+ </div>
+ <div class="search_thing" style="padding-left: 30px;">
+ <el-button size="small" @click="refresh()">閲� 缃�</el-button>
+ <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
+ </div>
+ </div>
+ <div class="table">
+ <ValueTable ref="ValueTable" :url="$api.unPass.pageInsUnPass" :componentData="componentData"
+ :key="upIndex" />
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+ import ValueTable from '../tool/value-table.vue'
+export default {
+ components: {
+ ValueTable,
+ },
+ data() {
+ return {
+ componentData: {
+ entity: {
+ sample: null,
+ model: null,
+ orderBy: {
+ field: 'id',
+ order: 'asc'
+ }
+ },
+ isIndex: true,
+ showSelect: false,
+ select: false,
+ do: [],
+ tagField: [],
+ selectField: [],
+ requiredAdd: [],
+ requiredUp: []
+ },
+ entityCopy: {},
+ upIndex: 0,
+ stateList: [],
+ addPower:true,
+ }
+ },
+ mounted() {
+ this.entityCopy = this.HaveJson(this.componentData.entity)
+ this.getPower()
+ },
+ methods :{
+ refreshTable() {
+ this.$refs['ValueTable'].selectList()
+ },
+ refresh() {
+ this.componentData.entity = this.HaveJson(this.entityCopy)
+ this.upIndex++
+ },
+ // 鏉冮檺鍒嗛厤
+ getPower(radio) {
+ let power = JSON.parse(sessionStorage.getItem('power'))
+ },
+ }
+}
+</script>
diff --git a/src/components/view/a6-standard-material-list.vue b/src/components/view/a6-standard-material-list.vue
new file mode 100644
index 0000000..d5d3526
--- /dev/null
+++ b/src/components/view/a6-standard-material-list.vue
@@ -0,0 +1,138 @@
+<style scoped>
+ .title {
+ height: 60px;
+ line-height: 60px;
+ }
+
+ .search {
+ background-color: #fff;
+ height: 80px;
+ display: flex;
+ align-items: center;
+ }
+ .search_thing {
+ display: flex;
+ align-items: center;
+ height: 50px;
+ }
+ .search_label {
+ width: 120px;
+ font-size: 14px;
+ text-align: right;
+ }
+
+ .search_input {
+ width: calc(100% - 120px);
+ }
+ .table {
+ margin-top: 10px;
+ background-color: #fff;
+ width: calc(100% - 40px);
+ height: calc(100% - 60px - 80px - 10px - 40px);
+ padding: 20px;
+ }
+
+</style>
+<template>
+ <div class="below-standard-main">
+ <div style="width: 100%;height: 100%;">
+ <div>
+ <el-row class="title">
+ <el-col :span="12" style="padding-left: 20px;">鏍囧噯鐗╄川娓呭崟</el-col>
+ <el-col :span="12" style="text-align: right;">
+ <el-button size="medium" type="primary" @click="$refs['ValueTable'].openAddDia('鏂板鎺ュ彛')" v-if="addPower">鏂� 澧�</el-button>
+ <el-button size="medium" @click="$refs['ValueTable'].openDownDia()">瀵� 鍑�</el-button>
+ </el-col>
+ </el-row>
+ </div>
+ <div class="search">
+ <div class="search_thing">
+ <div class="search_label">鍚嶇О锛�</div>
+ <div class="search_input">
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="componentData.entity.model"
+ @keyup.enter.native="refreshTable()"></el-input></div>
+ </div>
+ <div class="search_thing">
+ <div class="search_label">鐢熶骇鍘傚锛�</div>
+ <div class="search_input">
+ <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="componentData.entity.sample"
+ @keyup.enter.native="refreshTable()"></el-input>
+ </div>
+ </div>
+ <div class="search_thing" style="padding-left: 30px;">
+ <el-button size="small" @click="refresh()">閲� 缃�</el-button>
+ <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
+ </div>
+ </div>
+ <div class="table">
+ <ValueTable ref="ValueTable" :url="$api.unPass.pageInsUnPass" :componentData="componentData"
+ :key="upIndex" />
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+ import ValueTable from '../tool/value-table.vue'
+export default {
+ components: {
+ ValueTable,
+ },
+ data() {
+ return {
+ componentData: {
+ entity: {
+ sample: null,
+ model: null,
+ orderBy: {
+ field: 'id',
+ order: 'asc'
+ }
+ },
+ isIndex: true,
+ showSelect: false,
+ select: false,
+ do: [
+ {
+ id: 'update',
+ font: '缂栬緫',
+ type: 'text',
+ method: 'doDiy',
+ field:['createUserName','updateUserName']
+ },{
+ id: 'delete',
+ font: '鍒犻櫎',
+ type: 'text',
+ method: 'doDiy'
+ }
+ ],
+ tagField: [],
+ selectField: [],
+ requiredAdd: ['model','sample',],
+ requiredUp: []
+ },
+ entityCopy: {},
+ upIndex: 0,
+ stateList: [],
+ addPower:true,
+ }
+ },
+ mounted() {
+ this.entityCopy = this.HaveJson(this.componentData.entity)
+ this.getPower()
+ },
+ methods :{
+ refreshTable() {
+ this.$refs['ValueTable'].selectList()
+ },
+ refresh() {
+ this.componentData.entity = this.HaveJson(this.entityCopy)
+ this.upIndex++
+ },
+ // 鏉冮檺鍒嗛厤
+ getPower(radio) {
+ let power = JSON.parse(sessionStorage.getItem('power'))
+ },
+ }
+}
+</script>
diff --git a/src/components/view/a6-waste-handover.vue b/src/components/view/a6-waste-handover.vue
new file mode 100644
index 0000000..0f996e3
--- /dev/null
+++ b/src/components/view/a6-waste-handover.vue
@@ -0,0 +1,272 @@
+<style scoped>
+ .title {
+ height: 60px;
+ line-height: 60px;
+ }
+
+ .search {
+ background-color: #fff;
+ height: 80px;
+ display: flex;
+ align-items: center;
+ }
+ .search_thing {
+ display: flex;
+ align-items: center;
+ height: 50px;
+ }
+ .search_label {
+ width: 100px;
+ font-size: 14px;
+ text-align: right;
+ }
+
+ .search_input {
+ width: calc(100% - 120px);
+ }
+ .table {
+ margin-top: 10px;
+ background-color: #fff;
+ width: calc(100% - 40px);
+ padding: 20px;
+ }
+ .standard-main{
+ overflow-y: auto;
+ scrollbar-width: none;
+ }
+
+</style>
+<template>
+ <div class="standard-main">
+ <div style="width: 100%;height: 100%;">
+ <div>
+ <el-row class="title">
+ <el-col :span="12" style="padding-left: 20px;">搴熺墿澶勭悊浜ゆ帴璁板綍</el-col>
+ <el-col :span="12" style="text-align: right;">
+ <el-button size="medium" type="primary" @click="$refs['ValueTable'].openAddDia('鏂板鎺ュ彛')" v-if="addPower">鏂� 澧�</el-button>
+ <el-button size="medium" type="primary" @click="openAddDetail" v-if="addPower">鏂板鏄庣粏</el-button>
+ <el-button size="medium" @click="$refs['ValueTable'].openDownDia()">瀵� 鍑�</el-button>
+ </el-col>
+ </el-row>
+ </div>
+ <div class="search">
+ <div class="search_thing">
+ <div class="search_label">鏃ユ湡锛�</div>
+ <div class="search_input">
+ <el-date-picker
+ v-model="componentData.entity.sample"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ type="date"
+ size="small"
+ @change="refreshTable()"
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </div>
+ </div>
+ <div class="search_thing" style="padding-left: 30px;">
+ <el-button size="small" @click="refresh()">閲� 缃�</el-button>
+ <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
+ </div>
+ </div>
+ <div class="table">
+ <el-table
+ :data="tableData"
+ style="width: 100%;margin-bottom: 10px;"
+ height="200px">
+ <el-table-column
+ prop="value0"
+ label="鏂囦欢缂栫爜"
+ width="180">
+ </el-table-column>
+ <el-table-column
+ prop="value1"
+ label="NO:"
+ width="180">
+ </el-table-column>
+ <el-table-column
+ prop="value2"
+ label="褰曞叆鏃ユ湡">
+ </el-table-column>
+ <el-table-column
+ prop="value3"
+ label="褰曞叆浜�">
+ </el-table-column>
+ <el-table-column
+ prop="value4"
+ label="鏇存柊浜�">
+ </el-table-column>
+ <el-table-column
+ prop="value5"
+ label="鏇存柊鏃堕棿">
+ </el-table-column>
+ </el-table>
+ <ValueTable ref="ValueTable" :url="$api.unPass.pageInsUnPass" :componentData="componentData"
+ :key="upIndex" style="height: 400px;" />
+ </div>
+ </div>
+ <el-dialog title="鏄庣粏鏂板" :visible.sync="addDetailVisible" width="400px">
+ <div class="body" style="max-height: 60vh;">
+ <el-row>
+ <el-col class="search_thing" :span="22">
+ <div class="search_label"><span class="required-span">* </span>鍚嶇О锛�</div>
+ <div class="search_input">
+ <el-input v-model="form.value0" size="small" placeholder="璇疯緭鍏�"></el-input>
+ </div>
+ </el-col>
+ <el-col class="search_thing" :span="22">
+ <div class="search_label"><span class="required-span">* </span>浣撶Н锛�</div>
+ <div class="search_input">
+ <el-input v-model="form.value1" size="small" placeholder="璇疯緭鍏�"></el-input>
+ </div>
+ </el-col>
+ <el-col class="search_thing" :span="22">
+ <div class="search_label">閫佸鐞嗘棩鏈燂細</div>
+ <div class="search_input">
+ <el-date-picker
+ v-model="form.value2"
+ type="date"
+ size="small"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="閫夋嫨鏃ユ湡"
+ style="width: 100%;">
+ </el-date-picker>
+ </div>
+ </el-col>
+ <el-col class="search_thing" :span="22">
+ <div class="search_label">绉讳氦浜猴細</div>
+ <div class="search_input">
+ <el-select v-model="form.value3" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+ <el-option
+ v-for="item in personList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ </el-col>
+ <el-col class="search_thing" :span="22">
+ <div class="search_label">鎺ユ敹浜猴細</div>
+ <div class="search_input">
+ <el-select v-model="form.value3" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+ <el-option
+ v-for="item in personList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ </el-col>
+ <el-col class="search_thing" :span="22">
+ <div class="search_label">鎺ユ敹鍗曚綅锛�</div>
+ <div class="search_input">
+ <el-select v-model="form.value3" placeholder="璇烽�夋嫨" size="small" style="width: 100%;">
+ <el-option
+ v-for="item in compList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-row>
+ <el-button @click="noDialogVisible=false,tell=''">鍙� 娑�</el-button>
+ <el-button type="primary" @click="addDetail" :loading="addDetailLoading">纭� 瀹�</el-button>
+ </el-row>
+ </span>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+ import ValueTable from '../tool/value-table.vue'
+export default {
+ components: {
+ ValueTable,
+ },
+ data() {
+ return {
+ componentData: {
+ entity: {
+ sample: null,
+ model: null,
+ orderBy: {
+ field: 'id',
+ order: 'asc'
+ }
+ },
+ isIndex: true,
+ showSelect: false,
+ select: false,
+ do: [
+ {
+ id: 'update',
+ font: '缂栬緫',
+ type: 'text',
+ method: 'doDiy',
+ field:['createUserName','updateUserName']
+ },{
+ id: 'delete',
+ font: '鍒犻櫎',
+ type: 'text',
+ method: 'doDiy'
+ }
+ ],
+ tagField: [],
+ selectField: [],
+ requiredAdd: ['model','sample',],
+ requiredUp: []
+ },
+ tableData:[],
+ entityCopy: {},
+ upIndex: 0,
+ stateList: [],
+ addPower:true,
+ addDetailLoading:false,
+ addDetailVisible:false,
+ form:{},
+ personList:[],
+ compList:[]
+ }
+ },
+ mounted() {
+ this.entityCopy = this.HaveJson(this.componentData.entity)
+ this.getPower()
+ },
+ methods :{
+ refreshTable() {
+ this.$refs['ValueTable'].selectList()
+ },
+ refresh() {
+ this.componentData.entity = this.HaveJson(this.entityCopy)
+ this.upIndex++
+ },
+ // 鏉冮檺鍒嗛厤
+ getPower(radio) {
+ let power = JSON.parse(sessionStorage.getItem('power'))
+ },
+ openAddDetail(){
+ this.form = {}
+ this.addDetailVisible = true
+ },
+ addDetail(){
+ if(!this.form.value0){
+ this.$message.error('璇疯緭鍏ュ悕绉�')
+ return
+ }
+ if(!this.form.value0){
+ this.$message.error('浣撶Н')
+ return
+ }
+ this.addDetailLoading = true
+ }
+ }
+}
+</script>
diff --git a/src/components/view/person-manage.vue b/src/components/view/person-manage.vue
index 57075db..5c39a75 100644
--- a/src/components/view/person-manage.vue
+++ b/src/components/view/person-manage.vue
@@ -289,7 +289,7 @@
type: 'text',
method: 'doDiy',
field: ['roleName', '瑙掕壊=roleId', '瀵嗙爜=password',
- '濮撳悕EN=nameEn', '骞撮緞=age', '閭=email', '鍗曚綅=company', '绛惧悕=pictureUrl', '涓汉鐓х墖=signatureUrl'
+ '濮撳悕EN=nameEn', '骞撮緞=age', '閭=email', '鍗曚綅=company', '绛惧悕=signatureUrl', '涓汉鐓х墖=pictureUrl'
]
}],
tagField: {
diff --git a/static/js/menu.js b/static/js/menu.js
index 9c1cba6..024fc74 100644
--- a/static/js/menu.js
+++ b/static/js/menu.js
@@ -368,7 +368,7 @@
}, {
v: "澶栨潵浜哄憳绠$悊",
i: "font icon-erjidaohang",
- u: "",
+ u: "a6-external-personnel-management",
g: "6.3 璁炬柦鍜岀幆澧冩潯浠�",
p: ""
}, {
@@ -404,7 +404,7 @@
}, {
v: "搴熺墿澶勭悊浜ゆ帴璁板綍",
i: "font icon-erjidaohang",
- u: "",
+ u: "a6-waste-handover",
g: "6.3 璁炬柦鍜岀幆澧冩潯浠�",
p: ""
}, {
@@ -500,7 +500,7 @@
}, {
v: "鏍囧噯鐗╄川娓呭崟",
i: "font icon-erjidaohang",
- u: "",
+ u: "a6-standard-material-list",
g: "6.5 璁¢噺婧簮鎬�",
p: ""
}, {
--
Gitblit v1.9.3