4406e25a by 任超

style:登记情形设

1 parent fc4eaed2
......@@ -103,7 +103,7 @@ export default {
label: '是否禁用',
render: (h, scope) => {
return (
<el-radio-group v-model={scope.row.isenable}>
<el-radio-group disabled={this.details.isenable == 2} v-model={scope.row.isenable}>
<el-radio label="1">启用</el-radio>
<el-radio label="0">禁用</el-radio>
</el-radio-group>
......@@ -181,7 +181,7 @@ export default {
handler: function (newValue) {
this.tableData = judgeSort(_.cloneDeep(newValue.dataList))
if (newValue.isenable == 2) {
this.column = this.columns.slice(0, 3)
this.column = this.columns.slice(0, 6)
} else {
this.column = this.columns
}
......
......@@ -2,8 +2,8 @@
功能:登记情形设定
-->
<template>
<div class='该组件名称'>
<el-form :model="ruleForm" :rules="rules">
<div>
<el-form :model="ruleForm">
<el-row>
<el-col :span="5">
<el-form-item label="登记业务编码">
......@@ -23,34 +23,25 @@
</div>
</template>
<script>
import { upward, down } from '@/utils/operation'
import { mapGetters } from 'vuex'
import { judgeSort, realMove, findParents } from '@/utils/operation'
export default {
props: {
ruleForm: {
type: Object, default: {}
},
subData: {
type: Object, default: () => {
return {}
}
}
},
computed: {
...mapGetters(['dictData'])
},
data () {
return {
key: 0,
cllxOptions: [
{
name: '买卖',
value: '1'
},
{
name: '买卖继承',
value: '2'
}
],
rules: {
djywbm: [
{ required: true, message: '登记业务编码', trigger: 'blur' },
],
djywmc: [
{ required: true, message: '登记业务名称', trigger: 'blur' },
],
},
column: [
{
width: '60',
......@@ -69,23 +60,14 @@ export default {
type: 'index'
},
{
prop: 'sfbx',
label: '是否必须',
width: '80',
label: '是否必填',
width: '100',
render: (h, scope) => {
return (
<el-input value={scope.row[scope.column.property]}
onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
)
}
},
{
prop: 'djqx',
label: '登记情形',
render: (h, scope) => {
return (
<el-input placeholder="登记情形" value={scope.row[scope.column.property]}
onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
<el-radio-group v-model={scope.row.isrequired} onChange={(val) => { scope.row[scope.column.property] = val }}>
<el-radio label={'1'}></el-radio>
<el-radio label={'0'}></el-radio>
</el-radio-group>
)
}
},
......@@ -115,11 +97,42 @@ export default {
render: (h, scope) => {
return (
<el-select value={scope.row[scope.column.property]}
onChange={(val) => { scope.row[scope.column.property] = val }}>
onChange={(val) => { scope.row[scope.column.property] = val }} clearable>
{
this.cllxOptions.map(option => {
this.dictData['A40'].map(option => {
return (
<el-option label={option.name} value={option.value}></el-option>
<el-option label={option.dname} value={option.dcode}></el-option>
)
})
}
</el-select>
)
}
},
{
label: '是否公共材料',
width: '100',
render: (h, scope) => {
return (
<el-radio-group v-model={scope.row.sfggcl} onChange={(val) => { scope.row[scope.column.property] = val; this.handleSelectGgcl(scope.row) }}>
<el-radio label={'1'}></el-radio>
<el-radio label={'0'}></el-radio>
</el-radio-group>
)
}
},
{
prop: 'djqxbm',
label: '登记情形',
width: '180',
render: (h, scope) => {
return (
<el-select disabled={scope.row.sfggcl == '1'} value={scope.row[scope.column.property]}
onChange={(val) => { scope.row[scope.column.property] = val }} clearable>
{
this.subData['djqx'].map(option => {
return (
<el-option label={option.nodename} value={option.nodecode}></el-option>
)
})
}
......@@ -133,22 +146,14 @@ export default {
render: (h, scope) => {
return (
<div>
<i class="el-icon-top pointer move" disabled={scope.$index == 0} onClick={() => { this.moveUpward(scope.$index, scope.row) }}></i>
<i class="el-icon-bottom pointer move" disabled={(scope.$index + 1) == this.tableData.length} onClick={() => { this.moveDown(scope.$index, scope.row) }}></i>
<el-button type='text' disabled={scope.row.isTop} onClick={() => { this.moveUpward(scope.$index, scope.row) }}>上移</el-button>
<el-button type='text' disabled={scope.row.isBottom} onClick={() => { this.moveDown(scope.$index, scope.row) }}>下移</el-button >
</div>
)
}
}
],
tableData: [
{
sfbx: '',
djqx: '',
clbm: '',
clmc: '',
cllx: ''
}
]
tableData: []
}
},
watch: {
......@@ -157,33 +162,49 @@ export default {
this.$emit('updateValue', newValue)
},
deep: true
}
},
subData: {
handler: function (newValue) {
this.tableData = judgeSort(newValue.clxx)
},
deep: true
},
},
methods: {
handleAdd () {
this.tableData.push(
{
sfbx: '',
djqx: '',
isrequired: '1',
djqxbm: '',
clbm: '',
clmc: '',
cllx: ''
cllx: '',
sfggcl: '1'
}
)
this.key++
},
handleSelectGgcl (item) {
if (item.sfggcl == '1') {
item.djqxbm = ''
}
},
handleMinus (index, row) {
this.tableData.splice(index, 1)
},
// 上移下移
moveUpward (index, row) {
upward(index, this.tableData)
realMove(row.bsmClxx, 'UP', this.tableData)
this.key++
let id = findParents(this.tableData, row.bsmClxx)
this.keyList = id
},
moveDown (index, row) {
down(index, this.tableData)
realMove(row.bsmClxx, 'DOWN', this.tableData)
this.key++
},
let id = findParents(this.tableData, row.bsmClxx)
this.keyList = id
}
}
}
</script>
......
......@@ -2,7 +2,7 @@
功能:登记情形设定
-->
<template>
<div class='该组件名称'>
<div class='djqxsd'>
<el-form :model="ruleForm">
<el-row>
<el-col :span="5">
......@@ -23,7 +23,7 @@
</div>
</template>
<script>
import { upward, down } from '@/utils/operation'
import { judgeSort, realMove, findParents } from '@/utils/operation'
export default {
props: {
djqxList: {
......@@ -67,12 +67,12 @@ export default {
},
{
prop: 'nodecode',
width: '100',
width: '105',
label: '登记情形编码',
render: (h, scope) => {
return (
<el-input placeholder="登记情形编码" disabled={scope.row.sftsdjqx == '1'} value={scope.row[scope.column.property]}
onInput={(val) => { scope.row[scope.column.property] = val }}></el-input>
<el-input placeholder="登记情形编码" class={{ repeat: scope.row.repeat }} disabled={scope.row.sftsdjqx == '1'} value={scope.row[scope.column.property]}
onInput={(val) => { scope.row[scope.column.property] = val }} onBlur={() => { this.nodecodeBlur(scope.$index, scope.row) }} maxlength="8"></el-input>
)
}
},
......@@ -122,12 +122,12 @@ export default {
},
{
label: '移动',
width: '80',
width: '100',
render: (h, scope) => {
return (
<div>
<i class="el-icon-top pointer move" disabled={scope.$index == 0} onClick={() => { this.moveUpward(scope.$index, scope.row) }}></i>
<i class="el-icon-bottom pointer move" disabled={(scope.$index + 1) == this.tableData.length} onClick={() => { this.moveDown(scope.$index, scope.row) }}></i>
<el-button type='text' disabled={scope.row.isTop} onClick={() => { this.moveUpward(scope.$index, scope.row) }}>上移</el-button>
<el-button type='text' disabled={scope.row.isBottom} onClick={() => { this.moveDown(scope.$index, scope.row) }}>下移</el-button >
</div>
)
}
......@@ -139,7 +139,7 @@ export default {
watch: {
djqxList: {
handler: function (newValue) {
this.tableData = newValue
this.tableData = judgeSort(newValue)
},
deep: true,
immediate: true
......@@ -153,13 +153,22 @@ export default {
},
methods: {
handleAdd () {
let code = this.tableData.slice(-1)[0].nodecode
let codeQ = code.slice(0, 6)
let len = ''
if (this.tableData.length + 1 < 9) {
len = 0 + String(this.tableData.length + 1)
} else {
len = this.tableData.length + 1
}
this.tableData.push(
{
nodecode: '',
nodecode: codeQ + len,
nodename: '',
enabled: '1',
djyy: '',
sfqydjyymb: '1'
sfqydjyymb: '0'
}
)
this.key++
......@@ -167,20 +176,38 @@ export default {
handleMinus (index, row) {
this.tableData.splice(index, 1)
},
nodecodeBlur (index, row) {
let list = _.cloneDeep(this.tableData).filter(item => item.bsmSqyw != row.bsmSqyw)
let arr = list.map(item => item.nodecode)
if (arr.includes(row.nodecode)) {
this.$set(row, 'repeat', true)
this.$message.error('登记情形编码不能重复');
} else {
this.$set(row, 'repeat', false)
}
},
// 上移下移
moveUpward (index, row) {
upward(index, this.tableData)
realMove(row.bsmDict, 'UP', this.tableData)
this.key++
let id = findParents(this.tableData, row.bsmDict)
this.keyList = id
},
moveDown (index, row) {
down(index, this.tableData)
realMove(row.bsmDict, 'DOWN', this.tableData)
this.key++
},
let id = findParents(this.tableData, row.bsmDict)
this.keyList = id
}
}
}
</script>
<style scoped lang='scss'>
/deep/.el-radio {
margin-right: 5px;
<style lang='scss'>
.djqxsd {
.repeat {
.el-input__inner {
border-color: red !important;
}
}
}
</style>
\ No newline at end of file
......
......@@ -114,7 +114,7 @@
</el-row>
</el-form>
<djqxsd v-show="n == 1" :djqxList="subData.djqx" :ruleForm="ruleForm" @updateValue="getDjqxValue" />
<clgzsd v-show="n == 2" :ruleForm="ruleForm" @updateValue="getClValue" />
<clgzsd v-show="n == 2" :ruleForm="ruleForm" :subData="subData" @updateValue="getClValue" />
<dyztsd :ruleForm="ruleForm" :subData="subData" v-show="n == 3" @updateValue="getDyztsdValue" />
</div>
</div>
......@@ -231,7 +231,7 @@ export default {
this.subData.djqx = val
},
getClValue (val) {
console.log(val);
this.subData.clxx = val
},
// 单元状态设定
getDyztsdValue (val) {
......@@ -293,6 +293,14 @@ export default {
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
/deep/.el-radio {
margin-right: 8px;
}
/deep/.el-radio__label {
padding-left: 2px;
}
.active {
background: $light-blue !important;
color: #fff;
......