style:已办箱
Showing
14 changed files
with
1027 additions
and
978 deletions
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-07-19 14:09:11 | ||
| 5 | --> | ||
| 1 | <template> | 6 | <template> |
| 2 | <div class="from-clues"> | 7 | <div class="from-clues"> |
| 3 | <!-- 表单部分 --> | 8 | <!-- 表单部分 --> |
| 4 | <div class="from-clues-header"> | 9 | <div class="from-clues-header"> |
| 5 | <el-form :model="ruleForm" label-width="80px"> | 10 | <el-form :model="ruleForm" label-width="80px"> |
| 6 | <el-row> | 11 | <el-row> |
| 7 | <el-col :span="5"> | 12 | <el-col :span="5"> |
| 8 | <el-form-item label="个性化配置"> | 13 | <el-form-item label="个性化配置"> |
| 9 | <el-input ></el-input> | 14 | <el-input></el-input> |
| 10 | </el-form-item> | 15 | </el-form-item> |
| 11 | </el-col> | 16 | </el-col> |
| 12 | <el-col :span="19" class="btnColRight"> | 17 | <el-col :span="19" class="btnColRight"> |
| 13 | <el-form-item> | 18 | <el-form-item> |
| 14 | <el-button type="primary" native-type="submit" >查询</el-button> | 19 | <el-button type="primary" native-type="submit">查询</el-button> |
| 15 | </el-form-item> | 20 | </el-form-item> |
| 16 | </el-col> | 21 | </el-col> |
| 17 | </el-row> | 22 | </el-row> |
| 18 | </el-form> | 23 | </el-form> |
| 19 | </div> | ||
| 20 | <!-- 表格 --> | ||
| 21 | </div> | 24 | </div> |
| 22 | </template> | 25 | <!-- 表格 --> |
| 26 | </div> | ||
| 27 | </template> | ||
| 23 | <script> | 28 | <script> |
| 24 | import table from "@/utils/mixin/table"; | 29 | import table from "@/utils/mixin/table"; |
| 25 | export default { | 30 | export default { |
| 26 | name: "gxhpz", | 31 | name: "gxhpz", |
| 27 | components: { }, | 32 | components: {}, |
| 28 | mixins: [table], | 33 | mixins: [table], |
| 29 | mounted () { | 34 | mounted () { |
| 30 | }, | 35 | }, |
| ... | @@ -40,5 +45,5 @@ | ... | @@ -40,5 +45,5 @@ |
| 40 | </script> | 45 | </script> |
| 41 | <style scoped lang="scss"> | 46 | <style scoped lang="scss"> |
| 42 | @import "~@/styles/public.scss"; | 47 | @import "~@/styles/public.scss"; |
| 43 | </style> | 48 | </style> |
| 44 | 49 | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-07-19 14:09:29 | ||
| 5 | --> | ||
| 1 | <template> | 6 | <template> |
| 2 | <div class="from-clues"> | 7 | <div class="from-clues"> |
| 3 | <!-- 表单部分 --> | 8 | <!-- 表单部分 --> |
| ... | @@ -31,50 +36,50 @@ | ... | @@ -31,50 +36,50 @@ |
| 31 | </div> | 36 | </div> |
| 32 | </template> | 37 | </template> |
| 33 | <script> | 38 | <script> |
| 34 | import { mapGetters } from 'vuex' | 39 | import { mapGetters } from 'vuex' |
| 35 | import { sysSqywmbszSearch } from '@/api/sysSqywmbsz' | 40 | import { sysSqywmbszSearch } from '@/api/sysSqywmbsz' |
| 36 | import table from "@/utils/mixin/table" | 41 | import table from "@/utils/mixin/table" |
| 37 | import { datas, sendThis } from "./qtjfjmb" | 42 | import { datas, sendThis } from "./qtjfjmb" |
| 38 | export default { | 43 | export default { |
| 39 | name: "qtjfjmb", | 44 | name: "qtjfjmb", |
| 40 | mixins: [table], | 45 | mixins: [table], |
| 41 | mounted () { | 46 | mounted () { |
| 42 | sendThis(this); | 47 | sendThis(this); |
| 43 | this.queryClick() | 48 | this.queryClick() |
| 44 | }, | ||
| 45 | computed: { | ||
| 46 | ...mapGetters(['dictData']) | ||
| 47 | }, | ||
| 48 | data () { | ||
| 49 | return { | ||
| 50 | queryForm: { | ||
| 51 | qllx: "" | ||
| 52 | }, | ||
| 53 | tableData: { | ||
| 54 | total: 0, | ||
| 55 | columns: datas.columns(), | ||
| 56 | data: [] | ||
| 57 | }, | ||
| 58 | bsmMb: '' | ||
| 59 | } | ||
| 60 | }, | ||
| 61 | methods: { | ||
| 62 | // 初始化数据 | ||
| 63 | queryClick () { | ||
| 64 | this.$startLoading(); | ||
| 65 | sysSqywmbszSearch({ ...this.pageData, ...this.queryForm }).then(res => { | ||
| 66 | this.$endLoading(); | ||
| 67 | let { records, total } = res.result | ||
| 68 | this.tableData.data = records ? records : [] | ||
| 69 | this.tableData.total = total ? total : 0 | ||
| 70 | }) | ||
| 71 | }, | 49 | }, |
| 72 | editClick (row) { | 50 | computed: { |
| 73 | this.$popupDialog("其他及附记模板", "system/qtjfjmb/components/editDialog", row, '60%') | 51 | ...mapGetters(['dictData']) |
| 52 | }, | ||
| 53 | data () { | ||
| 54 | return { | ||
| 55 | queryForm: { | ||
| 56 | qllx: "" | ||
| 57 | }, | ||
| 58 | tableData: { | ||
| 59 | total: 0, | ||
| 60 | columns: datas.columns(), | ||
| 61 | data: [] | ||
| 62 | }, | ||
| 63 | bsmMb: '' | ||
| 64 | } | ||
| 65 | }, | ||
| 66 | methods: { | ||
| 67 | // 初始化数据 | ||
| 68 | queryClick () { | ||
| 69 | this.$startLoading(); | ||
| 70 | sysSqywmbszSearch({ ...this.pageData, ...this.queryForm }).then(res => { | ||
| 71 | this.$endLoading(); | ||
| 72 | let { records, total } = res.result | ||
| 73 | this.tableData.data = records ? records : [] | ||
| 74 | this.tableData.total = total ? total : 0 | ||
| 75 | }) | ||
| 76 | }, | ||
| 77 | editClick (row) { | ||
| 78 | this.$popupDialog("其他及附记模板", "system/qtjfjmb/components/editDialog", row, '60%') | ||
| 79 | } | ||
| 74 | } | 80 | } |
| 75 | } | 81 | } |
| 76 | } | ||
| 77 | </script> | 82 | </script> |
| 78 | <style scoped lang="scss"> | 83 | <style scoped lang="scss"> |
| 79 | @import "~@/styles/public.scss"; | 84 | @import "~@/styles/public.scss"; |
| 80 | </style> | 85 | </style> | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | 功能:登记情形设定 | 2 | * @Description: 登记情形设定 |
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-07-19 14:09:47 | ||
| 3 | --> | 5 | --> |
| 4 | <template> | 6 | <template> |
| 5 | <div> | 7 | <div> |
| ... | @@ -22,209 +24,208 @@ | ... | @@ -22,209 +24,208 @@ |
| 22 | </div> | 24 | </div> |
| 23 | </template> | 25 | </template> |
| 24 | <script> | 26 | <script> |
| 25 | import { mapGetters } from 'vuex' | 27 | import { mapGetters } from 'vuex' |
| 26 | import { upward, down } from '@/utils/operation' | 28 | import { upward, down } from '@/utils/operation' |
| 27 | export default { | 29 | export default { |
| 28 | props: { | 30 | props: { |
| 29 | ruleForm: { | 31 | ruleForm: { |
| 30 | type: Object, default: {} | 32 | type: Object, default: {} |
| 31 | }, | 33 | }, |
| 32 | clzt: { | 34 | clzt: { |
| 33 | type: Array, default: () => { | 35 | type: Array, default: () => { |
| 34 | return [] | 36 | return [] |
| 37 | } | ||
| 38 | }, | ||
| 39 | djqx: { | ||
| 40 | type: Array, default: () => { | ||
| 41 | return [] | ||
| 42 | } | ||
| 35 | } | 43 | } |
| 36 | }, | 44 | }, |
| 37 | djqx: { | 45 | computed: { |
| 38 | type: Array, default: () => { | 46 | ...mapGetters(['dictData']) |
| 39 | return [] | 47 | }, |
| 40 | } | 48 | data () { |
| 41 | } | 49 | return { |
| 42 | }, | 50 | key: 0, |
| 43 | computed: { | 51 | column: [ |
| 44 | ...mapGetters(['dictData']) | 52 | { |
| 45 | }, | 53 | width: '60', |
| 46 | data () { | 54 | renderHeader: (h, scope) => { |
| 47 | return { | 55 | return <i class="el-icon-plus pointer" onClick={() => { this.handleAdd() }} style="color:#409EFF"></i> |
| 48 | key: 0, | 56 | }, |
| 49 | column: [ | 57 | render: (h, scope) => { |
| 50 | { | 58 | return ( |
| 51 | width: '60', | 59 | <i class="el-icon-minus pointer" onClick={() => { this.handleMinus(scope.$index, scope.row) }}></i> |
| 52 | renderHeader: (h, scope) => { | 60 | ) |
| 53 | return <i class="el-icon-plus pointer" onClick={() => { this.handleAdd() }} style="color:#409EFF"></i> | 61 | } |
| 54 | }, | 62 | }, |
| 55 | render: (h, scope) => { | 63 | { |
| 56 | return ( | 64 | width: '60', |
| 57 | <i class="el-icon-minus pointer" onClick={() => { this.handleMinus(scope.$index, scope.row) }}></i> | 65 | label: '序号', |
| 58 | ) | 66 | type: 'index' |
| 59 | } | 67 | }, |
| 60 | }, | 68 | { |
| 61 | { | 69 | label: '是否必填', |
| 62 | width: '60', | 70 | width: '130', |
| 63 | label: '序号', | 71 | render: (h, scope) => { |
| 64 | type: 'index' | 72 | return ( |
| 65 | }, | 73 | <el-radio-group v-model={scope.row.isrequired} onChange={(val) => { scope.row[scope.column.property] = val }}> |
| 66 | { | 74 | <el-radio label={'1'}>是</el-radio> |
| 67 | label: '是否必填', | 75 | <el-radio label={'0'}>否</el-radio> |
| 68 | width: '130', | 76 | </el-radio-group> |
| 69 | render: (h, scope) => { | 77 | ) |
| 70 | return ( | 78 | } |
| 71 | <el-radio-group v-model={scope.row.isrequired} onChange={(val) => { scope.row[scope.column.property] = val }}> | 79 | }, |
| 72 | <el-radio label={'1'}>是</el-radio> | 80 | { |
| 73 | <el-radio label={'0'}>否</el-radio> | 81 | prop: 'clbm', |
| 74 | </el-radio-group> | 82 | label: '材料编码', |
| 75 | ) | 83 | width: '100', |
| 76 | } | 84 | render: (h, scope) => { |
| 77 | }, | 85 | return ( |
| 78 | { | 86 | <el-input placeholder="材料编码" value={scope.row[scope.column.property]} |
| 79 | prop: 'clbm', | 87 | onInput={(val) => { scope.row[scope.column.property] = val }} maxlength="8"></el-input> |
| 80 | label: '材料编码', | 88 | ) |
| 81 | width: '100', | 89 | } |
| 82 | render: (h, scope) => { | 90 | }, |
| 83 | return ( | 91 | { |
| 84 | <el-input placeholder="材料编码" value={scope.row[scope.column.property]} | 92 | prop: 'clmc', |
| 85 | onInput={(val) => { scope.row[scope.column.property] = val }} maxlength="8"></el-input> | 93 | label: '材料名称', |
| 86 | ) | 94 | render: (h, scope) => { |
| 87 | } | 95 | return ( |
| 88 | }, | 96 | <el-input placeholder="材料名称" value={scope.row[scope.column.property]} |
| 89 | { | 97 | onInput={(val) => { scope.row[scope.column.property] = val }}></el-input> |
| 90 | prop: 'clmc', | 98 | ) |
| 91 | label: '材料名称', | 99 | } |
| 92 | render: (h, scope) => { | 100 | }, |
| 93 | return ( | 101 | { |
| 94 | <el-input placeholder="材料名称" value={scope.row[scope.column.property]} | 102 | prop: 'cllx', |
| 95 | onInput={(val) => { scope.row[scope.column.property] = val }}></el-input> | 103 | label: '材料类型', |
| 96 | ) | 104 | width: '115', |
| 97 | } | 105 | render: (h, scope) => { |
| 98 | }, | 106 | return ( |
| 99 | { | 107 | <el-select value={scope.row[scope.column.property]} |
| 100 | prop: 'cllx', | 108 | onChange={(val) => { scope.row[scope.column.property] = val }} clearable> |
| 101 | label: '材料类型', | 109 | { |
| 102 | width: '115', | 110 | this.dictData['A40'].map(option => { |
| 103 | render: (h, scope) => { | 111 | return ( |
| 104 | return ( | 112 | <el-option label={option.dname} value={option.dcode}></el-option> |
| 105 | <el-select value={scope.row[scope.column.property]} | 113 | ) |
| 106 | onChange={(val) => { scope.row[scope.column.property] = val }} clearable> | 114 | }) |
| 107 | { | 115 | } |
| 108 | this.dictData['A40'].map(option => { | 116 | </el-select> |
| 109 | return ( | 117 | ) |
| 110 | <el-option label={option.dname} value={option.dcode}></el-option> | 118 | } |
| 111 | ) | 119 | }, |
| 112 | }) | 120 | { |
| 113 | } | 121 | label: '是否公共材料', |
| 114 | </el-select> | 122 | width: '100', |
| 115 | ) | 123 | render: (h, scope) => { |
| 124 | return ( | ||
| 125 | <el-radio-group v-model={scope.row.sfggcl} onChange={(val) => { scope.row[scope.column.property] = val; this.handleSelectGgcl(scope.row) }}> | ||
| 126 | <el-radio label={'1'}>是</el-radio> | ||
| 127 | <el-radio label={'0'}>否</el-radio> | ||
| 128 | </el-radio-group> | ||
| 129 | ) | ||
| 130 | } | ||
| 131 | }, | ||
| 132 | { | ||
| 133 | prop: 'djqxbm', | ||
| 134 | label: '登记情形', | ||
| 135 | width: '180', | ||
| 136 | render: (h, scope) => { | ||
| 137 | return ( | ||
| 138 | <el-select disabled={scope.row.sfggcl == '1'} value={scope.row[scope.column.property]} | ||
| 139 | onChange={(val) => { scope.row[scope.column.property] = val }} clearable> | ||
| 140 | { | ||
| 141 | this.djqx.map(option => { | ||
| 142 | return ( | ||
| 143 | <el-option label={option.nodename} value={option.nodecode}></el-option> | ||
| 144 | ) | ||
| 145 | }) | ||
| 146 | } | ||
| 147 | </el-select> | ||
| 148 | ) | ||
| 149 | } | ||
| 150 | }, | ||
| 151 | { | ||
| 152 | label: '移动', | ||
| 153 | width: '90', | ||
| 154 | render: (h, scope) => { | ||
| 155 | return ( | ||
| 156 | <div> | ||
| 157 | <el-button type='text' disabled={scope.$index == 0} onClick={() => { this.moveUpward(scope.$index, scope.row) }}>上移</el-button> | ||
| 158 | <el-button type='text' disabled={(scope.$index + 1) == this.tableData.length} onClick={() => { this.moveDown(scope.$index, scope.row) }}>下移</el-button > | ||
| 159 | </div> | ||
| 160 | ) | ||
| 161 | } | ||
| 116 | } | 162 | } |
| 117 | }, | 163 | ], |
| 118 | { | 164 | tableData: [] |
| 119 | label: '是否公共材料', | 165 | } |
| 120 | width: '100', | 166 | }, |
| 121 | render: (h, scope) => { | 167 | watch: { |
| 122 | return ( | 168 | tableData: { |
| 123 | <el-radio-group v-model={scope.row.sfggcl} onChange={(val) => { scope.row[scope.column.property] = val; this.handleSelectGgcl(scope.row) }}> | 169 | handler (newValue, oldValue) { |
| 124 | <el-radio label={'1'}>是</el-radio> | 170 | if (!_.isEqual(newValue, this.clzt)) { |
| 125 | <el-radio label={'0'}>否</el-radio> | 171 | this.$emit('updateValue', newValue) |
| 126 | </el-radio-group> | ||
| 127 | ) | ||
| 128 | } | 172 | } |
| 129 | }, | 173 | }, |
| 130 | { | 174 | deep: true |
| 131 | prop: 'djqxbm', | 175 | }, |
| 132 | label: '登记情形', | 176 | clzt: { |
| 133 | width: '180', | 177 | handler: function (newValue) { |
| 134 | render: (h, scope) => { | 178 | this.tableData = _.cloneDeep(newValue) |
| 135 | return ( | ||
| 136 | <el-select disabled={scope.row.sfggcl == '1'} value={scope.row[scope.column.property]} | ||
| 137 | onChange={(val) => { scope.row[scope.column.property] = val }} clearable> | ||
| 138 | { | ||
| 139 | this.djqx.map(option => { | ||
| 140 | return ( | ||
| 141 | <el-option label={option.nodename} value={option.nodecode}></el-option> | ||
| 142 | ) | ||
| 143 | }) | ||
| 144 | } | ||
| 145 | </el-select> | ||
| 146 | ) | ||
| 147 | } | ||
| 148 | }, | 179 | }, |
| 149 | { | 180 | deep: true |
| 150 | label: '移动', | ||
| 151 | width: '90', | ||
| 152 | render: (h, scope) => { | ||
| 153 | return ( | ||
| 154 | <div> | ||
| 155 | <el-button type='text' disabled={scope.$index == 0} onClick={() => { this.moveUpward(scope.$index, scope.row) }}>上移</el-button> | ||
| 156 | <el-button type='text' disabled={(scope.$index + 1) == this.tableData.length} onClick={() => { this.moveDown(scope.$index, scope.row) }}>下移</el-button > | ||
| 157 | </div> | ||
| 158 | ) | ||
| 159 | } | ||
| 160 | } | ||
| 161 | ], | ||
| 162 | tableData: [] | ||
| 163 | } | ||
| 164 | }, | ||
| 165 | watch: { | ||
| 166 | tableData: { | ||
| 167 | handler (newValue, oldValue) { | ||
| 168 | if (!_.isEqual(newValue, this.clzt)) { | ||
| 169 | this.$emit('updateValue', newValue) | ||
| 170 | } | ||
| 171 | }, | 181 | }, |
| 172 | deep: true | ||
| 173 | }, | 182 | }, |
| 174 | clzt: { | 183 | methods: { |
| 175 | handler: function (newValue) { | 184 | handleAdd () { |
| 176 | this.tableData = _.cloneDeep(newValue) | 185 | this.tableData.push( |
| 186 | { | ||
| 187 | isrequired: '1', | ||
| 188 | djqxbm: '', | ||
| 189 | clbm: '', | ||
| 190 | clmc: '', | ||
| 191 | cllx: '', | ||
| 192 | sfggcl: '1' | ||
| 193 | } | ||
| 194 | ) | ||
| 195 | this.key++ | ||
| 177 | }, | 196 | }, |
| 178 | deep: true | 197 | handleSelectGgcl (item) { |
| 179 | }, | 198 | if (item.sfggcl == '1') { |
| 180 | }, | 199 | item.djqxbm = '' |
| 181 | methods: { | ||
| 182 | handleAdd () { | ||
| 183 | this.tableData.push( | ||
| 184 | { | ||
| 185 | isrequired: '1', | ||
| 186 | djqxbm: '', | ||
| 187 | clbm: '', | ||
| 188 | clmc: '', | ||
| 189 | cllx: '', | ||
| 190 | sfggcl: '1' | ||
| 191 | } | 200 | } |
| 192 | ) | 201 | }, |
| 193 | this.key++ | 202 | handleMinus (index, row) { |
| 194 | }, | 203 | this.$confirm('此操作将永久删除, 是否继续?', '提示', { |
| 195 | handleSelectGgcl (item) { | 204 | confirmButtonText: '确定', |
| 196 | if (item.sfggcl == '1') { | 205 | cancelButtonText: '取消', |
| 197 | item.djqxbm = '' | 206 | type: 'warning' |
| 198 | } | 207 | }).then(() => { |
| 199 | }, | 208 | this.tableData.splice(index, 1) |
| 200 | handleMinus (index, row) { | 209 | this.$message({ |
| 201 | this.$confirm('此操作将永久删除, 是否继续?', '提示', { | 210 | type: 'success', |
| 202 | confirmButtonText: '确定', | 211 | message: '删除成功!' |
| 203 | cancelButtonText: '取消', | 212 | }); |
| 204 | type: 'warning' | 213 | }).catch(() => { |
| 205 | }).then(() => { | 214 | this.$message({ |
| 206 | this.tableData.splice(index, 1) | 215 | type: 'info', |
| 207 | this.$message({ | 216 | message: '已取消删除' |
| 208 | type: 'success', | 217 | }); |
| 209 | message: '删除成功!' | ||
| 210 | }); | ||
| 211 | }).catch(() => { | ||
| 212 | this.$message({ | ||
| 213 | type: 'info', | ||
| 214 | message: '已取消删除' | ||
| 215 | }); | 218 | }); |
| 216 | }); | 219 | }, |
| 217 | }, | 220 | // 上移下移 |
| 218 | // 上移下移 | 221 | moveUpward (index, row) { |
| 219 | moveUpward (index, row) { | 222 | upward(index, this.tableData) |
| 220 | upward(index, this.tableData) | 223 | }, |
| 221 | }, | 224 | moveDown (index, row) { |
| 222 | moveDown (index, row) { | 225 | down(index, this.tableData) |
| 223 | down(index, this.tableData) | 226 | }, |
| 224 | }, | 227 | } |
| 225 | } | 228 | } |
| 226 | } | ||
| 227 | </script> | 229 | </script> |
| 228 | <style scoped lang='scss'> | 230 | <style scoped lang='scss'> |
| 229 | |||
| 230 | </style> | 231 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | 功能:登记情形设定 | 2 | * @Description: 功能:登记情形设定 |
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-07-19 14:10:04 | ||
| 3 | --> | 5 | --> |
| 4 | <template> | 6 | <template> |
| 5 | <div class='djqxsd'> | 7 | <div class='djqxsd'> |
| ... | @@ -22,233 +24,233 @@ | ... | @@ -22,233 +24,233 @@ |
| 22 | </div> | 24 | </div> |
| 23 | </template> | 25 | </template> |
| 24 | <script> | 26 | <script> |
| 25 | import { upward, down } from '@/utils/operation' | 27 | import { upward, down } from '@/utils/operation' |
| 26 | export default { | 28 | export default { |
| 27 | props: { | 29 | props: { |
| 28 | ruleForm: { | 30 | ruleForm: { |
| 29 | type: Object, default: () => { | 31 | type: Object, default: () => { |
| 30 | return {} | 32 | return {} |
| 33 | } | ||
| 34 | }, | ||
| 35 | djqx: { | ||
| 36 | type: Array, default: () => { | ||
| 37 | return [] | ||
| 38 | } | ||
| 31 | } | 39 | } |
| 32 | }, | 40 | }, |
| 33 | djqx: { | 41 | data () { |
| 34 | type: Array, default: () => { | 42 | return { |
| 35 | return [] | 43 | input: '', |
| 36 | } | 44 | key: 0, |
| 37 | } | 45 | rules: { |
| 38 | }, | 46 | djywbm: [ |
| 39 | data () { | 47 | { required: true, message: '登记业务编码', trigger: 'blur' }, |
| 40 | return { | 48 | ], |
| 41 | input: '', | 49 | djywmc: [ |
| 42 | key: 0, | 50 | { required: true, message: '登记业务名称', trigger: 'blur' }, |
| 43 | rules: { | 51 | ], |
| 44 | djywbm: [ | ||
| 45 | { required: true, message: '登记业务编码', trigger: 'blur' }, | ||
| 46 | ], | ||
| 47 | djywmc: [ | ||
| 48 | { required: true, message: '登记业务名称', trigger: 'blur' }, | ||
| 49 | ], | ||
| 50 | }, | ||
| 51 | column: [ | ||
| 52 | { | ||
| 53 | width: '60', | ||
| 54 | renderHeader: (h, scope) => { | ||
| 55 | return <i class="el-icon-plus pointer" onClick={() => { this.handleAdd() }} style="color:#409EFF"></i> | ||
| 56 | }, | ||
| 57 | render: (h, scope) => { | ||
| 58 | return ( | ||
| 59 | <i class="el-icon-minus pointer" onClick={() => { this.handleMinus(scope.$index, scope.row) }}></i> | ||
| 60 | ) | ||
| 61 | } | ||
| 62 | }, | ||
| 63 | { | ||
| 64 | width: '60', | ||
| 65 | label: '序号', | ||
| 66 | type: 'index' | ||
| 67 | }, | ||
| 68 | { | ||
| 69 | prop: 'nodecode', | ||
| 70 | width: '105', | ||
| 71 | label: '登记情形编码', | ||
| 72 | render: (h, scope) => { | ||
| 73 | return ( | ||
| 74 | <div> | ||
| 75 | <el-input placeholder="登记情形编码" class={{ repeat: scope.row.repeat }} disabled={scope.row.sftsdjqx == '1'} | ||
| 76 | value={scope.row[scope.column.property]} | ||
| 77 | onInput={(val) => { scope.row[scope.column.property] = val }} onBlur={() => { this.nodecodeBlur(scope.$index, scope.row) }} maxlength="8"> | ||
| 78 | </el-input> | ||
| 79 | </div> | ||
| 80 | ) | ||
| 81 | } | ||
| 82 | }, | ||
| 83 | { | ||
| 84 | prop: 'nodename', | ||
| 85 | label: '登记情形名称', | ||
| 86 | render: (h, scope) => { | ||
| 87 | return ( | ||
| 88 | <div> | ||
| 89 | <el-input placeholder="登记情形名称" disabled={scope.row.sftsdjqx == '1'} | ||
| 90 | value={scope.row[scope.column.property]} | ||
| 91 | onInput={(val) => { scope.row[scope.column.property] = val }}></el-input> | ||
| 92 | </div> | ||
| 93 | ) | ||
| 94 | } | ||
| 95 | }, | ||
| 96 | { | ||
| 97 | label: '是否启用登记情形', | ||
| 98 | width: '140', | ||
| 99 | render: (h, scope) => { | ||
| 100 | return ( | ||
| 101 | <el-radio-group v-model={scope.row.enabled} disabled={scope.row.sftsdjqx == '1'} onChange={(val) => { scope.row[scope.column.property] = val }}> | ||
| 102 | <el-radio label={'1'}>启用</el-radio> | ||
| 103 | <el-radio label={'0'}>禁用</el-radio> | ||
| 104 | </el-radio-group> | ||
| 105 | ) | ||
| 106 | } | ||
| 107 | }, | 52 | }, |
| 108 | { | 53 | column: [ |
| 109 | prop: 'djyy', | 54 | { |
| 110 | label: '登记原因模板', | 55 | width: '60', |
| 111 | render: (h, scope) => { | 56 | renderHeader: (h, scope) => { |
| 112 | return ( | 57 | return <i class="el-icon-plus pointer" onClick={() => { this.handleAdd() }} style="color:#409EFF"></i> |
| 113 | <div> | 58 | }, |
| 114 | <el-input placeholder="登记原因模板" disabled={scope.row.sftsdjqx == '1'} value={scope.row[scope.column.property]} | 59 | render: (h, scope) => { |
| 115 | onInput={(val) => { scope.row[scope.column.property] = val }}></el-input> | 60 | return ( |
| 116 | </div> | 61 | <i class="el-icon-minus pointer" onClick={() => { this.handleMinus(scope.$index, scope.row) }}></i> |
| 62 | ) | ||
| 63 | } | ||
| 64 | }, | ||
| 65 | { | ||
| 66 | width: '60', | ||
| 67 | label: '序号', | ||
| 68 | type: 'index' | ||
| 69 | }, | ||
| 70 | { | ||
| 71 | prop: 'nodecode', | ||
| 72 | width: '105', | ||
| 73 | label: '登记情形编码', | ||
| 74 | render: (h, scope) => { | ||
| 75 | return ( | ||
| 76 | <div> | ||
| 77 | <el-input placeholder="登记情形编码" class={{ repeat: scope.row.repeat }} disabled={scope.row.sftsdjqx == '1'} | ||
| 78 | value={scope.row[scope.column.property]} | ||
| 79 | onInput={(val) => { scope.row[scope.column.property] = val }} onBlur={() => { this.nodecodeBlur(scope.$index, scope.row) }} maxlength="8"> | ||
| 80 | </el-input> | ||
| 81 | </div> | ||
| 82 | ) | ||
| 83 | } | ||
| 84 | }, | ||
| 85 | { | ||
| 86 | prop: 'nodename', | ||
| 87 | label: '登记情形名称', | ||
| 88 | render: (h, scope) => { | ||
| 89 | return ( | ||
| 90 | <div> | ||
| 91 | <el-input placeholder="登记情形名称" disabled={scope.row.sftsdjqx == '1'} | ||
| 92 | value={scope.row[scope.column.property]} | ||
| 93 | onInput={(val) => { scope.row[scope.column.property] = val }}></el-input> | ||
| 94 | </div> | ||
| 95 | ) | ||
| 96 | } | ||
| 97 | }, | ||
| 98 | { | ||
| 99 | label: '是否启用登记情形', | ||
| 100 | width: '140', | ||
| 101 | render: (h, scope) => { | ||
| 102 | return ( | ||
| 103 | <el-radio-group v-model={scope.row.enabled} disabled={scope.row.sftsdjqx == '1'} onChange={(val) => { scope.row[scope.column.property] = val }}> | ||
| 104 | <el-radio label={'1'}>启用</el-radio> | ||
| 105 | <el-radio label={'0'}>禁用</el-radio> | ||
| 106 | </el-radio-group> | ||
| 107 | ) | ||
| 108 | } | ||
| 109 | }, | ||
| 110 | { | ||
| 111 | prop: 'djyy', | ||
| 112 | label: '登记原因模板', | ||
| 113 | render: (h, scope) => { | ||
| 114 | return ( | ||
| 115 | <div> | ||
| 116 | <el-input placeholder="登记原因模板" disabled={scope.row.sftsdjqx == '1'} value={scope.row[scope.column.property]} | ||
| 117 | onInput={(val) => { scope.row[scope.column.property] = val }}></el-input> | ||
| 118 | </div> | ||
| 117 | 119 | ||
| 118 | ) | 120 | ) |
| 119 | } | 121 | } |
| 120 | }, | 122 | }, |
| 121 | { | 123 | { |
| 122 | label: '是否启用模板', | 124 | label: '是否启用模板', |
| 123 | width: '140', | 125 | width: '140', |
| 124 | render: (h, scope) => { | 126 | render: (h, scope) => { |
| 125 | return ( | 127 | return ( |
| 126 | <el-radio-group v-model={scope.row.sfqydjyymb} disabled={scope.row.sftsdjqx == '1'} onChange={(val) => { scope.row[scope.column.property] = val }}> | 128 | <el-radio-group v-model={scope.row.sfqydjyymb} disabled={scope.row.sftsdjqx == '1'} onChange={(val) => { scope.row[scope.column.property] = val }}> |
| 127 | <el-radio label={'1'}>启用</el-radio> | 129 | <el-radio label={'1'}>启用</el-radio> |
| 128 | <el-radio label={'0'}>禁用</el-radio> | 130 | <el-radio label={'0'}>禁用</el-radio> |
| 129 | </el-radio-group> | 131 | </el-radio-group> |
| 130 | ) | 132 | ) |
| 131 | } | 133 | } |
| 132 | }, | 134 | }, |
| 133 | { | 135 | { |
| 134 | label: '移动', | 136 | label: '移动', |
| 135 | width: '100', | 137 | width: '100', |
| 136 | render: (h, scope) => { | 138 | render: (h, scope) => { |
| 137 | return ( | 139 | return ( |
| 138 | <div> | 140 | <div> |
| 139 | <el-button type='text' disabled={scope.$index == 0} onClick={() => { this.moveUpward(scope.$index, scope.row) }}>上移</el-button> | 141 | <el-button type='text' disabled={scope.$index == 0} onClick={() => { this.moveUpward(scope.$index, scope.row) }}>上移</el-button> |
| 140 | <el-button type='text' disabled={(scope.$index + 1) == this.tableData.length} onClick={() => { this.moveDown(scope.$index, scope.row) }}>下移</el-button > | 142 | <el-button type='text' disabled={(scope.$index + 1) == this.tableData.length} onClick={() => { this.moveDown(scope.$index, scope.row) }}>下移</el-button > |
| 141 | </div> | 143 | </div> |
| 142 | ) | 144 | ) |
| 145 | } | ||
| 143 | } | 146 | } |
| 144 | } | 147 | ], |
| 145 | ], | 148 | tableData: [] |
| 146 | tableData: [] | 149 | } |
| 147 | } | 150 | }, |
| 148 | }, | 151 | watch: { |
| 149 | watch: { | 152 | tableData: { |
| 150 | tableData: { | 153 | handler (newValue, oldValue) { |
| 151 | handler (newValue, oldValue) { | 154 | let that = this |
| 152 | let that = this | 155 | if (!_.isEqual(newValue, this.djqx)) { |
| 153 | if (!_.isEqual(newValue, this.djqx)) { | 156 | let temp = newValue.some((item, index, array) => { |
| 154 | let temp = newValue.some((item, index, array) => { | 157 | return item.repeat; |
| 155 | return item.repeat; | ||
| 156 | }) | ||
| 157 | if (temp) { | ||
| 158 | that.$emit('updateValue', { | ||
| 159 | djqx: newValue, | ||
| 160 | btnDisabled: true | ||
| 161 | }) | ||
| 162 | } else { | ||
| 163 | that.$emit('updateValue', { | ||
| 164 | djqx: newValue, | ||
| 165 | btnDisabled: false | ||
| 166 | }) | 158 | }) |
| 159 | if (temp) { | ||
| 160 | that.$emit('updateValue', { | ||
| 161 | djqx: newValue, | ||
| 162 | btnDisabled: true | ||
| 163 | }) | ||
| 164 | } else { | ||
| 165 | that.$emit('updateValue', { | ||
| 166 | djqx: newValue, | ||
| 167 | btnDisabled: false | ||
| 168 | }) | ||
| 169 | } | ||
| 167 | } | 170 | } |
| 168 | } | 171 | }, |
| 172 | deep: true | ||
| 169 | }, | 173 | }, |
| 170 | deep: true | 174 | djqx: { |
| 175 | handler: function (newValue) { | ||
| 176 | this.tableData = _.cloneDeep(newValue) | ||
| 177 | this.addIndexes() | ||
| 178 | }, | ||
| 179 | deep: true | ||
| 180 | } | ||
| 171 | }, | 181 | }, |
| 172 | djqx: { | 182 | methods: { |
| 173 | handler: function (newValue) { | 183 | // 添加索引 |
| 174 | this.tableData = _.cloneDeep(newValue) | 184 | addIndexes (data = this.tableData, isAdd = true) { |
| 185 | data.forEach((item, index) => { | ||
| 186 | if (isAdd) { | ||
| 187 | item.index = index + 1 | ||
| 188 | } | ||
| 189 | }) | ||
| 190 | }, | ||
| 191 | handleAdd () { | ||
| 192 | this.$nextTick(() => { | ||
| 193 | let container = this.$el.querySelector('.el-table__body-wrapper'); | ||
| 194 | container.scrollTop = container.scrollHeight; | ||
| 195 | }) | ||
| 196 | this.tableData.push( | ||
| 197 | { | ||
| 198 | nodecode: '', | ||
| 199 | nodename: '', | ||
| 200 | enabled: '1', | ||
| 201 | djyy: '', | ||
| 202 | sfqydjyymb: '0' | ||
| 203 | } | ||
| 204 | ) | ||
| 175 | this.addIndexes() | 205 | this.addIndexes() |
| 206 | this.key++ | ||
| 176 | }, | 207 | }, |
| 177 | deep: true | 208 | handleMinus (index, row) { |
| 178 | } | 209 | this.$confirm('此操作将永久删除, 是否继续?', '提示', { |
| 179 | }, | 210 | confirmButtonText: '确定', |
| 180 | methods: { | 211 | cancelButtonText: '取消', |
| 181 | // 添加索引 | 212 | type: 'warning' |
| 182 | addIndexes (data = this.tableData, isAdd = true) { | 213 | }).then(() => { |
| 183 | data.forEach((item, index) => { | 214 | this.tableData.splice(index, 1) |
| 184 | if (isAdd) { | 215 | this.$message({ |
| 185 | item.index = index + 1 | 216 | type: 'success', |
| 186 | } | 217 | message: '删除成功!' |
| 187 | }) | 218 | }); |
| 188 | }, | 219 | }).catch(() => { |
| 189 | handleAdd () { | 220 | this.$message({ |
| 190 | this.$nextTick(() => { | 221 | type: 'info', |
| 191 | let container = this.$el.querySelector('.el-table__body-wrapper'); | 222 | message: '已取消删除' |
| 192 | container.scrollTop = container.scrollHeight; | 223 | }); |
| 193 | }) | ||
| 194 | this.tableData.push( | ||
| 195 | { | ||
| 196 | nodecode: '', | ||
| 197 | nodename: '', | ||
| 198 | enabled: '1', | ||
| 199 | djyy: '', | ||
| 200 | sfqydjyymb: '0' | ||
| 201 | } | ||
| 202 | ) | ||
| 203 | this.addIndexes() | ||
| 204 | this.key++ | ||
| 205 | }, | ||
| 206 | handleMinus (index, row) { | ||
| 207 | this.$confirm('此操作将永久删除, 是否继续?', '提示', { | ||
| 208 | confirmButtonText: '确定', | ||
| 209 | cancelButtonText: '取消', | ||
| 210 | type: 'warning' | ||
| 211 | }).then(() => { | ||
| 212 | this.tableData.splice(index, 1) | ||
| 213 | this.$message({ | ||
| 214 | type: 'success', | ||
| 215 | message: '删除成功!' | ||
| 216 | }); | 224 | }); |
| 217 | }).catch(() => { | 225 | }, |
| 218 | this.$message({ | 226 | nodecodeBlur (index, row) { |
| 219 | type: 'info', | 227 | let list = _.cloneDeep(this.tableData).filter(item => item.bsmSqyw != row.bsmSqyw) |
| 220 | message: '已取消删除' | 228 | let arr = list.map(item => item.nodecode) |
| 221 | }); | 229 | if (arr.includes(row.nodecode)) { |
| 222 | }); | 230 | this.$set(row, 'repeat', true) |
| 223 | }, | 231 | this.$message.error('登记情形编码不能重复'); |
| 224 | nodecodeBlur (index, row) { | 232 | } else { |
| 225 | let list = _.cloneDeep(this.tableData).filter(item => item.bsmSqyw != row.bsmSqyw) | 233 | this.$set(row, 'repeat', false) |
| 226 | let arr = list.map(item => item.nodecode) | 234 | } |
| 227 | if (arr.includes(row.nodecode)) { | 235 | }, |
| 228 | this.$set(row, 'repeat', true) | 236 | // 上移下移 |
| 229 | this.$message.error('登记情形编码不能重复'); | 237 | moveUpward (index, row) { |
| 230 | } else { | 238 | upward(index, this.tableData) |
| 231 | this.$set(row, 'repeat', false) | 239 | this.key++ |
| 240 | }, | ||
| 241 | moveDown (index, row) { | ||
| 242 | down(index, this.tableData) | ||
| 243 | this.key++ | ||
| 232 | } | 244 | } |
| 233 | }, | ||
| 234 | // 上移下移 | ||
| 235 | moveUpward (index, row) { | ||
| 236 | upward(index, this.tableData) | ||
| 237 | this.key++ | ||
| 238 | }, | ||
| 239 | moveDown (index, row) { | ||
| 240 | down(index, this.tableData) | ||
| 241 | this.key++ | ||
| 242 | } | 245 | } |
| 243 | } | 246 | } |
| 244 | } | ||
| 245 | </script> | 247 | </script> |
| 246 | <style lang='scss' scoped> | 248 | <style lang='scss' scoped> |
| 247 | .djqxsd { | 249 | .djqxsd { |
| 248 | .repeat { | 250 | .repeat { |
| 249 | .el-input__inner { | 251 | .el-input__inner { |
| 250 | border-color: red !important; | 252 | border-color: red !important; |
| 253 | } | ||
| 251 | } | 254 | } |
| 252 | } | 255 | } |
| 253 | } | ||
| 254 | </style> | 256 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | 功能:单元状态设定 | 2 | * @Description: 单元状态设定 |
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-07-19 14:10:44 | ||
| 3 | --> | 5 | --> |
| 4 | <template> | 6 | <template> |
| 5 | <div class='该组件名称'> | 7 | <div class='该组件名称'> |
| ... | @@ -48,108 +50,108 @@ | ... | @@ -48,108 +50,108 @@ |
| 48 | </div> | 50 | </div> |
| 49 | </template> | 51 | </template> |
| 50 | <script> | 52 | <script> |
| 51 | export default { | 53 | export default { |
| 52 | props: { | 54 | props: { |
| 53 | ruleForm: { | 55 | ruleForm: { |
| 54 | type: Object, default: {} | 56 | type: Object, default: {} |
| 57 | }, | ||
| 58 | subData: { | ||
| 59 | type: Object, default: () => { | ||
| 60 | return {} | ||
| 61 | } | ||
| 62 | } | ||
| 55 | }, | 63 | }, |
| 56 | subData: { | 64 | data () { |
| 57 | type: Object, default: () => { | 65 | return { |
| 58 | return {} | 66 | dataList: { |
| 67 | sxql: [], | ||
| 68 | sxzt: [] | ||
| 69 | } | ||
| 59 | } | 70 | } |
| 60 | } | 71 | }, |
| 61 | }, | 72 | watch: { |
| 62 | data () { | ||
| 63 | return { | ||
| 64 | dataList: { | 73 | dataList: { |
| 65 | sxql: [], | 74 | handler (newValue, oldValue) { |
| 66 | sxzt: [] | 75 | this.$emit('updateValue', newValue) |
| 67 | } | 76 | }, |
| 68 | } | 77 | deep: true |
| 69 | }, | 78 | }, |
| 70 | watch: { | 79 | subData: { |
| 71 | dataList: { | 80 | handler (newValue, oldValue) { |
| 72 | handler (newValue, oldValue) { | 81 | if (!_.isEqual(newValue.sxql, this.dataList.sxql)) { |
| 73 | this.$emit('updateValue', newValue) | 82 | this.dataList.sxql = _.cloneDeep(newValue.sxql) |
| 83 | } | ||
| 84 | if (!_.isEqual(newValue.sxzt, this.dataList.sxzt)) { | ||
| 85 | this.dataList.sxzt = _.cloneDeep(newValue.sxzt) | ||
| 86 | } | ||
| 87 | }, | ||
| 88 | deep: true | ||
| 74 | }, | 89 | }, |
| 75 | deep: true | ||
| 76 | }, | 90 | }, |
| 77 | subData: { | 91 | methods: { |
| 78 | handler (newValue, oldValue) { | 92 | handleSelect (item) { |
| 79 | if (!_.isEqual(newValue.sxql, this.dataList.sxql)) { | 93 | if (item.checked) { |
| 80 | this.dataList.sxql = _.cloneDeep(newValue.sxql) | 94 | item.selected = '0' |
| 81 | } | ||
| 82 | if (!_.isEqual(newValue.sxzt, this.dataList.sxzt)) { | ||
| 83 | this.dataList.sxzt = _.cloneDeep(newValue.sxzt) | ||
| 84 | } | 95 | } |
| 85 | }, | 96 | }, |
| 86 | deep: true | 97 | handleSelectall () { |
| 87 | }, | 98 | this.dataList.sxql.forEach(item => { |
| 88 | }, | 99 | item.checked = true |
| 89 | methods: { | 100 | }) |
| 90 | handleSelect (item) { | 101 | }, |
| 91 | if (item.checked) { | 102 | handleInvert () { |
| 92 | item.selected = '0' | 103 | this.dataList.sxql.forEach(item => { |
| 104 | item.checked = false | ||
| 105 | }) | ||
| 93 | } | 106 | } |
| 94 | }, | ||
| 95 | handleSelectall () { | ||
| 96 | this.dataList.sxql.forEach(item => { | ||
| 97 | item.checked = true | ||
| 98 | }) | ||
| 99 | }, | ||
| 100 | handleInvert () { | ||
| 101 | this.dataList.sxql.forEach(item => { | ||
| 102 | item.checked = false | ||
| 103 | }) | ||
| 104 | } | 107 | } |
| 105 | } | 108 | } |
| 106 | } | ||
| 107 | </script> | 109 | </script> |
| 108 | <style scoped lang='scss'> | 110 | <style scoped lang='scss'> |
| 109 | @import "~@/styles/mixin.scss"; | 111 | @import "~@/styles/mixin.scss"; |
| 110 | 112 | ||
| 111 | .dyztsd-title { | 113 | .dyztsd-title { |
| 112 | @include flex; | 114 | @include flex; |
| 113 | align-items: center; | 115 | align-items: center; |
| 114 | justify-content: space-between; | 116 | justify-content: space-between; |
| 115 | padding-left: 20px; | 117 | padding-left: 20px; |
| 116 | } | 118 | } |
| 117 | 119 | ||
| 118 | .qlxx-list { | 120 | .qlxx-list { |
| 119 | @include flex; | 121 | @include flex; |
| 120 | flex-wrap: wrap; | 122 | flex-wrap: wrap; |
| 121 | padding-left: 20px; | 123 | padding-left: 20px; |
| 122 | 124 | ||
| 123 | li { | 125 | li { |
| 124 | width: 33%; | 126 | width: 33%; |
| 125 | margin-bottom: 15px; | 127 | margin-bottom: 15px; |
| 128 | } | ||
| 126 | } | 129 | } |
| 127 | } | ||
| 128 | |||
| 129 | .screen-list { | ||
| 130 | @include flex; | ||
| 131 | align-items: center; | ||
| 132 | flex-wrap: wrap; | ||
| 133 | border: 1px solid $borderColor; | ||
| 134 | border-bottom: none; | ||
| 135 | 130 | ||
| 136 | li { | 131 | .screen-list { |
| 137 | @include flex; | 132 | @include flex; |
| 138 | align-items: center; | 133 | align-items: center; |
| 139 | width: 50%; | 134 | flex-wrap: wrap; |
| 140 | line-height: 50px; | 135 | border: 1px solid $borderColor; |
| 141 | border-bottom: 1px solid $borderColor; | 136 | border-bottom: none; |
| 142 | padding-left: 20px; | ||
| 143 | } | ||
| 144 | 137 | ||
| 145 | &-left { | 138 | li { |
| 146 | margin-right: 20px; | 139 | @include flex; |
| 147 | width: 160px; | 140 | align-items: center; |
| 148 | white-space: nowrap; | 141 | width: 50%; |
| 149 | } | 142 | line-height: 50px; |
| 143 | border-bottom: 1px solid $borderColor; | ||
| 144 | padding-left: 20px; | ||
| 145 | } | ||
| 150 | 146 | ||
| 151 | li:nth-child(odd) { | 147 | &-left { |
| 152 | border-right: 1px solid $borderColor; | 148 | margin-right: 20px; |
| 149 | width: 160px; | ||
| 150 | white-space: nowrap; | ||
| 151 | } | ||
| 152 | |||
| 153 | li:nth-child(odd) { | ||
| 154 | border-right: 1px solid $borderColor; | ||
| 155 | } | ||
| 153 | } | 156 | } |
| 154 | } | ||
| 155 | </style> | 157 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-07-19 14:10:56 | ||
| 5 | --> | ||
| 1 | <template> | 6 | <template> |
| 2 | <dialogBox title="申请业务规则配置" @submitForm="submitForm" @closeDialog="closeDialog" v-model="myValue" | 7 | <dialogBox title="申请业务规则配置" @submitForm="submitForm" @closeDialog="closeDialog" v-model="myValue" |
| 3 | :btnDisabled="btnDisabled"> | 8 | :btnDisabled="btnDisabled"> |
| ... | @@ -123,248 +128,224 @@ | ... | @@ -123,248 +128,224 @@ |
| 123 | </dialogBox> | 128 | </dialogBox> |
| 124 | </template> | 129 | </template> |
| 125 | <script> | 130 | <script> |
| 126 | import { uploadUrl } from '@/api/file' | 131 | import { uploadUrl } from '@/api/file' |
| 127 | import djqxsd from './djqxsd.vue' | 132 | import djqxsd from './djqxsd.vue' |
| 128 | import clgzsd from './clgzsd.vue' | 133 | import clgzsd from './clgzsd.vue' |
| 129 | import dyztsd from './dyztsd.vue' | 134 | import dyztsd from './dyztsd.vue' |
| 130 | import { getSqdjywDetail, saveSqdjyw } from '@/api/sysSqdjyw' | 135 | import { getSqdjywDetail, saveSqdjyw } from '@/api/sysSqdjyw' |
| 131 | export default { | 136 | export default { |
| 132 | components: { | 137 | components: { |
| 133 | djqxsd, | 138 | djqxsd, |
| 134 | clgzsd, | 139 | clgzsd, |
| 135 | dyztsd | 140 | dyztsd |
| 136 | }, | ||
| 137 | props: { | ||
| 138 | value: { type: Boolean, default: false }, | ||
| 139 | detailList: { | ||
| 140 | type: Array, default: [] | ||
| 141 | }, | 141 | }, |
| 142 | bsmSqyw: { | 142 | props: { |
| 143 | type: String, default: '' | 143 | value: { type: Boolean, default: false }, |
| 144 | }, | 144 | detailList: { |
| 145 | }, | 145 | type: Array, default: [] |
| 146 | watch: { | 146 | }, |
| 147 | value (val) { | 147 | bsmSqyw: { |
| 148 | this.myValue = val | 148 | type: String, default: '' |
| 149 | }, | ||
| 149 | }, | 150 | }, |
| 150 | detailList: { | 151 | watch: { |
| 151 | handler: function (newValue) { | 152 | value (val) { |
| 152 | if (newValue.length == 0) { | 153 | this.myValue = val |
| 153 | this.getSqdjywDetail(this.bsmSqyw) | ||
| 154 | } else { | ||
| 155 | this.titleList = newValue | ||
| 156 | this.n = 0 | ||
| 157 | this.tn = 0 | ||
| 158 | this.getSqdjywDetail(newValue[0].bsmSqyw) | ||
| 159 | } | ||
| 160 | }, | 154 | }, |
| 161 | deep: true | 155 | detailList: { |
| 162 | } | 156 | handler: function (newValue) { |
| 163 | }, | 157 | if (newValue.length == 0) { |
| 164 | data () { | 158 | this.getSqdjywDetail(this.bsmSqyw) |
| 165 | return { | 159 | } else { |
| 166 | djqx: [], | 160 | this.titleList = newValue |
| 167 | clzt: [], | 161 | this.n = 0 |
| 168 | myValue: this.value, | 162 | this.tn = 0 |
| 169 | btnDisabled: false, | 163 | this.getSqdjywDetail(newValue[0].bsmSqyw) |
| 170 | tn: 0, | 164 | } |
| 171 | titleList: [], | ||
| 172 | imgUploadUrl: uploadUrl(), | ||
| 173 | n: 0, | ||
| 174 | leftList: [ | ||
| 175 | { | ||
| 176 | name: '业务详情', | ||
| 177 | select: true | ||
| 178 | }, | 165 | }, |
| 179 | { | 166 | deep: true |
| 180 | name: '登记情形设定' | 167 | } |
| 168 | }, | ||
| 169 | data () { | ||
| 170 | return { | ||
| 171 | djqx: [], | ||
| 172 | clzt: [], | ||
| 173 | myValue: this.value, | ||
| 174 | btnDisabled: false, | ||
| 175 | tn: 0, | ||
| 176 | titleList: [], | ||
| 177 | imgUploadUrl: uploadUrl(), | ||
| 178 | n: 0, | ||
| 179 | leftList: [ | ||
| 180 | { | ||
| 181 | name: '业务详情', | ||
| 182 | select: true | ||
| 183 | }, | ||
| 184 | { | ||
| 185 | name: '登记情形设定' | ||
| 186 | }, | ||
| 187 | { | ||
| 188 | name: '材料规则设定' | ||
| 189 | }, | ||
| 190 | { | ||
| 191 | name: '单元状态设定' | ||
| 192 | } | ||
| 193 | ], | ||
| 194 | ruleForm: { | ||
| 195 | qllxbm: '', | ||
| 196 | qllxmc: '', | ||
| 197 | sqfl: '', | ||
| 198 | djlxbm: '', | ||
| 199 | djlxmc: '', | ||
| 200 | fqywdylx: '', | ||
| 201 | djywbm: '', | ||
| 202 | djywmc: '', | ||
| 203 | enabled: '1', | ||
| 204 | flowid: '', | ||
| 205 | flowparams: '', | ||
| 206 | djqxcl: '', | ||
| 207 | sfqydjyymb: '1', | ||
| 208 | djyy: '' | ||
| 181 | }, | 209 | }, |
| 182 | { | 210 | requested: false, |
| 183 | name: '材料规则设定' | 211 | fileList: [], |
| 212 | options: [], | ||
| 213 | rules: { | ||
| 214 | sfqy: [ | ||
| 215 | { required: true, message: '请选择是否启用', trigger: 'change' }, | ||
| 216 | ], | ||
| 217 | ywlc: [ | ||
| 218 | { required: true, message: '请输入业务流程ID', trigger: 'blur' }, | ||
| 219 | ], | ||
| 220 | djqxcl: [ | ||
| 221 | { required: true, message: '请选择登记情形及材料', trigger: 'blur' }, | ||
| 222 | ], | ||
| 223 | djyysz: [ | ||
| 224 | { required: true, message: '请选择登记原因设置', trigger: 'change' }, | ||
| 225 | ], | ||
| 226 | djyymb: [ | ||
| 227 | { required: true, message: '请输入登记原因模板', trigger: 'blur' }, | ||
| 228 | ], | ||
| 184 | }, | 229 | }, |
| 185 | { | 230 | // 表单提交 |
| 186 | name: '单元状态设定' | 231 | subData: {} |
| 232 | }; | ||
| 233 | }, | ||
| 234 | methods: { | ||
| 235 | getSqdjywDetail (bsmSqyw) { | ||
| 236 | getSqdjywDetail(bsmSqyw).then(res => { | ||
| 237 | this.subData = res.result | ||
| 238 | let { ywDetail } = res.result | ||
| 239 | this.ruleForm = ywDetail | ||
| 240 | }) | ||
| 241 | }, | ||
| 242 | handleTitleSelct (obj, index) { | ||
| 243 | this.n = 0 | ||
| 244 | this.tn = index | ||
| 245 | this.getSqdjywDetail(obj.bsmSqyw) | ||
| 246 | }, | ||
| 247 | getDjqxValue (val) { | ||
| 248 | if (!_.isEqual(val.djqx, this.subData.djqx)) { | ||
| 249 | this.subData.djqx = val.djqx | ||
| 250 | this.btnDisabled = val.btnDisabled | ||
| 187 | } | 251 | } |
| 188 | ], | ||
| 189 | ruleForm: { | ||
| 190 | qllxbm: '', | ||
| 191 | qllxmc: '', | ||
| 192 | sqfl: '', | ||
| 193 | djlxbm: '', | ||
| 194 | djlxmc: '', | ||
| 195 | fqywdylx: '', | ||
| 196 | djywbm: '', | ||
| 197 | djywmc: '', | ||
| 198 | enabled: '1', | ||
| 199 | flowid: '', | ||
| 200 | flowparams: '', | ||
| 201 | djqxcl: '', | ||
| 202 | sfqydjyymb: '1', | ||
| 203 | djyy: '' | ||
| 204 | }, | 252 | }, |
| 205 | requested: false, | 253 | getClgzValue (val) { |
| 206 | fileList: [], | 254 | if (!_.isEqual(val, this.subData.clxx)) { |
| 207 | options: [], | 255 | this.subData.clxx = val |
| 208 | rules: { | 256 | } |
| 209 | sfqy: [ | ||
| 210 | { required: true, message: '请选择是否启用', trigger: 'change' }, | ||
| 211 | ], | ||
| 212 | ywlc: [ | ||
| 213 | { required: true, message: '请输入业务流程ID', trigger: 'blur' }, | ||
| 214 | ], | ||
| 215 | djqxcl: [ | ||
| 216 | { required: true, message: '请选择登记情形及材料', trigger: 'blur' }, | ||
| 217 | ], | ||
| 218 | djyysz: [ | ||
| 219 | { required: true, message: '请选择登记原因设置', trigger: 'change' }, | ||
| 220 | ], | ||
| 221 | djyymb: [ | ||
| 222 | { required: true, message: '请输入登记原因模板', trigger: 'blur' }, | ||
| 223 | ], | ||
| 224 | }, | 257 | }, |
| 225 | // 表单提交 | 258 | // 单元状态设定 |
| 226 | subData: {} | 259 | getDyztsdValue (val) { |
| 227 | }; | 260 | if (!_.isEqual(val.sxql, this.subData.sxql)) { |
| 228 | }, | 261 | this.subData.sxql = val.sxql |
| 229 | methods: { | 262 | } |
| 230 | getSqdjywDetail (bsmSqyw) { | 263 | if (!_.isEqual(val.sxzt, this.subData.sxzt)) { |
| 231 | getSqdjywDetail(bsmSqyw).then(res => { | 264 | this.subData.sxzt = val.sxzt |
| 232 | this.subData = res.result | 265 | } |
| 233 | let { ywDetail } = res.result | 266 | }, |
| 234 | this.ruleForm = ywDetail | 267 | submitForm () { |
| 235 | }) | 268 | this.$refs['ruleForm'].validate(async (valid) => { |
| 236 | }, | 269 | let that = this |
| 237 | handleTitleSelct (obj, index) { | 270 | if (valid) { |
| 238 | this.n = 0 | 271 | this.subData.ywDetail = this.ruleForm |
| 239 | this.tn = index | 272 | saveSqdjyw(this.subData).then(res => { |
| 240 | this.getSqdjywDetail(obj.bsmSqyw) | 273 | if (res.code == 200) { |
| 241 | }, | 274 | that.$message({ |
| 242 | getDjqxValue (val) { | 275 | message: '修改成功', |
| 243 | if (!_.isEqual(val.djqx, this.subData.djqx)) { | 276 | type: 'success' |
| 244 | this.subData.djqx = val.djqx | 277 | }) |
| 245 | this.btnDisabled = val.btnDisabled | 278 | // that.$emit('input', false) |
| 246 | } | 279 | } |
| 247 | }, | 280 | }) |
| 248 | getClgzValue (val) { | 281 | } else { |
| 249 | if (!_.isEqual(val, this.subData.clxx)) { | 282 | this.$message('请检查表单完整性') |
| 250 | this.subData.clxx = val | 283 | return false |
| 251 | } | 284 | } |
| 252 | }, | 285 | }) |
| 253 | // 单元状态设定 | 286 | }, |
| 254 | getDyztsdValue (val) { | 287 | closeDialog () { |
| 255 | if (!_.isEqual(val.sxql, this.subData.sxql)) { | 288 | this.$emit('input', false) |
| 256 | this.subData.sxql = val.sxql | 289 | }, |
| 257 | } | 290 | hanldeItem (index) { |
| 258 | if (!_.isEqual(val.sxzt, this.subData.sxzt)) { | 291 | this.n = index |
| 259 | this.subData.sxzt = val.sxzt | 292 | }, |
| 260 | } | 293 | uploadRecord (file) { |
| 261 | }, | 294 | this.requested = true |
| 262 | submitForm () { | 295 | this.files = file; |
| 263 | this.$refs['ruleForm'].validate(async (valid) => { | 296 | const extension = file.name.split('.')[1] === 'xls' |
| 264 | let that = this | 297 | const extension2 = file.name.split('.')[1] === 'xlsx' |
| 265 | if (valid) { | 298 | const isLt5M = file.size / 1024 / 1024 < 5 |
| 266 | this.subData.ywDetail = this.ruleForm | 299 | if (!extension && !extension2) { |
| 267 | saveSqdjyw(this.subData).then(res => { | 300 | this.$message.warning('上传模板只能是 xls、xlsx格式!') |
| 268 | if (res.code == 200) { | 301 | this.requested = false |
| 269 | that.$message({ | 302 | } |
| 270 | message: '修改成功', | 303 | if (!isLt5M) { |
| 271 | type: 'success' | 304 | this.$message.warning('上传模板大小不能超过 5MB!') |
| 272 | }) | 305 | this.requested = false |
| 273 | // that.$emit('input', false) | 306 | } |
| 274 | } | 307 | return (extension || extension2) && isLt5M |
| 308 | }, | ||
| 309 | handleSuccess (res) { | ||
| 310 | if (res.code === 200) { | ||
| 311 | this.requested = false | ||
| 312 | this.$message({ | ||
| 313 | message: '上传成功', | ||
| 314 | type: 'success', | ||
| 275 | }) | 315 | }) |
| 276 | } else { | 316 | } else { |
| 277 | this.$message('请检查表单完整性') | 317 | this.loading = false |
| 278 | return false | 318 | this.$message.error(res.message) |
| 279 | } | 319 | } |
| 280 | }) | ||
| 281 | }, | ||
| 282 | closeDialog () { | ||
| 283 | this.$emit('input', false) | ||
| 284 | }, | ||
| 285 | hanldeItem (index) { | ||
| 286 | this.n = index | ||
| 287 | }, | ||
| 288 | uploadRecord (file) { | ||
| 289 | this.requested = true | ||
| 290 | this.files = file; | ||
| 291 | const extension = file.name.split('.')[1] === 'xls' | ||
| 292 | const extension2 = file.name.split('.')[1] === 'xlsx' | ||
| 293 | const isLt5M = file.size / 1024 / 1024 < 5 | ||
| 294 | if (!extension && !extension2) { | ||
| 295 | this.$message.warning('上传模板只能是 xls、xlsx格式!') | ||
| 296 | this.requested = false | ||
| 297 | } | ||
| 298 | if (!isLt5M) { | ||
| 299 | this.$message.warning('上传模板大小不能超过 5MB!') | ||
| 300 | this.requested = false | ||
| 301 | } | ||
| 302 | return (extension || extension2) && isLt5M | ||
| 303 | }, | ||
| 304 | handleSuccess (res) { | ||
| 305 | if (res.code === 200) { | ||
| 306 | this.requested = false | ||
| 307 | this.$message({ | ||
| 308 | message: '上传成功', | ||
| 309 | type: 'success', | ||
| 310 | }) | ||
| 311 | } else { | ||
| 312 | this.loading = false | ||
| 313 | this.$message.error(res.message) | ||
| 314 | } | 320 | } |
| 315 | } | 321 | } |
| 316 | } | 322 | }; |
| 317 | }; | ||
| 318 | </script> | 323 | </script> |
| 319 | <style scoped lang="scss"> | 324 | <style scoped lang="scss"> |
| 320 | @import "~@/styles/mixin.scss"; | 325 | @import "~@/styles/mixin.scss"; |
| 321 | |||
| 322 | /deep/.el-radio { | ||
| 323 | margin-right: 0; | ||
| 324 | } | ||
| 325 | |||
| 326 | /deep/.el-radio__label { | ||
| 327 | padding-left: 2px; | ||
| 328 | } | ||
| 329 | 326 | ||
| 330 | .active { | 327 | /deep/.el-radio { |
| 331 | background: $light-blue !important; | 328 | margin-right: 0; |
| 332 | color: #fff; | ||
| 333 | } | ||
| 334 | |||
| 335 | .edit-title-list { | ||
| 336 | @include flex; | ||
| 337 | |||
| 338 | li { | ||
| 339 | flex: 1; | ||
| 340 | @include flex-center; | ||
| 341 | border: 1px solid $borderColor; | ||
| 342 | line-height: 36px; | ||
| 343 | margin-bottom: 10px; | ||
| 344 | cursor: pointer; | ||
| 345 | transition: all 0.3s; | ||
| 346 | |||
| 347 | &:hover { | ||
| 348 | @extend .active; | ||
| 349 | } | ||
| 350 | } | 329 | } |
| 351 | } | ||
| 352 | 330 | ||
| 353 | .sqywgz-edit { | 331 | /deep/.el-radio__label { |
| 354 | @include flex; | 332 | padding-left: 2px; |
| 355 | width: 100%; | 333 | } |
| 356 | height: 563px; | ||
| 357 | |||
| 358 | &-left { | ||
| 359 | width: 26px; | ||
| 360 | 334 | ||
| 335 | .active { | ||
| 336 | background: $light-blue !important; | ||
| 337 | color: #fff; | ||
| 338 | } | ||
| 361 | 339 | ||
| 340 | .edit-title-list { | ||
| 341 | @include flex; | ||
| 362 | 342 | ||
| 363 | li { | 343 | li { |
| 344 | flex: 1; | ||
| 364 | @include flex-center; | 345 | @include flex-center; |
| 365 | background-color: #E4E7ED; | 346 | border: 1px solid $borderColor; |
| 366 | border-bottom-right-radius: 5px; | 347 | line-height: 36px; |
| 367 | padding: 15px; | 348 | margin-bottom: 10px; |
| 368 | cursor: pointer; | 349 | cursor: pointer; |
| 369 | transition: all 0.3s; | 350 | transition: all 0.3s; |
| 370 | 351 | ||
| ... | @@ -372,16 +353,38 @@ export default { | ... | @@ -372,16 +353,38 @@ export default { |
| 372 | @extend .active; | 353 | @extend .active; |
| 373 | } | 354 | } |
| 374 | } | 355 | } |
| 375 | |||
| 376 | li:not(:last-child) { | ||
| 377 | margin-bottom: 10px; | ||
| 378 | } | ||
| 379 | } | 356 | } |
| 380 | 357 | ||
| 381 | &-right { | 358 | .sqywgz-edit { |
| 382 | margin-left: 20px; | 359 | @include flex; |
| 383 | flex: 1; | ||
| 384 | width: 100%; | 360 | width: 100%; |
| 361 | height: 563px; | ||
| 362 | |||
| 363 | &-left { | ||
| 364 | width: 26px; | ||
| 365 | |||
| 366 | li { | ||
| 367 | @include flex-center; | ||
| 368 | background-color: #e4e7ed; | ||
| 369 | border-bottom-right-radius: 5px; | ||
| 370 | padding: 15px; | ||
| 371 | cursor: pointer; | ||
| 372 | transition: all 0.3s; | ||
| 373 | |||
| 374 | &:hover { | ||
| 375 | @extend .active; | ||
| 376 | } | ||
| 377 | } | ||
| 378 | |||
| 379 | li:not(:last-child) { | ||
| 380 | margin-bottom: 10px; | ||
| 381 | } | ||
| 382 | } | ||
| 383 | |||
| 384 | &-right { | ||
| 385 | margin-left: 20px; | ||
| 386 | flex: 1; | ||
| 387 | width: 100%; | ||
| 388 | } | ||
| 385 | } | 389 | } |
| 386 | } | ||
| 387 | </style> | 390 | </style> | ... | ... |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-07-19 14:11:20 | ||
| 5 | --> | ||
| 1 | <template> | 6 | <template> |
| 2 | <div class="from-clues"> | 7 | <div class="from-clues"> |
| 3 | <!-- 表单部分 --> | 8 | <!-- 表单部分 --> |
| ... | @@ -36,65 +41,65 @@ | ... | @@ -36,65 +41,65 @@ |
| 36 | </div> | 41 | </div> |
| 37 | </template> | 42 | </template> |
| 38 | <script> | 43 | <script> |
| 39 | import table from "@/utils/mixin/table"; | 44 | import table from "@/utils/mixin/table"; |
| 40 | import editDialog from "./components/editDialog.vue"; | 45 | import editDialog from "./components/editDialog.vue"; |
| 41 | import componentDialog from "./sqywDetail.vue"; | 46 | import componentDialog from "./sqywDetail.vue"; |
| 42 | import { datas, sendThis } from "./sqywgzdata"; | 47 | import { datas, sendThis } from "./sqywgzdata"; |
| 43 | import { getSysSqdjywBysearch, getDjlxInfo } from "@/api/sysSqdjyw.js"; | 48 | import { getSysSqdjywBysearch, getDjlxInfo } from "@/api/sysSqdjyw.js"; |
| 44 | export default { | 49 | export default { |
| 45 | name: "djbcx", | 50 | name: "djbcx", |
| 46 | components: { | 51 | components: { |
| 47 | editDialog, | 52 | editDialog, |
| 48 | componentDialog, | 53 | componentDialog, |
| 49 | }, | 54 | }, |
| 50 | mixins: [table], | 55 | mixins: [table], |
| 51 | mounted () { | 56 | mounted () { |
| 52 | sendThis(this); | 57 | sendThis(this); |
| 53 | this.queryClick(); | 58 | this.queryClick(); |
| 54 | }, | ||
| 55 | data () { | ||
| 56 | return { | ||
| 57 | qllxmc: "", | ||
| 58 | isDialog: false, | ||
| 59 | queryForm: { | ||
| 60 | qllx: "", | ||
| 61 | djywbm: "", | ||
| 62 | }, | ||
| 63 | qllxs: datas.qllxs(), | ||
| 64 | tableData: { | ||
| 65 | total: 0, | ||
| 66 | columns: datas.columns(), | ||
| 67 | data: [], | ||
| 68 | }, | ||
| 69 | detailList: [], | ||
| 70 | bsmSqyw: "", | ||
| 71 | sqqlRule: "", | ||
| 72 | }; | ||
| 73 | }, | ||
| 74 | methods: { | ||
| 75 | // 初始化数据 | ||
| 76 | queryClick () { | ||
| 77 | this.$startLoading(); | ||
| 78 | getSysSqdjywBysearch({ ...this.queryForm, ...this.pageData }).then( | ||
| 79 | (res) => { | ||
| 80 | this.$endLoading(); | ||
| 81 | if (res.code === 200) { | ||
| 82 | let { total, records } = res.result; | ||
| 83 | this.tableData.total = total ? total : 0; | ||
| 84 | this.tableData.data = records ? records : []; | ||
| 85 | } | ||
| 86 | } | ||
| 87 | ); | ||
| 88 | }, | 59 | }, |
| 89 | // 修改 | 60 | data () { |
| 90 | editClick (row) { | 61 | return { |
| 91 | this.sqqlRule = row; | 62 | qllxmc: "", |
| 92 | // this.dialogVisible = true; | 63 | isDialog: false, |
| 93 | this.$popupDialog(row.nodename, "system/sqywgz/sqywDetail", this.sqqlRule, '80%') | 64 | queryForm: { |
| 65 | qllx: "", | ||
| 66 | djywbm: "", | ||
| 67 | }, | ||
| 68 | qllxs: datas.qllxs(), | ||
| 69 | tableData: { | ||
| 70 | total: 0, | ||
| 71 | columns: datas.columns(), | ||
| 72 | data: [], | ||
| 73 | }, | ||
| 74 | detailList: [], | ||
| 75 | bsmSqyw: "", | ||
| 76 | sqqlRule: "", | ||
| 77 | }; | ||
| 78 | }, | ||
| 79 | methods: { | ||
| 80 | // 初始化数据 | ||
| 81 | queryClick () { | ||
| 82 | this.$startLoading(); | ||
| 83 | getSysSqdjywBysearch({ ...this.queryForm, ...this.pageData }).then( | ||
| 84 | (res) => { | ||
| 85 | this.$endLoading(); | ||
| 86 | if (res.code === 200) { | ||
| 87 | let { total, records } = res.result; | ||
| 88 | this.tableData.total = total ? total : 0; | ||
| 89 | this.tableData.data = records ? records : []; | ||
| 90 | } | ||
| 91 | } | ||
| 92 | ); | ||
| 93 | }, | ||
| 94 | // 修改 | ||
| 95 | editClick (row) { | ||
| 96 | this.sqqlRule = row; | ||
| 97 | // this.dialogVisible = true; | ||
| 98 | this.$popupDialog(row.nodename, "system/sqywgz/sqywDetail", this.sqqlRule, '80%') | ||
| 99 | } | ||
| 94 | } | 100 | } |
| 95 | } | 101 | } |
| 96 | } | ||
| 97 | </script> | 102 | </script> |
| 98 | <style scoped lang="scss"> | 103 | <style scoped lang="scss"> |
| 99 | @import "~@/styles/public.scss"; | 104 | @import "~@/styles/public.scss"; |
| 100 | </style> | 105 | </style> | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | 功能:高级搜索 | 2 | * @Description: |
| 3 | 作者:calliope | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2023-07-19 14:08:17 | ||
| 4 | --> | 5 | --> |
| 5 | <template> | 6 | <template> |
| 6 | <dialogBox :isButton="false" :isFullscreen="false" width="50%" @closeDialog="closeDialog" v-model="myValue" | 7 | <dialogBox :isButton="false" :isFullscreen="false" width="50%" @closeDialog="closeDialog" v-model="myValue" |
| ... | @@ -9,7 +10,7 @@ | ... | @@ -9,7 +10,7 @@ |
| 9 | <el-row> | 10 | <el-row> |
| 10 | <el-col :span="8"> | 11 | <el-col :span="8"> |
| 11 | <el-form-item label="申请业务名称" prop="sqywmc"> | 12 | <el-form-item label="申请业务名称" prop="sqywmc"> |
| 12 | <el-input v-model="ruleForm.sqywmc" placeholder="请输入申请业务名称"></el-input> | 13 | <el-input v-model="ruleForm.sqywmc" placeholder="请输入申请业务名称"></el-input> |
| 13 | </el-form-item> | 14 | </el-form-item> |
| 14 | </el-col> | 15 | </el-col> |
| 15 | <el-col :span="8"> | 16 | <el-col :span="8"> |
| ... | @@ -42,63 +43,63 @@ | ... | @@ -42,63 +43,63 @@ |
| 42 | </template> | 43 | </template> |
| 43 | <script> | 44 | <script> |
| 44 | 45 | ||
| 45 | export default { | 46 | export default { |
| 46 | props: { | 47 | props: { |
| 47 | value: { type: Boolean, default: false }, | 48 | value: { type: Boolean, default: false }, |
| 48 | advancedForm:{type: Object, default: "" } | 49 | advancedForm: { type: Object, default: "" } |
| 49 | }, | ||
| 50 | data () { | ||
| 51 | return { | ||
| 52 | myValue: this.value, | ||
| 53 | ruleForm: { | ||
| 54 | sqywmc: '', | ||
| 55 | qlrmc: '', | ||
| 56 | ywrmc: '', | ||
| 57 | slsj: '' | ||
| 58 | } | ||
| 59 | } | ||
| 60 | }, | ||
| 61 | watch: { | ||
| 62 | value (val) { | ||
| 63 | this.myValue = val | ||
| 64 | }, | 50 | }, |
| 65 | advancedForm(){ | 51 | data () { |
| 66 | this.ruleForm={...this.advancedForm} | 52 | return { |
| 67 | } | 53 | myValue: this.value, |
| 68 | }, | 54 | ruleForm: { |
| 69 | 55 | sqywmc: '', | |
| 70 | 56 | qlrmc: '', | |
| 71 | methods: { | 57 | ywrmc: '', |
| 72 | closeDialog () { | 58 | slsj: '' |
| 73 | this.$emit('input', false) | 59 | } |
| 60 | } | ||
| 74 | }, | 61 | }, |
| 75 | resetForm () { | 62 | watch: { |
| 76 | this.$refs['ruleForm'].resetFields() | 63 | value (val) { |
| 77 | this.ruleForm={ | 64 | this.myValue = val |
| 78 | sqywmc: '', | 65 | }, |
| 79 | qlrmc: '', | 66 | advancedForm () { |
| 80 | ywrmc: '', | 67 | this.ruleForm = { ...this.advancedForm } |
| 81 | slsj: '' | ||
| 82 | } | 68 | } |
| 83 | }, | 69 | }, |
| 84 | submitForm () { | ||
| 85 | this.$emit('getSearch', _.cloneDeep(this.ruleForm)) | ||
| 86 | this.$emit('input', false) | ||
| 87 | this.$refs['ruleForm'].resetFields() | ||
| 88 | 70 | ||
| 71 | |||
| 72 | methods: { | ||
| 73 | closeDialog () { | ||
| 74 | this.$emit('input', false) | ||
| 75 | }, | ||
| 76 | resetForm () { | ||
| 77 | this.$refs['ruleForm'].resetFields() | ||
| 78 | this.ruleForm = { | ||
| 79 | sqywmc: '', | ||
| 80 | qlrmc: '', | ||
| 81 | ywrmc: '', | ||
| 82 | slsj: '' | ||
| 83 | } | ||
| 84 | }, | ||
| 85 | submitForm () { | ||
| 86 | this.$emit('getSearch', _.cloneDeep(this.ruleForm)) | ||
| 87 | this.$emit('input', false) | ||
| 88 | this.$refs['ruleForm'].resetFields() | ||
| 89 | |||
| 90 | } | ||
| 89 | } | 91 | } |
| 90 | } | 92 | } |
| 91 | } | ||
| 92 | </script> | 93 | </script> |
| 93 | <style scoped lang='scss'> | 94 | <style scoped lang='scss'> |
| 94 | @import '~@/styles/public.scss'; | 95 | @import "~@/styles/public.scss"; |
| 95 | 96 | ||
| 96 | .search-btn { | 97 | .search-btn { |
| 97 | padding: 0 20px 20px 20px; | 98 | padding: 0 20px 20px 20px; |
| 98 | text-align: right; | 99 | text-align: right; |
| 99 | } | 100 | } |
| 100 | 101 | ||
| 101 | /deep/.el-icon-date { | 102 | /deep/.el-icon-date { |
| 102 | display: none; | 103 | display: none; |
| 103 | } | 104 | } |
| 104 | </style> | 105 | </style> | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description: | 2 | * @Description: |
| 3 | * @Autor: renchao | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2023-07-13 16:31:05 | 4 | * @LastEditTime: 2023-07-19 14:38:31 |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <div class="from-clues"> | 7 | <div class="from-clues"> |
| ... | @@ -114,7 +114,7 @@ | ... | @@ -114,7 +114,7 @@ |
| 114 | class="loadingtext" | 114 | class="loadingtext" |
| 115 | @sort-change="handleSort" | 115 | @sort-change="handleSort" |
| 116 | :current-page.sync="pageData.currentPage" | 116 | :current-page.sync="pageData.currentPage" |
| 117 | :heightNum="295" | 117 | :heightNum="305" |
| 118 | :total="tableData.total" | 118 | :total="tableData.total" |
| 119 | @size-change="handleSizeChange" | 119 | @size-change="handleSizeChange" |
| 120 | @p-current-change="handleCurrentChange" | 120 | @p-current-change="handleCurrentChange" | ... | ... |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-07-19 13:59:35 | ||
| 5 | --> | ||
| 1 | <template> | 6 | <template> |
| 2 | <div class="from-clues"> | 7 | <div class="from-clues"> |
| 3 | <!-- 表单部分 --> | 8 | <!-- 表单部分 --> |
| ... | @@ -12,7 +17,7 @@ | ... | @@ -12,7 +17,7 @@ |
| 12 | </el-select> | 17 | </el-select> |
| 13 | </el-form-item> | 18 | </el-form-item> |
| 14 | </el-col> | 19 | </el-col> |
| 15 | <el-col :span="4"> | 20 | <el-col :span="4"> |
| 16 | <el-form-item label="登记类型"> | 21 | <el-form-item label="登记类型"> |
| 17 | <el-select v-model="queryForm.djlx" filterable class="width100" clearable placeholder="请选择登记类型"> | 22 | <el-select v-model="queryForm.djlx" filterable class="width100" clearable placeholder="请选择登记类型"> |
| 18 | <el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode"> | 23 | <el-option v-for="item in dictData['A21']" :key="item.dcode" :label="item.dname" :value="item.dcode"> |
| ... | @@ -23,7 +28,7 @@ | ... | @@ -23,7 +28,7 @@ |
| 23 | <el-col :span="4"> | 28 | <el-col :span="4"> |
| 24 | <el-form-item label="权属状态"> | 29 | <el-form-item label="权属状态"> |
| 25 | <el-select v-model="queryForm.qszt" filterable class="width100" clearable placeholder="请选择登记类型"> | 30 | <el-select v-model="queryForm.qszt" filterable class="width100" clearable placeholder="请选择登记类型"> |
| 26 | <el-option | 31 | <el-option |
| 27 | v-for="item in qsztlist" | 32 | v-for="item in qsztlist" |
| 28 | :key="item.dcode" | 33 | :key="item.dcode" |
| 29 | :label="item.dname" | 34 | :label="item.dname" |
| ... | @@ -44,7 +49,7 @@ | ... | @@ -44,7 +49,7 @@ |
| 44 | </el-form-item> | 49 | </el-form-item> |
| 45 | </el-col> | 50 | </el-col> |
| 46 | </el-row> | 51 | </el-row> |
| 47 | <el-row> | 52 | <el-row> |
| 48 | <el-col :span="5"> | 53 | <el-col :span="5"> |
| 49 | <el-form-item label="业务号:"> | 54 | <el-form-item label="业务号:"> |
| 50 | <el-input placeholder="请输入业务号" v-model="queryForm.ywh" clearable class="width100"> | 55 | <el-input placeholder="请输入业务号" v-model="queryForm.ywh" clearable class="width100"> |
| ... | @@ -89,22 +94,22 @@ | ... | @@ -89,22 +94,22 @@ |
| 89 | </div> | 94 | </div> |
| 90 | </template> | 95 | </template> |
| 91 | <script> | 96 | <script> |
| 92 | import { mapGetters } from "vuex"; | 97 | import { mapGetters } from "vuex"; |
| 93 | import table from "@/utils/mixin/table"; | 98 | import table from "@/utils/mixin/table"; |
| 94 | import { datas, sendThis } from "./djbcxdata"; | 99 | import { datas, sendThis } from "./djbcxdata"; |
| 95 | import { getDjbBysearch } from "@/api/search.js"; | 100 | import { getDjbBysearch } from "@/api/search.js"; |
| 96 | 101 | ||
| 97 | export default { | 102 | export default { |
| 98 | name: "djbcx", | 103 | name: "djbcx", |
| 99 | mixins: [table], | 104 | mixins: [table], |
| 100 | mounted () { | 105 | mounted () { |
| 101 | sendThis(this); | 106 | sendThis(this); |
| 102 | this.queryClick() | 107 | this.queryClick() |
| 103 | }, | 108 | }, |
| 104 | data () { | 109 | data () { |
| 105 | return { | 110 | return { |
| 106 | // 权属状态 | 111 | // 权属状态 |
| 107 | qsztlist: [ | 112 | qsztlist: [ |
| 108 | { | 113 | { |
| 109 | dcode: "1", | 114 | dcode: "1", |
| 110 | dname: "现势", | 115 | dname: "现势", |
| ... | @@ -113,90 +118,90 @@ export default { | ... | @@ -113,90 +118,90 @@ export default { |
| 113 | dcode: "2", | 118 | dcode: "2", |
| 114 | dname: "历史", | 119 | dname: "历史", |
| 115 | }, | 120 | }, |
| 116 | ], | 121 | ], |
| 117 | queryForm: { | 122 | queryForm: { |
| 118 | qszt: "1", | 123 | qszt: "1", |
| 119 | qllx: "", | 124 | qllx: "", |
| 120 | bdcdyh: "", | 125 | bdcdyh: "", |
| 121 | bdcqzh: "", | 126 | bdcqzh: "", |
| 122 | ywh: "", | 127 | ywh: "", |
| 128 | }, | ||
| 129 | pageData: { | ||
| 130 | current: 1, | ||
| 131 | size: 10, | ||
| 132 | total: 0, | ||
| 133 | }, | ||
| 134 | tableData: { | ||
| 135 | columns: datas.columns(), | ||
| 136 | data: [], | ||
| 137 | }, | ||
| 138 | qllxs: [], | ||
| 139 | isDialog: false, | ||
| 140 | djbxxData: {}, | ||
| 141 | }; | ||
| 142 | }, | ||
| 143 | computed: { | ||
| 144 | ...mapGetters(["dictData"]), | ||
| 145 | }, | ||
| 146 | methods: { | ||
| 147 | // 初始化数据 | ||
| 148 | queryClick () { | ||
| 149 | this.$startLoading() | ||
| 150 | getDjbBysearch({ ...this.queryForm, ...this.pageData }).then((res) => { | ||
| 151 | this.$endLoading() | ||
| 152 | if (res.code === 200) { | ||
| 153 | let { total, records } = res.result; | ||
| 154 | this.tableData.data = records; | ||
| 155 | this.tableData.total = total; | ||
| 156 | } | ||
| 157 | }); | ||
| 123 | }, | 158 | }, |
| 124 | pageData: { | 159 | handleSort (name, sort) { |
| 125 | current: 1, | 160 | console.log(name, sort); |
| 126 | size: 10, | ||
| 127 | total: 0, | ||
| 128 | }, | 161 | }, |
| 129 | tableData: { | 162 | // 高级查询 |
| 130 | columns: datas.columns(), | 163 | moreQueryClick () { }, |
| 131 | data: [], | 164 | openDialog (scroll) { |
| 165 | this.$popupDialog('登记簿详情', 'registerBook/djbFrame', scroll, '85%'); | ||
| 132 | }, | 166 | }, |
| 133 | qllxs: [], | 167 | handleLpbClick (item) { |
| 134 | isDialog: false, | 168 | this.$popupDialog('楼盘表', 'lpb/index', { |
| 135 | djbxxData: {}, | 169 | bsm: '' |
| 136 | }; | 170 | }, '85%') |
| 137 | }, | 171 | }, |
| 138 | computed: { | 172 | // ywhClick (item) { |
| 139 | ...mapGetters(["dictData"]), | 173 | // const { href } = this.$router.resolve( |
| 140 | }, | 174 | // "/djbworkFrame?bdcdyid=" + |
| 141 | methods: { | 175 | // item.bdcdyid+ |
| 142 | // 初始化数据 | 176 | // "&bdcdyh=" + |
| 143 | queryClick () { | 177 | // item.bdcdyh+ |
| 144 | this.$startLoading() | 178 | // "&qllx="+ |
| 145 | getDjbBysearch({ ...this.queryForm, ...this.pageData }).then((res) => { | 179 | // item.qllx+ |
| 146 | this.$endLoading() | 180 | // "&bsmQlxx="+ |
| 147 | if (res.code === 200) { | 181 | // item.bsmQlxx+ |
| 148 | let { total, records } = res.result; | 182 | // "&viewtype=1" |
| 149 | this.tableData.data = records; | 183 | // ); |
| 150 | this.tableData.total = total; | 184 | // localStorage.setItem('ywbl', JSON.stringify(item)); |
| 151 | } | 185 | // window.open(href, `urlname${item.bdcdyid}`); |
| 152 | }); | ||
| 153 | }, | ||
| 154 | handleSort (name, sort) { | ||
| 155 | console.log(name, sort); | ||
| 156 | }, | ||
| 157 | // 高级查询 | ||
| 158 | moreQueryClick () { }, | ||
| 159 | openDialog (scroll) { | ||
| 160 | this.$popupDialog('登记簿详情', 'registerBook/djbFrame', scroll, '85%'); | ||
| 161 | }, | ||
| 162 | handleLpbClick (item) { | ||
| 163 | this.$popupDialog('楼盘表', 'lpb/index', { | ||
| 164 | bsm: '' | ||
| 165 | }, '85%') | ||
| 166 | }, | ||
| 167 | // ywhClick (item) { | ||
| 168 | // const { href } = this.$router.resolve( | ||
| 169 | // "/djbworkFrame?bdcdyid=" + | ||
| 170 | // item.bdcdyid+ | ||
| 171 | // "&bdcdyh=" + | ||
| 172 | // item.bdcdyh+ | ||
| 173 | // "&qllx="+ | ||
| 174 | // item.qllx+ | ||
| 175 | // "&bsmQlxx="+ | ||
| 176 | // item.bsmQlxx+ | ||
| 177 | // "&viewtype=1" | ||
| 178 | // ); | ||
| 179 | // localStorage.setItem('ywbl', JSON.stringify(item)); | ||
| 180 | // window.open(href, `urlname${item.bdcdyid}`); | ||
| 181 | 186 | ||
| 182 | // }, | 187 | // }, |
| 188 | } | ||
| 183 | } | 189 | } |
| 184 | } | ||
| 185 | </script> | 190 | </script> |
| 186 | <style scoped lang="scss"> | 191 | <style scoped lang="scss"> |
| 187 | @import "~@/styles/public.scss"; | 192 | @import "~@/styles/public.scss"; |
| 188 | 193 | ||
| 189 | .icon-circle { | 194 | .icon-circle { |
| 190 | position: relative; | 195 | position: relative; |
| 191 | } | 196 | } |
| 192 | 197 | ||
| 193 | .icon-circle::before { | 198 | .icon-circle::before { |
| 194 | content: ""; | 199 | content: ""; |
| 195 | width: 4px; | 200 | width: 4px; |
| 196 | height: 4px; | 201 | height: 4px; |
| 197 | border-radius: 50%; | 202 | border-radius: 50%; |
| 198 | background: #000; | 203 | background: #000; |
| 199 | top: 0px; | 204 | top: 0px; |
| 200 | left: 0px; | 205 | left: 0px; |
| 201 | } | 206 | } |
| 202 | </style> | 207 | </style> | ... | ... |
-
Please register or sign in to post a comment