| | |
| | | </el-table-column> |
| | | <el-table-column prop="leader" label="负责人" width="120"></el-table-column> |
| | | <el-table-column prop="phone" label="联系电话" width="150"></el-table-column> |
| | | <el-table-column prop="responsibleXNo" label="负责rk_T" width="110" align="center"> |
| | | <template slot-scope="{ row }"> |
| | | <el-tag v-if="row.responsibleXNo" size="mini" type="success">{{ row.responsibleXNo }}</el-tag> |
| | | <span v-else class="muted">未设置</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="orderNum" label="排序" width="80" align="center"></el-table-column> |
| | | <el-table-column label="状态" width="90" align="center"> |
| | | <template slot-scope="{ row }"> |
| | | <el-tag size="mini" :type="row.status === '1' ? 'info' : 'success'">{{ row.status === '1' ? '停用' : '正常' }}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" width="120" align="center" fixed="right"> |
| | | <template slot-scope="{ row }"> |
| | | <el-button type="text" icon="el-icon-setting" v-permission="'system:organization:ext'" @click="openExt(row)">扩展属性</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | |
| | | <el-dialog :title="'扩展属性设置 - ' + (currentDept.name || '')" :visible.sync="extVisible" width="520px" append-to-body :close-on-click-modal="false"> |
| | | <el-form label-width="105px" v-loading="extLoading"> |
| | | <el-form-item label="负责rk_T"> |
| | | <el-select v-model="extForm.responsibleXNo" clearable filterable placeholder="请选择rk_X号" style="width:100%"> |
| | | <el-option v-for="item in xNumbers" :key="item" :label="item" :value="item"></el-option> |
| | | </el-select> |
| | | <div class="field-tip">该值新增故障时作为rk_X号默认值,以部门设置为准。</div> |
| | | </el-form-item> |
| | | </el-form> |
| | | <template slot="footer"> |
| | | <el-button @click="extVisible = false">取消</el-button> |
| | | <el-button type="primary" :loading="extSaving" @click="saveExt">保存</el-button> |
| | | </template> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | <script> |
| | |
| | | loading: false, |
| | | rows: [], |
| | | keyword: '', |
| | | deptType: '' |
| | | deptType: '', |
| | | extVisible: false, |
| | | extLoading: false, |
| | | extSaving: false, |
| | | currentDept: {}, |
| | | extForm: { responsibleXNo: '' }, |
| | | xNumbers: [] |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | return walk(this.tree) |
| | | } |
| | | }, |
| | | created() { this.load() }, |
| | | created() { this.load(); this.loadXNumbers() }, |
| | | methods: { |
| | | load() { |
| | | this.loading = true |
| | | api.get('/system/depts').then(res => { |
| | | this.rows = res.data || [] |
| | | }).finally(() => { this.loading = false }) |
| | | }, |
| | | loadXNumbers() { |
| | | api.get('/system/tree/product/x-numbers').then(res => { this.xNumbers = res.data || [] }) |
| | | }, |
| | | openExt(row) { |
| | | this.currentDept = { ...row } |
| | | this.extForm = { responsibleXNo: row.responsibleXNo || '' } |
| | | this.extVisible = true |
| | | this.extLoading = true |
| | | api.get('/system/depts/' + row.id + '/ext').then(res => { |
| | | const data = res.data || {} |
| | | this.extForm = { responsibleXNo: data.responsibleXNo || '' } |
| | | }).finally(() => { this.extLoading = false }) |
| | | }, |
| | | saveExt() { |
| | | if (!this.currentDept.id) return |
| | | this.extSaving = true |
| | | api.put('/system/depts/' + this.currentDept.id + '/ext', this.extForm).then(() => { |
| | | this.$message.success('扩展属性设置成功') |
| | | this.extVisible = false |
| | | this.load() |
| | | }).finally(() => { this.extSaving = false }) |
| | | }, |
| | | buildTree(rows) { |
| | | const nodes = rows.map(row => ({ ...row, children: [] })) |
| | |
| | | </script> |
| | | <style scoped> |
| | | .summary { color: #6d7f91; font-size: 13px; } |
| | | .muted { color: #a3afbc; font-size: 12px; } |
| | | .field-tip { margin-top: 4px; color: #7b8a99; font-size: 12px; line-height: 18px; } |
| | | </style> |