2023-07-06 14:05:43 +08:00
|
|
|
|
<template>
|
2023-08-25 18:38:35 +08:00
|
|
|
|
<div>
|
|
|
|
|
<custom-modal v-model="visible" :width="1200" title="Load Data From File">
|
2023-09-07 14:48:09 +08:00
|
|
|
|
<a-table
|
|
|
|
|
:data-source="list"
|
|
|
|
|
:columns="columns"
|
|
|
|
|
:loading="loading_list"
|
|
|
|
|
:pagination="false"
|
|
|
|
|
bordered
|
|
|
|
|
>
|
|
|
|
|
<template slot="sampleData" slot-scope="text, record">
|
|
|
|
|
<div class="file-name file-ellipsis" :title="text" @dblclick="handleFileSelect('_S_',record)">
|
2023-09-06 16:40:15 +08:00
|
|
|
|
{{ text }}
|
|
|
|
|
</div>
|
|
|
|
|
<!-- <phd-select type="file" @change="handleFileChange(record, 'sampleData', $event)" @select="handleFileSelect" :title="text && text.name">
|
|
|
|
|
{{ text }}
|
|
|
|
|
</phd-select> -->
|
2023-08-25 18:38:35 +08:00
|
|
|
|
</template>
|
2023-09-07 14:48:09 +08:00
|
|
|
|
<template slot="gasBkData" slot-scope="text, record">
|
2023-09-08 14:48:57 +08:00
|
|
|
|
<div :class="['file-ellipsis',!record.gasFileStatus?'file-name-color':'']" :title="text" @dblclick="handleFileSelect('_G_',record)">
|
2023-09-06 16:40:15 +08:00
|
|
|
|
{{ text }}
|
|
|
|
|
</div>
|
2023-08-25 18:38:35 +08:00
|
|
|
|
</template>
|
2023-09-07 14:48:09 +08:00
|
|
|
|
<template slot="detBkData" slot-scope="text, record">
|
2023-09-08 14:48:57 +08:00
|
|
|
|
<div :class="['file-ellipsis',!record.detFileStatus?'file-name-color':'']" :title="text" @dblclick="handleFileSelect('_D_',record)">
|
2023-09-06 16:40:15 +08:00
|
|
|
|
{{ text }}
|
|
|
|
|
</div>
|
2023-08-25 18:38:35 +08:00
|
|
|
|
</template>
|
2023-09-07 14:48:09 +08:00
|
|
|
|
<template slot="qcData" slot-scope="text, record">
|
2023-09-08 14:48:57 +08:00
|
|
|
|
<div :class="['file-ellipsis',!record.qcFileStatus?'file-name-color':'']" :title="text" @dblclick="handleFileSelect('_Q_',record)">
|
2023-09-06 16:40:15 +08:00
|
|
|
|
{{ text }}
|
|
|
|
|
</div>
|
2023-08-25 18:38:35 +08:00
|
|
|
|
</template>
|
2023-09-06 16:40:15 +08:00
|
|
|
|
<template slot="status" slot-scope="text,record">
|
2023-09-08 16:23:18 +08:00
|
|
|
|
<span :class="[record.detFileStatus&&record.gasFileStatus&&record.qcFileStatus || record.sampleFileName&&!record.gasFileName&&!record.detFileName&&!record.qcFileName?'status_true':'status_false','status']"></span>
|
2023-08-25 18:38:35 +08:00
|
|
|
|
</template>
|
|
|
|
|
</a-table>
|
|
|
|
|
|
|
|
|
|
<!-- 底部按钮 -->
|
|
|
|
|
<template slot="custom-footer">
|
|
|
|
|
<a-space>
|
2023-09-05 17:17:37 +08:00
|
|
|
|
<a-upload accept=".PHD,.phd" :custom-request="handleUpload" :multiple="true" :show-upload-list="false" :before-upload="beforeUpload" >
|
2023-08-28 15:11:50 +08:00
|
|
|
|
<a-button type="primary" :loading="uploading">
|
|
|
|
|
Upload
|
|
|
|
|
</a-button>
|
|
|
|
|
</a-upload>
|
2023-08-25 18:38:35 +08:00
|
|
|
|
<a-button type="primary" @click="handleReset">Reset</a-button>
|
|
|
|
|
<a-button type="primary" @click="handleLoad">Load</a-button>
|
|
|
|
|
<a-button type="primary" @click="handleCancel">Cancel</a-button>
|
|
|
|
|
</a-space>
|
2023-07-06 14:05:43 +08:00
|
|
|
|
</template>
|
2023-08-25 18:38:35 +08:00
|
|
|
|
<!-- 底部按钮结束 -->
|
|
|
|
|
</custom-modal>
|
2023-08-28 20:36:36 +08:00
|
|
|
|
<a-modal v-model="visible_file" :width="1200" title="File List" @cancel="cancelFileModale">
|
2023-09-07 15:13:51 +08:00
|
|
|
|
<a-spin :spinning="loading_file">
|
|
|
|
|
<div style="position: relative;padding-bottom: 40px;height: 460px;overflow: hidden;">
|
2023-09-08 10:40:00 +08:00
|
|
|
|
<a-row type="flex" style="margin-bottom: 15px;">
|
|
|
|
|
<a-col flex="400px">
|
|
|
|
|
<a-input placeholder="search..." v-model="searchName" />
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col flex="108px">
|
|
|
|
|
<a-button class="search-btn" type="primary" @click="onSearchFileName">
|
|
|
|
|
<img src="@/assets/images/global/search.png" alt="" />
|
|
|
|
|
Search
|
|
|
|
|
</a-button>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
2023-09-07 15:13:51 +08:00
|
|
|
|
<a-table
|
|
|
|
|
v-if="tableType=='multiple'"
|
|
|
|
|
:data-source="list_file"
|
|
|
|
|
:columns="columns_file"
|
|
|
|
|
:pagination="false"
|
2023-09-07 19:28:42 +08:00
|
|
|
|
:customRow="customRow"
|
2023-09-07 15:13:51 +08:00
|
|
|
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
2023-09-08 16:29:53 +08:00
|
|
|
|
:scroll="{ y: 330 }"
|
2023-09-07 15:13:51 +08:00
|
|
|
|
>
|
|
|
|
|
</a-table>
|
|
|
|
|
<custom-table
|
|
|
|
|
v-if="tableType=='single'"
|
|
|
|
|
rowKey="id"
|
|
|
|
|
size="middle"
|
|
|
|
|
:columns="columns_file"
|
|
|
|
|
:list="list_file"
|
|
|
|
|
:pagination="false"
|
|
|
|
|
:selectedRowKeys.sync="selectedRowKeys_edit"
|
|
|
|
|
:selectionRows.sync="selectionRows_edit"
|
|
|
|
|
>
|
|
|
|
|
</custom-table>
|
|
|
|
|
<a-pagination
|
|
|
|
|
size="small"
|
|
|
|
|
v-model="ipagination.current"
|
|
|
|
|
:pageSize="ipagination.pageSize"
|
|
|
|
|
:page-size-options="ipagination.pageSizeOptions"
|
|
|
|
|
show-size-changer
|
|
|
|
|
show-quick-jumper
|
|
|
|
|
:total="ipagination.total"
|
|
|
|
|
:show-total="(total, range) => `Total ${total} items Page ${ipagination.current} / ${Math.ceil(total / ipagination.pageSize)}`"
|
|
|
|
|
show-less-items
|
|
|
|
|
@change="handlePageChange"
|
|
|
|
|
@showSizeChange="handleSizeChange"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
</a-spin>
|
2023-08-28 20:36:36 +08:00
|
|
|
|
<template slot="footer">
|
|
|
|
|
<a-space class="operators" :size="20">
|
2023-09-06 16:40:15 +08:00
|
|
|
|
<a-button type="success" @click="saveFileName">Save</a-button>
|
2023-08-28 20:36:36 +08:00
|
|
|
|
<a-button type="warn" @click="cancelFileModale">Cancel</a-button>
|
|
|
|
|
</a-space>
|
|
|
|
|
</template>
|
|
|
|
|
</a-modal>
|
2023-08-25 18:38:35 +08:00
|
|
|
|
</div>
|
2023-07-06 14:05:43 +08:00
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
2023-08-25 18:38:35 +08:00
|
|
|
|
import JSZip from 'jszip'
|
2023-08-30 13:46:45 +08:00
|
|
|
|
import FileSaver from 'file-saver'
|
2023-07-06 14:05:43 +08:00
|
|
|
|
import PhdSelect from '../PHDSelect.vue'
|
2023-08-25 18:38:35 +08:00
|
|
|
|
import { getAction,postAction } from '../../../../api/manage'
|
2023-07-06 14:05:43 +08:00
|
|
|
|
const columns = [
|
|
|
|
|
{
|
|
|
|
|
title: 'SampleData',
|
2023-09-06 16:40:15 +08:00
|
|
|
|
dataIndex: 'sampleFileName',
|
2023-07-06 14:05:43 +08:00
|
|
|
|
width: '23%',
|
|
|
|
|
ellipsis: true,
|
|
|
|
|
scopedSlots: {
|
|
|
|
|
customRender: 'sampleData'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: 'GasBkData',
|
2023-09-06 16:40:15 +08:00
|
|
|
|
dataIndex: 'gasFileName',
|
2023-07-06 14:05:43 +08:00
|
|
|
|
width: '23%',
|
|
|
|
|
ellipsis: true,
|
|
|
|
|
scopedSlots: {
|
|
|
|
|
customRender: 'gasBkData'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: 'DetBkData',
|
2023-09-06 16:40:15 +08:00
|
|
|
|
dataIndex: 'detFileName',
|
2023-07-06 14:05:43 +08:00
|
|
|
|
width: '23%',
|
|
|
|
|
ellipsis: true,
|
|
|
|
|
scopedSlots: {
|
|
|
|
|
customRender: 'detBkData'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: 'QCData',
|
2023-09-06 16:40:15 +08:00
|
|
|
|
dataIndex: 'qcFileName',
|
2023-07-06 14:05:43 +08:00
|
|
|
|
width: '23%',
|
|
|
|
|
ellipsis: true,
|
|
|
|
|
scopedSlots: {
|
|
|
|
|
customRender: 'qcData'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: 'Status',
|
|
|
|
|
align: 'center',
|
|
|
|
|
scopedSlots: {
|
|
|
|
|
customRender: 'status'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
]
|
2023-08-25 18:38:35 +08:00
|
|
|
|
const columns_file = [
|
|
|
|
|
{
|
|
|
|
|
title: 'Name',
|
|
|
|
|
dataIndex: 'name',
|
2023-08-28 15:11:50 +08:00
|
|
|
|
width: '45%',
|
2023-08-25 18:38:35 +08:00
|
|
|
|
align: 'left',
|
|
|
|
|
ellipsis: true
|
|
|
|
|
},{
|
|
|
|
|
title: 'UpdateDate',
|
|
|
|
|
dataIndex: 'updateDate',
|
|
|
|
|
align: 'left',
|
|
|
|
|
},{
|
|
|
|
|
title: 'Size',
|
|
|
|
|
dataIndex: 'size',
|
|
|
|
|
align: 'left'
|
|
|
|
|
},
|
|
|
|
|
]
|
2023-07-06 14:05:43 +08:00
|
|
|
|
export default {
|
|
|
|
|
components: { PhdSelect },
|
|
|
|
|
props: {
|
|
|
|
|
value: {
|
|
|
|
|
type: Boolean
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
this.columns = columns
|
|
|
|
|
return {
|
2023-08-25 18:38:35 +08:00
|
|
|
|
visible_file: false,
|
|
|
|
|
list_file: [],
|
|
|
|
|
columns_file,
|
|
|
|
|
loading_file: false,
|
2023-09-06 16:40:15 +08:00
|
|
|
|
loading_list: false,
|
2023-08-25 18:38:35 +08:00
|
|
|
|
list: this.getInitialList(),
|
|
|
|
|
ipagination:{
|
|
|
|
|
current: 1,
|
|
|
|
|
pageSize: 10,
|
|
|
|
|
pageSizeOptions: ['10', '20', '30'],
|
|
|
|
|
showTotal: (total, range) => {
|
|
|
|
|
const { current, pageSize } = this.ipagination
|
|
|
|
|
return `Total ${total} items Page ${current} / ${Math.ceil(total / pageSize)}`
|
|
|
|
|
},
|
|
|
|
|
showQuickJumper: true,
|
|
|
|
|
showSizeChanger: true,
|
|
|
|
|
total: 0
|
|
|
|
|
},
|
|
|
|
|
selectedRowKeys: [],
|
2023-09-06 16:40:15 +08:00
|
|
|
|
selectedFiles: [],
|
2023-08-25 18:38:35 +08:00
|
|
|
|
fileList: [],
|
2023-08-28 15:11:50 +08:00
|
|
|
|
fileNum: 0,
|
2023-09-07 14:48:09 +08:00
|
|
|
|
uploading: false,
|
|
|
|
|
currRowData: {},
|
|
|
|
|
currFileType: "_S_",
|
|
|
|
|
selectedRowKeys_edit: [],
|
|
|
|
|
selectionRows_edit: [],
|
2023-09-08 10:40:00 +08:00
|
|
|
|
tableType: "multiple",
|
|
|
|
|
searchName: ""
|
2023-07-06 14:05:43 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
// 初始化为10*4的表格
|
|
|
|
|
getInitialList() {
|
|
|
|
|
return new Array(10).fill(0).map(() => ({
|
2023-09-06 16:40:15 +08:00
|
|
|
|
sampleFileName: undefined,
|
|
|
|
|
gasFileName: undefined,
|
|
|
|
|
detFileName: undefined,
|
|
|
|
|
qcFileName: undefined
|
2023-07-06 14:05:43 +08:00
|
|
|
|
}))
|
|
|
|
|
},
|
2023-09-07 19:28:42 +08:00
|
|
|
|
customRow(record, index) {
|
|
|
|
|
const that = this;
|
|
|
|
|
return {
|
|
|
|
|
on: {
|
|
|
|
|
click: () => {
|
2023-09-08 14:48:57 +08:00
|
|
|
|
that.selectedRowKeys.push(record.id)
|
|
|
|
|
this.selectedFiles.push(record.name)
|
2023-09-07 19:28:42 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2023-07-06 14:05:43 +08:00
|
|
|
|
|
|
|
|
|
handleFileChange(record, key, fileInfo) {
|
|
|
|
|
record[key] = fileInfo
|
|
|
|
|
},
|
2023-09-07 14:48:09 +08:00
|
|
|
|
handleFileSelect(str, record) {
|
|
|
|
|
this.currRowData = record
|
|
|
|
|
this.currFileType = str
|
|
|
|
|
this.selectedRowKeys = []
|
|
|
|
|
this.selectedFiles = []
|
2023-08-25 18:38:35 +08:00
|
|
|
|
this.visible_file = true
|
2023-09-07 14:48:09 +08:00
|
|
|
|
this.tableType = str==="_S_"?"multiple":"single"
|
2023-08-25 18:38:35 +08:00
|
|
|
|
this.getSpectrumFile({pageNo:1,pageSize:10})
|
|
|
|
|
},
|
2023-09-08 10:40:00 +08:00
|
|
|
|
onSearchFileName() {
|
|
|
|
|
this.getSpectrumFile({pageNo:1,pageSize:10})
|
|
|
|
|
},
|
2023-08-25 18:38:35 +08:00
|
|
|
|
getSpectrumFile(params) {
|
|
|
|
|
this.loading_file = true
|
2023-09-08 10:40:00 +08:00
|
|
|
|
let params_arg = {...params,name:`${this.searchName?this.searchName+',':''}${this.currFileType}`}
|
2023-09-07 15:13:51 +08:00
|
|
|
|
getAction("/spectrumFile/get", params_arg).then(res => {
|
2023-08-25 18:38:35 +08:00
|
|
|
|
this.loading_file = false
|
|
|
|
|
if (res.success) {
|
2023-09-07 14:48:09 +08:00
|
|
|
|
res.result.records.forEach((item,index) => {
|
|
|
|
|
item.id = index
|
|
|
|
|
})
|
2023-08-28 15:11:50 +08:00
|
|
|
|
this.ipagination.total = res.result.total
|
2023-09-07 15:13:51 +08:00
|
|
|
|
this.ipagination.current = res.result.current
|
|
|
|
|
this.ipagination.pageSize = res.result.size
|
2023-08-25 18:38:35 +08:00
|
|
|
|
this.list_file = res.result.records
|
|
|
|
|
} else {
|
|
|
|
|
this.$message.warning("This operation fails. Contact your system administrator")
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handlePageChange(page, pageSize) {
|
|
|
|
|
this.ipagination.current = page
|
|
|
|
|
this.ipagination.pageSize = pageSize
|
|
|
|
|
this.getSpectrumFile({
|
|
|
|
|
pageNo: page,
|
|
|
|
|
pageSize: pageSize
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
handleSizeChange(current, size) {
|
|
|
|
|
this.ipagination.current = current
|
|
|
|
|
this.ipagination.pageSize = size
|
|
|
|
|
this.getSpectrumFile({
|
|
|
|
|
pageNo: current,
|
|
|
|
|
pageSize: size
|
|
|
|
|
})
|
|
|
|
|
},
|
2023-09-06 16:40:15 +08:00
|
|
|
|
onSelectChange(selectedRowKeys, selectedRows) {
|
|
|
|
|
this.selectedRowKeys = selectedRowKeys
|
|
|
|
|
this.selectedFiles = selectedRows.map(item => {
|
|
|
|
|
return item.name
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
saveFileName() {
|
|
|
|
|
this.visible_file = false
|
2023-09-07 14:48:09 +08:00
|
|
|
|
if (this.tableType ==="multiple" ) {
|
|
|
|
|
this.loading_list = true
|
|
|
|
|
let params = {
|
|
|
|
|
fileName: this.selectedFiles.join(",")
|
2023-09-06 16:40:15 +08:00
|
|
|
|
}
|
2023-09-07 14:48:09 +08:00
|
|
|
|
getAction("/spectrumAnalysis/getFilesBySampleFile", params).then(res => {
|
|
|
|
|
this.loading_list = false
|
|
|
|
|
if (res.success) {
|
|
|
|
|
let idx = res.result.length
|
|
|
|
|
this.list.splice(0,idx,...res.result)
|
|
|
|
|
} else {
|
|
|
|
|
this.$message.warning("This operation fails. Contact your system administrator")
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
let currFileName = this.selectionRows_edit[0].name
|
|
|
|
|
if (currFileName.includes(this.currFileType)) {
|
|
|
|
|
this.currRowData.gasFileName = currFileName
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-08-25 18:38:35 +08:00
|
|
|
|
},
|
2023-08-28 20:36:36 +08:00
|
|
|
|
cancelFileModale() {
|
|
|
|
|
this.visible_file = false
|
|
|
|
|
this.list_file=[]
|
|
|
|
|
},
|
2023-08-25 18:38:35 +08:00
|
|
|
|
beforeUpload(file,fileList) {
|
|
|
|
|
this.fileList = fileList
|
|
|
|
|
},
|
2023-08-30 13:46:45 +08:00
|
|
|
|
handleUpload({ file }) {
|
2023-08-28 15:11:50 +08:00
|
|
|
|
this.uploading = true
|
|
|
|
|
this.fileNum += 1
|
|
|
|
|
if (this.fileNum == this.fileList.length) {
|
2023-08-30 13:46:45 +08:00
|
|
|
|
this.zipFile(this.fileList)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
async zipFile(fileList, onProgress) {
|
|
|
|
|
const zip = new JSZip()
|
|
|
|
|
const promises=[]
|
|
|
|
|
fileList.forEach(file => {
|
|
|
|
|
promises.push(this.readAsArrayBuffer(file))
|
|
|
|
|
})
|
|
|
|
|
Promise.all(promises).then(result => {
|
|
|
|
|
result.forEach(res => {
|
|
|
|
|
zip.file(res.fileName, res.data)
|
|
|
|
|
})
|
|
|
|
|
zip.generateAsync({ type: 'blob' }).then(content => {
|
2023-08-28 15:11:50 +08:00
|
|
|
|
let file = new File([content], 'test.zip', { type: content.type })
|
|
|
|
|
const formData = new FormData()
|
|
|
|
|
formData.append("file",file)
|
|
|
|
|
postAction("/spectrumFile/upload", formData).then(res => {
|
|
|
|
|
this.uploading = false
|
|
|
|
|
this.fileNum = 0
|
|
|
|
|
if (res.success) {
|
|
|
|
|
this.$message.success(res.message)
|
|
|
|
|
} else {
|
|
|
|
|
this.$message.warning(res.message)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
2023-08-30 13:46:45 +08:00
|
|
|
|
})
|
2023-08-25 18:38:35 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
async readAsArrayBuffer(file){
|
2023-08-30 13:46:45 +08:00
|
|
|
|
return new Promise((resolve) => {
|
2023-08-25 18:38:35 +08:00
|
|
|
|
let reader = new FileReader()
|
|
|
|
|
reader.readAsArrayBuffer(file)
|
2023-08-30 13:46:45 +08:00
|
|
|
|
reader.onload = (e) => {
|
|
|
|
|
resolve({
|
|
|
|
|
fileName: file.name,
|
|
|
|
|
data: e.target.result
|
|
|
|
|
})
|
2023-08-25 18:38:35 +08:00
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
2023-07-06 14:05:43 +08:00
|
|
|
|
|
|
|
|
|
handleReset() {
|
|
|
|
|
this.list = this.getInitialList()
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
handleLoad() {
|
2023-09-07 14:48:09 +08:00
|
|
|
|
this.visible = false
|
|
|
|
|
this.$emit('loadFormFile', this.list)
|
2023-07-06 14:05:43 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
handleCancel() {
|
|
|
|
|
this.visible = false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
visible: {
|
|
|
|
|
get() {
|
|
|
|
|
return this.value
|
|
|
|
|
},
|
|
|
|
|
set(val) {
|
|
|
|
|
this.$emit('input', val)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="less" scoped>
|
|
|
|
|
.status {
|
|
|
|
|
display: inline-block;
|
|
|
|
|
width: 25px;
|
|
|
|
|
height: 25px;
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
margin-top: 8px;
|
|
|
|
|
|
|
|
|
|
background-color: #00e170;
|
|
|
|
|
}
|
2023-09-06 16:40:15 +08:00
|
|
|
|
.status_true{
|
|
|
|
|
background-color: #00e170;
|
|
|
|
|
}
|
|
|
|
|
.status_false{
|
|
|
|
|
background-color: red;
|
|
|
|
|
}
|
2023-07-06 14:05:43 +08:00
|
|
|
|
::v-deep {
|
|
|
|
|
@tableBorderColor: #000;
|
|
|
|
|
|
|
|
|
|
.ant-table-bordered .ant-table-thead > tr > th,
|
|
|
|
|
.ant-table-bordered .ant-table-tbody > tr > td {
|
|
|
|
|
border-right-color: @tableBorderColor;
|
|
|
|
|
}
|
|
|
|
|
.ant-table-thead > tr th {
|
|
|
|
|
border-bottom: 1px solid @tableBorderColor;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ant-table-bordered .ant-table-body > table {
|
|
|
|
|
border-color: @tableBorderColor;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ant-table-tbody tr td {
|
|
|
|
|
padding-top: 0 !important;
|
|
|
|
|
padding-bottom: 0 !important;
|
|
|
|
|
}
|
2023-08-25 18:38:35 +08:00
|
|
|
|
.ant-pagination{
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom: 0;
|
2023-09-05 17:17:37 +08:00
|
|
|
|
width: 100%;
|
|
|
|
|
text-align: center;
|
2023-08-25 18:38:35 +08:00
|
|
|
|
}
|
|
|
|
|
.ant-select {
|
|
|
|
|
.ant-select-arrow-icon {
|
|
|
|
|
transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
|
|
|
|
|
}
|
|
|
|
|
&-open {
|
|
|
|
|
.ant-select-arrow-icon {
|
|
|
|
|
transform: rotate(180deg);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.ant-modal-title{
|
|
|
|
|
letter-spacing: 1px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.item-label{
|
|
|
|
|
display: inline-block;
|
|
|
|
|
font-size: 16px;
|
|
|
|
|
font-family: ArialMT;
|
|
|
|
|
color: #ade6ee;
|
|
|
|
|
line-height: 32px;
|
|
|
|
|
height: 32px;
|
|
|
|
|
margin-right: 10px;
|
2023-07-06 14:05:43 +08:00
|
|
|
|
}
|
2023-08-28 20:36:36 +08:00
|
|
|
|
.operators {
|
|
|
|
|
width: 100%;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
.ant-btn {
|
|
|
|
|
width: 92px;
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-09-06 16:40:15 +08:00
|
|
|
|
.file-name {
|
|
|
|
|
height: 42px;
|
|
|
|
|
line-height: 42px;
|
2023-09-07 14:48:09 +08:00
|
|
|
|
}
|
2023-09-08 14:48:57 +08:00
|
|
|
|
.file-name-color{
|
|
|
|
|
color: red;
|
|
|
|
|
}
|
2023-09-07 14:48:09 +08:00
|
|
|
|
.file-ellipsis{
|
2023-09-06 16:40:15 +08:00
|
|
|
|
overflow: hidden;
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}
|
2023-09-07 19:28:42 +08:00
|
|
|
|
/deep/.ant-table-tbody .ant-table-row td{
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}
|
2023-09-08 10:40:00 +08:00
|
|
|
|
.ant-input{
|
|
|
|
|
width: 380px;
|
|
|
|
|
}
|
2023-07-06 14:05:43 +08:00
|
|
|
|
</style>
|