From 1e9fa82cb2fe2c15f46bd1dd73f5c878c74b83b8 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期四, 04 八月 2022 15:35:50 +0800
Subject: [PATCH] 1.系统多账号登录问题2.采购订单页面样式修改及数据渲染
---
src/views/zlgl/gxjybz.vue | 326 ++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 219 insertions(+), 107 deletions(-)
diff --git a/src/views/zlgl/gxjybz.vue b/src/views/zlgl/gxjybz.vue
index a8acd3b..5118d2b 100644
--- a/src/views/zlgl/gxjybz.vue
+++ b/src/views/zlgl/gxjybz.vue
@@ -54,17 +54,17 @@
label="搴忓彿"
/>
<el-table-column
- prop="org_code"
+ prop="code"
label="鏍囧噯浠g爜"
sortable="custom"
/>
<el-table-column
- prop="org_name"
+ prop="name"
label="鏍囧噯鍚嶇О"
sortable="custom"
/>
<el-table-column
- prop="description"
+ prop="descr"
label="鏍囧噯鎻忚堪"
sortable="custom"
/>
@@ -109,21 +109,29 @@
:visible.sync="dialogVisible"
width="800"
top="15vh"
+ :close-on-click-modal="false"
@closed="handleClose"
@close="handleClose"
>
<div style="margin-bottom: 10px">
<i class="el-icon-s-comment" style="color:#42b983;" /> 鏍囧噯淇℃伅锛�
</div>
- <el-form ref="dialogForm" style="margin-left: 80px" inline :rules="dialogFormRules" :model="dialogForm" label-width="80px">
- <el-form-item label="鏍囧噯缂栫爜" prop="OrgCode">
- <el-input v-model="dialogForm.OrgCode" :disabled="operation!=='add'" style="width: 200px" />
+ <el-form
+ ref="dialogForm"
+ style="margin-left: 80px"
+ inline
+ :rules="dialogFormRules"
+ :model="dialogForm"
+ label-width="80px"
+ >
+ <el-form-item label="鏍囧噯缂栫爜" prop="code">
+ <el-input v-model="dialogForm.code" :disabled="operation!=='add'" style="width: 200px" />
</el-form-item>
- <el-form-item label="鏍囧噯鍚嶇О" prop="OrgName">
- <el-input v-model="dialogForm.OrgName" style="width: 200px" />
+ <el-form-item label="鏍囧噯鍚嶇О" prop="name">
+ <el-input v-model="dialogForm.name" :disabled="operation==='check'" style="width: 200px" />
</el-form-item>
<el-form-item label="鎻忚堪">
- <el-input v-model="dialogForm.OrgName" type="textarea" style="width: 200px" />
+ <el-input v-model="dialogForm.description" :disabled="operation==='check'" type="textarea" style="width: 200px" />
</el-form-item>
</el-form>
<div style="margin-bottom: 10px">
@@ -145,58 +153,91 @@
@sort-change="sortChange"
>
<el-table-column
- prop="RowNum"
- label="搴忓彿"
+ type="index"
width="100"
/>
<el-table-column
- prop="mc"
- label="妫�楠屾爣鍑嗗悕绉�"
+ prop="code"
+ label="妫�楠屾爣鍑嗙紪鐮�(鍚嶇О)"
>
<template slot-scope="{row}">
- <div v-if="row.isVisible===0">{{ row.mc }}</div>
- <el-input v-if="row.isVisible===1" v-model="row.mc" />
+ <div v-if="row.isVisible===0" style="display: flex;">
+ <div>{{ row.code }}</div>
+ <div style="margin-left: 10px">{{ row.name }}</div>
+ </div>
+
+ <el-select
+ v-if="row.isVisible===1"
+ v-model="row.code"
+ filterable
+ :popper-append-to-body="false"
+ style="width: 400px;"
+ placeholder="璇烽�夋嫨"
+ @change="val=>changeCode(val,row)"
+ >
+ <el-option
+ v-for="item in JYSelectArr"
+ :key="item.code"
+ :label="item.code+''+item.name"
+ :value="item.code"
+ />
+ </el-select>
</template>
</el-table-column>
+ <!-- <el-table-column-->
+ <!-- prop="name"-->
+ <!-- label="妫�楠屾爣鍑嗗悕绉�"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- <div v-if="row.isVisible===0">{{ row.name }}</div>-->
+ <!-- <el-select-->
+ <!-- v-if="row.isVisible===1"-->
+ <!-- v-model="row.name"-->
+ <!-- filterable-->
+ <!-- :popper-append-to-body="false"-->
+ <!-- style="width: 200px;"-->
+ <!-- placeholder="璇烽�夋嫨"-->
+ <!-- @change="val=>changeName(val,row)"-->
+ <!-- >-->
+ <!-- <el-option-->
+ <!-- v-for="item in JYSelectArr"-->
+ <!-- :key="item.code"-->
+ <!-- :label="item.name"-->
+ <!-- :value="item.code"-->
+ <!-- />-->
+ <!-- </el-select>-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
<el-table-column
- prop="ms"
+ prop="descr"
label="妫�楠屾弿杩版弿杩�"
>
<template slot-scope="{row}">
- <div v-if="row.isVisible===0">{{ row.ms }}</div>
- <el-input v-if="row.isVisible===1" v-model="row.ms" />
+ <div v-if="row.isVisible===0">{{ row.descr }}</div>
+ <el-input v-if="row.isVisible===1" v-model="row.descr" />
</template>
</el-table-column>
<el-table-column
+ v-if="operation!=='check'"
label="鎿嶄綔"
>
<template slot-scope="{row}">
<div class="operationClass">
<el-button v-if="row.isVisible===0" type="text" @click="JYedit(row)">缂栬緫</el-button>
<el-button v-if="row.isVisible===0" type="text" @click="JYdel(row)">鍒犻櫎</el-button>
- <el-button v-if="row.isVisible===1" type="text" @click="JYsave(row)">淇濆瓨</el-button>
- <el-button v-if="row.isVisible===1" type="text" @click="Jycancel(row)">鍙栨秷</el-button>
+ <el-button v-if="row.isVisible===1" type="text" @click="JYsave(row)">纭畾</el-button>
+ <el-button v-if="row.isVisible===1" type="text" @click="JYcancel(row)">鍙栨秷</el-button>
</div>
</template>
</el-table-column>
</el-table>
</div>
- <!--鍒嗛〉-->
- <!-- <pagination-->
- <!-- v-show="JYtotal>0"-->
- <!-- :total="JYtotal"-->
- <!-- :page.sync="JYfrom.page"-->
- <!-- :limit.sync="JYfrom.rows"-->
- <!-- align="right"-->
- <!-- layout="prev, pager, next,sizes"-->
- <!-- popper-class="select_bottom"-->
- <!-- @pagination="getStepCheckItemSelect"-->
- <!-- />-->
<span slot="footer" class="dialog-footer">
<div class="footerButton">
- <el-button @click="dialogVisibleCancel">鍙� 娑�</el-button>
- <el-button type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>
+ <el-button v-if="operation==='check'" @click="dialogVisibleCancel">杩� 鍥�</el-button>
+ <el-button v-if="operation!=='check'" @click="dialogVisibleCancel">鍙� 娑�</el-button>
+ <el-button v-if="operation!=='check'" type="primary" @click="dialogVisibleConfirm">鎻� 浜�</el-button>
</div>
</span>
</el-dialog>
@@ -205,9 +246,12 @@
<script>
import Pagination from '@/components/Pagination'
-import { AddUpdateOrganization, DeleteOrganization, OrganizationSearch, PrentOrganization } from '@/api/jcsz'
-import { getCookie } from '@/utils/auth'
-import { StepCheckStanedSearch } from '@/api/zlgl'
+import {
+ AddUpdateStepCheckStaned, DeleteStepCheckStaned,
+ EditStepCheckStanedSearch,
+ StepCheckItemSelect,
+ StepCheckStanedSearch
+} from '@/api/zlgl'
const SER_HZ = /^[\u4e00-\u9fa5]+$/
export default {
@@ -246,61 +290,49 @@
page: 1, // 绗嚑椤�
rows: 20 // 姣忛〉澶氬皯鏉�
},
- OrgTypeArr: [
- { label: '宸ュ巶', value: 'F' },
- { label: '閮ㄩ棬', value: 'D' },
- { label: '杞﹂棿', value: 'W' },
- { label: '绉戝', value: 'K' },
- { label: '鐢熶骇绾�', value: 'L' }
- ],
-
total: 10,
tableData: [],
dialogVisible: false,
dialogForm: {
- OrgType: '',
- OrgCode: '',
- OrgName: '',
- SupUnit: ''// 涓婄骇鍗曚綅
+ code: '', // 宸ュ簭妫�楠屾爣鍑嗙紪鐮�
+ name: '', // 宸ュ簭妫�楠屾爣鍑嗗悕绉�
+ enable: '', // 浼犵┖鍊�
+ description: '' // 宸ュ簭妫�楠屾爣鍑嗘弿杩�
},
operation: '',
dialogFormRules: {
- OrgType: [
- { required: true, message: '璇疯緭鍏ラ�夋嫨绫诲瀷', trigger: ['blur', 'change'] }
- ],
- OrgCode: [
+ code: [
{ required: true, validator: validateName, trigger: ['blur', 'change'] }
],
- OrgName: [
+ name: [
{ required: true, message: '璇疯緭鍏ュ悕绉�', trigger: ['blur', 'change'] }
- ],
- SupUnit: [
- { required: true, validator: validateTypeCode, trigger: ['blur', 'change'] }
]
},
- JYTableData: [
- { RowNum: 1, mc: 'xxx1', ms: 'aaaa' }
- ], // 瀵硅瘽妗嗘楠屼俊鎭〃鏍�
- JYfrom: {
- page: 1,
- rows: 10
- },
- JYtotal: 10
+ JYTableData: [], // 瀵硅瘽妗嗘楠屼俊鎭〃鏍�
+ JYSelectArr: [], // 妫�楠岄」鐩笅鎷夋暟缁�
+ JYSelectedArr: [] // 宸查�夋楠岄」鐩暟缁�
}
},
created() {
- this.getStepCheckStanedSearch()
- this.getStepCheckItemSelect()
+ this.handleRequest()
},
mounted() {
window.addEventListener('resize', this.getHeight)
this.getHeight()
},
methods: {
+ handleRequest() {
+ this.getStepCheckStanedSearch().then(res => {
+ if (res.code === '200') {
+ this.getStepCheckItemSelect()
+ }
+ })
+ },
async getStepCheckStanedSearch() {
const res = await StepCheckStanedSearch(this.form)
this.tableData = res.data
this.total = res.count
+ return { code: res.code }
},
// 鎺掑簭鏀瑰彉鏃�
sortChange({ column, prop, order }) {
@@ -324,10 +356,9 @@
},
// 閲嶇疆
reset() {
- this.form.OrgCode = ''
- this.form.OrgName = ''
- this.form.OrgType = ''
- this.form.UserName = ''
+ this.form.stanedcode = ''
+ this.form.stanedname = ''
+ this.form.staneddescr = ''
this.getStepCheckStanedSearch()
},
@@ -340,17 +371,28 @@
edit(operation, row) {
this.operation = operation
this.dialogVisible = true
-
- this.$nextTick(() => {
- this.dialogForm.OrgCode = row.org_code
- this.dialogForm.OrgName = row.org_name
- this.dialogForm.SupUnit = row.parent_id
- })
+ this.getEditStepCheckStanedSearch(row.code)
},
// 鏌ョ湅
check(operation, row) {
this.operation = operation
this.dialogVisible = true
+ this.getEditStepCheckStanedSearch(row.code)
+ },
+ async getEditStepCheckStanedSearch(val) {
+ const { data: res } = await EditStepCheckStanedSearch({ defectcode: val })
+ this.dialogForm.code = res.code
+ this.dialogForm.name = res.name
+ this.dialogForm.description = res.description
+ this.JYTableData = res.Data
+ this.JYTableData.forEach(item => {
+ let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
+ number = number === 0 ? (10 + Math.random()) : number
+ item.isVisible = 0
+ item.descr = item.stepcheckitem_desc
+ item.number = number
+ this.JYSelectedArr.push(item.code)
+ })
},
// 鍒犻櫎鎸夐挳
async del(row) {
@@ -359,7 +401,7 @@
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
- DeleteOrganization({ orgid: row.code }).then(res => {
+ DeleteStepCheckStaned({ stanedcode: row.code }).then(res => {
if (res.code === '200') {
this.$message.success('鍒犻櫎鎴愬姛!')
this.getStepCheckStanedSearch()
@@ -371,10 +413,12 @@
},
// 瀵硅瘽妗嗗叧闂簨浠�
handleClose() {
- this.dialogForm.OrgType = ''
- this.dialogForm.OrgCode = ''
- this.dialogForm.OrgName = ''
- this.dialogForm.SupUnit = ''
+ this.dialogForm.code = ''
+ this.dialogForm.name = ''
+ this.dialogForm.enable = ''
+ this.dialogForm.description = ''
+ this.JYTableData = []
+ this.JYSelectedArr = []
this.$refs.dialogForm.clearValidate()
},
// 瀵硅瘽妗嗗彇娑�
@@ -385,13 +429,22 @@
dialogVisibleConfirm() {
this.$refs.dialogForm.validate(valid => {
if (valid) {
+ const tableData = []
+ this.JYTableData.forEach((item, index) => {
+ tableData.push({
+ STEPCHECKITEM_SEQ: (index + 1),
+ STEPCHECKITEM_CODE: item.code,
+ STEPCHECKITEM_DESC: item.descr
+ })
+ })
const data = {
- OrganCode: this.dialogForm.OrgCode,
- OrganName: this.dialogForm.OrgName,
- OperType: this.operation === 'add' ? 'Add' : 'Update',
- Operator: getCookie('admin')
+ code: this.dialogForm.code,
+ name: this.dialogForm.name,
+ description: this.dialogForm.description,
+ enable: '',
+ Data: tableData
}
- AddUpdateOrganization(data).then(res => {
+ AddUpdateStepCheckStaned(this.operation === 'add' ? 'Add' : 'Update', data).then(res => {
if (res.code === '200') {
this.$message.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
this.dialogVisible = false
@@ -410,25 +463,41 @@
this.tableHeight = this.mainHeight - 100
})
},
-
- // 鑾峰彇妫�楠岄」淇℃伅琛�
- getStepCheckItemSelect() {
- // let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
- // number = number === 0 ? (10 + Math.random()) : number
- this.JYTableData.forEach(item => {
- item.isVisible = 0
- })
+ // 鑾峰彇妫�楠岄」鐩笅鎷夊垪琛�
+ async getStepCheckItemSelect() {
+ const { data: res } = await StepCheckItemSelect()
+ this.JYSelectArr = res
},
+ // 妫�楠屾爣鍑嗙紪鐮佸�兼敼鍙�
+ changeCode(val, row) {
+ row.name = this.JYSelectArr.find(it => it.code === val).name
+ row.descr = this.JYSelectArr.find(it => it.code === val).descr
+ },
+ // 妫�楠屾爣鍑嗗悕绉板�兼敼鍙�
+ // changeName(val, row) {
+ // row.code = this.JYSelectArr.find(it => it.code === val).code
+ // row.descr = this.JYSelectArr.find(it => it.code === val).descr
+ // },
// 妫�楠屾柊澧�
JYadd() {
+ if (this.JYTableData.length > 0 && this.JYTableData[this.JYTableData.length - 1].isVisible === 1) {
+ return this.$message.info('璇峰厛纭畾鎴栧彇娑堟湰鏉¤褰曪紒')
+ }
+
let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
number = number === 0 ? (10 + Math.random()) : number
- const data = { mc: '', ms: '', isVisible: 1, number }
- this.JYTableData.unshift(data)
+ const data = { code: '', name: '', descr: '', isVisible: 1, number }
+ this.JYTableData.push(data)
},
JYedit(row) {
+ this.JYSelectedArr.forEach((item, index) => {
+ if (item === row.code) {
+ this.JYSelectedArr.splice(index, 1)
+ }
+ })
+
this.JYTableData.forEach((item, index) => {
- if (item.mc === row.mc) {
+ if (item.code === row.code) {
item.isVisible = 1
}
})
@@ -439,18 +508,50 @@
this.JYTableData.splice(index, 1)
}
})
- },
- JYsave(row) {
- this.JYTableData.forEach(item => {
- if (item.number === row.number) {
- item.isVisible = 0
+
+ this.JYSelectedArr.forEach((item, index) => {
+ if (item === row.code) {
+ this.JYSelectedArr.splice(index, 1)
}
})
},
- Jycancel(row) {
+ JYsave(row) {
+ if (row.code === '') {
+ return this.$message.info('妫�楠屾爣鍑嗙紪鐮�(鍚嶇О)涓嶈兘涓虹┖锛�')
+ }
+ // if (row.name === '') {
+ // return this.$message.info('妫�楠屾爣鍑嗗悕绉颁笉鑳戒负绌猴紒')
+ // }
+
+ if (this.JYSelectedArr.find(item => item === row.code) !== undefined) {
+ return this.$message.info('妫�楠屾爣鍑嗙紪鐮�(鍚嶇О)涓嶈兘閲嶅锛�')
+ } else {
+ this.JYSelectedArr.push(row.code)
+ }
+
+ this.JYTableData.forEach((item, index) => {
+ if (item.number === row.number) {
+ item.isVisible = 0
+ this.JYTableData.splice(index, 1, {
+ number: row.number,
+ code: row.code,
+ name: row.name,
+ isVisible: 0,
+ descr: row.descr
+ })
+ }
+ })
+ },
+ JYcancel(row) {
this.JYTableData.forEach((item, index) => {
if (item.number === row.number) {
this.JYTableData.splice(index, 1)
+ }
+ })
+
+ this.JYSelectedArr.forEach((item, index) => {
+ if (item === row.code) {
+ this.JYSelectedArr.splice(index, 1)
}
})
}
@@ -469,9 +570,11 @@
border: none;
padding: 0 20px;
}
+
::v-deep .el-button--primary:hover {
border: none;
}
+
::v-deep .el-button--info {
height: 30px;
display: flex;
@@ -531,6 +634,7 @@
height: 30px;
line-height: 30px;
}
+
::v-deep .el-input__inner:focus {
border-color: $main_color;
}
@@ -607,18 +711,26 @@
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-checkbox__inner:hover{
+
+::v-deep .el-checkbox__inner:hover {
border-color: $main_color;
}
-::v-deep .el-textarea__inner:focus{
+
+::v-deep .el-textarea__inner:focus {
border-color: $main_color;
}
+::v-deep .el-select__caret {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
</style>
--
Gitblit v1.9.3