<!-- * @Description: * @Autor: renchao * @LastEditTime: 2023-07-17 13:51:09 --> <template> <lb-table :column="column" :maxHeight="300" heightNumSetting :pagination="false" :key="key" :data="tableData"> </lb-table> </template> <script> import addQlr from './dialog/addQlr.vue' import { mapGetters } from 'vuex' export default { components: { addQlr }, computed: { ...mapGetters(["dictData"]), }, props: { tableData: { type: Array, default: function () { return [] } }, gyfs: { type: String, default: '1' } }, data () { return { key: 0, dataIndex: 0, dialog: false, details: {}, tableDataList: [], qlrCommonTable: [ { width: '50', renderHeader: (h, scope) => { return <div> { this.ableOperation ? '序号' : <i class="el-icon-plus pointer" onClick={() => { this.handleAdd() }}></i> } </div> }, render: (h, scope) => { return ( <div> { this.ableOperation ? <span>{scope.$index + 1}</span> : <i class="el-icon-minus pointer" onClick={() => { this.handleMinus(scope.$index, scope.row) }}></i> } </div> ) } }, { prop: "sqrmc", label: "姓名/名称" }, { prop: "zjzl", label: "证件种类" }, { prop: "zjh", label: "证件号" }, { prop: "dh", label: "联系电话" }, { prop: "frmc", label: "法人" }, { label: '操作', render: (h, scope) => { return ( <div> { <el-button icon="el-icon-view" type="text" onClick={() => { this.handleView(scope.$index, scope.row) }}>查看</el-button> } </div> ) } } ], column: this.qlrCommonTable } }, watch: { tableData: { handler: function (val, oldVal) { let that = this if (val.length == 0 || !val) { that.tableDataList = _.cloneDeep([{ sqrmc: '', dlrzjlx: '', dlrzjh: '', fr: '' }]) } else { that.tableDataList = _.cloneDeep(val) } }, immediate: true, deep: true }, gyfs: { handler (newVal, oldValue) { let dataList = _.cloneDeep(this.qlrCommonTable) if (newVal == '1') { this.column = _.cloneDeep(dataList).slice(1, dataList.length) } else if ((newVal == '2')) { this.column = dataList } else { this.column = _.cloneDeep(dataList) this.column.splice( 2, 0, { prop: "qlbl", label: "份数" }) } }, immediate: true } }, methods: { /** * @description: updateDetail * @param {*} value * @author: renchao */ updateDetail (value) { this.tableDataList[this.dataIndex] = value this.key++ this.$emit('upDateQlrxxList', this.tableDataList) }, // 添加 /** * @description: 添加 * @author: renchao */ handleAdd () { this.dialog = true }, // 减 /** * @description: 减 * @param {*} index * @param {*} row * @author: renchao */ handleMinus (index, row) { this.tableData.splice(index, 1) }, // 身份证读取 /** * @description: 身份证读取 * @author: renchao */ readClick () { }, // 修改 /** * @description: 修改 * @param {*} index * @param {*} row * @author: renchao */ handleEdit (index, row) { console.log(row, 'rowrowrowrowrow'); this.dataIndex = index this.dialog = true this.details = row }, /** * @description: handleView * @author: renchao */ handleView () { this.dialog = true } } } </script> <style scoped lang="scss"> /deep/.el-table th { height: 30px !important; } /deep/.el-table--small .el-table__cell { padding: 5px; } </style>