From 68eaf315b64145e487d10e66183d542ee7f94d10 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期二, 05 七月 2022 17:35:33 +0800
Subject: [PATCH] 1.生产管理完成部分功能2.自定义页面打印、二维码图形、水印显示实现了一个demo
---
src/views/jcsz/jsqd.vue | 183 ++++++++++++++++++++++++++++++---------------
1 files changed, 120 insertions(+), 63 deletions(-)
diff --git a/src/views/jcsz/jsqd.vue b/src/views/jcsz/jsqd.vue
index badb582..40bbad5 100644
--- a/src/views/jcsz/jsqd.vue
+++ b/src/views/jcsz/jsqd.vue
@@ -17,7 +17,13 @@
<el-input v-model="form.RoleName" placeholder="璇疯緭鍏�" style="width: 200px" />
</el-form-item>
<el-form-item label="瑙掕壊绫诲瀷" style=" display: flex;">
- <el-select v-model="form.RoleTypeCode" :popper-append-to-body="false" filterable style="width: 200px" placeholder="璇烽�夋嫨">
+ <el-select
+ v-model="form.RoleTypeCode"
+ :popper-append-to-body="false"
+ filterable
+ style="width: 200px"
+ placeholder="璇烽�夋嫨"
+ >
<el-option
v-for="item in RoleTypeCodeArr2"
:key="item.roletype_code"
@@ -83,7 +89,6 @@
<el-table-column
prop="description"
label="瑙掕壊鎻忚堪"
- show-overflow-tooltip
sortable="custom"
/>
<el-table-column
@@ -95,7 +100,6 @@
prop="lm_date"
label="鍒涘缓鏃堕棿"
sortable="custom"
- show-overflow-tooltip
/>
<el-table-column
prop="lm_date"
@@ -122,7 +126,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)">鍒犻櫎</el-button>
</div>
</template>
@@ -144,26 +148,27 @@
<!-- 鏂板淇敼瀵硅瘽妗�-->
<el-dialog
- :title="operation==='add'?'鏂板':'淇敼'"
+ :title="operation==='add'?'鏂板':'缂栬緫'"
:visible.sync="dialogVisible"
- width="50%"
+ width="65%"
top="15vh"
+ :close-on-click-modal="false"
@closed="handleClose"
@close="handleClose"
>
<el-form ref="dialogForm" inline :rules="dialogFormRules" :model="dialogForm" label-width="80px">
<el-form-item label="瑙掕壊缂栫爜" prop="RoleCode">
- <el-input v-model="dialogForm.RoleCode" :disabled="operation!=='add'" style="width: 220px" />
+ <el-input v-model="dialogForm.RoleCode" :disabled="operation!=='add'" style="width: 200px" />
</el-form-item>
<el-form-item label="瑙掕壊鍚嶇О" prop="RoleName">
- <el-input v-model="dialogForm.RoleName" style="width: 220px" />
+ <el-input v-model="dialogForm.RoleName" style="width: 200px" />
</el-form-item>
<el-form-item prop="RoleTypeCode" label="瑙掕壊绫诲瀷">
<el-select
v-model="dialogForm.RoleTypeCode"
filterable
:popper-append-to-body="false"
- style="width: 220px"
+ style="width: 200px"
placeholder="璇烽�夋嫨"
>
<el-option
@@ -175,7 +180,7 @@
</el-select>
</el-form-item>
<el-form-item label="瑙掕壊鎻忚堪" prop="description">
- <el-input v-model="dialogForm.description" type="textarea" style="width: 220px" />
+ <el-input v-model="dialogForm.description" type="textarea" style="width: 200px" />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
@@ -187,10 +192,11 @@
</el-dialog>
<!-- 璁剧疆鎸夐挳瀵硅瘽妗�-->
<el-dialog
- title="瑙掕壊绫诲瀷"
+ title="璁剧疆"
:visible.sync="settingDialogVisible"
width="50%"
top="15vh"
+ :close-on-click-modal="false"
class="settingDialogVisible"
@close="handleCloseSetting"
>
@@ -201,12 +207,14 @@
<el-table
:data="RoleTypeCodeArr"
border
+ height="300"
highlight-current-row
- :style="{width: 100+'%',height:tableHeight-300+'px'}"
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
@sort-change="sortChangeOfSetting"
>
+ <!-- :style="{width: 100+'%',height:tableHeight-300+'px'}"-->
+
<!-- <el-table-column-->
<!-- type="selection"-->
<!-- width="50"-->
@@ -237,7 +245,6 @@
</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="delSetting(row)">鍒犻櫎</el-button>
@@ -245,12 +252,6 @@
<el-button v-if="row.isVisible===1" type="text" @click="formSettingCancel(row)">鍙栨秷</el-button>
</div>
</template>
- <!-- <template v-for="item in RoleTypeCodeArr" slot-scope="{row}">-->
- <!-- <div :key="item.roletype_code" class="operationClass">-->
- <!-- <el-button v-if="item.isVisible" type="text" @click="formSettingSave(row)">淇濆瓨</el-button>-->
- <!-- <el-button v-if="item.isVisible" type="text" @click="formSettingCancel(row)">鍙栨秷</el-button>-->
- <!-- </div>-->
- <!-- </template>-->
</el-table-column>
</el-table>
<!--鍒嗛〉-->
@@ -276,7 +277,9 @@
title="瑙掕壊鍏宠仈鐢ㄦ埛"
:visible.sync="userDialogVisible"
width="80%"
+ :close-on-click-modal="false"
top="15vh"
+ :fullscreen="isFullscreen"
class="userDialogVisible"
@closed="handleCloseUser"
@close="handleCloseUser"
@@ -291,21 +294,21 @@
<div style="display: flex;min-height: 50px">
<el-form ref="dialogFormUser" inline :model="dialogFormUser" label-width="80px">
<el-form-item label="鐢ㄦ埛缂栫爜">
- <el-input v-model="dialogFormUser.usercode" class="userDialogVisibleInput" style="width: 220px" />
+ <el-input v-model="dialogFormUser.usercode" style="width: 200px" />
</el-form-item>
<el-form-item label="鐢ㄦ埛鍚嶇О">
- <el-input v-model="dialogFormUser.username" class="userDialogVisibleInput" style="width: 220px" />
+ <el-input v-model="dialogFormUser.username" style="width: 200px" />
</el-form-item>
<el-form-item label="鎵�灞炵粍缁�">
<el-cascader
ref="dialogCascaderUser"
key="cascaderKey"
filterable
+ popper-class="elCascader"
:append-to-body="false"
:options="StuOrgArr"
:props="defaultProps"
- class="userDialogVisibleInput"
- style="width: 220px;"
+ style="width: 200px;"
@change="dialogCascaderChange"
/>
@@ -315,9 +318,8 @@
v-model="dialogFormUser.isrole"
filterable
:popper-append-to-body="false"
- style="width: 220px"
+ style="width: 200px"
placeholder="璇烽�夋嫨"
- class="userDialogVisibleInput"
>
<el-option
v-for="item in roleArr"
@@ -348,7 +350,7 @@
:data="dialogFormUserTable"
border
highlight-current-row
- :style="{width: 100+'%',height:tableHeight-300+'px'}"
+ height="300"
:header-cell-style="this.$headerCellStyle"
:cell-style="this.$cellStyle"
:row-key="getRowKey"
@@ -419,6 +421,8 @@
:visible.sync="dialogVisibleRight"
width="50%"
top="15vh"
+ :fullscreen="isFullscreen"
+ :close-on-click-modal="false"
class="dialogVisibleRight"
@closed="handleCloseRight"
@close="handleCloseRight"
@@ -529,6 +533,7 @@
// }
// }
return {
+ isFullscreen: false,
mainHeight: 0,
tableHeight: 0,
form: {
@@ -781,8 +786,11 @@
// 鑾峰彇椤甸潰楂樺害
getHeight() {
this.$nextTick(() => {
+ console.log(window.innerHeight)
+ console.log(window.innerHeight)
this.mainHeight = window.innerHeight - 250
this.tableHeight = this.mainHeight - 100
+ this.isFullscreen = window.innerHeight < 800
})
},
/* 璁剧疆妯″潡*/
@@ -804,7 +812,9 @@
},
// 娣诲姞鎸夐挳
addSetting() {
- const data = { roletype_code: '', roletype_name: '', isVisible: 1 }
+ let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
+ number = number === 0 ? Math.random() * Math.random() : number
+ const data = { roletype_code: '', roletype_name: '', isVisible: 1, number: number }
this.RoleTypeCodeArr.unshift(data)
},
// 鍒犻櫎鎸夐挳
@@ -838,14 +848,14 @@
}
const res = await RoleTypeAdd([data])
if (res.code === '200') {
- this.$message.success('娣诲姞鎴愬姛锛�')
+ this.$message.success('淇濆瓨鎴愬姛锛�')
await this.getRoleTypeSearch()
}
},
// 璁剧疆琛ㄥ崟鍙栨秷浜嬩欢
formSettingCancel(row) {
this.RoleTypeCodeArr.forEach((item, index) => {
- if (item.isVisible === 1 && item.roletype_code === row.roletype_code) {
+ if (item.isVisible === 1 && item.number === row.number) {
this.RoleTypeCodeArr.splice(index, 1)
}
})
@@ -966,31 +976,51 @@
const rightPCArrFlag = res[0][0].flag
const rightAPPArrFlag = res[1][0].flag
+ let waitFlag = false// 鍥炴樉绛夊緟鏄惁鏀捐
+
// 1.绗竴绉嶆儏鍐礟C鍜孉PP閮戒竴娆¢兘娌¢�変腑鏃� PC鏈�変腑锛孉PP鏈�変腑
if (rightPCArrFlag === 'N' && rightAPPArrFlag === 'N') {
pcIsSelected1 = true
this.dialogFormRight.rightCurrentCode = this.dialogFormRight.rightPCArr[0].code
}
+
// 2.绗簩绉嶆儏鍐礟C宸查�変腑锛孉PP鏈�変腑
if (rightPCArrFlag === 'Y' && rightAPPArrFlag === 'N') {
pcIsSelected1 = true
pcIsSelected2 = true
- setTimeout(() => {
- this.$nextTick(() => {
- $('input:checkbox').eq(0).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
- })
+
+ const interval = setInterval(() => {
+ if ($('input:checkbox').length > 0) {
+ waitFlag = true
+ }
+ if (waitFlag) {
+ clearInterval(interval)
+ this.$nextTick(() => {
+ $("input[name='PC']").eq(0).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
+ })
+ }
}, 100)
+
this.dialogFormRight.rightCurrentCode = this.dialogFormRight.rightPCArr[0].code
}
+
// 3.绗笁绉嶆儏鍐礟C鏈�変腑锛孉PP宸查�変腑
if (rightPCArrFlag === 'N' && rightAPPArrFlag === 'Y') {
appIsSelected1 = true
appIsSelected2 = true
- setTimeout(() => {
- this.$nextTick(() => {
- $('input:checkbox').eq(1).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
- })
+
+ const interval = setInterval(() => {
+ if ($('input:checkbox').length > 0) {
+ waitFlag = true
+ }
+ if (waitFlag) {
+ clearInterval(interval)
+ this.$nextTick(() => {
+ $("input[name='APP']").eq(0).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
+ })
+ }
}, 100)
+
this.dialogFormRight.rightCurrentCode = this.dialogFormRight.rightAPPArr[0].code
}
// 4.绗洓绉嶆儏鍐礟C宸查�変腑锛孉PP宸查�変腑
@@ -999,12 +1029,20 @@
pcIsSelected2 = true
appIsSelected1 = false
appIsSelected2 = true
- setTimeout(() => {
- this.$nextTick(() => {
- $('input:checkbox').eq(0).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
- $('input:checkbox').eq(1).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
- })
+
+ const interval = setInterval(() => {
+ if ($('input:checkbox').length > 0) {
+ waitFlag = true
+ }
+ if (waitFlag) {
+ clearInterval(interval)
+ this.$nextTick(() => {
+ $("input[name='PC']").eq(0).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
+ $("input[name='APP']").eq(0).prop('checked', true)// 鑷畾涔夊崟閫夋鍥炴樉
+ })
+ }
}, 100)
+
this.dialogFormRight.rightCurrentCode = this.dialogFormRight.rightPCArr[0].code
}
this.dialogFormRight.rightOperationArr.push({
@@ -1285,11 +1323,12 @@
border: none;
padding: 0 20px;
}
+
::v-deep .el-button--primary:hover {
border: none;
}
-::v-deep .el-button--info{
+::v-deep .el-button--info {
//background-color: $main_color !important;
height: 30px;
display: flex;
@@ -1323,9 +1362,9 @@
color: #606266;
}
-::v-deep .el-dialog__body {
- padding: 20px 100px !important;
-}
+//::v-deep .el-dialog__body {
+// padding: 20px 100px !important;
+//}
.settingDialogVisible, .userDialogVisible, .dialogVisibleRight {
::v-deep .el-dialog__body {
@@ -1383,24 +1422,14 @@
}
input[type=checkbox]:checked::after {
- content: "鉁�";
- //content: "鈭�";
+ //content: "鉁�";
+ content: "鈭�";
color: #fff;
font-size: 12px;
font-weight: bold;
background-color: $main_color;
}
}
-}
-
-.userDialogVisible {
- ::v-deep .userDialogVisibleInput {
- //width:calc(100% - 30px) !important;
- }
-
- //::v-deep .el-form-item {
- // width:calc(100% - 30px) !important;
- //}
}
::v-deep .el-radio__input.is-checked .el-radio__inner {
@@ -1421,6 +1450,7 @@
height: 30px;
line-height: 30px;
}
+
::v-deep .el-input__inner:focus {
border-color: $main_color;
}
@@ -1483,28 +1513,55 @@
::v-deep .el-radio.is-bordered + .el-radio.is-bordered {
margin: 10px 30px 0px 0;
}
-.body ::v-deep .el-divider{
+
+.body ::v-deep .el-divider {
border: 1px solid #eee;
width: 99%;
margin: 10px auto;
}
-.body ::v-deep .el-form-item{
+
+.body ::v-deep .el-form-item {
margin-bottom: 0;
}
+
::v-deep .el-input__inner:focus {
border-color: $main_color;
}
-::v-deep .el-select .el-input__inner:focus{
+::v-deep .el-select .el-input__inner:focus {
border-color: $main_color;
}
-::v-deep .el-select-dropdown__item.selected{
+::v-deep .el-select-dropdown__item.selected {
color: $main_color;
}
-::v-deep .el-textarea__inner:focus{
+::v-deep .el-textarea__inner:focus {
border-color: $main_color;
}
</style>
+<style lang="scss">
+.elCascader {
+ //.el-cascader-node.in-active-path, .el-cascader-node.is-active, .el-cascader-node.is-selectable.in-checked-path {
+ // color: #42b983 ;
+ //}
+ .el-cascader-node.is-selectable.in-checked-path {
+ color: #42b983;
+ }
+
+ .el-radio__input.is-checked .el-radio__inner {
+ background-color: #42b983;
+ border-color: #42b983;
+ }
+
+ .el-radio__input.is-checked .el-radio__inner:hover {
+ border-color: #42b983;
+ }
+
+ .el-input__inner {
+ border-color: #42b983 !important;
+ }
+
+}
+</style>
--
Gitblit v1.9.3