|
|
@@ -1,288 +1,313 @@
|
|
|
<template>
|
|
|
<el-affix :offset="0">
|
|
|
- <div style="height: 44px;width: 100vw;background: #00002a;"></div>
|
|
|
+ <div style="height: 44px; width: 100vw; background: #00002a"></div>
|
|
|
</el-affix>
|
|
|
<el-affix :offset="44">
|
|
|
- <div class="application-overview">
|
|
|
- <!-- 右侧主内容区 -->
|
|
|
- <div class="main-content">
|
|
|
- <div style="display: flex;justify-content: space-between;padding-right: 30px;">
|
|
|
- <!-- 搜索栏 -->
|
|
|
- <div class="search-bar">
|
|
|
- <el-input
|
|
|
- placeholder="输入搜索关键词"
|
|
|
- v-model="searchStr"
|
|
|
- class="search-input"
|
|
|
- >
|
|
|
- </el-input>
|
|
|
- <el-button type="primary" class="search-btn" @click="searchServerList">搜索</el-button>
|
|
|
- <!-- <span>搜索到{{total}}条微功能服务</span> -->
|
|
|
- </div>
|
|
|
+ <div class="application-overview">
|
|
|
+ <!-- 右侧主内容区 -->
|
|
|
+ <div class="main-content">
|
|
|
+ <div style="display: flex; justify-content: space-between; padding-right: 30px">
|
|
|
+ <!-- 搜索栏 -->
|
|
|
+ <div class="search-bar">
|
|
|
+ <el-input
|
|
|
+ placeholder="输入搜索关键词"
|
|
|
+ v-model="searchStr"
|
|
|
+ class="search-input"
|
|
|
+ >
|
|
|
+ </el-input>
|
|
|
+ <el-button type="primary" class="search-btn" @click="searchServerList"
|
|
|
+ >搜索</el-button
|
|
|
+ >
|
|
|
+ <!-- <span>搜索到{{total}}条微功能服务</span> -->
|
|
|
+ </div>
|
|
|
|
|
|
- <div>
|
|
|
- <el-button type="primary" class="search-btn" @click="createTask">大批量数据处理任务</el-button>
|
|
|
- <!-- <el-button type="primary" round plain size="large" @click="createTask"
|
|
|
- >大批量数据处理任务<el-icon><Position /></el-icon
|
|
|
- ></el-button> -->
|
|
|
- </div>
|
|
|
-
|
|
|
+ <div>
|
|
|
+ <el-button
|
|
|
+ v-if="$getUserType() != 1"
|
|
|
+ type="primary"
|
|
|
+ class="search-btn"
|
|
|
+ @click="createTask"
|
|
|
+ >大批量数据处理任务</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
</div>
|
|
|
-
|
|
|
- <!-- 应用卡片网格 -->
|
|
|
- <div class="wgn-content">
|
|
|
- <div class="applications-grid">
|
|
|
- <div class="application-card" v-for="(item, index) in dmsServerList" :key="index">
|
|
|
-
|
|
|
- <div class="card-image">
|
|
|
- <img :src="curUrl + item.c_picture" :alt="item.title" />
|
|
|
- </div>
|
|
|
- <div class="card-content">
|
|
|
- <div class="wgn-header">
|
|
|
- <h3 class="wgn-name">{{ item.title }}</h3>
|
|
|
- <!-- <span class="wgn-version">{{ item.version }}</span> -->
|
|
|
+
|
|
|
+ <!-- 应用卡片网格 -->
|
|
|
+ <div class="wgn-content">
|
|
|
+ <div class="applications-grid">
|
|
|
+ <div
|
|
|
+ class="application-card"
|
|
|
+ v-for="(item, index) in dmsServerList"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
+ <div class="card-image">
|
|
|
+ <img :src="curUrl + item.c_picture" :alt="item.title" />
|
|
|
</div>
|
|
|
- <!-- <div class="wgn-tags">
|
|
|
+ <div class="card-content">
|
|
|
+ <div class="wgn-header">
|
|
|
+ <h3 class="wgn-name">{{ item.title }}</h3>
|
|
|
+ <!-- <span class="wgn-version">{{ item.version }}</span> -->
|
|
|
+ </div>
|
|
|
+ <!-- <div class="wgn-tags">
|
|
|
<el-tag size="small" type="success">{{ item.buffName }}</el-tag>
|
|
|
<el-tag size="small" v-for="tag in item.tags" :key="tag">{{ tag }}</el-tag>
|
|
|
</div> -->
|
|
|
- <el-tooltip placement="top" effect="dark">
|
|
|
- <template #content>
|
|
|
- <div style="max-width: 500px;">{{ item.content }}</div>
|
|
|
- </template>
|
|
|
- <p class="wgn-description">{{ item.content }}</p>
|
|
|
- </el-tooltip>
|
|
|
- <div class="wgn-footer">
|
|
|
- <!-- <span class="wgn-date">{{ item.createTime }}</span> -->
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- size="small"
|
|
|
- class="visit-button"
|
|
|
- @click="handleOnlineDemo(item)"
|
|
|
- >在线体验</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- size="small"
|
|
|
- class="visit-button"
|
|
|
- @click="handleApply(item)"
|
|
|
- >申请使用</el-button
|
|
|
- >
|
|
|
+ <el-tooltip placement="top" effect="dark">
|
|
|
+ <template #content>
|
|
|
+ <div style="max-width: 500px">{{ item.content }}</div>
|
|
|
+ </template>
|
|
|
+ <p class="wgn-description">{{ item.content }}</p>
|
|
|
+ </el-tooltip>
|
|
|
+ <div class="wgn-footer">
|
|
|
+ <!-- <span class="wgn-date">{{ item.createTime }}</span> -->
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="small"
|
|
|
+ class="visit-button"
|
|
|
+ @click="handleOnlineDemo(item)"
|
|
|
+ >在线体验</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="small"
|
|
|
+ class="visit-button"
|
|
|
+ @click="handleApply(item)"
|
|
|
+ >申请使用</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
|
-
|
|
|
- <!-- 申请使用微功能服务的表单弹窗 -->
|
|
|
- <el-dialog
|
|
|
- title="申请使用微功能服务"
|
|
|
- v-model="showFrom"
|
|
|
- width="60%"
|
|
|
- :close-on-click-modal="false"
|
|
|
- :close-on-press-escape="false"
|
|
|
- :show-close="true"
|
|
|
- >
|
|
|
- <el-form :model="column.from" :rules="rules" ref="formRef" label-width="120px">
|
|
|
- <el-form-item label="应用名称" prop="c_application_name">
|
|
|
- <el-input
|
|
|
- v-model="column.from.c_application_name"
|
|
|
- placeholder="请输入应用名称"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="接口路径" prop="c_interface_path">
|
|
|
- <el-input
|
|
|
- v-model="column.from.c_interface_path"
|
|
|
- disabled
|
|
|
- placeholder="请输入接口路径"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="联系电话" prop="c_phone">
|
|
|
- <el-input v-model="column.from.c_phone" placeholder="请输入联系电话" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="单位名称" prop="c_unit_name">
|
|
|
- <el-input v-model="column.from.c_unit_name" placeholder="请输入单位名称" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="部门名称" prop="c_department">
|
|
|
- <el-input v-model="column.from.c_department" placeholder="请输入部门名称" />
|
|
|
- </el-form-item>
|
|
|
- <!-- 项目负责人 -->
|
|
|
- <el-form-item label="项目负责人" prop="c_business_leader">
|
|
|
- <el-input
|
|
|
- v-model="column.from.c_business_leader"
|
|
|
- placeholder="请输入项目负责人"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <!-- 申请使用微功能服务的详细信息 -->
|
|
|
- <el-form-item label="申请使用微功能服务的详细信息" prop="content">
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- v-model="column.from.content"
|
|
|
- placeholder="请输入申请使用微功能服务的详细信息"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <template #footer>
|
|
|
- <div class="dialog-footer">
|
|
|
- <el-button @click="showFrom = false">取消</el-button>
|
|
|
- <el-button type="primary" @click="handleApplySubmit">确定</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
- <!-- 创建任务的表单弹窗 -->
|
|
|
- <el-dialog
|
|
|
- title="创建任务"
|
|
|
- v-model="showTaskFrom"
|
|
|
- width="60%"
|
|
|
- :close-on-click-modal="false"
|
|
|
- :close-on-press-escape="false"
|
|
|
- :show-close="true"
|
|
|
- >
|
|
|
- <el-form
|
|
|
- :model="taskColumn.from"
|
|
|
- :rules="taskColumn.rules"
|
|
|
- ref="taskFormRef"
|
|
|
- label-width="120px"
|
|
|
+ <!-- 申请使用微功能服务的表单弹窗 -->
|
|
|
+ <el-dialog
|
|
|
+ title="申请使用微功能服务"
|
|
|
+ v-model="showFrom"
|
|
|
+ width="60%"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :close-on-press-escape="false"
|
|
|
+ :show-close="true"
|
|
|
>
|
|
|
- <el-form-item label="任务名称" prop="c_name">
|
|
|
- <el-input
|
|
|
- v-model="taskColumn.from.c_name"
|
|
|
- placeholder="请输入任务名称"
|
|
|
- clearable
|
|
|
- >
|
|
|
- <template #prepend>{{
|
|
|
- $moment(new Date()).format("YYMMDD_HHmm") +
|
|
|
- "_" +
|
|
|
- (taskColumn.from.c_type
|
|
|
- ? $getDmsTypes("yzt_task_type", taskColumn.from.c_type) + "_"
|
|
|
- : "")
|
|
|
- }}</template>
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="任务备注" prop="c_comment">
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- clearable
|
|
|
- v-model="taskColumn.from.c_comment"
|
|
|
- placeholder="请输入任务备注"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <!-- 下拉框选择任务类型 -->
|
|
|
- <el-form-item label="任务类型" prop="c_type">
|
|
|
- <el-select
|
|
|
- v-model="taskColumn.from.c_type"
|
|
|
- @change="changeTaskType"
|
|
|
- placeholder="请选择任务类型"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="(name, index) in $store.state.DmsTypesMap['yzt_task_type']"
|
|
|
- :key="index"
|
|
|
- :label="name"
|
|
|
- :value="index"
|
|
|
+ <el-form :model="column.from" :rules="rules" ref="formRef" label-width="120px">
|
|
|
+ <el-form-item label="应用名称" prop="c_application_name">
|
|
|
+ <el-input
|
|
|
+ v-model="column.from.c_application_name"
|
|
|
+ placeholder="请输入应用名称"
|
|
|
/>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <!-- 渲染任务描述:仅查看 -->
|
|
|
- <el-form-item
|
|
|
- label="任务描述"
|
|
|
- prop="apiDescription"
|
|
|
- v-if="taskColumn.apiFrom.apiDescription"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- disabled
|
|
|
- v-model="taskColumn.apiFrom.apiDescription"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <!-- 任务文件是必须的 -->
|
|
|
- <el-form-item label="任务文件" prop="c_source_file">
|
|
|
- <el-input disabled v-model="taskColumn.from.c_source_file" v-show="false" />
|
|
|
- <el-upload class="avatar-uploader" :http-request="handleTCUpload" :limit="1">
|
|
|
- <el-button size="small" type="primary">点击上传</el-button>
|
|
|
- </el-upload>
|
|
|
- </el-form-item>
|
|
|
- <el-divider />
|
|
|
- <!-- 其他参数数据 -->
|
|
|
- <el-form-item label="其他参数数据" prop="c_source_data" v-show="false">
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- clearable
|
|
|
- v-model="taskColumn.from.c_source_data"
|
|
|
- placeholder="请输入其他参数数据"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <div
|
|
|
- v-if="
|
|
|
- taskColumn.apiFrom.apiParameterRules &&
|
|
|
- includesKey(['lonKey', 'latKey', 'outFileType', 'inPrj', 'outPrj'])
|
|
|
- "
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="接口路径" prop="c_interface_path">
|
|
|
+ <el-input
|
|
|
+ v-model="column.from.c_interface_path"
|
|
|
+ disabled
|
|
|
+ placeholder="请输入接口路径"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="联系电话" prop="c_phone">
|
|
|
+ <el-input v-model="column.from.c_phone" placeholder="请输入联系电话" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="单位名称" prop="c_unit_name">
|
|
|
+ <el-input v-model="column.from.c_unit_name" placeholder="请输入单位名称" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="部门名称" prop="c_department">
|
|
|
+ <el-input v-model="column.from.c_department" placeholder="请输入部门名称" />
|
|
|
+ </el-form-item>
|
|
|
+ <!-- 项目负责人 -->
|
|
|
+ <el-form-item label="项目负责人" prop="c_business_leader">
|
|
|
+ <el-input
|
|
|
+ v-model="column.from.c_business_leader"
|
|
|
+ placeholder="请输入项目负责人"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <!-- 申请使用微功能服务的详细信息 -->
|
|
|
+ <el-form-item label="申请使用微功能服务的详细信息" prop="content">
|
|
|
+ <el-input
|
|
|
+ type="textarea"
|
|
|
+ v-model="column.from.content"
|
|
|
+ placeholder="请输入申请使用微功能服务的详细信息"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <template #footer>
|
|
|
+ <div class="dialog-footer">
|
|
|
+ <el-button @click="showFrom = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="handleApplySubmit">确定</el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+ <!-- 创建任务的表单弹窗 -->
|
|
|
+ <el-dialog
|
|
|
+ title="创建任务"
|
|
|
+ v-model="showTaskFrom"
|
|
|
+ width="60%"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :close-on-press-escape="false"
|
|
|
+ :show-close="true"
|
|
|
+ >
|
|
|
+ <el-form
|
|
|
+ :model="taskColumn.from"
|
|
|
+ :rules="taskColumn.rules"
|
|
|
+ ref="taskFormRef"
|
|
|
+ label-width="120px"
|
|
|
>
|
|
|
- <template
|
|
|
- v-for="(rulesItem, index) in taskColumn.apiFrom.apiParameterRules"
|
|
|
- :key="index"
|
|
|
- >
|
|
|
- <el-form-item
|
|
|
- v-if="
|
|
|
- ['lonKey', 'latKey', 'outFileType', 'inPrj', 'outPrj'].includes(
|
|
|
- rulesItem
|
|
|
- )
|
|
|
- "
|
|
|
- :label="rulesItem"
|
|
|
+ <el-form-item label="任务名称" prop="c_name">
|
|
|
+ <el-input
|
|
|
+ v-model="taskColumn.from.c_name"
|
|
|
+ placeholder="请输入任务名称"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ <template #prepend>{{
|
|
|
+ $moment(new Date()).format("YYMMDD_HHmm") +
|
|
|
+ "_" +
|
|
|
+ (taskColumn.from.c_type
|
|
|
+ ? $getDmsTypes("yzt_task_type", taskColumn.from.c_type) + "_"
|
|
|
+ : "")
|
|
|
+ }}</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="任务备注" prop="c_comment">
|
|
|
+ <el-input
|
|
|
+ type="textarea"
|
|
|
+ clearable
|
|
|
+ v-model="taskColumn.from.c_comment"
|
|
|
+ placeholder="请输入任务备注"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <!-- 下拉框选择任务类型 -->
|
|
|
+ <el-form-item label="任务类型" prop="c_type">
|
|
|
+ <el-select
|
|
|
+ v-model="taskColumn.from.c_type"
|
|
|
+ @change="changeTaskType"
|
|
|
+ placeholder="请选择任务类型"
|
|
|
>
|
|
|
- <el-input
|
|
|
- v-if="['lonKey', 'latKey'].includes(rulesItem)"
|
|
|
- v-model="taskColumn.from.c_source_data[rulesItem]"
|
|
|
- placeholder="当文件为xlsx时必填"
|
|
|
+ <el-option
|
|
|
+ v-for="(name, index) in $store.state.DmsTypesMap['yzt_task_type']"
|
|
|
+ :key="index"
|
|
|
+ :label="name"
|
|
|
+ :value="index"
|
|
|
/>
|
|
|
- <el-select
|
|
|
- v-if="['outFileType', 'inPrj', 'outPrj'].includes(rulesItem)"
|
|
|
- v-model="taskColumn.from.c_source_data[rulesItem]"
|
|
|
- :placeholder="'请选择' + rulesItem"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in taskColumn.selectOptions[rulesItem]"
|
|
|
- :key="'wgn-task-selectOptions-form-' + item.label"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </template>
|
|
|
- </div>
|
|
|
- <!-- 任务状态默认为初始化 -->
|
|
|
- <el-form-item label="任务状态" prop="c_state" v-show="false">
|
|
|
- <el-select
|
|
|
- disabled
|
|
|
- v-model="taskColumn.from.c_state"
|
|
|
- placeholder="请选择任务状态"
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <!-- 渲染任务描述:仅查看 -->
|
|
|
+ <el-form-item
|
|
|
+ label="任务描述"
|
|
|
+ prop="apiDescription"
|
|
|
+ v-if="taskColumn.apiFrom.apiDescription"
|
|
|
>
|
|
|
- <el-option
|
|
|
- v-for="(name, index) in $store.state.DmsTypesMap['task_status']"
|
|
|
- :key="'wgn-task-form-' + index"
|
|
|
- :label="name"
|
|
|
- :value="index"
|
|
|
+ <el-input
|
|
|
+ type="textarea"
|
|
|
+ disabled
|
|
|
+ v-model="taskColumn.apiFrom.apiDescription"
|
|
|
/>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <!-- 任务负责人默认为当前登录用户 -->
|
|
|
- <el-form-item label="用户id" prop="c_user_id" v-show="false">
|
|
|
- <el-input disabled v-model="taskColumn.from.c_user_id" />
|
|
|
- </el-form-item>
|
|
|
- <!-- 任务负责人默认为当前登录用户 -->
|
|
|
- <el-form-item label="用户名" prop="c_user_name" v-show="false">
|
|
|
- <el-input disabled v-model="taskColumn.from.c_user_name" />
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <template #footer>
|
|
|
- <div class="dialog-footer">
|
|
|
- <el-button @click="showTaskFrom = false">取消</el-button>
|
|
|
- <el-button type="primary" @click="handleTaskSubmit">确定</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
+ </el-form-item>
|
|
|
+ <!-- 任务文件是必须的 -->
|
|
|
+ <el-form-item label="任务文件" prop="c_source_file">
|
|
|
+ <el-input disabled v-model="taskColumn.from.c_source_file" v-show="false" />
|
|
|
+ <el-upload
|
|
|
+ class="avatar-uploader"
|
|
|
+ :http-request="handleTCUpload"
|
|
|
+ :limit="1"
|
|
|
+ >
|
|
|
+ <el-button size="small" type="primary">点击上传</el-button>
|
|
|
+ </el-upload>
|
|
|
+ </el-form-item>
|
|
|
+ <el-divider />
|
|
|
+ <!-- 其他参数数据 -->
|
|
|
+ <el-form-item label="其他参数数据" prop="c_source_data" v-show="false">
|
|
|
+ <el-input
|
|
|
+ type="textarea"
|
|
|
+ clearable
|
|
|
+ v-model="taskColumn.from.c_source_data"
|
|
|
+ placeholder="请输入其他参数数据"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <div
|
|
|
+ v-if="
|
|
|
+ taskColumn.apiFrom.apiParameterRules &&
|
|
|
+ includesKey([
|
|
|
+ 'lonKey',
|
|
|
+ 'latKey',
|
|
|
+ 'outFileType',
|
|
|
+ 'inPrj',
|
|
|
+ 'outPrj',
|
|
|
+ 'compressionRatio',
|
|
|
+ ])
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <template
|
|
|
+ v-for="(rulesItem, index) in taskColumn.apiFrom.apiParameterRules"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
+ <el-form-item
|
|
|
+ v-if="
|
|
|
+ [
|
|
|
+ 'lonKey',
|
|
|
+ 'latKey',
|
|
|
+ 'outFileType',
|
|
|
+ 'inPrj',
|
|
|
+ 'outPrj',
|
|
|
+ 'compressionRatio',
|
|
|
+ ].includes(rulesItem)
|
|
|
+ "
|
|
|
+ :label="rulesItem"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ v-if="['lonKey', 'latKey'].includes(rulesItem)"
|
|
|
+ v-model="taskColumn.from.c_source_data[rulesItem]"
|
|
|
+ placeholder="当文件为xlsx时必填"
|
|
|
+ />
|
|
|
+ <el-select
|
|
|
+ v-if="
|
|
|
+ ['outFileType', 'inPrj', 'outPrj', 'compressionRatio'].includes(
|
|
|
+ rulesItem
|
|
|
+ )
|
|
|
+ "
|
|
|
+ v-model="taskColumn.from.c_source_data[rulesItem]"
|
|
|
+ :placeholder="'请选择' + rulesItem"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in taskColumn.selectOptions[rulesItem]"
|
|
|
+ :key="'wgn-task-selectOptions-form-' + item.label"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ <!-- 任务状态默认为初始化 -->
|
|
|
+ <el-form-item label="任务状态" prop="c_state" v-show="false">
|
|
|
+ <el-select
|
|
|
+ disabled
|
|
|
+ v-model="taskColumn.from.c_state"
|
|
|
+ placeholder="请选择任务状态"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(name, index) in $store.state.DmsTypesMap['task_status']"
|
|
|
+ :key="'wgn-task-form-' + index"
|
|
|
+ :label="name"
|
|
|
+ :value="index"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <!-- 任务负责人默认为当前登录用户 -->
|
|
|
+ <el-form-item label="用户id" prop="c_user_id" v-show="false">
|
|
|
+ <el-input disabled v-model="taskColumn.from.c_user_id" />
|
|
|
+ </el-form-item>
|
|
|
+ <!-- 任务负责人默认为当前登录用户 -->
|
|
|
+ <el-form-item label="用户名" prop="c_user_name" v-show="false">
|
|
|
+ <el-input disabled v-model="taskColumn.from.c_user_name" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <template #footer>
|
|
|
+ <div class="dialog-footer">
|
|
|
+ <el-button @click="showTaskFrom = false">取消</el-button>
|
|
|
+ <el-button type="primary" @click="handleTaskSubmit">确定</el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
</el-affix>
|
|
|
</template>
|
|
|
|
|
|
@@ -295,7 +320,7 @@ export default {
|
|
|
data() {
|
|
|
return {
|
|
|
total: 0,
|
|
|
- curUrl:systemConfig.dmsDataProxy,
|
|
|
+ curUrl: systemConfig.dmsDataProxy,
|
|
|
// 搜索关键词
|
|
|
searchStr: "",
|
|
|
// 微功能服务列表
|
|
|
@@ -429,6 +454,24 @@ export default {
|
|
|
label: "WEB_Mercator",
|
|
|
},
|
|
|
],
|
|
|
+ compressionRatio: [
|
|
|
+ {
|
|
|
+ value: "100%",
|
|
|
+ label: "100%",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: "80%",
|
|
|
+ label: "80%",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: "50%",
|
|
|
+ label: "50%",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: "25%",
|
|
|
+ label: "25%",
|
|
|
+ },
|
|
|
+ ],
|
|
|
outPrj: [
|
|
|
{
|
|
|
value: "WGS84",
|
|
|
@@ -469,7 +512,6 @@ export default {
|
|
|
},
|
|
|
// 搜索微功能服务的防抖定时器
|
|
|
searchTimeout: null,
|
|
|
-
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|
|
|
@@ -478,8 +520,6 @@ export default {
|
|
|
// 任务创建人用户名默认为当前登录用户用户名
|
|
|
this.taskColumn.from.c_user_name = this.$store.state.userInfo.username;
|
|
|
this.searchServerList();
|
|
|
-
|
|
|
-
|
|
|
},
|
|
|
methods: {
|
|
|
includesKey(keys) {
|
|
|
@@ -491,6 +531,93 @@ export default {
|
|
|
});
|
|
|
return hasKey;
|
|
|
},
|
|
|
+ handleTCUpload(emit) {
|
|
|
+ // 上传任务文件
|
|
|
+ let formData = new FormData();
|
|
|
+ formData.append("file", emit.file);
|
|
|
+ formData.append("columnId", this.taskColumn.columnId);
|
|
|
+ formData.append("type", 0);
|
|
|
+ formData.append("paraName", emit.file.name);
|
|
|
+ api
|
|
|
+ .uploadFile(formData)
|
|
|
+ .then((res) => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.taskColumn.from.c_source_file_name = emit.file.name;
|
|
|
+ this.taskColumn.from.c_source_file = res.content;
|
|
|
+ ElNotification.success({
|
|
|
+ title: "成功",
|
|
|
+ message: "上传任务文件成功",
|
|
|
+ offset: 80,
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ ElNotification.error({
|
|
|
+ title: "失败",
|
|
|
+ message: "上传任务文件失败" + res.msg,
|
|
|
+ offset: 80,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ ElNotification.error({
|
|
|
+ title: "失败",
|
|
|
+ message: "上传任务文件失败" + e,
|
|
|
+ offset: 80,
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ changeTaskType() {
|
|
|
+ if (this.taskColumn.from.c_type) {
|
|
|
+ // 先把任务类型每个字符中间都添加一个句号
|
|
|
+ let serviceId = this.taskColumn.from.c_type.split("").join(".");
|
|
|
+ // 根据任务类型获取任务参数
|
|
|
+ api
|
|
|
+ .getSimpleContentList({
|
|
|
+ columnId: systemConfig.columnIds[5],
|
|
|
+ states: 0,
|
|
|
+ pageSize: 1,
|
|
|
+ page: 0,
|
|
|
+ search: JSON.stringify([
|
|
|
+ {
|
|
|
+ field: "c_scene_name",
|
|
|
+ searchType: 1,
|
|
|
+ content: { value: serviceId },
|
|
|
+ },
|
|
|
+ ]),
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ let apiInfo = res.content.data[0];
|
|
|
+ // 接口描述
|
|
|
+ this.taskColumn.apiFrom.apiDescription = apiInfo.content;
|
|
|
+ // 接口参数规则
|
|
|
+ this.taskColumn.apiFrom.apiParameterRules = JSON.parse(
|
|
|
+ apiInfo.c_input_parameter_rules
|
|
|
+ );
|
|
|
+ // 接口路径
|
|
|
+ this.taskColumn.apiFrom.apiUrl = apiInfo.c_url;
|
|
|
+ } else {
|
|
|
+ this.taskColumn.apiFrom.apiDescription = "";
|
|
|
+ this.taskColumn.apiFrom.apiParameterRules = [];
|
|
|
+ this.taskColumn.apiFrom.apiUrl = "";
|
|
|
+ ElNotification.error({
|
|
|
+ title: "失败",
|
|
|
+ message: "获取任务参数失败" + res.msg,
|
|
|
+ offset: 80,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ this.taskColumn.apiFrom.apiDescription = "";
|
|
|
+ this.taskColumn.apiFrom.apiParameterRules = "";
|
|
|
+ ElNotification.error({
|
|
|
+ title: "失败",
|
|
|
+ message: "获取任务参数失败" + e,
|
|
|
+ offset: 80,
|
|
|
+ });
|
|
|
+ });
|
|
|
+ this.taskColumn.from.c_source_data = {};
|
|
|
+ }
|
|
|
+ },
|
|
|
// 申请使用微功能服务
|
|
|
handleApply(item) {
|
|
|
// 申请使用微功能服务时,先从localStorage中获取数据,填充到表单中
|
|
|
@@ -548,11 +675,15 @@ export default {
|
|
|
.getSimpleContentList(requestParams)
|
|
|
.then((res) => {
|
|
|
if (res.code === 200) {
|
|
|
- // this.dmsServerList = res.content.data;
|
|
|
- this.dmsServerList = res.content.data.map((item) => ({
|
|
|
+ // 过滤掉自定义工具微功能服务1.5.8.1
|
|
|
+ this.dmsServerList = res.content.data.filter(
|
|
|
+ (item) => item.c_scene_name != "1.5.8.1"
|
|
|
+ );
|
|
|
+ // 转换时间格式
|
|
|
+ this.dmsServerList = this.dmsServerList.map((item) => ({
|
|
|
...item,
|
|
|
- createTime: moment(item.create_time).format('YYYY-MM-DD HH:mm:ss')
|
|
|
- }))
|
|
|
+ createTime: moment(item.create_time).format("YYYY-MM-DD HH:mm:ss"),
|
|
|
+ }));
|
|
|
this.total = this.dmsServerList.length;
|
|
|
// ElNotification.success({
|
|
|
// title: "成功",
|
|
|
@@ -622,7 +753,7 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- // 创建任务
|
|
|
+ // 创建任务
|
|
|
createTask() {
|
|
|
// 打开弹窗,显示任务创建表单
|
|
|
this.showTaskFrom = true;
|
|
|
@@ -756,11 +887,11 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-.wgn-content{
|
|
|
- // height: 640px;
|
|
|
- height: calc(100vh - 160px);
|
|
|
- overflow: auto;
|
|
|
- padding-right: 20px;
|
|
|
+.wgn-content {
|
|
|
+ // height: 640px;
|
|
|
+ height: calc(100vh - 160px);
|
|
|
+ overflow: auto;
|
|
|
+ padding-right: 20px;
|
|
|
}
|
|
|
|
|
|
/* 应用卡片网格样式 */
|