123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476 |
- <template>
- <div class="app-container">
- <div class="title">
- 任务列表
- </div>
- <div class="app-container-table-screening">
- <div class="app-container-table-screening-item">
- 账号类型
- <img src="../../assets/address/unfold_more.svg" alt="unfold_more">
- </div>
- <div class="app-container-table-screening-item">
- 余额
- <img src="../../assets/address/unfold_more.svg" alt="unfold_more">
- </div>
- </div>
- <div class="app-container-table-main">
- <div class="app-container-table-main-item" v-for="(item,index) in missionData">
- <div class="head">
- <div class="avatar">
- <img class="avatar" :src="url + 'disk/file/' + item.projectLogo" alt="avatar">
- </div>
- <div class="name" @click="viewTaskDetails(item)">
- <div class="missionName">
- {{item.taskName}}
- <img src="../../assets/autoplay/arrow_forward.svg" alt="arrow_forward">
- </div>
- <div class="projectName">
- {{item.projectName}}
- </div>
- </div>
- </div>
- <div class="jump" @click="viewExecutionHistory(item)">
- 执行记录
- <img src="../../assets/autoplay/arrow_forward.svg" alt="arrow_forward">
- </div>
- <div class="implementationStrategy">
- <!-- <div class="item" v-if="item.implementationStrategy.length > 0" v-for="(item1,index) in item.implementationStrategy">-->
- <!-- {{item1}}-->
- <!-- </div>-->
- <div class="item-no" >
- 暂无
- </div>
- </div>
- <div class="implementationStrategyText">
- 执行策略
- </div>
- <div class="underImplementation" v-if="item.executeStatus === 0">
- <div class="numberOfExecutions">
- <div class="text">
- 当前执行/计划执行次数
- </div>
- <div class="number">
- {{item.executeTimes}}/{{item.planTimes}}
- </div>
- </div>
- <div class="progressBar" @click="progressBarDetails(item)">
- <div class="progressBar-blue">
- <img src="../../assets/autoplay/airplanemode_active.svg" alt="airplanemode_active">
- 进行中
- </div>
- <div class="details">
- 详情
- <img src="../../assets/autoplay/arrow_forward.svg" alt="arrow_forward">
- </div>
- </div>
- </div>
- <div class="batchExecution" v-if="item.executeStatus === 1">
- <div class="left">
- <div class="number">
- {{item.executeTimes}}/{{item.planTimes}}
- </div>
- <div class="text">
- 当前执行/计划执行次数
- </div>
- </div>
- <div class="right" @click="batchExecution(item)">
- <img src="../../assets/autoplay/autoplay.svg" alt="autoplay">
- 批量执行
- </div>
- </div>
- <div class="horizontalLine"/>
- <div class="time">
- 上次执行时间: {{item.lastExecuteTime}}
- </div>
- </div>
- </div>
- <el-drawer
- :visible.sync="drawerDetails"
- :with-header="false">
- <div class="drawerAddress-container">
- <div class="drawerAddress-container-head">
- <div class="drawerAddress-container-head-left">
- <div class="avatar">
- <img class="avatar" :src="url + 'disk/file/' + currentTaskInfo.projectLogo" alt="avatar">
- </div>
- <div class="info">
- <div class="projectName">
- {{currentTaskInfo.projectName}}
- </div>
- <div class="id">
- {{currentTaskInfo.amsTaskId}}
- </div>
- </div>
- </div>
- <div class="drawerAddress-container-head-right">
- <!-- <div class="complete" @click="modifyTask">-->
- <!-- <img src="../../assets/address/done_all.svg" alt="done_all">-->
- <!-- 完成-->
- <!-- </div>-->
- </div>
- </div>
- <div class="drawerAddress-container-main">
- <div class="title">
- 任务详情
- </div>
- <div class="input">
- <el-input v-model="currentTaskInfo.taskName" placeholder="任务名称"></el-input>
- </div>
- <div class="select">
- <el-select style="width: 140px" v-model="currentTaskInfo.taskType" placeholder="选择类型">
- <el-option
- v-for="item in optionsTaskType"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- <el-select style="width: 400px" v-model="chainId" placeholder="选择合约">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </div>
- <div class="input">
- <el-input v-model="currentTaskInfo.planTimes" placeholder="计划任务执行次数"></el-input>
- </div>
- </div>
- </div>
- </el-drawer>
- <el-drawer
- :visible.sync="drawerRecord"
- :with-header="false"
- @closed="drawerRecordStatus = 0">
- <div class="drawerRecord-container" v-if="drawerRecordStatus === 0">
- <div class="drawerAddress-container-head">
- <div class="drawerAddress-container-head-left">
- <div class="missionName">
- <div class="name">
- 任务名称
- </div>
- </div>
- <div class="text">
- 查看历史交互记录
- </div>
- </div>
- </div>
- <div class="drawerAddress-container-main">
- <div class="drawerAddress-container-head-left">
- <div class="avatar">
- <img class="avatar" :src="url + 'disk/file/' + currentTaskInfo.projectLogo" alt="avatar">
- </div>
- <div class="info">
- <div class="projectName">
- {{currentTaskInfo.projectName}}
- </div>
- <div class="webLink">
- <img src="../../assets/autoplay/language.svg" alt="language">
- <!-- {{currentTaskInfo.projectUrl}}-->
- <a :href="currentTaskInfo.projectUrl" target="_blank">{{currentTaskInfo.projectUrl}}</a>
- </div>
- </div>
- </div>
- <div class="horizontalLine"/>
- <div class="recordTitle">
- <div class="left">
- <div class="text">
- 执行记录
- </div>
- <div class="number">
- 累计执行: {{recordData.length}}
- </div>
- </div>
- <div class="right">
- <!-- <el-date-picker-->
- <!-- v-model="value1"-->
- <!-- type="daterange"-->
- <!-- range-separator="至"-->
- <!-- start-placeholder="开始日期"-->
- <!-- end-placeholder="结束日期">-->
- <!-- </el-date-picker>-->
- </div>
- </div>
- <div class="table">
- <el-table
- :data="recordData"
- style="width: 100%">
- <el-table-column
- prop="executeId"
- label="执行ID">
- </el-table-column>
- <el-table-column
- prop="createTime"
- label="时间">
- </el-table-column>
- <el-table-column
- prop="totalAmount"
- label="累计金额">
- </el-table-column>
- <el-table-column
- prop="totalGas"
- label="总GAS">
- </el-table-column>
- <el-table-column
- prop="executeStatus"
- label="状态"
- width="120"
- align="center">
- <template v-slot="scope">
- <div class="status" v-if="scope.row.executeStatus === 0" @click="viewRecordDetails(scope.row,1)">
- <div class="text" style="color: #2980FF;">
- <img src="../../assets/autoplay/clock_loader_60.svg" alt="clock_loader_60">
- 进行中
- </div>
- <img src="../../assets/autoplay/chevron_right.svg" alt="chevron_right">
- </div>
- <div class="status" v-if="scope.row.executeStatus === 1" @click="viewRecordDetails(scope.row,2)">
- <div class="text">
- <img src="../../assets/autoplay/check.svg" alt="check">
- 已完成
- </div>
- <img src="../../assets/autoplay/chevron_right.svg" alt="chevron_right">
- </div>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
- <div class="drawerView-container-footer">
- <div class="pagination">
- <el-pagination
- small
- layout="prev, pager, next"
- :page-size="10"
- :total="3">
- </el-pagination>
- </div>
- </div>
- </div>
- <div class="drawerRecord-container" v-if="drawerRecordStatus === 1">
- <div class="drawerAddress-container-head">
- <div class="drawerAddress-container-head-left">
- <div class="missionName">
- <div class="id">
- {{currentTaskInfo.amsTaskId}}
- </div>
- <div class="name">
- {{currentTaskInfo.taskName}}
- </div>
- </div>
- <div class="text" style="color: #2980FF">
- 任务交互类型: {{currentTaskInfo.taskType}}
- </div>
- </div>
- </div>
- <div class="drawerAddress-container-main">
- <div class="interactionStrategy">
- <div class="item">
- <div class="title">
- <img src="../../assets/autoplay/account_balance_wallet.svg" alt="account_balance_wallet">
- 交互钱包
- </div>
- <div class="info">
- {{currentRecordData.groupName}}
- </div>
- </div>
- <div class="item">
- <div class="title">
- <img src="../../assets/autoplay/avg_pace.svg" alt="avg_pace">
- 最小间隔时间
- </div>
- <div class="info">
- {{currentRecordData.intervalMin}}/分
- </div>
- </div>
- <div class="item">
- <div class="title">
- <img src="../../assets/autoplay/avg_pace.svg" alt="avg_pace">
- 最大间隔时间
- </div>
- <div class="info">
- {{currentRecordData.intervalMax}}/分
- </div>
- </div>
- <div class="item">
- <div class="title">
- <img src="../../assets/autoplay/gas_meter.svg" alt="gas_meter">
- 最大 Gas fee
- </div>
- <div class="info">
- {{currentRecordData.maxGas}}
- </div>
- </div>
- </div>
- <div class="recordTitle">
- <div class="left">
- <div class="text">
- 正在进行中
- </div>
- <div class="number">
- 总计交互地址: 3/100
- </div>
- </div>
- <div class="right" style="cursor: pointer" @click="refresh">
- <img src="../../assets/autoplay/Frame.svg" alt="Frame">
- </div>
- </div>
- <div class="table">
- <el-table
- :data="ongoingData"
- style="width: 100%">
- <el-table-column
- prop="address"
- width="150">
- </el-table-column>
- <el-table-column
- prop="amount">
- </el-table-column>
- <el-table-column
- prop="gas">
- </el-table-column>
- <el-table-column
- prop="txId">
- </el-table-column>
- <el-table-column
- prop="status">
- <template v-slot="scope">
- <div class="status" style="cursor: auto">
- <div class="text" v-if="scope.row.status === 0" style="color: #EB5757;">
- <img src="../../assets/autoplay/cancel.svg" alt="cancel">
- 未完成
- </div>
- <div class="text" v-if="scope.row.status === 1" >
- <img src="../../assets/autoplay/check.svg" alt="check">
- 已完成
- </div>
- </div>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
- <div class="drawerView-container-footer">
- <div class="pagination">
- <el-pagination
- small
- layout="prev, pager, next"
- :page-size="10"
- :total="3">
- </el-pagination>
- </div>
- </div>
- <div class="progressBarBox">
- <div class="progressBar">
- <div class="progressBar-two">
- <img src="../../assets/autoplay/motion_photos_paused.svg" alt="motion_photos_paused">
- 当前执行进度
- </div>
- <div class="number">
- {{currentTaskInfo.executeTimes}}/{{currentTaskInfo.planTimes}}
- </div>
- </div>
- </div>
- </div>
- <div class="drawerRecord-container" v-if="drawerRecordStatus === 2">
- <div class="drawerAddress-container-head">
- <div class="drawerAddress-container-head-left">
- <div class="missionName">
- <div class="id">
- {{currentTaskInfo.amsTaskId}}
- </div>
- <div class="name">
- {{currentTaskInfo.taskName}}
- </div>
- </div>
- <div class="text" style="color: #2980FF">
- 任务交互类型: {{currentTaskInfo.taskType}}
- </div>
- </div>
- </div>
- <div class="drawerAddress-container-main">
- <div class="interactionStrategy">
- <div class="item">
- <div class="title">
- <img src="../../assets/autoplay/account_balance_wallet.svg" alt="account_balance_wallet">
- 交互钱包
- </div>
- <div class="info">
- {{currentRecordData.groupName}}
- </div>
- </div>
- <div class="item">
- <div class="title">
- <img src="../../assets/autoplay/avg_pace.svg" alt="avg_pace">
- 最小间隔时间
- </div>
- <div class="info">
- {{currentRecordData.intervalMin}}/分
- </div>
- </div>
- <div class="item">
- <div class="title">
- <img src="../../assets/autoplay/avg_pace.svg" alt="avg_pace">
- 最大间隔时间
- </div>
- <div class="info">
- {{currentRecordData.intervalMax}}/分
- </div>
- </div>
- <div class="item">
- <div class="title">
- <img src="../../assets/autoplay/gas_meter.svg" alt="gas_meter">
- 最大 Gas fee
- </div>
- <div class="info">
- {{currentRecordData.maxGas}}
- </div>
- </div>
- </div>
- <div class="recordTitle">
- <div class="left">
- <div class="text">
- 已完成
- </div>
- <div class="number">
- 总计交互地址: 3/100
- </div>
- </div>
- </div>
- <div class="table">
- <el-table
- :data="ongoingData"
- style="width: 100%">
- <el-table-column
- prop="address"
- width="150">
- </el-table-column>
- <el-table-column
- prop="amount">
- </el-table-column>
- <el-table-column
- prop="gas">
- </el-table-column>
- <el-table-column
- prop="txId">
- </el-table-column>
- <el-table-column
- prop="status">
- <template v-slot="scope">
- <div class="status" style="cursor: auto">
- <div class="text">
- <img src="../../assets/autoplay/check.svg" alt="check">
- 已完成
- </div>
- </div>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
- <div class="drawerView-container-footer">
- <div class="pagination">
- <el-pagination
- small
- layout="prev, pager, next"
- :page-size="10"
- :total="3">
- </el-pagination>
- </div>
- </div>
- <div class="progressBarBox">
- <div class="progressBar" style="background: black">
- <div class="progressBar-two" style="background: black">
- <img src="../../assets/autoplay/done_all.svg" alt="done_all">
- 执行进度已完成
- </div>
- <div class="number">
- {{currentTaskInfo.executeTimes}}/{{currentTaskInfo.planTimes}}
- </div>
- </div>
- </div>
- </div>
- </el-drawer>
- <el-drawer
- :visible.sync="drawerStrategy"
- :with-header="false"
- @closed="accountPassword = false">
- <div class="drawerStrategy-container">
- <div class="drawerAddress-container-head">
- <div class="drawerAddress-container-head-left">
- <div class="info">
- <div class="projectName">
- 执行策略
- </div>
- <div class="id">
- {{currentTaskInfo.taskType}} | {{currentTaskInfo.taskName}}
- </div>
- </div>
- </div>
- <div class="drawerAddress-container-head-right">
- <div class="complete" @click="accountPassword = true">
- <img src="../../assets/address/done_all.svg" alt="done_all">
- 下一步
- </div>
- </div>
- </div>
- <div class="drawerAddress-container-main">
- <div class="item">
- <div class="title">
- 交互钱包
- </div>
- <el-select v-model="batchExecutionParams.groupName" placeholder="选择交互钱包">
- <el-option
- v-for="item in optionsAddress"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </div>
- <!-- <div class="item">-->
- <!-- <div class="title">-->
- <!-- 目标资产(From)-->
- <!-- </div>-->
- <!-- <el-select v-model="chainId" placeholder="选择交互资产">-->
- <!-- <el-option-->
- <!-- v-for="item in options"-->
- <!-- :key="item.value"-->
- <!-- :label="item.label"-->
- <!-- :value="item.value">-->
- <!-- </el-option>-->
- <!-- </el-select>-->
- <!-- </div>-->
- <!-- <div class="item">-->
- <!-- <div class="title">-->
- <!-- 目标资产(To)-->
- <!-- </div>-->
- <!-- <el-select v-model="chainId" placeholder="选择交互资产">-->
- <!-- <el-option-->
- <!-- v-for="item in options"-->
- <!-- :key="item.value"-->
- <!-- :label="item.label"-->
- <!-- :value="item.value">-->
- <!-- </el-option>-->
- <!-- </el-select>-->
- <!-- </div>-->
- <div class="item">
- <div class="title">
- 间隔时间
- </div>
- <div style="display: flex;gap:24px">
- <el-input v-model="batchExecutionParams.intervalMin" placeholder="输入最小间隔时间/分"></el-input>
- <el-input v-model="batchExecutionParams.intervalMax" placeholder="输入最大间隔时间/分"></el-input>
- </div>
- </div>
- <div class="item">
- <div class="title">
- 交互金额
- </div>
- <el-input v-model="batchExecutionParams.amount" placeholder="输入最大交互金额"></el-input>
- </div>
- <div class="item">
- <div class="title">
- 最大 Gas fee
- </div>
- <el-input v-model="batchExecutionParams.maxGas" placeholder="输入最大 Gas fee"></el-input>
- </div>
- <div class="item" v-for="item in paramsData">
- <div class="title">
- {{item.note}}
- </div>
- <el-input v-model="item.value"></el-input>
- </div>
- </div>
- <div class="accountPassword" v-if="accountPassword">
- <div class="title">
- 输入钱包密码
- </div>
- <div class="inputTitle">
- 钱包密码
- </div>
- <el-input type="password" :show-password="true" v-model="batchExecutionParams.password" placeholder="输入钱包密码"></el-input>
- <div class="confirm" @click="batchExecutionTask">
- <img src="../../assets/autoplay/check1.svg" alt="check1">
- 确认
- </div>
- <div class="tip">
- <div class="title">
- <img src="../../assets/address/tips_and_updates.svg" alt="tips_and_updates">
- 提示
- </div>
- <div class="description">
- 此密码为您账户钱包的 Keystore 密码,请妥善保管,
- 系统无法为您找回。
- </div>
- </div>
- </div>
- </div>
- </el-drawer>
- </div>
- </template>
- <script>
- import {batchExecution, getExecutionRecord, modifyTaskInfo, parameterSearch, taskPage} from "@/api/task";
- import {getGroupList} from "@/api/adress";
- import {getInteractionRecord} from "@/api/record";
- export default {
- data() {
- return {
- missionData:[],
- drawerDetails:false,
- input:'',
- chainId:'',
- options: [{
- value: '1',
- label: 'ETH'
- }],
- optionsTaskType: [
- {
- value: 'BRIDGE',
- label: 'Bridge'
- },
- {
- value: 'NFT',
- label: 'NFT'
- },
- {
- value: 'SWAP',
- label: 'Swap'
- }
- ],
- optionsAddress: [],
- drawerRecord:false,
- drawerRecordStatus:0,
- value1: '',
- recordData:[],
- ongoingData:[],//下一层
- drawerStrategy:false,
- accountPassword:false,
- batchExecutionParams:{
- groupName:'',
- maxGas:'',
- intervalMax:10,
- intervalMin:1,
- amount:'',
- password:'',
- projectId:'',
- taskId:''
- },
- currentTaskInfo:{
- taskType:'',
- taskName:'',
- amsProjectId:'',
- amsTaskId:'',
- planTimes:0,
- projectName:''
- },
- currentRecordData:{
- },
- paramsData:[],
- url:process.env.VUE_APP_BASE_API,
- }
- },
- mounted() {
- this.getTaskList()
- this.getWalletAddress()
- },
- methods: {
- progressBarDetails(item) {
- this.drawerRecord = true
- this.drawerRecordStatus = 1
- this.currentTaskInfo = JSON.parse(JSON.stringify(item))
- this.currentRecordData.groupName = item.groupName
- this.currentRecordData.intervalMax = item.intervalMax
- this.currentRecordData.intervalMin = item.intervalMin
- this.currentRecordData.maxGas = item.maxGas
- let params = {
- page:1,
- pageSize:10,
- executeId:item.executeId
- }
- getInteractionRecord(params).then(res=>{
- this.ongoingData = res.records
- })
- },
- getTaskList() {
- taskPage().then(res=>{
- this.missionData = res
- })
- },
- batchExecution(item) {
- this.drawerStrategy = true
- this.currentTaskInfo.taskName = item.taskName
- this.currentTaskInfo.taskType = item.taskType
- this.batchExecutionParams.projectId = item.amsProjectId
- this.batchExecutionParams.taskId = item.amsTaskId
- if(item.taskCode){
- this.getParameterSearch(item.taskCode)
- }
- },
- getWalletAddress() {
- getGroupList().then(res=>{
- res.forEach((item)=>{
- let obj = {
- value:item,
- label:item
- }
- this.optionsAddress.push(obj)
- })
- })
- },
- batchExecutionTask() {
- this.batchExecutionParams.airdropParams = this.paramsData
- batchExecution(this.batchExecutionParams).then(()=>{
- this.accountPassword = false
- this.drawerStrategy = false
- this.getTaskList()
- })
- },
- viewTaskDetails(item) {
- this.currentTaskInfo = JSON.parse(JSON.stringify(item))
- this.drawerDetails = true
- },
- modifyTask(){
- let params = {
- taskType:this.currentTaskInfo.taskType,
- taskName:this.currentTaskInfo.taskName,
- amsProjectId:this.currentTaskInfo.amsProjectId,
- amsTaskId:this.currentTaskInfo.amsTaskId,
- planTimes:this.currentTaskInfo.planTimes,
- }
- modifyTaskInfo(params).then(()=>{
- this.drawerDetails = false
- this.getTaskList()
- })
- },
- viewExecutionHistory(item) {
- this.currentTaskInfo = JSON.parse(JSON.stringify(item))
- let params = {
- page: 1,
- pageSize: 10,
- queryValue: item.amsTaskId
- }
- getExecutionRecord(params).then((res)=>{
- this.drawerRecord = true
- this.recordData = res.records
- })
- },
- viewRecordDetails(item,page){
- this.drawerRecordStatus = page
- this.currentRecordData = item
- let params = {
- page:1,
- pageSize:10,
- executeId:item.executeId
- }
- getInteractionRecord(params).then(res=>{
- this.ongoingData = res.records
- })
- },
- refresh(){
- let params = {
- page:1,
- pageSize:10,
- executeId:this.currentRecordData.executeId
- }
- getInteractionRecord(params).then(res=>{
- this.ongoingData = res.records
- })
- },
- getParameterSearch(taskCode){
- parameterSearch(taskCode).then(res=>{
- this.paramsData = res
- })
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- .app-container{
- .title{
- font-weight: 700;
- font-size: 21px;
- line-height: 28px;
- color: #181818;
- }
- .app-container-table-screening{
- display: flex;
- align-items: center;
- gap:100px;
- padding: 20px 0;
- margin: 20px 0;
- border-top: 1px solid #f5f5f5;
- border-bottom: 1px solid #f5f5f5;
- .app-container-table-screening-item{
- display: flex;
- align-items: center;
- gap:6px;
- font-weight: 400;
- font-size: 15px;
- line-height: 20px;
- color: #4d4d4e;
- }
- }
- .app-container-table-main{
- display: flex;
- justify-content: space-between;
- gap:20px;
- flex-wrap: wrap;
- .app-container-table-main-item{
- width: 345px;
- height: 315px;
- background: #FFFFFF;
- border: 1px solid #2980FF;
- border-radius: 10px;
- padding:24px;
- position: relative;
- .head{
- display: flex;
- gap:8px;
- .avatar{
- width: 46px;
- height: 46px;
- background: black;
- border-radius: 50%;
- }
- .name{
- display: flex;
- flex-direction: column;
- gap:8px;
- cursor: pointer;
- .projectName{
- font-weight: 700;
- font-size: 12px;
- line-height: 16px;
- color: #919191;
- }
- .missionName{
- font-weight: 700;
- font-size: 17px;
- line-height: 22px;
- color: #222222;
- display: flex;
- align-items: center;
- gap:8px
- }
- }
- }
- .jump{
- position: absolute;
- bottom:25px;
- right:24px;
- display: flex;
- gap:8px;
- font-weight: 700;
- font-size: 12px;
- line-height: 16px;
- color: #2980FF;
- cursor: pointer;
- }
- .implementationStrategy{
- display: flex;
- gap:12px;
- margin-top: 32px;
- .item{
- width: 68px;
- height: 24px;
- background: #edf2ff;
- border: 1px solid #2980FF;
- border-radius: 4px;
- display: flex;
- justify-content: center;
- align-items: center;
- font-weight: 500;
- font-size: 12px;
- line-height: 16px;
- color: #222222;
- }
- .item-no{
- width: 44px;
- height: 24px;
- background: #F5F5F5;
- border: 1px solid #E0E0E0;
- border-radius: 4px;
- display: flex;
- justify-content: center;
- align-items: center;
- font-weight: 500;
- font-size: 12px;
- line-height: 16px;
- color: #828282;
- }
- }
- .implementationStrategyText{
- font-weight: 400;
- font-size: 12px;
- line-height: 16px;
- color: #919191;
- margin-top: 8px;
- }
- .underImplementation{
- display: flex;
- flex-direction: column;
- gap:8px;
- margin-top: 24px;
- height: 50px;
- .numberOfExecutions{
- display: flex;
- gap:4px;
- .text{
- font-weight: 400;
- font-size: 12px;
- line-height: 16px;
- color: #919191;
- }
- .number{
- font-weight: 700;
- font-size: 12px;
- line-height: 16px;
- color: #222222;
- }
- }
- .progressBar{
- width: 100%;
- height: 28px;
- background: #F5F5F5;
- border-radius: 21px;
- display: flex;
- justify-content: space-between;
- padding-right: 6px;
- cursor: pointer;
- .progressBar-blue{
- width: 147px;
- height: 28px;
- background: #2980FF;
- border-radius: 26px;
- display: flex;
- align-items: center;
- padding-left: 10px;
- gap:4px;
- font-weight: 400;
- font-size: 12px;
- line-height: 16px;
- color: #FFFFFF;
- }
- .details{
- display: flex;
- align-items: center;
- gap:4px;
- font-weight: 400;
- font-size: 12px;
- line-height: 16px;
- color: #7b7b7b;
- }
- }
- }
- .batchExecution{
- display: flex;
- justify-content: space-between;
- gap:8px;
- margin-top: 24px;
- height: 50px;
- .left{
- display: flex;
- gap:8px;
- flex-direction: column;
- .text{
- font-weight: 400;
- font-size: 12px;
- line-height: 16px;
- color: #919191;
- }
- .number{
- font-weight: 700;
- font-size: 17px;
- line-height: 22px;
- color: #222222;
- }
- }
- .right{
- display: flex;
- gap:4px;
- align-items: center;
- font-weight: 700;
- font-size: 15px;
- line-height: 20px;
- color: #FFFFFF;
- width: 132px;
- height: 44px;
- justify-content: center;
- background: #2980FF;
- border: 1px solid #2980FF;
- border-radius: 10px;
- cursor: pointer;
- }
- }
- .horizontalLine{
- width: 343px;
- height: 1px;
- border-bottom: 1px solid #F5F5F5;
- margin-left: -24px;
- margin-top: 28px;
- }
- .time{
- font-weight: 400;
- font-size: 12px;
- line-height: 16px;
- color: #919191;
- margin-top: 20px;
- }
- }
- }
- .drawerAddress-container{
- display: flex;
- flex-direction: column;
- height: 100vh;
- overflow: auto;
- .drawerAddress-container-head{
- padding: 56px 40px;
- background: #FFFFFF;
- display: flex;
- align-items: center;
- justify-content: space-between;
- .drawerAddress-container-head-left{
- display: flex;
- gap:8px;
- .avatar{
- width: 46px;
- height: 46px;
- border-radius: 50%;
- background: black;
- }
- .info{
- display: flex;
- flex-direction: column;
- gap:8px;
- .projectName{
- font-weight: 700;
- font-size: 17px;
- line-height: 22px;
- color: #222222;
- }
- .id{
- font-weight: 400;
- font-size: 12px;
- line-height: 16px;
- color: #838383;
- }
- }
- }
- .drawerAddress-container-head-right{
- display: flex;
- align-items: center;
- gap:48px;
- .complete{
- width: 118px;
- height: 52px;
- border: 2px solid #4A76FF;
- border-radius: 10px;
- gap:4px;
- display: flex;
- align-items: center;
- justify-content: center;
- font-weight: 700;
- font-size: 15px;
- line-height: 20px;
- color: #2980FF;
- cursor: pointer;
- }
- }
- }
- .drawerAddress-container-main{
- padding: 36px 40px;
- background: #f9fbff;
- flex-grow: 1;
- display: flex;
- flex-direction: column;
- gap:20px;
- .select{
- display: flex;
- gap:24px;
- }
- }
- }
- .drawerRecord-container{
- display: flex;
- flex-direction: column;
- height: 100vh;
- overflow: auto;
- position: relative;
- .drawerAddress-container-head{
- padding: 56px 40px;
- background: #FFFFFF;
- display: flex;
- align-items: center;
- justify-content: space-between;
- .drawerAddress-container-head-left{
- display: flex;
- flex-direction: column;
- gap:8px;
- .missionName{
- display: flex;
- gap:8px;
- align-items: center;
- .id{
- padding: 0 8px;
- height: 24px;
- background: #F5F5F5;
- border: 1px solid #E0E0E0;
- border-radius: 4px;
- font-weight: 400;
- font-size: 12px;
- line-height: 16px;
- color: #7b7b7b;
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .name{
- font-weight: 700;
- font-size: 21px;
- line-height: 28px;
- color: #181818;
- }
- }
- .text{
- font-weight: 400;
- font-size: 12px;
- line-height: 16px;
- color: #919191;
- }
- }
- }
- .drawerAddress-container-main{
- padding: 36px 40px;
- background: #f9fbff;
- flex-grow: 1;
- display: flex;
- flex-direction: column;
- gap:20px;
- .drawerAddress-container-head-left{
- display: flex;
- gap:24px;
- .avatar{
- width: 46px;
- height: 46px;
- border-radius: 50%;
- background: black;
- }
- .info{
- display: flex;
- flex-direction: column;
- gap:8px;
- .projectName{
- font-weight: 700;
- font-size: 17px;
- line-height: 22px;
- color: #222222;
- }
- .webLink{
- font-weight: 700;
- font-size: 15px;
- line-height: 20px;
- color: #2980FF;
- text-decoration-line: underline;
- display: flex;
- align-items: center;
- gap:8px
- }
- }
- }
- .horizontalLine{
- width: 100%;
- height: 1px;
- border-bottom: 1px solid #f1f1f1;
- margin-top: 40px;
- margin-bottom: 30px;
- }
- .interactionStrategy{
- width: 100%;
- height: 108px;
- background: #FFFFFF;
- border: 1px solid #F5F5F5;
- border-radius: 4px;
- padding: 28px;
- display: flex;
- justify-content: space-between;
- .item{
- display: flex;
- flex-direction: column;
- gap:12px;
- .title{
- font-weight: 400;
- font-size: 14px;
- line-height: 18px;
- color: #181818;
- display: flex;
- align-items: center;
- gap:6px;
- }
- .info{
- font-weight: 700;
- font-size: 17px;
- line-height: 22px;
- color: #222222;
- }
- }
- }
- .recordTitle{
- display: flex;
- justify-content: space-between;
- align-items: center;
- .left{
- display: flex;
- flex-direction: column;
- gap:8px;
- .text{
- font-weight: 700;
- font-size: 21px;
- line-height: 28px;
- color: #181818;
- }
- .number{
- font-weight: 700;
- font-size: 12px;
- line-height: 16px;
- color: #8e8f91;
- }
- }
- }
- .table{
- .status{
- display: flex;
- justify-content: space-between;
- cursor: pointer;
- .text{
- display: flex;
- align-items: center;
- gap:4px;
- font-weight: 400;
- font-size: 15px;
- line-height: 20px;
- color: #222222;
- white-space: nowrap;
- }
- }
- }
- }
- .drawerView-container-footer {
- height: 84px;
- padding: 30px 10px;
- display: flex;
- align-items: center;
- //justify-content: space-around;
- .pagination{
- width: 250px;
- }
- .manageAccount{
- display: flex;
- align-items: center;
- gap:12px;
- font-weight: 700;
- font-size: 17px;
- line-height: 22px;
- color: #222222;
- }
- .disassociation{
- display: flex;
- align-items: center;
- gap:12px;
- font-weight: 700;
- font-size: 17px;
- line-height: 22px;
- color: #EB5757;
- }
- }
- .progressBarBox{
- display: flex;
- justify-content: center;
- .progressBar{
- position: absolute;
- top:138px;
- width: 90%;
- height: 50px;
- background: #2980FF;
- box-shadow: 0px 1px 16px rgba(15, 15, 15, 0.16);
- border-radius: 144px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- .progressBar-two{
- width: 40%;
- height: 50px;
- background: #3b9ffa;
- border-radius: 144px;
- display: flex;
- align-items: center;
- padding-left: 16px;
- gap:6px;
- font-weight: 400;
- font-size: 14px;
- line-height: 18px;
- color: #FFFFFF;
- }
- .number{
- font-weight: 700;
- font-size: 17px;
- line-height: 22px;
- color: #FFFFFF;
- padding-right: 16px;
- }
- }
- }
- }
- .drawerStrategy-container{
- display: flex;
- flex-direction: column;
- height: 100vh;
- overflow: auto;
- .drawerAddress-container-head{
- padding: 56px 40px;
- background: #FFFFFF;
- display: flex;
- align-items: center;
- justify-content: space-between;
- .drawerAddress-container-head-left{
- display: flex;
- gap:8px;
- .info{
- display: flex;
- flex-direction: column;
- gap:8px;
- .projectName{
- font-weight: 700;
- font-size: 17px;
- line-height: 22px;
- color: #222222;
- }
- .id{
- font-weight: 400;
- font-size: 12px;
- line-height: 16px;
- color: #838383;
- }
- }
- }
- .drawerAddress-container-head-right{
- display: flex;
- align-items: center;
- gap:48px;
- .complete{
- width: 118px;
- height: 52px;
- border: 2px solid #4A76FF;
- border-radius: 10px;
- gap:4px;
- display: flex;
- align-items: center;
- justify-content: center;
- font-weight: 700;
- font-size: 15px;
- line-height: 20px;
- color: #2980FF;
- cursor: pointer;
- }
- }
- }
- .drawerAddress-container-main{
- padding: 36px 40px;
- background: #f9fbff;
- flex-grow: 1;
- display: flex;
- flex-direction: column;
- gap:12px;
- .item{
- display: flex;
- flex-direction: column;
- gap:12px;
- .title{
- font-weight: 400;
- font-size: 14px;
- line-height: 18px;
- color: #181818;
- }
- }
- }
- .accountPassword{
- width: 440px;
- height: 374px;
- background: #fbfdff;
- border-radius: 10px;
- position: fixed;
- margin: auto;
- left: 0;
- right: 0;
- top: 0;
- bottom: 0;
- padding: 36px 40px;
- .title{
- font-weight: 700;
- font-size: 21px;
- line-height: 28px;
- color: #212121;
- }
- .inputTitle{
- font-weight: 500;
- font-size: 14px;
- line-height: 18px;
- color: #383838;
- margin-top: 32px;
- margin-bottom: 12px;
- }
- .confirm{
- display: flex;
- align-items: center;
- justify-content: center;
- gap:8px;
- font-weight: 700;
- font-size: 15px;
- line-height: 20px;
- color: #FFFFFF;
- width: 100%;
- height: 52px;
- background: #2980ff;
- border-radius: 6px;
- margin-top: 12px;
- margin-bottom: 20px;
- cursor: pointer;
- }
- .tip{
- display: flex;
- flex-direction: column;
- gap:9px;
- margin-top: 36px;
- .title{
- display: flex;
- align-items: center;
- gap:4px;
- font-weight: 700;
- font-size: 17px;
- line-height: 22px;
- color: #EB5757;
- }
- .description{
- font-weight: 400;
- font-size: 14px;
- line-height: 18px;
- color: #EB5757;
- }
- }
- }
- }
- }
- </style>
|