You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1533 lines
53 KiB
1533 lines
53 KiB
<template>
|
|
<div class="app-container">
|
|
<div v-show="viewState ==1">
|
|
<button-bar view-title="项目列表" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle" />
|
|
<div class="main-content">
|
|
<div class="searchcon">
|
|
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
|
|
<div v-show="isSearchShow" class="search">
|
|
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="80px" class="tab-header">
|
|
<el-form-item label="项目名称">
|
|
<el-input v-model="listQuery.params.entryName" maxlength="20" placeholder="请输入项目名称" class="addinputw"
|
|
clearable />
|
|
</el-form-item>
|
|
<el-form-item label="项目类型">
|
|
<el-select v-model="listQuery.params.projectType" placeholder="请选择">
|
|
<el-option v-for="(item,i) in ProjectTypeList" :key="i" :label="item.projectType"
|
|
:value="item.projectType">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="贷款行">
|
|
<el-select v-model="listQuery.params.bankSid" placeholder="请选择">
|
|
<el-option v-for="(item,i) in storehouseList" :key="i" :label="item.name" :value="item.sid">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="项目状态">
|
|
<el-select v-model="listQuery.params.stateName" placeholder="请选择" @change="getState">
|
|
<el-option v-for="(item,i) in stateList" :key="i" :label="item.name" :value="item.sid">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form>
|
|
<div class="btn" style="text-align: center;">
|
|
<el-button type="primary" icon="el-icon-search" size="small" @click="handleReset">查询</el-button>
|
|
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleFilter">重置</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="listtop">
|
|
<div class="tit">项目列表</div>
|
|
<!-- 翻页分页 -->
|
|
<!-- <pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> -->
|
|
</div>
|
|
<div class="">
|
|
<el-table v-loading="listLoading" :data="list" border style="width: 100%;" :row-style="{height: '40px'}">
|
|
<!-- <el-table-column type="selection" align="center" width="50"/> -->
|
|
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" />
|
|
<el-table-column label="操作" wid align="center" width="550">
|
|
<template slot-scope="scope">
|
|
<el-button type="primary" size="mini" @click="toPhase(scope.row)">项目阶段</el-button>
|
|
<el-button type="primary" size="mini" @click="toProgress(scope.row)">项目进度</el-button>
|
|
<el-button type="primary" size="mini" @click="toCreditLimit(scope.row)">用还信</el-button>
|
|
<el-button type="primary" size="mini" @click="toLog(scope.row)">监管日志</el-button>
|
|
<el-button type="primary" size="mini" @click="toReport(scope.row)">项目报告</el-button>
|
|
<el-button type="primary" size="mini" @click="toTieUp(scope.row)">关联商享通仓库</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="项目名称" prop="entryName" width="250" align="center" />
|
|
<el-table-column label="所属行业" prop="industryName" width="120" align="center" />
|
|
<el-table-column label="项目类型" prop="typeName" width="120" align="center" />
|
|
<el-table-column label="项目状态" prop="stateName" width="120" align="center" />
|
|
<el-table-column label="授信额度" prop="creditLimit" width="120" align="center" />
|
|
<el-table-column label="签约日期" prop="signingDate" width="120" align="center" />
|
|
<el-table-column label="到期日期" prop="endDate" width="120" align="center" />
|
|
<el-table-column label="用信总额" prop="useLimit" width="120" align="center" />
|
|
<el-table-column label="贷款行" prop="bankName" align="center" />
|
|
<el-table-column label="客户经理" prop="bmanagerName" width="120" align="center" />
|
|
<!-- <el-table-column label="企业名称" prop="enterpriseName" width="250" align="center" /> -->
|
|
<!-- <el-table-column label="联系人" prop="econtacts" width="100" align="center" /> -->
|
|
<el-table-column label="监管负责人" prop="regulatoryLeader" width="120" align="center" />
|
|
</el-table>
|
|
</div>
|
|
<div class="pages">
|
|
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
|
|
:limit.sync="listQuery.size" class="pagination" @pagination="getList" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- <projectAdd v-show="viewState ==2 || viewState ==3" ref="divAdd" @doback="resetState" @reloadlist="getList" /> -->
|
|
<!-- <projectInfo v-show="viewState ==4" ref="divInfo" @doback="resetState" @reloadlist="getList"/> -->
|
|
|
|
<el-dialog title="项目阶段" :close-on-click-modal="false" :visible.sync="dialogShow" width="15%"
|
|
:before-close="dialogClose">
|
|
|
|
<el-select v-model="projectState.nodeValue" placeholder="项目阶段" style="margin-top: -30px;"
|
|
@change="seleProjectState">
|
|
<el-option v-for="item in options" :key="item.nodeKey" :label="item.nodeValue" :value="item.nodeKey">
|
|
</el-option>
|
|
</el-select>
|
|
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button @click="dialogClose">取 消</el-button>
|
|
<el-button type="primary" @click="saveProjectState()">保 存</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
|
|
<el-dialog title="项目进度" :close-on-click-modal="false" :visible.sync="dialogShow5" width="60%"
|
|
:before-close="dialogClose5">
|
|
|
|
<div class="step2Item" style="margin-top: -30px;">
|
|
|
|
<el-input v-model="progressParams.params.name" style="width: 200px;" placeholder="阶段名称" clearable />
|
|
<el-button type="primary" style="margin-left: 20px;" @click="getProgressData()">查询</el-button>
|
|
<el-button type="primary" style="margin-left: 20px;" @click="addProgress()">添加</el-button>
|
|
<el-button type="danger" style="margin-left: 20px;" @click="doProgressDel()">删除</el-button>
|
|
|
|
</div>
|
|
<el-table :data="progressData" border style="width: 98%;margin-left: 15px;margin-top: 10px;"
|
|
@selection-change="handleSelectionProgressChange">
|
|
<el-table-column fixed width="50" type="selection" align="center" />
|
|
<el-table-column label="序号" type="index" width="60" :index="indexMethod" align="center" />
|
|
<el-table-column label="操作" wid align="center" width="80">
|
|
<template slot-scope="scope">
|
|
<el-button type="primary" size="mini" @click="doProgressEdit(scope.row)">编辑</el-button>
|
|
<!-- <el-button type="danger" size="mini" @click="doProgressDel(scope.$index)">删除</el-button> -->
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="阶段名称" prop="progressDescription" align="center" />
|
|
<el-table-column label="发生日期" prop="orderDate" align="center" />
|
|
<el-table-column label="下一阶段" prop="nextStage" align="center" />
|
|
<el-table-column label="备注" prop="remarks" align="center" />
|
|
</el-table>
|
|
<div class="pages">
|
|
<pagination v-show="progressData.length > 0" :total="progressParams.total" :page.sync="progressParams.current"
|
|
:limit.sync="progressParams.size" class="pagination" @pagination="getProgressData" />
|
|
</div>
|
|
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<!-- <el-button @click="dialogClose5">取 消</el-button> -->
|
|
<el-button type="primary" @click="dialogClose5">关 闭</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
|
|
<el-dialog title="项目进度" :close-on-click-modal="false" :visible.sync="dialogShow6" width="60%"
|
|
:before-close="dialogClose6">
|
|
|
|
<el-form ref="form_daily" :model="progressInfo" label-position="right" class="formadd" style="margin-top: -30px;">
|
|
<el-row class="first_row">
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>阶段名称</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item>
|
|
<el-input v-model="progressInfo.progressDescription" placeholder="阶段名称" style="width:100%"
|
|
class="addinputw" clearable />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>发生日期</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item> <el-date-picker v-model="progressInfo.orderDate" type="date" style="width: 100%;"
|
|
placeholder="选择日期" value-format="yyyy-MM-dd" /></el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>下一阶段</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item>
|
|
<el-input v-model="progressInfo.nextStage" placeholder="下一阶段" style="width:100%" class="addinputw"
|
|
clearable />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>备注</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item>
|
|
<el-form-item> <el-input v-model="progressInfo.remarks" placeholder="备注" style="width:100%"
|
|
class="addinputw" clearable /></el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<el-row>
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>相关附件</span>
|
|
</el-col>
|
|
<el-col :span="20" class="trightb">
|
|
<el-form-item>
|
|
<upload style="margin-top: 10px;" ref="uploadImg2" v-model="imgList2" :limit="9" @change="backData2"
|
|
bucket="map" :upload-data="{ type: '0001' }"></upload>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button @click="dialogClose6">取 消</el-button>
|
|
<el-button type="primary" @click="saveProgress()">保 存</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
|
|
<el-dialog title="用、还信记录" :close-on-click-modal="false" :visible.sync="dialogShow7" width="60%"
|
|
:before-close="dialogClose7">
|
|
|
|
<div class="step2Item" style="margin-top: -30px;">
|
|
|
|
<el-input v-model="creditLimitParams.params.money" placeholder="项目名称" style="width:200px" clearable />
|
|
<el-button type="primary" style="margin-left: 20px;" @click="getCreditLimit()">查询</el-button>
|
|
<el-button type="primary" style="margin-left: 20px;" @click="addCreditLimit1()">添加用信</el-button>
|
|
<el-button type="primary" style="margin-left: 20px;" @click="addCreditLimit2()">添加还信</el-button>
|
|
<el-button type="danger" style="margin-left: 20px;" @click="doCreditRecordDel()">删除</el-button>
|
|
|
|
</div>
|
|
|
|
<el-table :data="creditLimitData" border style="width: 98%;margin-left: 15px;margin-top: 10px;"
|
|
@selection-change="handleSelectionCreditRecordChange">
|
|
<el-table-column type="selection" align="center" width="50" />
|
|
<el-table-column label="序号" type="index" width="60" :index="indexMethod" align="center" />
|
|
<el-table-column label="操作" wid align="center" width="80">
|
|
<template slot-scope="scope">
|
|
<el-button type="primary" size="mini" @click="doCreditRecordEdit(scope.row)">编辑</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="项目名称" prop="projectname" align="center" />
|
|
<el-table-column label="填报日期" prop="tbdate" align="center" />
|
|
<el-table-column label="类型" prop="typename" align="center" />
|
|
<el-table-column label="金额" prop="money" align="center" />
|
|
<el-table-column label="性质" prop="creditNature" align="center" />
|
|
<el-table-column label="备注" prop="remarks" align="center" />
|
|
|
|
</el-table>
|
|
<div class="pages">
|
|
<pagination v-show="creditLimitData.length > 0" :total="creditLimitParams.total"
|
|
:page.sync="creditLimitParams.current" :limit.sync="creditLimitParams.size" class="pagination"
|
|
@pagination="getCreditLimit" />
|
|
</div>
|
|
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<!-- <el-button @click="dialogClose7">取 消</el-button> -->
|
|
<el-button type="primary" @click="saveSxtWarehouses()">关 闭</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
|
|
<el-dialog title="用、还信" :close-on-click-modal="false" :visible.sync="dialogShow2" width="60%"
|
|
:before-close="dialogClose2">
|
|
|
|
<el-form ref="form_daily" :model="creditLimitInfo" label-position="right" class="formadd"
|
|
style="margin-top: -30px;">
|
|
<el-row class="first_row">
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>项目名称</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item>
|
|
<span>{{creditLimitInfo.projectname}}</span>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>填报日期</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item> <el-date-picker v-model="creditLimitInfo.tbdate" type="date" style="width: 100%;"
|
|
placeholder="选择日期" value-format="yyyy-MM-dd" /></el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<el-row>
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>类型</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item>
|
|
<el-radio-group v-model="creditLimitInfo.type" :disabled="true">
|
|
<el-radio :label="1">用信</el-radio>
|
|
<el-radio :label="2">还信</el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>金额</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item>
|
|
<el-form-item> <el-input v-model="creditLimitInfo.money" placeholder="请输入金额" style="width:100%"
|
|
class="addinputw"
|
|
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')"
|
|
clearable /></el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>预计到货日期</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item> <el-date-picker v-model="creditLimitInfo.expectedDeliveryDate" type="date"
|
|
style="width: 100%;" placeholder="选择日期" value-format="yyyy-MM-dd" /></el-form-item>
|
|
</el-col>
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>预计完工日期</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item>
|
|
<el-form-item> <el-date-picker v-model="creditLimitInfo.expectedCompletionDate" type="date"
|
|
style="width: 100%;" placeholder="选择日期" value-format="yyyy-MM-dd" /></el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>性质</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item>
|
|
<el-input v-model="creditLimitInfo.creditNature" placeholder="性质" style="width:100%" class="addinputw"
|
|
clearable />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>备注</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item> <el-input v-model="creditLimitInfo.remarks" placeholder="请输入备注" style="width:100%"
|
|
class="addinputw" clearable /></el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>附件</span>
|
|
</el-col>
|
|
<el-col :span="20" class="trightb">
|
|
<el-form-item>
|
|
<upload style="margin-top: 10px;" ref="uploadImg2" v-model="imgList" :limit="9" @change="backData"
|
|
bucket="map" :upload-data="{ type: '0001' }"></upload>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button @click="dialogClose2">取 消</el-button>
|
|
<el-button type="primary" @click="saveFormobj()">保 存</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
|
|
<el-dialog title="监管日志记录" :close-on-click-modal="false" :visible.sync="dialogShow8" width="60%"
|
|
:before-close="dialogClose8">
|
|
|
|
<div class="step2Item" style="margin-top: -30px;">
|
|
|
|
<el-input v-model="logParams.params.name" placeholder="工作名称" style="width:200px" clearable />
|
|
<el-button type="primary" style="margin-left: 20px;" @click="getLogData()">查询</el-button>
|
|
<el-button type="primary" style="margin-left: 20px;" @click="addLog()">添加</el-button>
|
|
<el-button type="danger" style="margin-left: 20px;" @click="doLogDel()">删除</el-button>
|
|
|
|
</div>
|
|
|
|
<el-table :data="logData" border style="width: 98%;margin-left: 15px;margin-top: 10px;"
|
|
@selection-change="handleSelectionLogChange">
|
|
<el-table-column fixed width="50" type="selection" align="center" />
|
|
<el-table-column label="序号" type="index" width="60" :index="indexMethod" align="center" />
|
|
<el-table-column label="操作" wid align="center" width="80">
|
|
<template slot-scope="scope">
|
|
<el-button type="primary" size="mini" @click="doLogEdit(scope.row)">编辑</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="工作名称" prop="regulatoryWork" align="center" />
|
|
<el-table-column label="日期" prop="orderDate" align="center" />
|
|
<el-table-column label="下一步工作安排" prop="workArrangement" align="center" />
|
|
<el-table-column label="备注" prop="remarks" align="center" />
|
|
</el-table>
|
|
|
|
<div class="pages">
|
|
<pagination v-show="logData.length > 0" :total="logParams.total" :page.sync="logParams.current"
|
|
:limit.sync="logParams.size" class="pagination" @pagination="getLogData" />
|
|
</div>
|
|
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<!-- <el-button @click="dialogClose8">取 消</el-button> -->
|
|
<el-button type="primary" @click="dialogClose8()">关 闭</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
|
|
<el-dialog title="监管日志" :close-on-click-modal="false" :visible.sync="dialogShow9" width="60%"
|
|
:before-close="dialogClose9">
|
|
|
|
<el-form ref="form_daily" :model="logInfo" label-position="right" class="formadd" style="margin-top: -30px;">
|
|
<el-row class="first_row">
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>工作名称</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item>
|
|
<el-input v-model="logInfo.regulatoryWork" placeholder="工作名称" style="width:100%" class="addinputw"
|
|
clearable />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>日期</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item> <el-date-picker v-model="logInfo.orderDate" type="date" style="width: 100%;"
|
|
placeholder="选择日期" value-format="yyyy-MM-dd" /></el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>下一工作安排</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item>
|
|
<el-input v-model="logInfo.workArrangement" placeholder="下一工作安排" style="width:100%" class="addinputw"
|
|
clearable />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>备注</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item>
|
|
<el-form-item> <el-input v-model="logInfo.remarks" placeholder="备注" style="width:100%" class="addinputw"
|
|
clearable /></el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<el-row>
|
|
<el-col :span="4" class="tleftb2">
|
|
<span>相关附件</span>
|
|
</el-col>
|
|
<el-col :span="20" class="trightb">
|
|
<el-form-item>
|
|
<upload style="margin-top: 10px;" ref="uploadImg2" v-model="imgList3" :limit="9" @change="backData3"
|
|
bucket="map" :upload-data="{ type: '0001' }"></upload>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button @click="dialogClose9">取 消</el-button>
|
|
<el-button type="primary" @click="saveLog()">保 存</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
|
|
<el-dialog title="项目报告" :close-on-click-modal="false" :visible.sync="dialogShow3" width="60%"
|
|
:before-close="dialogClose3">
|
|
|
|
<el-form ref="form_daily" label-position="right" class="formadd" style="margin-top: -30px;">
|
|
<el-row class="first_row">
|
|
|
|
<el-col :span="4" class="tleftb2" style="padding-bottom: 10px;padding-top: 10px;">
|
|
<span>报告类型</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item style="padding-bottom: 10px;padding-top: 10px;">
|
|
<el-select v-model="reportInfo.typeValue" placeholder="报告类型" @change="seleReportType">
|
|
<el-option v-for="item in options" :key="item.nodeKey" :label="item.nodeValue" :value="item.nodeKey">
|
|
</el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="4" class="tleftb2" style="padding-bottom: 10px;padding-top: 10px;">
|
|
<span>上传报告</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item style="padding-bottom: 10px;padding-top: 10px;">
|
|
<el-upload class="upload-demo" :action="updateAction" :on-success="handleSuccess"
|
|
:on-remove="handleRemove" :file-list="uploadFileList">
|
|
<el-button size="small" type="primary" v-show="reportInfo.typeKey!=''">点击上传报告</el-button>
|
|
</el-upload>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<!-- <el-row>
|
|
<el-col :span="4" class="tleftb2" style="padding-bottom: 10px;padding-top: 10px;">
|
|
<span>竣工报告</span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item style="padding-bottom: 10px;padding-top: 10px;">
|
|
<el-upload class="upload-demo" :action="updateAction" :on-success="handleSuccess3"
|
|
:on-remove="handleRemove3" :file-list="uploadFileList3">
|
|
<el-button size="small" type="primary">点击上传报告</el-button>
|
|
</el-upload>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="4" class="tleftb2">
|
|
<span></span>
|
|
</el-col>
|
|
<el-col :span="8" class="trightb">
|
|
<el-form-item></el-form-item>
|
|
</el-col>
|
|
</el-row> -->
|
|
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button @click="dialogClose3">取 消</el-button>
|
|
<el-button type="primary" @click="saveReport()">保 存</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
|
|
<el-dialog title="关联仓库" :close-on-click-modal="false" :visible.sync="dialogShow4" width="60%"
|
|
:before-close="dialogClose4">
|
|
|
|
<div class="step2Item" style="margin-top: -30px;">
|
|
|
|
<el-select v-model="warehouseName" class="addinputw" placeholder="请选择仓库" style="width:20%" @change="getCangku">
|
|
<el-option v-for="item in seleWarehouseList" :label="item.warehouseName" :value="item.sid" />
|
|
</el-select>
|
|
|
|
<el-button type="primary" style="margin-left: 20px;" @click="addCangku()">添加</el-button>
|
|
|
|
</div>
|
|
|
|
<el-table :data="tieUpWarehouses.warehouse" border style="width: 98%;margin-left: 15px;margin-top: 10px;">
|
|
<!-- <el-table-column type="selection" align="center" width="50"/> -->
|
|
<el-table-column label="操作" wid align="center" width="116">
|
|
<template slot-scope="scope">
|
|
<el-button type="primary" size="mini" @click="doDel(scope.$index)">删除</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="仓库名称" prop="name" width="400" align="center" />
|
|
<el-table-column label="仓库地址" prop="address" align="center" />
|
|
<el-table-column label="联系人" prop="linkerName" width="120" align="center" />
|
|
<el-table-column label="联系电话" prop="linkerPhone" width="150" align="center" />
|
|
|
|
</el-table>
|
|
|
|
</el-form>
|
|
<span slot="footer" class="dialog-footer">
|
|
<el-button @click="dialogClose4">取 消</el-button>
|
|
<el-button type="primary" @click="saveSxtWarehouses()">保 存</el-button>
|
|
</span>
|
|
</el-dialog>
|
|
|
|
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import req from '@/api/project/project'
|
|
import Pagination from '@/components/pagination'
|
|
import pageye from '@/components/pagination/pageye'
|
|
import ButtonBar from '@/components/ButtonBar'
|
|
// import projectAdd from './projectAdd2.vue'
|
|
// import projectInfo from './projectInfo2.vue'
|
|
import upload from '@/components/uploadFile/upload_yanchejianchaTuBiao.vue'
|
|
export default {
|
|
name: 'CustomerManagement',
|
|
components: {
|
|
Pagination,
|
|
pageye,
|
|
ButtonBar,
|
|
upload
|
|
// projectAdd,
|
|
// projectInfo,
|
|
|
|
},
|
|
data() {
|
|
return {
|
|
listLoading: false,
|
|
btndisabled: false,
|
|
btnList: [
|
|
// {
|
|
// type: 'primary',
|
|
// size: 'small',
|
|
// icon: 'plus',
|
|
// btnKey: 'toAdd',
|
|
// btnLabel: '新增'
|
|
// },
|
|
|
|
{
|
|
type: 'info',
|
|
size: 'small',
|
|
icon: 'cross',
|
|
btnKey: 'doClose',
|
|
btnLabel: '关闭'
|
|
}
|
|
],
|
|
isSearchShow: false,
|
|
searchxianshitit: '显示查询条件',
|
|
list: [],
|
|
listQuery: {
|
|
current: 1,
|
|
size: 10,
|
|
params: {
|
|
entryName: '',
|
|
projectType: '',
|
|
bankSid: '',
|
|
stateSid: 'b2a9f856-016e-4880-ba1c-261ac4edc8ec',
|
|
stateName: '正式监管',
|
|
},
|
|
total: 0
|
|
},
|
|
viewState: 1,
|
|
storehouseList: [],
|
|
ProjectTypeList: [],
|
|
stateList: [],
|
|
dialogShow: false,
|
|
dialogShow2: false,
|
|
dialogShow3: false,
|
|
dialogShow4: false,
|
|
dialogShow5: false,
|
|
dialogShow6: false,
|
|
dialogShow7: false,
|
|
dialogShow8: false,
|
|
dialogShow9: false,
|
|
options: [],
|
|
projectState: {
|
|
sid: "",
|
|
nodeKey: "",
|
|
nodeValue: ""
|
|
},
|
|
radio: 1,
|
|
imgList: [],
|
|
imgList2: [],
|
|
imgList3: [],
|
|
imgList4: [],
|
|
updateAction: process.env.VUE_APP_BASE_API + '/projectdaily/uploadfile',
|
|
uploadFileList: [],
|
|
reportFileList: [],
|
|
warehouseName: '',
|
|
cangKu: {},
|
|
seleWarehouseList: [],
|
|
tieUpWarehouses: {
|
|
sid: "",
|
|
warehouse: []
|
|
},
|
|
reportInfo: {
|
|
mainsid: "",
|
|
typeKey: '',
|
|
typeValue: '',
|
|
reportList: [],
|
|
},
|
|
progressParams: {
|
|
current: 1,
|
|
size: 10,
|
|
params: {
|
|
name: '',
|
|
projectSid: ""
|
|
},
|
|
total: 0
|
|
},
|
|
progressData: [],
|
|
progressSids: [],
|
|
progressInfo: {
|
|
projectSid: '',
|
|
progressDescription: '',
|
|
nextStage: '',
|
|
orderDate: '',
|
|
remarks: '',
|
|
urls: []
|
|
},
|
|
|
|
creditLimitParams: {
|
|
current: 1,
|
|
size: 10,
|
|
params: {
|
|
name: '',
|
|
projectsid: ""
|
|
},
|
|
total: 0
|
|
},
|
|
creditLimitData: [],
|
|
creditRecordSids: [],
|
|
creditRecordList: [],
|
|
creditLimitInfo: {
|
|
usersid: window.sessionStorage.getItem('userSid'),
|
|
projectname: "",
|
|
projectsid: '',
|
|
tbdate: "",
|
|
expectedCompletionDate: "",
|
|
expectedDeliveryDate: "",
|
|
creditNature: "",
|
|
type: 1,
|
|
money: "",
|
|
pzfiles: [],
|
|
remarks: "",
|
|
psid: ""
|
|
},
|
|
|
|
logParams: {
|
|
current: 1,
|
|
size: 10,
|
|
params: {
|
|
name: '',
|
|
projectSid: ""
|
|
},
|
|
total: 0
|
|
},
|
|
logData: [],
|
|
logSids: [],
|
|
logInfo: {
|
|
projectSid: '',
|
|
regulatoryWork: '',
|
|
workArrangement: '',
|
|
orderDate: '',
|
|
remarks: '',
|
|
urls: []
|
|
}
|
|
}
|
|
},
|
|
mounted() {
|
|
this.$refs['btnbar'].setButtonList(this.btnList)
|
|
},
|
|
created() {
|
|
this.init()
|
|
// 加载列表
|
|
},
|
|
methods: {
|
|
seleProjectState(val) {
|
|
const choose = this.options.filter((item) => item.nodeKey == val)
|
|
console.log('>>>>>>>>>seleProjectState', choose)
|
|
this.projectState.nodeValue = choose[0].nodeValue
|
|
this.projectState.nodeKey = choose[0].nodeKey
|
|
},
|
|
toPhase(row) {
|
|
|
|
this.projectState = {
|
|
sid: row.sid,
|
|
nodeKey: row.nodeKey,
|
|
nodeValue: row.nodeValue
|
|
}
|
|
|
|
req.getNodeByProjectSid({
|
|
projectSid: row.sid
|
|
}).then((res) => {
|
|
console.log(">>>>>>>>>getNodeByProjectSid", res.data)
|
|
this.options = res.data
|
|
this.dialogShow = true
|
|
})
|
|
},
|
|
dialogClose() {
|
|
console.log(">>>>>>>>>dialogClose", this.projectState)
|
|
this.projectState = {
|
|
sid: "",
|
|
nodeKey: "",
|
|
nodeValue: ""
|
|
}
|
|
this.dialogShow = false
|
|
},
|
|
saveProjectState() {
|
|
|
|
req.updatePhase(this.projectState).then((res) => {
|
|
console.log(">>>>>>>>>updatePhase", res.data)
|
|
this.getList()
|
|
this.dialogShow = false
|
|
})
|
|
|
|
},
|
|
toCreditLimit(row) {
|
|
|
|
this.creditLimitParams.params.projectsid = row.sid
|
|
this.creditLimitParams.params.projectname = row.entryName
|
|
this.creditLimitInfo.projectsid = row.sid
|
|
this.creditLimitInfo.projectname = row.entryName
|
|
|
|
this.dialogShow7 = true
|
|
this.getCreditLimit()
|
|
},
|
|
getCreditLimit() {
|
|
req.getCreditRecord(this.creditLimitParams).then((response) => {
|
|
console.log(">>>>>>>>>getCreditLimit", response.data)
|
|
if (response.success) {
|
|
this.creditLimitData = response.data.records
|
|
this.creditLimitParams.total = response.data.total
|
|
} else {
|
|
this.creditLimitData = []
|
|
this.creditLimitParams.total = 0
|
|
}
|
|
|
|
})
|
|
},
|
|
|
|
dialogClose7() {
|
|
this.dialogShow7 = false
|
|
},
|
|
|
|
addCreditLimit1() {
|
|
this.dialogShow2 = true
|
|
this.creditLimitInfo.type = 1
|
|
},
|
|
addCreditLimit2() {
|
|
|
|
if (this.creditRecordSids.length != 1) {
|
|
this.$message({
|
|
showClose: true,
|
|
type: 'warning',
|
|
message: '请选择一条记录进行操作'
|
|
})
|
|
return
|
|
}
|
|
|
|
if (this.creditRecordList[0].type != '1') {
|
|
this.$message({
|
|
showClose: true,
|
|
type: 'warning',
|
|
message: '请选择用信记录进行还信操作'
|
|
})
|
|
return
|
|
}
|
|
|
|
this.creditLimitInfo.psid = this.creditRecordSids[0]
|
|
this.creditLimitInfo.type = 2
|
|
this.creditLimitInfo.projectsid = this.creditRecordList[0].projectsid
|
|
this.creditLimitInfo.projectname = this.creditRecordList[0].projectname
|
|
this.dialogShow2 = true
|
|
|
|
},
|
|
handleSelectionCreditRecordChange(val) {
|
|
console.log("val", val);
|
|
const aa = []
|
|
val.forEach(element => {
|
|
aa.push(element.sid)
|
|
})
|
|
this.creditRecordList = val
|
|
this.creditRecordSids = aa
|
|
},
|
|
doCreditRecordEdit(row) {
|
|
this.creditLimitInfo = row
|
|
this.imgList = []
|
|
for (var i = 0; i < this.creditLimitInfo.pzfiles.length; i++) {
|
|
this.imgList.push({
|
|
url: this.creditLimitInfo.pzfiles[i]
|
|
})
|
|
}
|
|
|
|
this.dialogShow2 = true
|
|
|
|
},
|
|
doCreditRecordDel() {
|
|
if (this.creditRecordSids.length > 0) {
|
|
const tip = '请确认是否删除所选记录?'
|
|
this.$confirm(tip, '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
req.delCreditRecord(this.creditRecordSids).then((response) => {
|
|
if (response.success) {
|
|
this.$message({
|
|
showClose: true,
|
|
type: 'success',
|
|
message: '删除成功'
|
|
})
|
|
this.getCreditLimit()
|
|
} else {
|
|
this.$message({
|
|
showClose: true,
|
|
type: 'error',
|
|
message: '删除失败'
|
|
})
|
|
}
|
|
})
|
|
})
|
|
} else {
|
|
this.$message({
|
|
showClose: true,
|
|
type: 'warning',
|
|
message: '请至少选择一条记录进行删除操作'
|
|
})
|
|
}
|
|
},
|
|
dialogClose2() {
|
|
console.log("creditLimitInfo", this.creditLimitInfo)
|
|
this.dialogShow2 = false
|
|
this.imgList = []
|
|
this.creditLimitInfo = {
|
|
usersid: window.sessionStorage.getItem('userSid'),
|
|
projectname: this.creditLimitParams.params.projectname,
|
|
projectsid: this.creditLimitParams.params.projectsid,
|
|
tbdate: "",
|
|
expectedCompletionDate: "",
|
|
expectedDeliveryDate: "",
|
|
creditNature: "",
|
|
type: 1,
|
|
money: "",
|
|
pzfiles: [],
|
|
remarks: "",
|
|
psid: ""
|
|
}
|
|
},
|
|
radioChange(val) {
|
|
console.log("radioChange", val)
|
|
|
|
this.creditLimitInfo.creditNature = val
|
|
|
|
},
|
|
backData(value) {
|
|
console.log(value, 999)
|
|
console.log("imgList", this.imgList)
|
|
const aa = []
|
|
this.creditLimitInfo.pzfiles = []
|
|
if (value.length > 0 && value != null && value != undefined) {
|
|
for (var i = 0; i < value.length; i++) {
|
|
aa.push(value[i].url)
|
|
}
|
|
}
|
|
this.creditLimitInfo.pzfiles = aa
|
|
|
|
},
|
|
saveFormobj() {
|
|
console.log("creditLimitInfo", this.creditLimitInfo)
|
|
|
|
req.saveCreditRecord(this.creditLimitInfo).then((res) => {
|
|
console.log(">>>>>>>>>saveCreditRecord", res.data)
|
|
this.dialogShow2 = false
|
|
this.imgList = []
|
|
this.getCreditLimit()
|
|
this.creditLimitInfo = {
|
|
usersid: window.sessionStorage.getItem('userSid'),
|
|
projectname: this.creditLimitParams.params.projectname,
|
|
projectsid: this.creditLimitParams.params.projectsid,
|
|
tbdate: "",
|
|
expectedCompletionDate: "",
|
|
expectedDeliveryDate: "",
|
|
creditNature: "",
|
|
type: 1,
|
|
money: "",
|
|
pzfiles: [],
|
|
remarks: "",
|
|
psid: ""
|
|
}
|
|
})
|
|
|
|
},
|
|
|
|
toReport(row) {
|
|
this.reportInfo.mainsid = row.sid
|
|
req.getNodeByProjectSid({
|
|
projectSid: row.sid
|
|
}).then((res) => {
|
|
console.log(">>>>>>>>>getNodeByProjectSid", res.data)
|
|
this.options = res.data
|
|
this.dialogShow3 = true
|
|
})
|
|
},
|
|
seleReportType(val) {
|
|
console.log(">>>>>>>>>seleReportType1111", val)
|
|
const choose = this.options.filter((item) => item.nodeKey == val)
|
|
console.log('>>>>>>>>>seleReportType', choose)
|
|
this.reportInfo.typeKey = choose[0].nodeKey
|
|
this.reportInfo.typeValue = choose[0].nodeValue
|
|
|
|
},
|
|
|
|
dialogClose3() {
|
|
this.dialogShow3 = false
|
|
},
|
|
saveReport() {
|
|
|
|
var fileTypeName = ''
|
|
|
|
if (this.reportInfo.typeValue == '在途') {
|
|
fileTypeName = "到货验收报告"
|
|
}
|
|
if (this.reportInfo.typeValue == '在建') {
|
|
fileTypeName = "在建查验报告"
|
|
}
|
|
if (this.reportInfo.typeValue == '竣工') {
|
|
fileTypeName = "竣工报告"
|
|
}
|
|
|
|
for (var i = 0; i < this.reportFileList.length; i++) {
|
|
var item = {
|
|
url: this.reportFileList[i].fullUrl,
|
|
absolutePath: this.reportFileList[i].filePath,
|
|
name: fileTypeName,
|
|
fileSrcName: this.reportFileList[i].fileSrcName,
|
|
}
|
|
this.reportInfo.reportList.push(item)
|
|
}
|
|
console.log('saveReport', this.reportInfo)
|
|
|
|
req.saveProjectReport(this.reportInfo).then((res) => {
|
|
this.uploadFileList = []
|
|
this.reportFileList = []
|
|
this.reportInfo.reportList = []
|
|
this.dialogShow3 = false
|
|
})
|
|
|
|
},
|
|
|
|
handleSuccess(resp, file, fileList) {
|
|
console.log('handleSuccess----', resp)
|
|
const _this = this
|
|
const upfile = {
|
|
fileTypeId: 6, // '文件类型: 1=帐户余额;2=应收账款;3=库存货值;4=在途货值;5=预付款;',
|
|
fileTypeName: '项目报告', // '文件类型名: 1=帐户余额;2=应收账款;3=库存货值;4=在途货值;5=预付款',
|
|
fileSrcName: resp.data.sourceFileName, // '原文件名',
|
|
filePath: resp.data.filePath, // '文件的相对路径',
|
|
fullUrl: resp.data.fullUrl, // '文件完整的访问URL',
|
|
fileuid: file.uid // '文件完整的访问URL',
|
|
}
|
|
_this.reportFileList.push(upfile)
|
|
},
|
|
handleRemove(file, fileList) {
|
|
const _this = this
|
|
let delete_index = 0
|
|
for (let i = 0, len = _this.reportFileList.length; i < len; i++) {
|
|
if (file.uid === _this.reportFileList[i].fileuid) {
|
|
delete_index = i
|
|
break
|
|
}
|
|
}
|
|
_this.reportFileList.splice(delete_index, 1)
|
|
},
|
|
|
|
getSxtWarehouses(sid) {
|
|
req.getSxtWarehouses({
|
|
sid: sid
|
|
}).then((res) => {
|
|
console.log(">>>>>>>>>getSxtWarehouses", res.data)
|
|
this.seleWarehouseList = res.data
|
|
})
|
|
},
|
|
|
|
toTieUp(row) {
|
|
this.tieUpWarehouses.sid = row.sid
|
|
|
|
req.initProjectWarehouses(row.sid).then((res) => {
|
|
console.log(">>>>>>>>>initProjectWarehouses", res.data)
|
|
this.tieUpWarehouses.warehouse = res.data.warehouse
|
|
this.dialogShow4 = true
|
|
})
|
|
|
|
this.getSxtWarehouses(row.sid)
|
|
|
|
},
|
|
getCangku(value) {
|
|
|
|
const choose = this.seleWarehouseList.filter((item) => item.sid === value)
|
|
|
|
this.cangKu.name = choose[0].warehouseName
|
|
this.cangKu.shSid = choose[0].sid
|
|
this.cangKu.address = choose[0].address
|
|
this.cangKu.linkerName = choose[0].contacts
|
|
this.cangKu.linkerPhone = choose[0].mob
|
|
|
|
},
|
|
|
|
addCangku() {
|
|
|
|
console.log(">>>>>>>>>addCangku", this.cangKu)
|
|
console.log(">>>>>>>>>addCangku", this.tieUpWarehouses.warehouse)
|
|
|
|
var info = {
|
|
shSid: this.cangKu.shSid,
|
|
name: this.cangKu.name,
|
|
address: this.cangKu.address,
|
|
linkerName: this.cangKu.linkerName,
|
|
linkerPhone: this.cangKu.linkerPhone,
|
|
}
|
|
const choose = this.tieUpWarehouses.warehouse.filter((item) => item.shSid === info.shSid)
|
|
console.log(">>>>>>>>>addCangku", choose)
|
|
if (choose.length == 0)
|
|
this.tieUpWarehouses.warehouse.push(info)
|
|
else
|
|
this.$message({
|
|
showClose: true,
|
|
type: 'error',
|
|
message: "请勿重复添加!"
|
|
})
|
|
},
|
|
doDel(index) {
|
|
this.tieUpWarehouses.warehouse.splice(index, 1)
|
|
},
|
|
dialogClose4() {
|
|
this.dialogShow4 = false
|
|
},
|
|
saveSxtWarehouses() {
|
|
|
|
req.saveSxtWarehouses(this.tieUpWarehouses).then((res) => {
|
|
console.log(">>>>>>>>>saveSxtWarehouses", res.data)
|
|
this.dialogShow4 = false
|
|
this.warehouseName = ''
|
|
})
|
|
|
|
},
|
|
|
|
|
|
getState(value) {
|
|
console.log(">>>>>>>>>getState", value)
|
|
const choose = this.stateList.filter((item) => item.sid === value)
|
|
console.log(">>>>>>>>>getState", choose)
|
|
this.listQuery.params.stateSid = choose[0].sid
|
|
|
|
},
|
|
btnHandle(btnKey) {
|
|
switch (btnKey) {
|
|
// case 'toAdd':
|
|
// this.toAdd()
|
|
// break
|
|
|
|
case 'doClose':
|
|
this.doClose()
|
|
break
|
|
default:
|
|
break
|
|
}
|
|
},
|
|
// 搜索条件效果
|
|
clicksearchShow() {
|
|
this.isSearchShow = !this.isSearchShow
|
|
if (this.isSearchShow) {
|
|
this.searchxianshitit = '隐藏查询条件'
|
|
} else {
|
|
this.searchxianshitit = '显示查询条件'
|
|
}
|
|
},
|
|
// 初始化
|
|
init() {
|
|
this.getList()
|
|
this.getBankName()
|
|
},
|
|
// 序号
|
|
indexMethod(index) {
|
|
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
|
|
var pageindex = index + 1 + pagestart
|
|
return pageindex
|
|
},
|
|
getBankName() {
|
|
req.getUserListByOrg().then((res) => {
|
|
console.log(">>>>>>>>>getBankName", res.data)
|
|
this.storehouseList = res.data
|
|
})
|
|
req.getProjectType().then((res) => {
|
|
console.log(">>>>>>>>>getProjectType", res.data)
|
|
this.ProjectTypeList = res.data
|
|
})
|
|
|
|
req.getProjtypedstated().then((res) => {
|
|
console.log(">>>>>>>>>getProjtypedstated", res.data)
|
|
this.stateList = res.data
|
|
this.stateList.unshift({
|
|
name: '全部',
|
|
sid: '',
|
|
})
|
|
})
|
|
},
|
|
// 查询列表信息
|
|
getList() {
|
|
this.listLoading = true
|
|
req.listPage(this.listQuery).then((response) => {
|
|
this.listLoading = false
|
|
console.log(">>>>>>>>>listPage", response.data)
|
|
if (response.success) {
|
|
this.list = response.data.records
|
|
this.listQuery.total = response.data.total
|
|
} else {
|
|
this.list = []
|
|
this.listQuery.total = 0
|
|
}
|
|
})
|
|
},
|
|
// 查询按钮
|
|
handleReset() {
|
|
this.listQuery.current = 1
|
|
this.getList()
|
|
},
|
|
// 重置
|
|
handleFilter() {
|
|
this.listQuery = {
|
|
current: 1,
|
|
size: 10,
|
|
total: 0,
|
|
params: {
|
|
entryName: '',
|
|
projectType: '',
|
|
bankSid: '',
|
|
stateSid: 'b2a9f856-016e-4880-ba1c-261ac4edc8ec',
|
|
stateName: '正式监管',
|
|
}
|
|
}
|
|
this.getList()
|
|
},
|
|
// 打开添加
|
|
toAdd() {
|
|
this.viewState = 2
|
|
this.$refs['divAdd'].showAdd()
|
|
},
|
|
// 打开修改
|
|
toEdit(row) {
|
|
this.viewState = 3
|
|
this.$refs['divAdd'].showEdit(row)
|
|
},
|
|
// 根据本行ID删除数据
|
|
doDelss(row) {
|
|
const tip = '请确认是否删除所选记录?'
|
|
this.$confirm(tip, '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
req.delBySids(row.sid).then((response) => {
|
|
if (response.success) {
|
|
this.$message({
|
|
showClose: true,
|
|
type: 'success',
|
|
message: '删除成功'
|
|
})
|
|
this.getList()
|
|
} else {
|
|
this.$message({
|
|
showClose: true,
|
|
type: 'error',
|
|
message: '删除失败'
|
|
})
|
|
}
|
|
})
|
|
})
|
|
},
|
|
toDetail(row) {
|
|
this.viewState = 4
|
|
this.$refs['divInfo'].showAdd(row.sid)
|
|
},
|
|
resetState() {
|
|
this.viewState = 1
|
|
},
|
|
jump(sid) {
|
|
console.log("jump", sid)
|
|
this.viewState = 2
|
|
this.$refs['divAdd'].showAdd(sid)
|
|
},
|
|
close(sid) {
|
|
this.viewState = 4
|
|
this.$refs['divInfo'].showAdd(sid)
|
|
},
|
|
doClose() {
|
|
this.$store.dispatch('tagsView/delView', this.$route)
|
|
this.$router.go(-1)
|
|
},
|
|
toProgress(row) {
|
|
|
|
this.progressParams.params.projectSid = row.sid
|
|
this.progressInfo.projectSid = row.sid
|
|
this.dialogShow5 = true
|
|
this.getProgressData()
|
|
},
|
|
|
|
getProgressData() {
|
|
|
|
req.getProgress(this.progressParams).then((response) => {
|
|
console.log(">>>>>>>>>toProgress", response.data)
|
|
if (response.success) {
|
|
this.progressData = response.data.records
|
|
this.progressParams.total = response.data.total
|
|
} else {
|
|
this.progressData = []
|
|
this.progressParams.total = 0
|
|
}
|
|
|
|
})
|
|
},
|
|
|
|
dialogClose5() {
|
|
this.dialogShow5 = false
|
|
},
|
|
addProgress() {
|
|
this.dialogShow6 = true
|
|
|
|
},
|
|
handleSelectionProgressChange(val) {
|
|
console.log("val", val);
|
|
const aa = []
|
|
val.forEach(element => {
|
|
aa.push(element.sid)
|
|
})
|
|
this.progressSids = aa
|
|
},
|
|
doProgressEdit(row) {
|
|
this.progressInfo = row
|
|
for (var i = 0; i < this.progressInfo.urls.length; i++) {
|
|
this.imgList2.push({
|
|
url: this.progressInfo.urls[i]
|
|
})
|
|
}
|
|
console.log("this.imgList2", this.imgList2)
|
|
this.dialogShow6 = true
|
|
},
|
|
doProgressDel(index) {
|
|
|
|
if (this.progressSids.length > 0) {
|
|
const tip = '请确认是否删除所选记录?'
|
|
this.$confirm(tip, '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
req.delProgress(this.progressSids).then((response) => {
|
|
if (response.success) {
|
|
this.$message({
|
|
showClose: true,
|
|
type: 'success',
|
|
message: '删除成功'
|
|
})
|
|
this.getProgressData()
|
|
} else {
|
|
this.$message({
|
|
showClose: true,
|
|
type: 'error',
|
|
message: '删除失败'
|
|
})
|
|
}
|
|
})
|
|
})
|
|
} else {
|
|
this.$message({
|
|
showClose: true,
|
|
type: 'warning',
|
|
message: '请至少选择一条记录进行删除操作'
|
|
})
|
|
}
|
|
},
|
|
backData2(value) {
|
|
console.log(value, 999)
|
|
console.log("imgList", this.imgList2)
|
|
const aa = []
|
|
this.progressInfo.urls = []
|
|
if (value.length > 0 && value != null && value != undefined) {
|
|
for (var i = 0; i < value.length; i++) {
|
|
aa.push(value[i].url)
|
|
}
|
|
}
|
|
this.progressInfo.urls = aa
|
|
|
|
},
|
|
saveProgress() {
|
|
req.saveProgress(this.progressInfo).then((res) => {
|
|
this.dialogShow6 = false
|
|
this.getProgressData()
|
|
this.progressInfo = {
|
|
projectSid: this.progressParams.params.projectSid,
|
|
progressDescription: '',
|
|
nextStage: '',
|
|
orderDate: '',
|
|
remarks: '',
|
|
urls: []
|
|
}
|
|
this.imgList2 = []
|
|
})
|
|
},
|
|
dialogClose6() {
|
|
this.dialogShow6 = false
|
|
this.progressInfo = {
|
|
projectSid: this.progressParams.params.projectSid,
|
|
progressDescription: '',
|
|
nextStage: '',
|
|
orderDate: '',
|
|
remarks: '',
|
|
urls: []
|
|
}
|
|
this.imgList2 = []
|
|
},
|
|
|
|
toLog(row) {
|
|
this.logParams.params.projectSid = row.sid
|
|
this.logInfo.projectSid = row.sid
|
|
this.dialogShow8 = true
|
|
this.getLogData()
|
|
},
|
|
getLogData() {
|
|
req.getLog(this.logParams).then((response) => {
|
|
console.log(">>>>>>>>>toLog", response.data)
|
|
if (response.success) {
|
|
this.logData = response.data.records
|
|
this.logParams.total = response.data.total
|
|
} else {
|
|
this.logData = []
|
|
this.logParams.total = 0
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
dialogClose8() {
|
|
this.dialogShow8 = false
|
|
},
|
|
addLog(row) {
|
|
this.dialogShow9 = true
|
|
},
|
|
handleSelectionLogChange(val) {
|
|
|
|
console.log("val", val);
|
|
const aa = []
|
|
val.forEach(element => {
|
|
aa.push(element.sid)
|
|
})
|
|
this.logSids = aa
|
|
},
|
|
doLogEdit(row) {
|
|
this.logInfo = row
|
|
for (var i = 0; i < this.logInfo.urls.length; i++) {
|
|
this.imgList3.push({
|
|
url: this.logInfo.urls[i]
|
|
})
|
|
}
|
|
console.log("this.imgList3", this.imgList3)
|
|
this.dialogShow9 = true
|
|
},
|
|
doLogDel() {
|
|
|
|
if (this.logSids.length > 0) {
|
|
const tip = '请确认是否删除所选记录?'
|
|
this.$confirm(tip, '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
req.delLog(this.logSids).then((response) => {
|
|
if (response.success) {
|
|
this.$message({
|
|
showClose: true,
|
|
type: 'success',
|
|
message: '删除成功'
|
|
})
|
|
this.getLogData()
|
|
} else {
|
|
this.$message({
|
|
showClose: true,
|
|
type: 'error',
|
|
message: '删除失败'
|
|
})
|
|
}
|
|
})
|
|
})
|
|
} else {
|
|
this.$message({
|
|
showClose: true,
|
|
type: 'warning',
|
|
message: '请至少选择一条记录进行删除操作'
|
|
})
|
|
}
|
|
},
|
|
|
|
backData3(value) {
|
|
console.log(value, 999)
|
|
console.log("imgList", this.imgList3)
|
|
const aa = []
|
|
this.logInfo.urls = []
|
|
if (value.length > 0 && value != null && value != undefined) {
|
|
for (var i = 0; i < value.length; i++) {
|
|
aa.push(value[i].url)
|
|
}
|
|
}
|
|
this.logInfo.urls = aa
|
|
|
|
},
|
|
saveLog() {
|
|
req.saveLog(this.logInfo).then((res) => {
|
|
this.dialogShow9 = false
|
|
this.getLogData()
|
|
this.logInfo = {
|
|
projectSid: this.logParams.params.projectSid,
|
|
regulatoryWork: '',
|
|
workArrangement: '',
|
|
orderDate: '',
|
|
remarks: '',
|
|
urls: []
|
|
}
|
|
this.imgList3 = []
|
|
})
|
|
},
|
|
|
|
dialogClose9() {
|
|
this.dialogShow9 = false
|
|
this.logInfo = {
|
|
projectSid: this.logParams.params.projectSid,
|
|
regulatoryWork: '',
|
|
workArrangement: '',
|
|
orderDate: '',
|
|
remarks: '',
|
|
urls: []
|
|
}
|
|
this.imgList3 = []
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
<style scoped>
|
|
.wenjiantit {
|
|
font-size: 16px;
|
|
font-weight: bold;
|
|
margin: 25px 0 10px 0;
|
|
}
|
|
|
|
.forminfo {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.listcon {
|
|
height: calc(100vh - 250px);
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
.tleftb2 {
|
|
text-align: center;
|
|
font-size: 14px;
|
|
color: #606266;
|
|
line-height: 40px !important;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.tleftb3 {
|
|
display: flex;
|
|
height: 100%;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
justify-content: center;
|
|
text-align: center;
|
|
font-size: 14px;
|
|
color: #666666;
|
|
}
|
|
|
|
.step2Item {
|
|
display: flex;
|
|
flex-direction: row;
|
|
align-items: center;
|
|
margin-left: 20px;
|
|
padding-top: 15px;
|
|
padding-bottom: 15px;
|
|
|
|
}
|
|
|
|
.step2ItemBtn {
|
|
margin-left: 20px;
|
|
color: #fff;
|
|
background-color: #0294D7;
|
|
padding: 5px 15px;
|
|
border-radius: 5px;
|
|
}
|
|
</style>
|
|
|