From b8b16d90fd13bcad5881a4562b5bbe96e576bd6b Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期三, 03 八月 2022 16:27:56 +0800
Subject: [PATCH] 1.解决工单手动打印大二维码问题
---
src/views/jcsz/yhqd.vue | 204 ++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 171 insertions(+), 33 deletions(-)
diff --git a/src/views/jcsz/yhqd.vue b/src/views/jcsz/yhqd.vue
index 3f5badf..966c620 100644
--- a/src/views/jcsz/yhqd.vue
+++ b/src/views/jcsz/yhqd.vue
@@ -25,11 +25,18 @@
:props="defaultProps"
@change="cascaderChange"
/>
+ <!-- @focus="getUserOrganization"-->
+
</el-form-item>
<el-form-item label="宸ヨ祫绫诲瀷" style=" display: flex;">
- <el-select v-model="form.wagetype" :popper-append-to-body="false" filterable style="width: 200px" placeholder="璇烽�夋嫨">
+ <el-select
+ v-model="form.wagetype"
+ :popper-append-to-body="false"
+ filterable
+ style="width: 200px"
+ placeholder="璇烽�夋嫨"
+ >
<el-option
-
v-for="item in wagetypeArr"
:key="item.value"
:label="item.label"
@@ -38,7 +45,13 @@
</el-select>
</el-form-item>
<el-form-item label="鍦ㄨ亴鐘舵��" style=" display: flex;">
- <el-select v-model="form.Enable" :popper-append-to-body="false" filterable style="width: 200px" placeholder="璇烽�夋嫨">
+ <el-select
+ v-model="form.Enable"
+ :popper-append-to-body="false"
+ filterable
+ style="width: 200px"
+ placeholder="璇烽�夋嫨"
+ >
<el-option
v-for="item in EnableArr"
:key="item.value"
@@ -66,7 +79,7 @@
:data="tableData"
border
stripe
- :height="tableHeight"
+ :height="tableHeight+'px'"
highlight-current-row
:style="{width: 100+'%',height:tableHeight+'px'}"
:header-cell-style="this.$headerCellStyle"
@@ -81,36 +94,43 @@
prop="RowNum"
width="50"
label="搴忓彿"
+ fixed
/>
<el-table-column
prop="usercode"
label="鐢ㄦ埛缂栫爜"
+ min-width="110"
sortable="custom"
/>
<el-table-column
prop="username"
label="鐢ㄦ埛鍚嶇О"
+ min-width="110"
sortable="custom"
/>
<el-table-column
prop="password"
label="鐢ㄦ埛瀵嗙爜"
+ min-width="110"
sortable="custom"
/>
<el-table-column
prop="org_name"
label="鎵�灞炵粍缁�"
+ min-width="110"
sortable="custom"
/>
<el-table-column
prop="group_name"
label="鐢熶骇鐝粍"
+ min-width="110"
sortable="custom"
/>
<el-table-column
prop="wagetype"
label="宸ヨ祫绫诲瀷"
sortable="custom"
+ width="110"
>
<template slot-scope="{row}">
<div v-if="row.wagetype==='1'">璁℃椂鍒�</div>
@@ -120,16 +140,29 @@
<el-table-column
prop="mobile"
label="鑱旂郴鏂瑰紡"
+ min-width="110"
sortable="custom"
- />
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.mobile===''">/</div>
+ <div v-else>{{ row.mobile }}</div>
+ </template>
+ </el-table-column>
<el-table-column
prop="email"
label="鐢靛瓙閭"
sortable="custom"
- />
+ min-width="110"
+ >
+ <template slot-scope="{row}">
+ <div v-if="row.email===''">/</div>
+ <div v-else>{{ row.email }}</div>
+ </template>
+ </el-table-column>
<el-table-column
- prop=""
+ prop="enable"
label="鍦ㄨ亴鐘舵��"
+ width="110"
sortable="custom"
>
<template slot-scope="{row}">
@@ -140,24 +173,28 @@
<el-table-column
prop="lm_user"
label="鍒涘缓浜哄憳"
+ width="110"
sortable="custom"
/>
<el-table-column
prop="lm_date"
label="鍒涘缓鏃堕棿"
- width="200"
+ width="160"
sortable="custom"
/>
<el-table-column
prop="is_role"
label="鍏宠仈瑙掕壊"
+ width="110"
>
<template slot-scope="{row}">
- <i class="el-icon-share" @click="roleClick({row})" />
+ <i v-if="row.is_role==='Y'" class="el-icon-share" @click="roleClick({row})" />
+ <i v-if="row.is_role==='N'" class="el-icon-share" style="color: rgb(180 ,181, 185)" @click="roleClick({row})" />
</template>
</el-table-column>
<el-table-column
label="鎿嶄綔"
+ fixed="right"
>
<template slot-scope="{row}">
<div class="operationClass">
@@ -223,11 +260,27 @@
key="cascaderKey"
filterable
popper-class="elCascader"
- :options="StuOrgArr"
+ :options="StuOrgArr2"
:props="defaultProps"
style="width: 200px;"
@change="dialogCascaderChange"
/>
+ </el-form-item>
+ <el-form-item label="鎵�灞炵彮缁�" prop="groupcode">
+ <el-select
+ v-model="dialogForm.groupcode"
+ :popper-append-to-body="false"
+ filterable
+ style="width: 200px"
+ placeholder="璇烽�夋嫨"
+ >
+ <el-option
+ v-for="item in usergroupArr"
+ :key="item.group_code"
+ :label="item.group_name"
+ :value="item.group_code"
+ />
+ </el-select>
</el-form-item>
<el-form-item label="宸ヨ祫绫诲瀷" prop="wagetype">
<el-select
@@ -245,11 +298,10 @@
/>
</el-select>
</el-form-item>
-
- <el-form-item label="鑱旂郴鏂瑰紡">
+ <el-form-item label="鑱旂郴鏂瑰紡" prop="Mobile">
<el-input v-model="dialogForm.Mobile" style="width: 200px" />
</el-form-item>
- <el-form-item label="鐢靛瓙閭">
+ <el-form-item label="鐢靛瓙閭" prop="Email">
<el-input v-model="dialogForm.Email" style="width: 200px" />
</el-form-item>
</el-form>
@@ -422,16 +474,20 @@
</div>
</span>
</el-dialog>
+
+ <!--瀵煎叆缁勪欢-->
+ <import-picker ref="importPickerFunc" :shows.sync="shows" :title="title_value" :colos="colos" :code="code" />
+
</div>
</template>
<script>
import Pagination from '@/components/Pagination'
+import ImportPicker from '@/components/ImportPicker'
+
import {
AddUpdateUser,
DeleteUser,
- RoleTypeAdd,
- RoleTypeDelete,
SaveUserAssoctRole,
UserAssociationRole,
UserGroupAdd,
@@ -442,12 +498,14 @@
} from '@/api/jcsz'
import { getCookie } from '@/utils/auth'
import $ from 'jquery'
+import clearAllChildren from '@/utils/global'
+import { MesOrderStepReportSelectUserGroup } from '@/api/scgl'
const SER_HZ = /^[\u4e00-\u9fa5]+$/
export default {
name: 'YYQD',
components: {
- Pagination
+ Pagination, ImportPicker
},
data() {
const validateName = (rule, value, callback) => {
@@ -461,6 +519,36 @@
}
}
}
+ const validateMobile = (rule, value, callback) => {
+ if (!value) {
+ callback()
+ // return callback(new Error('璇疯緭鍏ョ數璇濆彿鐮�'))
+ } else {
+ const mobile = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/ // 闀垮彿
+ const mobile2 = /^[0-9]{6}$/ // 鐭彿
+ if (mobile.test(value) || mobile2.test(value)) {
+ callback()
+ // return callback(new Error('鐢佃瘽鍙风爜涓嶇鍚堣鍒�'))
+ } else {
+ return callback(new Error('鐢佃瘽鍙风爜涓嶇鍚堣鍒�'))
+ // callback()
+ }
+ }
+ }
+ const validateEmail = (rule, value, callback) => {
+ if (!value) {
+ callback()
+ // return callback(new Error('璇疯緭鍏ョ數瀛愰偖绠�'))
+ } else {
+ const email = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/
+ if (email.test(value)) {
+ callback()
+ } else {
+ return callback(new Error('鐢靛瓙閭涓嶇鍚堣鍒�'))
+ }
+ }
+ }
+
return {
isFullscreen: false,
mainHeight: 0,
@@ -477,6 +565,7 @@
rows: 20 // 姣忛〉澶氬皯鏉�
},
StuOrgArr: [], // 鎵�灞炵粍缁囨暟缁�
+ StuOrgArr2: [], // 鎵�灞炵粍缁囨暟缁� 瀵硅瘽妗�
defaultProps: {
checkStrictly: true,
value: 'code',
@@ -495,14 +584,16 @@
UserCode: '',
UserName: '',
Password: '',
- Enable: '',
+ Enable: 'Y',
StuOrg: '',
Mobile: '',
Email: '',
+ groupcode: '',
Operator: '',
OperType: '',
wagetype: ''
},
+ usergroupArr: [], // 鐢熶骇鐝粍鏁扮粍
wagetypeArr: [
{ value: '2', label: '璁′欢鍒�' },
{ value: '1', label: '璁℃椂鍒�' }
@@ -526,7 +617,17 @@
],
wagetype: [
{ required: true, message: '璇烽�夋嫨宸ヨ祫绫诲瀷', trigger: ['blur', 'change'] }
+ ],
+ groupcode: [
+ { required: true, message: '璇烽�夋嫨鎵�灞炵彮缁�', trigger: ['blur', 'change'] }
+ ],
+ Mobile: [
+ { required: false, validator: validateMobile, trigger: ['blur', 'change'] }
+ ],
+ Email: [
+ { required: false, validator: validateEmail, trigger: ['blur', 'change'] }
]
+
},
dialogVisibleRoles: false,
dialogFormRoles: {
@@ -551,6 +652,17 @@
page: 1,
prop: 'group_code',
order: 'desc'
+ },
+
+ title_value: '鏁版嵁瀵煎叆 / 鐢ㄦ埛娓呭崟',
+ code: '2',
+ shows: false
+ }
+ },
+ watch: {
+ shows() {
+ if (!this.shows) {
+ this.getUserSearch()
}
}
},
@@ -572,11 +684,20 @@
// 鑾峰彇鎵�灞炵粍缁�
async getUserOrganization() {
const { data: res } = await UserOrganization()
- this.StuOrgArr = res
+ this.StuOrgArr = clearAllChildren(res)
+ },
+ // 鑾峰彇鎵�灞炵粍缁囧璇濇
+ async getUserOrganization2() {
+ const { data: res } = await UserOrganization()
+ this.StuOrgArr2 = clearAllChildren(res)
},
// 瀵煎叆鎸夐挳
upload() {
-
+ this.shows = true
+ this.$refs.importPickerFunc.newDataFunc()
+ },
+ colos() {
+ this.shows = false
},
// 鎺掑簭鏀瑰彉鏃�
sortChange({ column, prop, order }) {
@@ -600,7 +721,7 @@
this.form.UserCode = ''
this.form.UserName = ''
this.form.StuOrg = ''
- this.form.Enable = ''
+ this.form.Enable = 'Y'
this.form.wagetype = ''
this.$refs.cascader.checkedValue = ''// 绾ц仈閫夋嫨鍣ㄧ殑娓呯┖
this.getUserSearch()
@@ -612,10 +733,17 @@
dialogCascaderChange(val) {
this.dialogForm.StuOrg = val[val.length - 1]
},
+ // 鑾峰彇涓嬫媺鐢熶骇鐝粍
+ async getMesOrderStepReportSelectUserGroup() {
+ const { data: res } = await MesOrderStepReportSelectUserGroup()
+ this.usergroupArr = res
+ },
// 鏂板鎸夐挳
add(operation) {
this.operation = operation
this.dialogVisible = true
+ this.getUserOrganization2()
+ this.getMesOrderStepReportSelectUserGroup()
},
// 淇敼鎸夐挳
edit(operation, row) {
@@ -628,6 +756,7 @@
this.dialogForm.UserCode = row.usercode
this.dialogForm.UserName = row.username
this.dialogForm.Password = row.password
+ this.dialogForm.groupcode = row.group_code
this.dialogForm.Enable = row.enable
this.dialogForm.StuOrg = row.stu_torgcode
this.$refs.dialogCascader.checkedValue = row.stu_torgcode
@@ -635,6 +764,8 @@
this.dialogForm.Email = row.email
this.dialogForm.wagetype = row.wagetype
})
+ this.getMesOrderStepReportSelectUserGroup()
+ this.getUserOrganization2()
},
// 鍒犻櫎鎸夐挳
async del(id) {
@@ -659,11 +790,12 @@
this.dialogForm.UserCode = ''
this.dialogForm.UserName = ''
this.dialogForm.Password = ''
- this.dialogForm.Enable = ''
+ this.dialogForm.Enable = 'Y'
this.$refs.dialogCascader.checkedValue = ''
this.dialogForm.StuOrg = ''
this.dialogForm.Mobile = ''
this.dialogForm.Email = ''
+ this.dialogForm.groupcode = ''
this.dialogForm.wagetype = ''
this.$refs.dialogForm.clearValidate()
},
@@ -685,6 +817,7 @@
StuOrg: Array.isArray(this.$refs.dialogCascader.checkedValue) ? this.$refs.dialogCascader.checkedValue[this.$refs.dialogCascader.checkedValue.length - 1] : this.$refs.dialogCascader.checkedValue,
Mobile: this.dialogForm.Mobile,
Email: this.dialogForm.Email,
+ groupcode: this.dialogForm.groupcode,
wagetype: this.dialogForm.wagetype,
OperType: this.operation === 'add' ? 'Add' : 'Update',
Operator: getCookie('admin')
@@ -780,6 +913,7 @@
const res = await SaveUserAssoctRole(this.dialogFormRoles.roleTreeSelectedArr, this.dialogFormRoles.usercode)
if (res.code === '200') {
this.$message.success('淇濆瓨鎴愬姛锛�')
+ await this.getUserSearch()
this.dialogVisibleRoles = false
}
},
@@ -839,7 +973,8 @@
if (i.Code === checkedFatherCode) {
this.dialogFormRoles.roleTreeSelectedArr[ind].Data.forEach((i1, ind2) => {
if (i1 === a[0]) {
- this.dialogFormRoles.roleTreeSelectedArr[ind].Data.splice(ind2, 1)// 褰撳瓙code涓庣幇鍦ㄧ殑code鐩稿悓鏃舵墽琛�
+ // this.dialogFormRoles.roleTreeSelectedArr[ind].Data.splice(ind2, 1)// 褰撳瓙code涓庣幇鍦ㄧ殑code鐩稿悓鏃舵墽琛�
+ this.dialogFormRoles.roleTreeSelectedArr[ind].Data = this.dialogFormRoles.roleTreeSelectedArr[ind].Data.filter(i2 => i2 !== a[0])
} else {
this.dialogFormRoles.roleTreeSelectedArr[ind].Data.push(a[0])// //褰撳瓙code涓庣幇鍦ㄧ殑code涓嶇浉鍚屾椂鎵ц
}
@@ -1010,7 +1145,7 @@
this.workingTableData.splice(index, 1)
}
})
- // this.getUserGroupSearch()
+ this.getMesOrderStepReportSelectUserGroup()
},
// 鐢熶骇鐝粍鎺掑簭
sortChangeOfWorking({ column, prop, order }) {
@@ -1026,7 +1161,7 @@
this.getUserGroupSearch()
},
// 鑾峰彇鐢熶骇鐝粍鍒楄〃
- async getUserGroupSearch() {
+ async getUserGroupSearch() {
const res = await UserGroupSearch(this.formWorking)
this.workingTableData = res.data
this.workingTableDataLength = res.count
@@ -1059,16 +1194,16 @@
})
},
// 淇濆瓨
- async saveWorking(row) {
+ 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('鐝粍鎻忚堪涓嶈兘涓虹┖锛�')
- }
+ // if (row.description.trim().length < 1) {
+ // return this.$message.info('鐝粍鎻忚堪涓嶈兘涓虹┖锛�')
+ // }
const data = {
code: row.group_code,
name: row.group_name,
@@ -1107,6 +1242,7 @@
border: none;
padding: 0 20px;
}
+
::v-deep .el-button--primary:hover {
border: none;
}
@@ -1149,7 +1285,7 @@
padding: 20px 100px !important;
}
-.workingDialogVisible ::v-deep .el-dialog__body{
+.workingDialogVisible ::v-deep .el-dialog__body {
padding: 20px 20px !important;
}
@@ -1298,15 +1434,15 @@
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-input__inner:focus {
+::v-deep .el-input__inner:focus {
border-color: #42b983 !important;
}
@@ -1327,10 +1463,12 @@
background-color: #42b983;
border-color: #42b983;
}
+
.el-radio__input.is-checked .el-radio__inner:hover {
border-color: #42b983;
}
- .el-input__inner{
+
+ .el-input__inner {
border-color: #42b983 !important;
}
--
Gitblit v1.9.3