style:增加注释
Showing
19 changed files
with
440 additions
and
345 deletions
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-07-13 16:42:17 | ||
| 5 | --> | ||
| 1 | <template> | 6 | <template> |
| 2 | <div> | 7 | <div> |
| 3 | <el-form :model="ruleForm" ref="ruleForm" label-width="100px"> | 8 | <el-form :model="ruleForm" ref="ruleForm" label-width="100px"> |
| ... | @@ -26,302 +31,302 @@ | ... | @@ -26,302 +31,302 @@ |
| 26 | </template> | 31 | </template> |
| 27 | 32 | ||
| 28 | <script> | 33 | <script> |
| 29 | import { getUuid, judgeSort, realMove, findParents, removeTreeListItem } from '@/utils/operation' | 34 | import { getUuid, judgeSort, realMove, findParents, removeTreeListItem } from '@/utils/operation' |
| 30 | import { editDictNode, getChildDictList } from '@/api/user' | 35 | import { editDictNode, getChildDictList } from '@/api/user' |
| 31 | export default { | 36 | export default { |
| 32 | props: { | 37 | props: { |
| 33 | formData: { | 38 | formData: { |
| 34 | type: Object, | 39 | type: Object, |
| 35 | default: () => { } | 40 | default: () => { } |
| 36 | } | 41 | } |
| 37 | }, | 42 | }, |
| 38 | data () { | 43 | data () { |
| 39 | return { | 44 | return { |
| 40 | key: 0, | 45 | key: 0, |
| 41 | keyList: [], | 46 | keyList: [], |
| 42 | ruleForm: { | 47 | ruleForm: { |
| 43 | dcode: '', | 48 | dcode: '', |
| 44 | dname: '' | 49 | dname: '' |
| 45 | }, | ||
| 46 | column: [], | ||
| 47 | columns: [ | ||
| 48 | { | ||
| 49 | width: '70', | ||
| 50 | renderHeader: (h, scope) => { | ||
| 51 | return (<div> | ||
| 52 | { | ||
| 53 | this.formData.isenable === '0' ? | ||
| 54 | <span>序号</span> : | ||
| 55 | <i class="el-icon-plus" onClick={() => { this.handleAdd() }} style="cursor:pointer;color:#409EFF"></i> | ||
| 56 | } | ||
| 57 | </div>) | ||
| 58 | }, | ||
| 59 | render: (h, scope) => { | ||
| 60 | return ( | ||
| 61 | <span>{scope.row.index}</span> | ||
| 62 | ) | ||
| 63 | } | ||
| 64 | }, | 50 | }, |
| 65 | { | 51 | column: [], |
| 66 | prop: 'dcode', | 52 | columns: [ |
| 67 | width: '100', | 53 | { |
| 68 | label: '字典项编码', | 54 | width: '70', |
| 69 | render: (h, scope) => { | 55 | renderHeader: (h, scope) => { |
| 70 | return ( | 56 | return (<div> |
| 71 | <div> | 57 | { |
| 72 | <el-input placeholder="字典项编码" disabled={this.formData.isenable == 2} v-show={scope.row.codeShow} v-fo value={scope.row[scope.column.property]} | 58 | this.formData.isenable === '0' ? |
| 73 | onFocus={() => { this.itemShowFalse(); scope.row.codeShow = true; }} | 59 | <span>序号</span> : |
| 74 | onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }} maxlength='8'></el-input> | 60 | <i class="el-icon-plus" onClick={() => { this.handleAdd() }} style="cursor:pointer;color:#409EFF"></i> |
| 61 | } | ||
| 62 | </div>) | ||
| 63 | }, | ||
| 64 | render: (h, scope) => { | ||
| 65 | return ( | ||
| 66 | <span>{scope.row.index}</span> | ||
| 67 | ) | ||
| 68 | } | ||
| 69 | }, | ||
| 70 | { | ||
| 71 | prop: 'dcode', | ||
| 72 | width: '100', | ||
| 73 | label: '字典项编码', | ||
| 74 | render: (h, scope) => { | ||
| 75 | return ( | ||
| 76 | <div> | ||
| 77 | <el-input placeholder="字典项编码" disabled={this.formData.isenable == 2} v-show={scope.row.codeShow} v-fo value={scope.row[scope.column.property]} | ||
| 78 | onFocus={() => { this.itemShowFalse(); scope.row.codeShow = true; }} | ||
| 79 | onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }} maxlength='8'></el-input> | ||
| 75 | 80 | ||
| 76 | 81 | ||
| 77 | <el-input placeholder="字典项编码" disabled={this.formData.isenable == 2} v-show={!scope.row.codeShow} value={scope.row[scope.column.property]} | 82 | <el-input placeholder="字典项编码" disabled={this.formData.isenable == 2} v-show={!scope.row.codeShow} value={scope.row[scope.column.property]} |
| 78 | onFocus={() => { this.itemShowFalse(); scope.row.codeShow = true; }} | 83 | onFocus={() => { this.itemShowFalse(); scope.row.codeShow = true; }} |
| 79 | onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }} maxlength='8'></el-input> | 84 | onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }} maxlength='8'></el-input> |
| 80 | </div> | 85 | </div> |
| 81 | ) | 86 | ) |
| 82 | } | 87 | } |
| 83 | }, | 88 | }, |
| 84 | { | 89 | { |
| 85 | prop: 'dname', | 90 | prop: 'dname', |
| 86 | label: '字典项名称', | 91 | label: '字典项名称', |
| 87 | render: (h, scope) => { | 92 | render: (h, scope) => { |
| 88 | return ( | 93 | return ( |
| 89 | <div> | 94 | <div> |
| 90 | <el-input placeholder="字典项编码" disabled={this.formData.isenable == 2} v-show={scope.row.nameShow} v-fo value={scope.row[scope.column.property]} | 95 | <el-input placeholder="字典项编码" disabled={this.formData.isenable == 2} v-show={scope.row.nameShow} v-fo value={scope.row[scope.column.property]} |
| 91 | onFocus={() => { this.itemShowFalse(); scope.row.nameShow = true; }} | 96 | onFocus={() => { this.itemShowFalse(); scope.row.nameShow = true; }} |
| 92 | onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }}></el-input> | 97 | onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }}></el-input> |
| 93 | 98 | ||
| 94 | <el-input placeholder="字典项名称" disabled={this.formData.isenable == 2} v-show={!scope.row.nameShow} value={scope.row[scope.column.property]} | 99 | <el-input placeholder="字典项名称" disabled={this.formData.isenable == 2} v-show={!scope.row.nameShow} value={scope.row[scope.column.property]} |
| 95 | onFocus={() => { this.itemShowFalse(); scope.row.nameShow = true; }} | 100 | onFocus={() => { this.itemShowFalse(); scope.row.nameShow = true; }} |
| 96 | onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }}></el-input> | 101 | onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }}></el-input> |
| 97 | </div> | 102 | </div> |
| 98 | ) | 103 | ) |
| 99 | } | 104 | } |
| 100 | }, | 105 | }, |
| 101 | { | 106 | { |
| 102 | prop: 'normcode', | 107 | prop: 'normcode', |
| 103 | label: '部标编码', | 108 | label: '部标编码', |
| 104 | width: '100', | 109 | width: '100', |
| 105 | render: (h, scope) => { | 110 | render: (h, scope) => { |
| 106 | return ( | 111 | return ( |
| 107 | <div> | 112 | <div> |
| 108 | <el-input placeholder="部标编码" disabled={this.formData.isenable == 2} v-show={scope.row.normcodeShow} v-fo value={scope.row[scope.column.property]} | 113 | <el-input placeholder="部标编码" disabled={this.formData.isenable == 2} v-show={scope.row.normcodeShow} v-fo value={scope.row[scope.column.property]} |
| 109 | onFocus={() => { this.itemShowFalse(); scope.row.normcodeShow = true; }} | 114 | onFocus={() => { this.itemShowFalse(); scope.row.normcodeShow = true; }} |
| 110 | onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }} maxlength='8'></el-input> | 115 | onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }} maxlength='8'></el-input> |
| 111 | 116 | ||
| 112 | <el-input placeholder="部标编码" disabled={this.formData.isenable == 2} v-show={!scope.row.normcodeShow} value={scope.row[scope.column.property]} | 117 | <el-input placeholder="部标编码" disabled={this.formData.isenable == 2} v-show={!scope.row.normcodeShow} value={scope.row[scope.column.property]} |
| 113 | onFocus={() => { this.itemShowFalse(); scope.row.normcodeShow = true; }} | 118 | onFocus={() => { this.itemShowFalse(); scope.row.normcodeShow = true; }} |
| 114 | onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }} maxlength='8'></el-input> | 119 | onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }} maxlength='8'></el-input> |
| 115 | </div> | 120 | </div> |
| 116 | ) | 121 | ) |
| 117 | } | 122 | } |
| 118 | }, | 123 | }, |
| 119 | { | 124 | { |
| 120 | prop: 'normname', | 125 | prop: 'normname', |
| 121 | label: '部标名称', | 126 | label: '部标名称', |
| 122 | render: (h, scope) => { | 127 | render: (h, scope) => { |
| 123 | return ( | 128 | return ( |
| 124 | <div> | 129 | <div> |
| 125 | <el-input placeholder="部标名称" disabled={this.formData.isenable == 2} v-show={scope.row.normnameShow} v-fo value={scope.row[scope.column.property]} | 130 | <el-input placeholder="部标名称" disabled={this.formData.isenable == 2} v-show={scope.row.normnameShow} v-fo value={scope.row[scope.column.property]} |
| 126 | onFocus={() => { this.itemShowFalse(); scope.row.normnameShow = true; }} | 131 | onFocus={() => { this.itemShowFalse(); scope.row.normnameShow = true; }} |
| 127 | onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }}></el-input> | 132 | onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }}></el-input> |
| 128 | 133 | ||
| 129 | <el-input placeholder="部标名称" disabled={this.formData.isenable == 2} v-show={!scope.row.normnameShow} value={scope.row[scope.column.property]} | 134 | <el-input placeholder="部标名称" disabled={this.formData.isenable == 2} v-show={!scope.row.normnameShow} value={scope.row[scope.column.property]} |
| 130 | onFocus={() => { this.itemShowFalse(); scope.row.normnameShow = true; }} | 135 | onFocus={() => { this.itemShowFalse(); scope.row.normnameShow = true; }} |
| 131 | onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }}></el-input> | 136 | onInput={(val) => { scope.row[scope.column.property] = val; this.itemShowFalse(); scope.row.codeShow = true; }}></el-input> |
| 132 | </div> | 137 | </div> |
| 133 | ) | 138 | ) |
| 139 | } | ||
| 140 | }, | ||
| 141 | { | ||
| 142 | prop: 'isenable', | ||
| 143 | width: '160', | ||
| 144 | label: '是否禁用', | ||
| 145 | render: (h, scope) => { | ||
| 146 | return ( | ||
| 147 | <el-radio-group disabled={this.formData.isenable == 2} v-model={scope.row.isenable}> | ||
| 148 | <el-radio label="1">启用</el-radio> | ||
| 149 | <el-radio label="0">禁用</el-radio> | ||
| 150 | </el-radio-group> | ||
| 151 | ) | ||
| 152 | } | ||
| 153 | }, | ||
| 154 | { | ||
| 155 | width: '130', | ||
| 156 | label: '移动', | ||
| 157 | render: (h, scope) => { | ||
| 158 | return ( | ||
| 159 | <div> | ||
| 160 | <el-button type='text' disabled={scope.row.isTop} onClick={() => { this.moveUpward(scope.$index, scope.row) }}>上移</el-button> | ||
| 161 | <el-button type='text' disabled={scope.row.isBottom} onClick={() => { this.moveDown(scope.$index, scope.row) }}>下移</el-button > | ||
| 162 | </div > | ||
| 163 | ) | ||
| 164 | } | ||
| 165 | }, | ||
| 166 | { | ||
| 167 | width: '150', | ||
| 168 | label: '操作', | ||
| 169 | render: (h, scope) => { | ||
| 170 | return ( | ||
| 171 | <div> | ||
| 172 | <el-button type="text" style="margin-right:10px" onClick={() => { this.handleAddSubordinate(scope.row) }}>增加下级</el-button> | ||
| 173 | <el-button type="text" style="margin-left:0" onClick={() => { this.handleMinus(scope.$index, scope.row) }}>删除</el-button> | ||
| 174 | </div> | ||
| 175 | ) | ||
| 176 | } | ||
| 134 | } | 177 | } |
| 135 | }, | 178 | ], |
| 136 | { | 179 | tableData: [] |
| 137 | prop: 'isenable', | 180 | } |
| 138 | width: '160', | 181 | }, |
| 139 | label: '是否禁用', | 182 | mounted () { |
| 140 | render: (h, scope) => { | 183 | if (this.formData?.bsmDict) { |
| 141 | return ( | 184 | this.$startLoading(); |
| 142 | <el-radio-group disabled={this.formData.isenable == 2} v-model={scope.row.isenable}> | 185 | getChildDictList(this.formData.bsmDict).then(res => { |
| 143 | <el-radio label="1">启用</el-radio> | 186 | this.$endLoading(); |
| 144 | <el-radio label="0">禁用</el-radio> | 187 | let { result } = res |
| 145 | </el-radio-group> | 188 | this.tableData = result ? result : [] |
| 146 | ) | 189 | this.tableData.forEach((item, index) => { |
| 190 | item.index = index + 1 | ||
| 191 | }) | ||
| 192 | this.tableData = judgeSort(this.tableData) | ||
| 193 | }) | ||
| 194 | } | ||
| 195 | if (this.formData?.isenable == 2) { | ||
| 196 | this.column = this.columns.slice(0, 6) | ||
| 197 | } else { | ||
| 198 | this.column = this.columns | ||
| 199 | } | ||
| 200 | this.ruleForm = this.formData.rowData | ||
| 201 | this.addIndexes() | ||
| 202 | this.key++ | ||
| 203 | }, | ||
| 204 | methods: { | ||
| 205 | // 添加索引 | ||
| 206 | addIndexes (data = this.tableData, isAdd = true) { | ||
| 207 | data.forEach((item, index) => { | ||
| 208 | if (index == 0) { | ||
| 209 | item.codeShow = true | ||
| 210 | item.nameShow = false | ||
| 211 | item.normcodeShow = false | ||
| 212 | item.normnameShow = false | ||
| 213 | } else { | ||
| 214 | item.codeShow = false | ||
| 215 | item.nameShow = false | ||
| 216 | item.normcodeShow = false | ||
| 217 | item.normnameShow = false | ||
| 147 | } | 218 | } |
| 148 | }, | 219 | if (isAdd) { |
| 149 | { | 220 | item.index = index + 1 |
| 150 | width: '130', | ||
| 151 | label: '移动', | ||
| 152 | render: (h, scope) => { | ||
| 153 | return ( | ||
| 154 | <div> | ||
| 155 | <el-button type='text' disabled={scope.row.isTop} onClick={() => { this.moveUpward(scope.$index, scope.row) }}>上移</el-button> | ||
| 156 | <el-button type='text' disabled={scope.row.isBottom} onClick={() => { this.moveDown(scope.$index, scope.row) }}>下移</el-button > | ||
| 157 | </div > | ||
| 158 | ) | ||
| 159 | } | 221 | } |
| 160 | }, | 222 | if (item.children) { |
| 161 | { | 223 | this.addIndexes(item.children, false) |
| 162 | width: '150', | ||
| 163 | label: '操作', | ||
| 164 | render: (h, scope) => { | ||
| 165 | return ( | ||
| 166 | <div> | ||
| 167 | <el-button type="text" style="margin-right:10px" onClick={() => { this.handleAddSubordinate(scope.row) }}>增加下级</el-button> | ||
| 168 | <el-button type="text" style="margin-left:0" onClick={() => { this.handleMinus(scope.$index, scope.row) }}>删除</el-button> | ||
| 169 | </div> | ||
| 170 | ) | ||
| 171 | } | 224 | } |
| 172 | } | ||
| 173 | ], | ||
| 174 | tableData: [] | ||
| 175 | } | ||
| 176 | }, | ||
| 177 | mounted () { | ||
| 178 | if (this.formData?.bsmDict) { | ||
| 179 | this.$startLoading(); | ||
| 180 | getChildDictList(this.formData.bsmDict).then(res => { | ||
| 181 | this.$endLoading(); | ||
| 182 | let { result } = res | ||
| 183 | this.tableData = result ? result : [] | ||
| 184 | this.tableData.forEach((item, index) => { | ||
| 185 | item.index = index + 1 | ||
| 186 | }) | 225 | }) |
| 187 | this.tableData = judgeSort(this.tableData) | 226 | }, |
| 188 | }) | 227 | itemShowFalse () { |
| 189 | } | 228 | this.tableData.forEach((item, index) => { |
| 190 | if (this.formData?.isenable == 2) { | ||
| 191 | this.column = this.columns.slice(0, 6) | ||
| 192 | } else { | ||
| 193 | this.column = this.columns | ||
| 194 | } | ||
| 195 | this.ruleForm = this.formData.rowData | ||
| 196 | this.addIndexes() | ||
| 197 | this.key++ | ||
| 198 | }, | ||
| 199 | methods: { | ||
| 200 | // 添加索引 | ||
| 201 | addIndexes (data = this.tableData, isAdd = true) { | ||
| 202 | data.forEach((item, index) => { | ||
| 203 | if (index == 0) { | ||
| 204 | item.codeShow = true | ||
| 205 | item.nameShow = false | ||
| 206 | item.normcodeShow = false | ||
| 207 | item.normnameShow = false | ||
| 208 | } else { | ||
| 209 | item.codeShow = false | 229 | item.codeShow = false |
| 210 | item.nameShow = false | 230 | item.nameShow = false |
| 211 | item.normcodeShow = false | 231 | item.normcodeShow = false |
| 212 | item.normnameShow = false | 232 | item.normnameShow = false |
| 213 | } | ||
| 214 | if (isAdd) { | ||
| 215 | item.index = index + 1 | ||
| 216 | } | ||
| 217 | if (item.children) { | ||
| 218 | this.addIndexes(item.children, false) | ||
| 219 | } | ||
| 220 | }) | ||
| 221 | }, | ||
| 222 | itemShowFalse () { | ||
| 223 | this.tableData.forEach((item, index) => { | ||
| 224 | item.codeShow = false | ||
| 225 | item.nameShow = false | ||
| 226 | item.normcodeShow = false | ||
| 227 | item.normnameShow = false | ||
| 228 | }) | ||
| 229 | }, | ||
| 230 | handleMinus (index, row) { | ||
| 231 | this.$confirm('此操作将永久删除, 是否继续?', '提示', { | ||
| 232 | confirmButtonText: '确定', | ||
| 233 | cancelButtonText: '取消', | ||
| 234 | type: 'warning' | ||
| 235 | }).then(() => { | ||
| 236 | removeTreeListItem(this.tableData, row.bsmDict) | ||
| 237 | this.$message({ | ||
| 238 | type: 'success', | ||
| 239 | message: '删除成功!' | ||
| 240 | }) | ||
| 241 | }).catch(() => { | ||
| 242 | this.$message({ | ||
| 243 | type: 'info', | ||
| 244 | message: '已取消删除' | ||
| 245 | }) | 233 | }) |
| 246 | }) | 234 | }, |
| 247 | }, | 235 | handleMinus (index, row) { |
| 248 | handleSubmit () { | 236 | this.$confirm('此操作将永久删除, 是否继续?', '提示', { |
| 249 | this.$startLoading(); | 237 | confirmButtonText: '确定', |
| 250 | editDictNode({ | 238 | cancelButtonText: '取消', |
| 251 | bsmDict: this.formData.rowData.bsmDict, | 239 | type: 'warning' |
| 252 | typeid: this.formData.rowData.typeid, | 240 | }).then(() => { |
| 253 | children: this.tableData | 241 | removeTreeListItem(this.tableData, row.bsmDict) |
| 254 | }).then(res => { | ||
| 255 | this.$endLoading(); | ||
| 256 | if (res.code === 200) { | ||
| 257 | this.$message({ | 242 | this.$message({ |
| 258 | message: '修改成功', | 243 | type: 'success', |
| 259 | type: 'success' | 244 | message: '删除成功!' |
| 260 | }) | 245 | }) |
| 261 | this.$popupCacel() | 246 | }).catch(() => { |
| 247 | this.$message({ | ||
| 248 | type: 'info', | ||
| 249 | message: '已取消删除' | ||
| 250 | }) | ||
| 251 | }) | ||
| 252 | }, | ||
| 253 | handleSubmit () { | ||
| 254 | this.$startLoading(); | ||
| 255 | editDictNode({ | ||
| 256 | bsmDict: this.formData.rowData.bsmDict, | ||
| 257 | typeid: this.formData.rowData.typeid, | ||
| 258 | children: this.tableData | ||
| 259 | }).then(res => { | ||
| 260 | this.$endLoading(); | ||
| 261 | if (res.code === 200) { | ||
| 262 | this.$message({ | ||
| 263 | message: '修改成功', | ||
| 264 | type: 'success' | ||
| 265 | }) | ||
| 266 | this.$popupCacel() | ||
| 267 | } | ||
| 268 | }) | ||
| 269 | }, | ||
| 270 | // 增加下级 | ||
| 271 | handleAddSubordinate (row) { | ||
| 272 | if (!row.children) { | ||
| 273 | row.children = [] | ||
| 262 | } | 274 | } |
| 263 | }) | 275 | row.children.push( |
| 264 | }, | 276 | { |
| 265 | // 增加下级 | 277 | dcode: '', |
| 266 | handleAddSubordinate (row) { | 278 | dname: '', |
| 267 | if (!row.children) { | 279 | isenable: '1', |
| 268 | row.children = [] | 280 | normcode: '', |
| 281 | normname: '', | ||
| 282 | bsmDict: getUuid(32), | ||
| 283 | typeid: row.typeid, | ||
| 284 | } | ||
| 285 | ) | ||
| 286 | this.keyList = []; | ||
| 287 | this.keyList.push(row.bsmDict) | ||
| 288 | }, | ||
| 289 | // 增加 | ||
| 290 | handleAdd () { | ||
| 291 | this.$nextTick(() => { | ||
| 292 | let container = this.$el.querySelector('.el-table__body-wrapper'); | ||
| 293 | container.scrollTop = container.scrollHeight; | ||
| 294 | }) | ||
| 295 | this.tableData.push( | ||
| 296 | { | ||
| 297 | dcode: '', | ||
| 298 | dname: '', | ||
| 299 | isenable: '1', | ||
| 300 | normcode: '', | ||
| 301 | normname: '', | ||
| 302 | bsmDict: getUuid(32), | ||
| 303 | typeid: this.ruleForm.typeid, | ||
| 304 | } | ||
| 305 | ) | ||
| 306 | this.addIndexes() | ||
| 307 | this.key++ | ||
| 308 | }, | ||
| 309 | // 上移下移 | ||
| 310 | moveUpward (index, row) { | ||
| 311 | realMove(row.bsmDict, 'UP', this.tableData) | ||
| 312 | this.key++ | ||
| 313 | let id = findParents(this.tableData, row.bsmDict) | ||
| 314 | this.keyList = id | ||
| 315 | }, | ||
| 316 | moveDown (index, row) { | ||
| 317 | realMove(row.bsmDict, 'DOWN', this.tableData) | ||
| 318 | this.key++ | ||
| 319 | let id = findParents(this.tableData, row.bsmDict) | ||
| 320 | this.keyList = id | ||
| 269 | } | 321 | } |
| 270 | row.children.push( | ||
| 271 | { | ||
| 272 | dcode: '', | ||
| 273 | dname: '', | ||
| 274 | isenable: '1', | ||
| 275 | normcode: '', | ||
| 276 | normname: '', | ||
| 277 | bsmDict: getUuid(32), | ||
| 278 | typeid: row.typeid, | ||
| 279 | } | ||
| 280 | ) | ||
| 281 | this.keyList = []; | ||
| 282 | this.keyList.push(row.bsmDict) | ||
| 283 | }, | ||
| 284 | // 增加 | ||
| 285 | handleAdd () { | ||
| 286 | this.$nextTick(() => { | ||
| 287 | let container = this.$el.querySelector('.el-table__body-wrapper'); | ||
| 288 | container.scrollTop = container.scrollHeight; | ||
| 289 | }) | ||
| 290 | this.tableData.push( | ||
| 291 | { | ||
| 292 | dcode: '', | ||
| 293 | dname: '', | ||
| 294 | isenable: '1', | ||
| 295 | normcode: '', | ||
| 296 | normname: '', | ||
| 297 | bsmDict: getUuid(32), | ||
| 298 | typeid: this.ruleForm.typeid, | ||
| 299 | } | ||
| 300 | ) | ||
| 301 | this.addIndexes() | ||
| 302 | this.key++ | ||
| 303 | }, | ||
| 304 | // 上移下移 | ||
| 305 | moveUpward (index, row) { | ||
| 306 | realMove(row.bsmDict, 'UP', this.tableData) | ||
| 307 | this.key++ | ||
| 308 | let id = findParents(this.tableData, row.bsmDict) | ||
| 309 | this.keyList = id | ||
| 310 | }, | ||
| 311 | moveDown (index, row) { | ||
| 312 | realMove(row.bsmDict, 'DOWN', this.tableData) | ||
| 313 | this.key++ | ||
| 314 | let id = findParents(this.tableData, row.bsmDict) | ||
| 315 | this.keyList = id | ||
| 316 | } | 322 | } |
| 317 | } | 323 | } |
| 318 | } | ||
| 319 | </script> | 324 | </script> |
| 320 | <style rel="stylesheet/scss" lang="scss" scoped> | 325 | <style rel="stylesheet/scss" lang="scss" scoped> |
| 321 | @import "~@/styles/dialogBoxheader.scss"; | 326 | @import "~@/styles/dialogBoxheader.scss"; |
| 322 | 327 | ||
| 323 | /deep/.el-radio { | 328 | /deep/.el-radio { |
| 324 | margin-right: 5px !important; | 329 | margin-right: 5px !important; |
| 325 | } | 330 | } |
| 326 | </style> | 331 | </style> |
| 327 | 332 | ... | ... |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-07-13 16:31:56 | ||
| 5 | --> | ||
| 1 | <template> | 6 | <template> |
| 2 | <div class="from-clues"> | 7 | <div class="from-clues"> |
| 3 | <!-- 表单部分 --> | 8 | <!-- 表单部分 --> |
| ... | @@ -33,84 +38,84 @@ | ... | @@ -33,84 +38,84 @@ |
| 33 | </div> | 38 | </div> |
| 34 | </template> | 39 | </template> |
| 35 | <script> | 40 | <script> |
| 36 | import table from "@/utils/mixin/table" | 41 | import table from "@/utils/mixin/table" |
| 37 | import { getQlxxDictList, getChildDictList, refreshDictCache } from "@/api/user.js" | 42 | import { getQlxxDictList, getChildDictList, refreshDictCache } from "@/api/user.js" |
| 38 | import { datas, sendThis } from "./dictionaries" | 43 | import { datas, sendThis } from "./dictionaries" |
| 39 | import editDialog from "./components/editDialog.vue" | 44 | import editDialog from "./components/editDialog.vue" |
| 40 | export default { | 45 | export default { |
| 41 | name: "dictionaries", | 46 | name: "dictionaries", |
| 42 | components: { | 47 | components: { |
| 43 | editDialog | 48 | editDialog |
| 44 | }, | 49 | }, |
| 45 | mixins: [table], | 50 | mixins: [table], |
| 46 | mounted () { | 51 | mounted () { |
| 47 | sendThis(this); | 52 | sendThis(this); |
| 48 | }, | 53 | }, |
| 49 | data () { | 54 | data () { |
| 50 | return { | 55 | return { |
| 51 | details: { | 56 | details: { |
| 52 | bsmDict: '', | 57 | bsmDict: '', |
| 53 | isenable: 1, | 58 | isenable: 1, |
| 54 | rowData: {} | 59 | rowData: {} |
| 55 | }, | 60 | }, |
| 56 | ruleForm: { | 61 | ruleForm: { |
| 57 | dcode: '', | 62 | dcode: '', |
| 58 | dname: '' | 63 | dname: '' |
| 59 | }, | 64 | }, |
| 60 | tableData: { | 65 | tableData: { |
| 61 | total: 0, | 66 | total: 0, |
| 62 | columns: datas.columns(), | 67 | columns: datas.columns(), |
| 63 | data: [] | 68 | data: [] |
| 69 | } | ||
| 64 | } | 70 | } |
| 65 | } | ||
| 66 | }, | ||
| 67 | methods: { | ||
| 68 | // 初始化数据 | ||
| 69 | queryClick () { | ||
| 70 | this.$startLoading(); | ||
| 71 | getQlxxDictList({ ...this.ruleForm, ...this.pageData }).then(res => { | ||
| 72 | this.$endLoading(); | ||
| 73 | let { records, total } = res.result | ||
| 74 | this.tableData.data = records ? records : [] | ||
| 75 | this.tableData.total = total ? total : 0 | ||
| 76 | }) | ||
| 77 | }, | 71 | }, |
| 78 | handleRefresh () { | 72 | methods: { |
| 79 | this.$confirm('是否确认刷新', '提示', { | 73 | // 初始化数据 |
| 80 | confirmButtonText: '确定', | 74 | queryClick () { |
| 81 | cancelButtonText: '取消', | 75 | this.$startLoading(); |
| 82 | type: 'warning' | 76 | getQlxxDictList({ ...this.ruleForm, ...this.pageData }).then(res => { |
| 83 | }).then(() => { | 77 | this.$endLoading(); |
| 84 | this.$startLoading() | 78 | let { records, total } = res.result |
| 85 | refreshDictCache().then(res => { | 79 | this.tableData.data = records ? records : [] |
| 86 | if (res.code == 200) { | 80 | this.tableData.total = total ? total : 0 |
| 87 | let refech = this.$store.dispatch('dict/generateDic') | ||
| 88 | this.$endLoading() | ||
| 89 | refech && this.$message({ | ||
| 90 | message: '刷新成功', | ||
| 91 | type: 'success' | ||
| 92 | }); | ||
| 93 | } else { | ||
| 94 | this.$message.error(res.message) | ||
| 95 | } | ||
| 96 | }) | 81 | }) |
| 97 | }).catch(() => { | 82 | }, |
| 98 | this.$message({ | 83 | handleRefresh () { |
| 99 | type: 'info', | 84 | this.$confirm('是否确认刷新', '提示', { |
| 100 | message: '取消刷新' | 85 | confirmButtonText: '确定', |
| 86 | cancelButtonText: '取消', | ||
| 87 | type: 'warning' | ||
| 88 | }).then(() => { | ||
| 89 | this.$startLoading() | ||
| 90 | refreshDictCache().then(res => { | ||
| 91 | if (res.code == 200) { | ||
| 92 | let refech = this.$store.dispatch('dict/generateDic') | ||
| 93 | this.$endLoading() | ||
| 94 | refech && this.$message({ | ||
| 95 | message: '刷新成功', | ||
| 96 | type: 'success' | ||
| 97 | }); | ||
| 98 | } else { | ||
| 99 | this.$message.error(res.message) | ||
| 100 | } | ||
| 101 | }) | ||
| 102 | }).catch(() => { | ||
| 103 | this.$message({ | ||
| 104 | type: 'info', | ||
| 105 | message: '取消刷新' | ||
| 106 | }); | ||
| 101 | }); | 107 | }); |
| 102 | }); | 108 | }, |
| 103 | }, | 109 | // 修改 |
| 104 | // 修改 | 110 | editClick (row, val) { |
| 105 | editClick (row, val) { | 111 | this.details.rowData = row |
| 106 | this.details.rowData = row | 112 | this.details.isenable = val |
| 107 | this.details.isenable = val | 113 | this.details.bsmDict = row.bsmDict |
| 108 | this.details.bsmDict = row.bsmDict | 114 | this.$popupDialog("字典信息", "system/dictionaries/components/editDialog", this.details) |
| 109 | this.$popupDialog("字典信息", "system/dictionaries/components/editDialog", this.details) | 115 | } |
| 110 | } | 116 | } |
| 111 | } | 117 | } |
| 112 | } | ||
| 113 | </script> | 118 | </script> |
| 114 | <style scoped lang="scss"> | 119 | <style scoped lang="scss"> |
| 115 | @import "~@/styles/public.scss"; | 120 | @import "~@/styles/public.scss"; |
| 116 | </style> | 121 | </style> | ... | ... |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-07-13 16:42:26 | ||
| 5 | --> | ||
| 1 | <template> | 6 | <template> |
| 2 | <el-form ref="ruleForm" :model="ruleForm" label-width="100px" :rules="rules"> | 7 | <el-form ref="ruleForm" :model="ruleForm" label-width="100px" :rules="rules"> |
| 3 | <el-row> | 8 | <el-row> | ... | ... |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-07-13 16:31:05 | ||
| 5 | --> | ||
| 1 | <template> | 6 | <template> |
| 2 | <div class="from-clues"> | 7 | <div class="from-clues"> |
| 3 | <!-- 表单部分 --> | 8 | <!-- 表单部分 --> |
| ... | @@ -198,7 +203,7 @@ | ... | @@ -198,7 +203,7 @@ |
| 198 | "/djbworkFrameview?bsmSlsq=" + | 203 | "/djbworkFrameview?bsmSlsq=" + |
| 199 | item.bsmSlsq + | 204 | item.bsmSlsq + |
| 200 | "&bestepid=" + | 205 | "&bestepid=" + |
| 201 | item.bestepid+ | 206 | item.bestepid + |
| 202 | "&bsmBusiness=" + | 207 | "&bsmBusiness=" + |
| 203 | "&viewtype=1" | 208 | "&viewtype=1" |
| 204 | ); | 209 | ); | ... | ... |
| 1 | <!-- | ||
| 2 | * @Description: | ||
| 3 | * @Autor: renchao | ||
| 4 | * @LastEditTime: 2023-07-13 15:23:28 | ||
| 5 | --> | ||
| 1 | <template> | 6 | <template> |
| 2 | <div class="from-clues"> | 7 | <div class="from-clues"> |
| 3 | <el-tabs type="card" v-model="activeName" @tab-click="handleTabClick" v-if="!isJump"> | 8 | <el-tabs type="card" v-model="activeName" @tab-click="handleTabClick" v-if="!isJump"> | ... | ... |
-
Please register or sign in to post a comment