diff --git a/public/index.html b/public/index.html index 0daf6ee..7b31c6b 100644 --- a/public/index.html +++ b/public/index.html @@ -4,6 +4,10 @@ + + + + <%= webpackConfig.name %> diff --git a/src/api/system/department.js b/src/api/system/department.js index b9e366f..824bcda 100644 --- a/src/api/system/department.js +++ b/src/api/system/department.js @@ -8,10 +8,11 @@ export function save(data) { }) } -export function listdept() { +export function listdept(isLoading=false) { return request({ url: '/api/admin/department', - method: 'get' + method: 'get', + isLoading }) } diff --git a/src/api/user.js b/src/api/user.js index e12d073..0a06fe7 100644 --- a/src/api/user.js +++ b/src/api/user.js @@ -1,32 +1,36 @@ import request from '@/utils/request' -export function login(data) { +export function login(data,isLoading=false) { return request({ url: '/api/admin/auth/login', method: 'post', - data + data, + isLoading }) } -export function getInfo(token) { +export function getInfo(token,isLoading=false) { return request({ url: '/api/admin/auth/me', method: 'post', - params: { token } + params: { token }, + isLoading }) } -export function logout() { +export function logout(isLoading=false) { return request({ url: '/api/admin/auth/logout', - method: 'post' + method: 'post', + isLoading }) } -export function getAuthMenu(token) { +export function getAuthMenu(token,isLoading=false) { return request({ url: '/api/admin/auth/permissions', method: 'get', - params: { token } + params: { token }, + isLoading }) -} \ No newline at end of file +} diff --git a/src/components/XyTable/index.vue b/src/components/XyTable/index.vue index 35ef376..6a5d384 100644 --- a/src/components/XyTable/index.vue +++ b/src/components/XyTable/index.vue @@ -20,6 +20,8 @@ export default { type: String, default: "data", }, //请求后需要获取表格数据键名 + formatListData: Function,//数据格式处理方法 + btnCondition: Function,//操作按钮条件 //操作权限 auths: { @@ -740,13 +742,15 @@ export default { let dom = []; _this.auths.forEach((item, index) => { if (this.btnToMore && _this.moreAuths.find(j => j === item)) return - if (_this.$scopedSlots[item]) { - flag = index; - dom.push(_this.$scopedSlots[item](scope, item, index)); - } else { - if (btns.get(item)) { + if (!this.btnCondition || (this.btnCondition && typeof this.btnCondition === 'function' && this.btnCondition(scope, item, index))) { + if (_this.$scopedSlots[item]) { flag = index; - dom.push(btns.get(item)); + dom.push(_this.$scopedSlots[item](scope, item, index)); + } else { + if (btns.get(item)) { + flag = index; + dom.push(btns.get(item)); + } } } }) @@ -762,11 +766,19 @@ export default { }, }, computed: { - tableFormat() { + tableFormat () { return this.tableItem.filter((item) => { return this.checkTable.indexOf(item.prop) !== -1; }); }, + tableData () { + if (this.formatListData && typeof this.formatListData === 'function') { + console.log(this.formatListData(this.action ? this.listData : this.list)) + return this.formatListData(this.action ? this.listData : this.list) + } else { + return this.action ? this.listData : this.list + } + } }, watch:{ tableItem(newVal){ @@ -807,7 +819,7 @@ export default { class="v-table" v-loading={this.loading} ref="table" - data={this.action ? this.listData : this.list} + data={this.tableData} height={this.height ?? this.tableHeight} max-height={this.maxHeight} stripe={this.stripe} diff --git a/src/utils/mergeTableRow.js b/src/utils/mergeTableRow.js index 34a99c1..05f7ebd 100644 --- a/src/utils/mergeTableRow.js +++ b/src/utils/mergeTableRow.js @@ -18,7 +18,7 @@ export function mergeTableRow (config) { const rowVal = v[firstMerge] + '-' + v[m] // 需要合并行的第二行以及之后行会走if // m === firstMerge 判断需要合并的列是否是基准列,如果是则只满足前面的条件,如果不是则需满足前面+后面的条件 - if (mList[rowVal] && mList[rowVal].newIndex === index && (m === firstMerge ? true : data[index][firstMerge + '-span'].rowspan === 0)) { + if (mList[rowVal] && mList[rowVal].newIndex === index && (m === firstMerge ? true : data[index][firstMerge + '-span']?.rowspan === 0)) { // 判断受影响的列是否是需要合并的列 const flag = firstMergeColNames.filter((f) => { return f === m @@ -28,7 +28,7 @@ export function mergeTableRow (config) { return mc === firstMerge }).length === 0 // 判断基准列只有一行的时候,直接赋值rowspan和colspan为1 - if ((mcFlag && flag) || (flag && data[index][firstMerge + '-span'] && data[index][firstMerge + '-span'].rowspan === 1)) { + if ((mcFlag && flag) || (flag && data[index][firstMerge + '-span'] && data[index][firstMerge + '-span']?.rowspan === 1)) { v[m + '-span'] = { rowspan: 1, colspan: 1 diff --git a/src/views/bigScreen/component/centerRight1.vue b/src/views/bigScreen/component/centerRight1.vue index fb34f9b..50ad871 100644 --- a/src/views/bigScreen/component/centerRight1.vue +++ b/src/views/bigScreen/component/centerRight1.vue @@ -15,7 +15,7 @@ end_time: '关闭时间' }" @refresh="getTransfer(true)" - @showDetail="d => ($refs['detailTransfer'].setData(d),$refs['detailTransfer'].show())"> + @showDetail="({ item, isShow }) => ($refs['detailTransfer'].readonly = isShow,$refs['detailTransfer'].setData(item),$refs['detailTransfer'].show())">
执行中 @@ -27,7 +27,7 @@ end_time: '关闭时间', }" @refresh="getTransfer(true)" - @showDetail="d => ($refs['detailTransfer'].setData(d),$refs['detailTransfer'].show())"> + @showDetail="({ item, isShow }) => ($refs['detailTransfer'].readonly = isShow,$refs['detailTransfer'].setData(item),$refs['detailTransfer'].show())">
已完成 @@ -40,7 +40,7 @@ act_end_time: '关闭执行时间', }" @refresh="getTransfer(true)" - @showDetail="d => ($refs['detailTransfer'].setData(d),$refs['detailTransfer'].show())"> + @showDetail="({ item, isShow }) => ($refs['detailTransfer'].readonly = isShow,$refs['detailTransfer'].setData(item),$refs['detailTransfer'].show())">
diff --git a/src/views/bigScreen/component/detailTransfer.vue b/src/views/bigScreen/component/detailTransfer.vue index 0df4ecb..c5d6471 100644 --- a/src/views/bigScreen/component/detailTransfer.vue +++ b/src/views/bigScreen/component/detailTransfer.vue @@ -44,7 +44,7 @@ 执行状态