From b50e7d0c574584b8ad02ad04715760c7c42a0b7d Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期六, 09 七月 2022 11:02:46 +0800
Subject: [PATCH] 1.生产开报工前端页面开发完成
---
src/views/jcsz/yhqd.vue | 271 +++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 248 insertions(+), 23 deletions(-)
diff --git a/src/views/jcsz/yhqd.vue b/src/views/jcsz/yhqd.vue
index 4af174c..a20ec9f 100644
--- a/src/views/jcsz/yhqd.vue
+++ b/src/views/jcsz/yhqd.vue
@@ -57,6 +57,7 @@
<el-divider />
<div style="margin-left: 10px;display: flex">
<el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
+ <el-button type="primary" icon="el-icon-menu" @click="workingTramClick">鐢熶骇鐝粍</el-button>
<el-button type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>
</div>
<el-divider />
@@ -102,8 +103,13 @@
sortable="custom"
/>
<el-table-column
+ prop="group_name"
+ label="鐢熶骇鐝粍"
+ sortable="custom"
+ />
+ <el-table-column
prop="wagetype"
- label="鎵�灞炵粍缁�"
+ label="宸ヨ祫绫诲瀷"
sortable="custom"
>
<template slot-scope="{row}">
@@ -140,7 +146,6 @@
prop="lm_date"
label="鍒涘缓鏃堕棿"
width="200"
- show-overflow-tooltip
sortable="custom"
/>
<el-table-column
@@ -156,7 +161,7 @@
>
<template slot-scope="{row}">
<div class="operationClass">
- <el-button type="text" @click="edit('edit',row)">淇敼</el-button>
+ <el-button type="text" @click="edit('edit',row)">缂栬緫</el-button>
<el-button type="text" @click="del(row.id)">鍒犻櫎</el-button>
</div>
</template>
@@ -176,31 +181,32 @@
/>
</div>
- <!-- 鐢ㄦ埛娓呭崟鏂板銆佷慨鏀�-->
+ <!-- 鐢ㄦ埛娓呭崟鏂板銆佺紪杈�-->
<el-dialog
- :title="operation==='add'?'鏂板':'淇敼'"
+ :title="operation==='add'?'鏂板':'缂栬緫'"
:visible.sync="dialogVisible"
- width="50%"
+ width="800px"
+ :close-on-click-modal="false"
top="15vh"
@closed="handleClose"
@close="handleClose"
>
<el-form ref="dialogForm" :rules="dialogFormRules" inline :model="dialogForm" label-width="80px">
<el-form-item label="鐢ㄦ埛缂栫爜" prop="UserCode">
- <el-input v-model="dialogForm.UserCode" :disabled="operation!=='add'" style="width: 220px" />
+ <el-input v-model="dialogForm.UserCode" :disabled="operation!=='add'" style="width: 200px" />
</el-form-item>
<el-form-item label="鐢ㄦ埛鍚嶇О" prop="UserName">
- <el-input v-model="dialogForm.UserName" style="width: 220px" />
+ <el-input v-model="dialogForm.UserName" style="width: 200px" />
</el-form-item>
<el-form-item label="鐢ㄦ埛瀵嗙爜" prop="Password">
- <el-input v-model="dialogForm.Password" style="width: 220px" />
+ <el-input v-model="dialogForm.Password" style="width: 200px" />
</el-form-item>
<el-form-item label="鍦ㄨ亴鐘舵��" prop="Enable">
<el-select
v-model="dialogForm.Enable"
:popper-append-to-body="false"
filterable
- style="width: 220px"
+ style="width: 200px"
placeholder="璇烽�夋嫨"
>
<el-option
@@ -219,7 +225,7 @@
popper-class="elCascader"
:options="StuOrgArr"
:props="defaultProps"
- style="width: 220px;"
+ style="width: 200px;"
@change="dialogCascaderChange"
/>
</el-form-item>
@@ -228,7 +234,7 @@
v-model="dialogForm.wagetype"
:popper-append-to-body="false"
filterable
- style="width: 220px"
+ style="width: 200px"
placeholder="璇烽�夋嫨"
>
<el-option
@@ -241,10 +247,10 @@
</el-form-item>
<el-form-item label="鑱旂郴鏂瑰紡">
- <el-input v-model="dialogForm.Mobile" style="width: 220px" />
+ <el-input v-model="dialogForm.Mobile" style="width: 200px" />
</el-form-item>
<el-form-item label="鐢靛瓙閭">
- <el-input v-model="dialogForm.Email" style="width: 220px" />
+ <el-input v-model="dialogForm.Email" style="width: 200px" />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
@@ -259,8 +265,10 @@
<el-dialog
title="鍏宠仈瑙掕壊"
:visible.sync="dialogVisibleRoles"
- width="50%"
+ width="800px"
top="15vh"
+ :fullscreen="isFullscreen"
+ :close-on-click-modal="false"
class="dialogVisibleRoles"
@closed="handleCloseRoles"
@close="handleCloseRoles"
@@ -307,6 +315,7 @@
show-checkbox
node-key="code"
default-expand-all
+ style="height: 300px"
:props="defaultPropsOfRoleTree"
@check="checkBoxClick"
/>
@@ -320,6 +329,99 @@
</div>
</span>
</el-dialog>
+
+ <!-- 浜х粍鎸夐挳瀵硅瘽妗�-->
+ <el-dialog
+ title="鐢熶骇鐝粍"
+ :visible.sync="workingDialogVisible"
+ width="800px"
+ top="15vh"
+ :close-on-click-modal="false"
+ class="workingDialogVisible"
+ @close="handleCloseWorking"
+ >
+ <div style="margin-bottom: 20px;display: flex">
+ <el-button type="primary" icon="el-icon-circle-plus-outline" @click="addWorking">鏂板</el-button>
+ <!-- <el-button type="primary" icon="el-icon-delete" @click="delSetting">鍒犻櫎</el-button>-->
+ </div>
+ <el-table
+ :data="workingTableData"
+ border
+ height="300"
+ highlight-current-row
+ :header-cell-style="this.$headerCellStyle"
+ :cell-style="this.$cellStyle"
+ @sort-change="sortChangeOfWorking"
+ >
+ <!-- :style="{width: 100+'%',height:tableHeight-300+'px'}"-->
+
+ <!-- <el-table-column-->
+ <!-- type="selection"-->
+ <!-- width="50"-->
+ <!-- />-->
+ <el-table-column
+ width="50"
+ label="搴忓彿"
+ prop="RowNum"
+ />
+ <el-table-column
+ prop="group_code"
+ label="鐝粍缂栫爜"
+ sortable="custom"
+ >
+ <template slot-scope="{row}">
+ <el-input v-if="row.isVisible===1" v-model="row.group_code" placeholder="璇疯緭鍏�" />
+ <div v-else> {{ row.group_code }}</div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="group_name"
+ label="鐝粍鍚嶇О"
+ sortable="custom"
+ >
+ <template slot-scope="{row}">
+ <el-input v-if="row.isVisible===1" v-model="row.group_name" placeholder="璇疯緭鍏�" />
+ <div v-else> {{ row.group_name }}</div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="description"
+ label="鐝粍鎻忚堪"
+ sortable="custom"
+ >
+ <template slot-scope="{row}">
+ <el-input v-if="row.isVisible===1" v-model="row.description" placeholder="璇疯緭鍏�" />
+ <div v-else> {{ row.description }}</div>
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔">
+ <template slot-scope="{row}">
+ <div class="operationClass">
+ <el-button v-if="row.isVisible===0" type="text" @click="delWorking(row)">鍒犻櫎</el-button>
+ <el-button v-if="row.isVisible===1" type="text" @click="saveWorking(row)">淇濆瓨</el-button>
+ <el-button v-if="row.isVisible===1" type="text" @click="cancelWorking(row)">鍙栨秷</el-button>
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!--鍒嗛〉-->
+ <pagination
+ v-show="workingTableDataLength>0"
+ :total="workingTableDataLength"
+ :page.sync="formWorking.page"
+ :limit.sync="formWorking.rows"
+ align="right"
+ layout="prev, pager, next,sizes"
+ popper-class="select_bottom"
+ @pagination="getUserGroupSearch"
+ />
+ <span slot="footer" class="dialog-footer">
+ <div class="footerButton">
+ <el-button @click="WorkingDialogVisibleCancel">杩斿洖</el-button>
+ <!-- <el-button type="primary" @click="settingDialogVisibleConfirm">纭� 瀹�</el-button>-->
+ </div>
+ </span>
+ </el-dialog>
</div>
</template>
@@ -327,7 +429,14 @@
import Pagination from '@/components/Pagination'
import {
AddUpdateUser,
- DeleteUser, SaveUserAssoctRole, UserAssociationRole,
+ DeleteUser,
+ RoleTypeAdd,
+ RoleTypeDelete,
+ SaveUserAssoctRole,
+ UserAssociationRole,
+ UserGroupAdd,
+ UserGroupDelete,
+ UserGroupSearch,
UserOrganization,
UserSearch
} from '@/api/jcsz'
@@ -353,6 +462,7 @@
}
}
return {
+ isFullscreen: false,
mainHeight: 0,
tableHeight: 0,
form: {
@@ -432,8 +542,16 @@
value: 'code',
label: 'name',
children: 'children'
+ },
+ workingDialogVisible: false,
+ workingTableData: [],
+ workingTableDataLength: 0,
+ formWorking: {
+ rows: 10,
+ page: 1,
+ prop: 'group_code',
+ order: 'desc'
}
-
}
},
created() {
@@ -585,9 +703,15 @@
},
// 鑾峰彇椤甸潰楂樺害
getHeight() {
+ console.log(window.innerHeight)
+ console.log(window.innerWidth)
this.$nextTick(() => {
this.mainHeight = window.innerHeight - 250
this.tableHeight = this.mainHeight - 100
+ this.isFullscreen = window.innerHeight < 800
+ if (window.innerHeight < 800) {
+ this.tableHeight = this.tableHeight - 50
+ }
})
},
// 鍏宠仈瑙掕壊鐐瑰嚮浜嬩欢
@@ -744,12 +868,12 @@
this.dialogFormRoles.roleTreeSelectedArr.forEach((it, ind) => {
if (it.Code === checkedFatherCode) {
console.log(it.Code, 9)
- console.log(this.dialogFormRoles.roleTreeSelectedArr.splice(ind, 1), 7)
+ this.dialogFormRoles.roleTreeSelectedArr.splice(ind, 1)
}
})
this.dialogFormRoles.rolesArrSelectedArr.forEach((i, i1) => {
if (i === checkedFatherCode) {
- console.log(this.dialogFormRoles.rolesArrSelectedArr.splice(i1, 1), 8)
+ this.dialogFormRoles.rolesArrSelectedArr.splice(i1, 1)
}
})
}
@@ -784,7 +908,7 @@
} else { // 褰撶埗绫荤敱鍗婂彾鍙樹负鍏ㄥ彾鏃�
this.dialogFormRoles.roleTreeSelectedArr.forEach((i1, ind) => {
if (i1.Code === checkedFatherCode) { // i1娌℃壘瀵�
- console.log(i1, this.dialogFormRoles.roleTreeSelectedArr.splice(ind, 1), 8)
+ this.dialogFormRoles.roleTreeSelectedArr.splice(ind, 1)
temp.forEach(it => {
this.dialogFormRoles.roleTreeSelectedArr.push({
Code: it.code,
@@ -847,12 +971,12 @@
console.log(this.dialogFormRoles.rolesArrSelectedArr, 78)
this.dialogFormRoles.rolesArrSelectedArr.forEach((i, i1) => {
if (i === it.code) {
- console.log(this.dialogFormRoles.rolesArrSelectedArr.splice(i1, 1), 6664)
+ this.dialogFormRoles.rolesArrSelectedArr.splice(i1, 1)
}
})
this.dialogFormRoles.roleTreeSelectedArr.forEach((i, i1) => {
if (i.Code === it.code) {
- console.log(i1, this.dialogFormRoles.roleTreeSelectedArr.splice(i1, 1), 6665)
+ this.dialogFormRoles.roleTreeSelectedArr.splice(i1, 1)
}
})
}
@@ -869,8 +993,105 @@
// })
console.log(this.dialogFormRoles.rolesArrSelectedArr, 6666)
console.log(this.dialogFormRoles.roleTreeSelectedArr, 6777)
- }
+ },
+ /*
+ 鐢熶骇鐝粍妯″潡
+ */
+ // 鐢熶骇鐝粍鎸夐挳鐐瑰嚮
+ workingTramClick() {
+ this.workingDialogVisible = true
+ this.getUserGroupSearch()
+ },
+ // 鐢熶骇鐝粍瀵硅瘽妗嗗叧闂簨浠�
+ handleCloseWorking() {
+ this.workingTableData.forEach((item, index) => {
+ if (item.isVisible === 1) {
+ this.workingTableData.splice(index, 1)
+ }
+ })
+ // this.getUserGroupSearch()
+ },
+ // 鐢熶骇鐝粍鎺掑簭
+ sortChangeOfWorking({ column, prop, order }) {
+ if (order === 'descending') {
+ order = 'desc'
+ } else if (order === 'ascending') {
+ order = 'asc'
+ } else {
+ order = 'desc'
+ }
+ this.form.order = order
+ this.form.prop = prop
+ this.getUserGroupSearch()
+ },
+ // 鑾峰彇鐢熶骇鐝粍鍒楄〃
+ async getUserGroupSearch() {
+ const res = await UserGroupSearch(this.formWorking)
+ this.workingTableData = res.data
+ this.workingTableDataLength = res.count
+ this.workingTableData.forEach(item => {
+ item.isVisible = 0
+ })
+ },
+ // 鏂板
+ addWorking() {
+ let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
+ number = number === 0 ? (10 + Math.random()) : number
+ const data = { group_code: '', group_name: '', description: '', isVisible: 1, number: number }
+ this.workingTableData.unshift(data)
+ },
+ // 鍒犻櫎
+ delWorking(row) {
+ this.$confirm('鏄惁纭鍒犻櫎?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ UserGroupDelete({ UserGrupCode: row.group_code }).then(res => {
+ if (res.code === '200') {
+ this.$message.success('鍒犻櫎鎴愬姛!')
+ this.getUserGroupSearch()
+ }
+ })
+ }).catch(() => {
+ this.$message.info('宸插彇娑堝垹闄�')
+ })
+ },
+ // 淇濆瓨
+ async saveWorking(row) {
+ if (row.group_code.trim().length < 1) {
+ return this.$message.info('鐝粍缂栫爜涓嶈兘涓虹┖锛�')
+ }
+ if (row.group_name.trim().length < 1) {
+ return this.$message.info('鐝粍鍚嶇О涓嶈兘涓虹┖锛�')
+ }
+ if (row.description.trim().length < 1) {
+ return this.$message.info('鐝粍鎻忚堪涓嶈兘涓虹┖锛�')
+ }
+ const data = {
+ code: row.group_code,
+ name: row.group_name,
+ flag: row.description
+ }
+ const res = await UserGroupAdd([data])
+ if (res.code === '200') {
+ this.$message.success('淇濆瓨鎴愬姛锛�')
+ await this.getUserGroupSearch()
+ }
+ },
+ // 鍙栨秷
+ cancelWorking(row) {
+ this.workingTableData.forEach((item, index) => {
+ if (item.isVisible === 1 && item.number === row.number) {
+ this.workingTableData.splice(index, 1)
+ }
+ })
+ },
+ // 鐢熶骇鐝粍杩斿洖鎸夐挳
+ WorkingDialogVisibleCancel() {
+ this.workingDialogVisible = false
+ }
}
}
</script>
@@ -928,6 +1149,10 @@
padding: 20px 100px !important;
}
+.workingDialogVisible ::v-deep .el-dialog__body{
+ padding: 20px 20px !important;
+}
+
::v-deep .el-radio__input.is-checked .el-radio__inner {
background-color: $main_color;
border-color: $main_color;
--
Gitblit v1.9.3