企业查询、采集任务修改
This commit is contained in:
parent
92c242ab21
commit
4c75ae51b5
|
@ -6,6 +6,43 @@
|
|||
<el-button type="primary" @click="dialogFormVisible = !dialogFormVisible">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog title="采集脚本" v-model="dialogScriptVisible" width="40%">
|
||||
<pre class="script-container"><code>{{ pythonCode }}</code></pre>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="dialogScriptVisible = !dialogScriptVisible;">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog title="数据源设置" v-model="outerVisible" width="50%">
|
||||
<el-dialog width="30%" title="新建数据源" v-model="innerVisible" append-to-body>
|
||||
<el-form ref="form" :model="sourceForm">
|
||||
<el-form-item label="名称">
|
||||
<el-input v-model="sourceForm.name"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="链接">
|
||||
<el-input v-model="sourceForm.link"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div class="block">
|
||||
<el-button @click="innerVisible = !innerVisible">取 消</el-button>
|
||||
<el-button type="primary" @click="createSource">新建</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-table :data="sourceData" border stripe style="width: 100%">
|
||||
<el-table-column prop="label" label="数据源名称">
|
||||
</el-table-column>
|
||||
<el-table-column prop="link" label="数据源链接">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="block">
|
||||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||
:current-page.sync="currentPage" :page-size="pageSize" layout="total, prev, pager, next" :total="total">
|
||||
</el-pagination>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer-source">
|
||||
<el-button @click="outerVisible = false">取 消</el-button>
|
||||
<el-button type="primary" @click="innerVisible = true">新建</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-form ref="form" :model="form">
|
||||
<el-card class="box-card">
|
||||
<template v-slot:header>
|
||||
|
@ -40,7 +77,7 @@
|
|||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="采集脚本">
|
||||
<!-- <el-button type="success">预览</el-button> -->
|
||||
<el-button type="success" @click="showScript">预览</el-button>
|
||||
<el-upload class="upload-demo" ref="upload" :show-file-list="false" action="/wide_data/spider/upload_script"
|
||||
:on-success="handleSpiderUploadSuccess" :auto-upload="true">
|
||||
<el-button type="primary">上传</el-button>
|
||||
|
@ -76,12 +113,12 @@
|
|||
<el-col :span="4">
|
||||
<el-form-item label="数据来源">
|
||||
<el-select v-model="form.data_source" placeholder="请选择数据来源" :disabled="showDisable">
|
||||
<el-option v-for="item in dataSource" :key="item.value" :label="item.label" :value="item.label" />
|
||||
<el-option v-for="item in sourceData" :key="item.value" :label="item.label" :value="item.label" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-if="!task_numbering" :span="4">
|
||||
<span class="clolr">设置</span>
|
||||
<span class="clolr" @click="handleSource">设置</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
|
@ -123,8 +160,8 @@
|
|||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="每次间隔">
|
||||
<el-input-number v-model="form.time_interval" controls-position="right" :min="0"
|
||||
:max="24" :disabled="showDisable"></el-input-number>
|
||||
<el-input-number v-model="form.time_interval" controls-position="right" :min="0" :max="24"
|
||||
:disabled="showDisable"></el-input-number>
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -151,7 +188,15 @@ import axios from "axios";
|
|||
export default {
|
||||
data() {
|
||||
return {
|
||||
pythonCode: '',
|
||||
dialogScriptVisible: false,
|
||||
sourceForm: {
|
||||
name: "",
|
||||
link: ""
|
||||
},
|
||||
parameter: {},
|
||||
outerVisible: false,
|
||||
innerVisible: false,
|
||||
dialogFormVisible: false,
|
||||
showDisable: true,
|
||||
showtoggle: true,
|
||||
|
@ -178,7 +223,17 @@ export default {
|
|||
data_storage: "",
|
||||
begin_time: "",
|
||||
time_interval: 0
|
||||
}
|
||||
},
|
||||
source_form: {
|
||||
name: "",
|
||||
page: 1,
|
||||
page_size: 5
|
||||
},
|
||||
pageSize: 5,
|
||||
currentPage: 1,
|
||||
total: 0,
|
||||
sourceData: [],
|
||||
sourceList: []
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
|
@ -189,6 +244,8 @@ export default {
|
|||
}
|
||||
this.fetchTaskDetails();
|
||||
this.getDataStroage();
|
||||
this.sourceSet()
|
||||
this.sourceListSet()
|
||||
},
|
||||
computed: {
|
||||
parameterJson() {
|
||||
|
@ -196,6 +253,13 @@ export default {
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
formatDateTime(dateTimeString) {
|
||||
const dateObj = new Date(dateTimeString);
|
||||
const year = dateObj.getFullYear();
|
||||
const month = String(dateObj.getMonth() + 1).padStart(2, '0'); // add 1 because months are 0-indexed
|
||||
const day = String(dateObj.getDate()).padStart(2, '0');
|
||||
return `${year}-${month}-${day}`;
|
||||
},
|
||||
async previewParam() {
|
||||
try {
|
||||
const response = await axios.get(`/wide_data/spider/get_script_parameter?file_id=${this.form.script_parameter}`);
|
||||
|
@ -389,6 +453,67 @@ export default {
|
|||
},
|
||||
toggleDisable() {
|
||||
this.showtoggle = !this.showtoggle;
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
// 处理每页显示的条目数变化
|
||||
this.currentPage = val;
|
||||
this.outerVisible = !this.outerVisible;
|
||||
this.sourceSet(); // 每次更改页大小时重新获取数据
|
||||
},
|
||||
async handleCurrentChange(val) {
|
||||
this.currentPage = val;
|
||||
this.outerVisible = !this.outerVisible;
|
||||
await this.sourceSet();
|
||||
},
|
||||
async handleSource() {
|
||||
this.outerVisible = !this.outerVisible;
|
||||
this.source_form.page = this.currentPage;
|
||||
this.source_form.page_size = 5;
|
||||
await this.sourceSet();
|
||||
},
|
||||
async createSource() {
|
||||
this.innerVisible = !this.innerVisible;
|
||||
try {
|
||||
const response = await axios.post("/wide_data/spider/create_data_sources", this.sourceForm);
|
||||
if (response.data.message == "新建成功") {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '新建成功!'
|
||||
});
|
||||
this.outerVisible = !this.outerVisible;
|
||||
this.sourceListSet()
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error fetching data:", error);
|
||||
}
|
||||
|
||||
},
|
||||
async sourceListSet() {
|
||||
this.source_form.page = 1;
|
||||
this.source_form.page_size = 100;
|
||||
await this.sourceSet()
|
||||
},
|
||||
async sourceSet() {
|
||||
try {
|
||||
const response = await axios.post("/wide_data/spider/search_data_sources", this.source_form);
|
||||
if (response.data.message == "查询成功") {
|
||||
const result = response.data.result.result;
|
||||
this.sourceData = result;
|
||||
this.total = response.data.result.total;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error fetching data:", error);
|
||||
}
|
||||
},
|
||||
async showScript() {
|
||||
this.dialogScriptVisible = !this.dialogScriptVisible;
|
||||
try {
|
||||
const response = await axios.get(`/wide_data/spider/get_script?file_id=${this.form.spider_script}`);
|
||||
this.pythonCode = response.data;
|
||||
} catch (error) {
|
||||
console.error("Failed to fetch Python code:", error);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -436,6 +561,11 @@ export default {
|
|||
text-align: right;
|
||||
}
|
||||
|
||||
.dialog-footer-source {
|
||||
text-align: right;
|
||||
padding-top: 5px;
|
||||
}
|
||||
|
||||
::v-deep .el-card__header {
|
||||
padding: 12px 10px;
|
||||
background: #2a82e4;
|
||||
|
@ -456,5 +586,17 @@ export default {
|
|||
color: #2a82e4;
|
||||
line-height: 52px;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.block {
|
||||
padding: 15px 0px 5px 0px;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.script-container {
|
||||
max-height: 300px; /* 或者其他你想设置的高度 */
|
||||
overflow: auto;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div class="container">
|
||||
<el-dialog title="收货地址" v-model="dialogFormVisible" width="18%">
|
||||
<el-dialog title="存储地址" v-model="dialogFormVisible" width="18%">
|
||||
<el-form :model="stroageData">
|
||||
<el-form-item label="编号">
|
||||
<el-input v-model="stroageData.storage_numbering" :disabled="true"></el-input>
|
||||
|
|
|
@ -71,7 +71,7 @@ export default {
|
|||
industry_list: [],
|
||||
area_list: area_data,
|
||||
time_list: [
|
||||
"一年内",
|
||||
"1年内",
|
||||
"1-5年",
|
||||
"5-10年",
|
||||
"10-15年",
|
||||
|
|
Loading…
Reference in New Issue