|
@@ -0,0 +1,664 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <div class="sty">
|
|
|
+ <el-page-header @back="goBack" :content="title"> </el-page-header>
|
|
|
+ </div>
|
|
|
+ <el-divider></el-divider>
|
|
|
+
|
|
|
+ <h3>工程项目信息</h3>
|
|
|
+ <el-divider></el-divider>
|
|
|
+ <div class="diy-table-1">
|
|
|
+ <el-row :gutter="0">
|
|
|
+ <el-col :xs="12" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">
|
|
|
+ {{
|
|
|
+ detailList.enginOrderType == "HOME"
|
|
|
+ ? "工程登录编号"
|
|
|
+ : "工程信息编号"
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
+ <div class="value">{{ detailList.refEnginRecordNo }}</div>
|
|
|
+ </el-col>
|
|
|
+ <!-- <el-col :xs="12" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">工程信息编号</div>
|
|
|
+ <div class="value">{{ detailList.refEnginRecordNo }}</div>
|
|
|
+ </el-col> -->
|
|
|
+ <el-col :xs="12" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">项目类别</div>
|
|
|
+ <div class="value">{{ detailList.refProjectName }}</div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="12" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">行业类别</div>
|
|
|
+ <div class="value">
|
|
|
+ {{ detailList.refTradeCategory }}
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">跨区厂编号</div>
|
|
|
+ <div class="value">{{ detailList.refFactoryNo }}</div>
|
|
|
+ </el-col> -->
|
|
|
+ <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">使用单位</div>
|
|
|
+ <div class="value">{{ detailList.refUseUnit }}</div>
|
|
|
+ </el-col>
|
|
|
+ <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">经销商二级代码</div>
|
|
|
+ <div class="value">{{detailList.}}</div>
|
|
|
+ </el-col> -->
|
|
|
+ <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">业务员</div>
|
|
|
+ <div class="value">{{ detailList.serviceName }}</div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">联系人</div>
|
|
|
+ <div class="value">{{ detailList.refLinkman }}</div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">固定电话</div>
|
|
|
+ <div class="value">{{ detailList.refTel }}</div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">移动电话</div>
|
|
|
+ <div class="value">{{ detailList.refPhone }}</div>
|
|
|
+ </el-col>
|
|
|
+ <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">移动电话</div>
|
|
|
+ <div class="value">
|
|
|
+ <el-input
|
|
|
+ :disabled="title == '详情'"
|
|
|
+ placeholder="请输入"
|
|
|
+ v-model="detailList.refPhone"
|
|
|
+ ></el-input>
|
|
|
+ </div>
|
|
|
+ </el-col> -->
|
|
|
+ <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">押金比例</div>
|
|
|
+ <div class="value">{{detailList.}}</div>
|
|
|
+ </el-col> -->
|
|
|
+
|
|
|
+ <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">单据状态</div>
|
|
|
+ <div class="value">
|
|
|
+ {{
|
|
|
+ detailList.examineStatus == "SAVE"
|
|
|
+ ? "保存"
|
|
|
+ : detailList.examineStatus == "WAIT"
|
|
|
+ ? "待审核"
|
|
|
+ : detailList.examineStatus == "OK"
|
|
|
+ ? "通过"
|
|
|
+ : detailList.examineStatus == "FAIL"
|
|
|
+ ? "不通过"
|
|
|
+ : "关闭"
|
|
|
+ }}
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">销售类型</div>
|
|
|
+ <div class="value">{{ detailList.saleTypeName }}</div>
|
|
|
+ </el-col>
|
|
|
+ <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">不扣押金</div>
|
|
|
+ <div class="value">{{ detailList.customerName }}</div>
|
|
|
+ </el-col> -->
|
|
|
+ <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">第几次申报</div>
|
|
|
+ <div class="value">{{ detailList.refDeclareNo }}</div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">项目类型</div>
|
|
|
+ <div class="value">{{ detailList.refProjectType }}</div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">经销商编码</div>
|
|
|
+ <div class="value">{{ detailList.customerNumber }}</div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">押金总额</div>
|
|
|
+ <div class="value">{{ detailList.depositAmount }}</div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">安装时间</div>
|
|
|
+ <div class="value">
|
|
|
+ <el-date-picker prefix-icon="''" placeholder="请选择安装时间" :disabled="title == '详情'" class="selectStyle" v-model="detailList.installDate" type="datetime" default-time="00:00:00" value-format="yyyy-MM-dd HH:mm:ss">
|
|
|
+ </el-date-picker>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :lg="16" class="item">
|
|
|
+ <div class="label">安装地址</div>
|
|
|
+ <div class="value">{{ detailList.refInstallAddress }}</div>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">工程订单号</div>
|
|
|
+ <div class="value">{{ detailList.customerName }}</div>
|
|
|
+ </el-col> -->
|
|
|
+ <el-col :xs="24" :sm="24" :lg="16" class="item">
|
|
|
+ <div class="label">经销商名称</div>
|
|
|
+ <div class="value">{{ detailList.customerName }}</div>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col :xs="24" :sm="24" :lg="16" class="item">
|
|
|
+ <div class="label">项目说明</div>
|
|
|
+ <div class="value">{{ detailList.refProjectNote }}</div>
|
|
|
+ </el-col>
|
|
|
+ <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">订单日期</div>
|
|
|
+ <div class="value">{{ detailList.customerName }}</div>
|
|
|
+ </el-col> -->
|
|
|
+
|
|
|
+ <!-- <el-col :xs="24" :sm="24" :lg="16" class="item">
|
|
|
+ <div class="label">格力内部备注</div>
|
|
|
+ <div class="value">{{ detailList.customerName }}</div>
|
|
|
+ </el-col> -->
|
|
|
+ <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">文件编码</div>
|
|
|
+ <div class="value">{{ detailList.customerName }}</div>
|
|
|
+ </el-col> -->
|
|
|
+ <el-col :xs="24" :sm="24" :lg="16" class="item">
|
|
|
+ <div class="label">备注</div>
|
|
|
+ <div class="value">{{ detailList.applyNote }}</div>
|
|
|
+ </el-col>
|
|
|
+ <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">寄厂日期</div>
|
|
|
+ <div class="value">
|
|
|
+ <el-date-picker
|
|
|
+ :disabled="title == '详情'"
|
|
|
+ class="selectStyle"
|
|
|
+ v-model="detailList.sendFactoryDate"
|
|
|
+ type="datetime"
|
|
|
+ prefix-icon="''"
|
|
|
+ placeholder="请选择寄厂日期"
|
|
|
+ default-time="00:00:00"
|
|
|
+ value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </div>
|
|
|
+ </el-col> -->
|
|
|
+ <!-- <el-col :xs="24" :sm="24" :lg="8" class="item">
|
|
|
+ <div class="label">提货日期</div>
|
|
|
+ <div class="value">{{detailList.}}</div>
|
|
|
+ </el-col> -->
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ <h3>货品信息</h3>
|
|
|
+ <el-divider></el-divider>
|
|
|
+ <!-- 列表 -->
|
|
|
+ <div class="mymain-container">
|
|
|
+ <div class="table">
|
|
|
+ <el-table v-loading="listLoading" :data="detailList.items" element-loading-text="Loading" border fit highlight-current-row stripe show-summary :summary-method="$getSummaries">
|
|
|
+ <el-table-column align="left" label="跨区厂编号" prop="factoryNo" min-width="160" show-overflow-tooltip>\
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <CopyButton :copyText="scope.row.factoryNo" />
|
|
|
+ <span>{{scope.row.factoryNo}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="产品编码" prop="materialOldNumber" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <CopyButton :copyText="scope.row.materialOldNumber" />
|
|
|
+ <span>{{scope.row.materialOldNumber}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="物料编码" prop="materialNumber" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <CopyButton :copyText="scope.row.materialNumber" />
|
|
|
+ <span>{{scope.row.materialNumber}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="产品名称" prop="materialName" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <CopyButton :copyText="scope.row.materialName" />
|
|
|
+ <span>{{scope.row.materialName}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="规格型号" prop="specification" min-width="400" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <CopyButton :copyText="scope.row.specification" />
|
|
|
+ <span>{{scope.row.specification}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="right" label="单价" prop="price" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.price | numToFixed }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="right" label="数量" prop="qty" min-width="160" show-overflow-tooltip></el-table-column>
|
|
|
+ <!-- <el-table-column align="right" label="金额" prop="totalAmount" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.totalAmount | numToFixed }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="right" label="发货数量" prop="hasSendQty" min-width="160" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column align="right" label="上传资料" prop="dataQty" min-width="160" show-overflow-tooltip v-if="detailList.examineStatus !== 'WAIT'">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="right" label="上传资料" prop="dataQty" min-width="160" show-overflow-tooltip v-if="detailList.examineStatus == 'WAIT'">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.dataQty"></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="right" label="收差金额" prop="diffAmount" min-width="160" show-overflow-tooltip v-if="detailList.examineStatus !== 'WAIT'">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.diffAmount | numToFixed }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="right" label="收差金额" prop="diffAmount" min-width="160" show-overflow-tooltip v-if="detailList.examineStatus == 'WAIT'">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.diffAmount"></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column> -->
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <h3 class="gdzl">工程资料</h3>
|
|
|
+ <el-button :disabled="isDis" class="batchDownload" type="primary" size="small" @click="batchDownloadFn">批量下载</el-button>
|
|
|
+
|
|
|
+ <el-divider></el-divider>
|
|
|
+
|
|
|
+ <!-- 列表 -->
|
|
|
+ <div class="mymain-container">
|
|
|
+ <div class="table">
|
|
|
+ <el-table v-loading="listLoading" :data="detailList.dataList" element-loading-text="Loading" border fit highlight-current-row stripe>
|
|
|
+ <el-table-column align="left" label="资料描述" prop="dataDescribe" min-width="160" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column align="left" label="原文件名" prop="fileName" min-width="160" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column align="left" label="缩略图" prop="fileUrl" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-image ref="img" :src="imageURL + scope.row.fileUrl" v-if="checkFileType(scope.row.fileUrl) == 'image'" style="width: 120px; height: 120px" fit="cover" :preview-src-list="[imageURL + scope.row.fileUrl]">
|
|
|
+ </el-image>
|
|
|
+ <img class="file" src="@/assets/common/word.png" v-if="checkFileType(scope.row.fileUrl) == 'word'" />
|
|
|
+ <img class="file" src="@/assets/common/excel.png" v-if="checkFileType(scope.row.fileUrl) == 'excel'" />
|
|
|
+ <img class="file" src="@/assets/common/ppt.png" v-if="checkFileType(scope.row.fileUrl) == 'ppt'" />
|
|
|
+ <img class="file" src="@/assets/common/pdf.png" v-if="checkFileType(scope.row.fileUrl) == 'pdf'" />
|
|
|
+ <img v-if="checkFileType(scope.row.fileUrl) == 'file'" class="file aaa" src="@/assets/common/zip.jpeg" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="下载文件名称" prop="fileName" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ "资料_" + scope.row.fileName }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" label="操作" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button type="text" class="textColor" @click="downLoadFn(scope.row.fileUrl,scope.row.fileName)">下载</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-divider></el-divider>
|
|
|
+ <div class="diy-table-1">
|
|
|
+ <el-row :gutter="0">
|
|
|
+ <el-col :xs="12" :sm="12" :lg="12" class="item">
|
|
|
+ <div class="label">申请人</div>
|
|
|
+ <div class="value">{{ detailList.createBy }}</div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="12" :sm="12" :lg="12" class="item">
|
|
|
+ <div class="label">申请日期</div>
|
|
|
+ <div class="value">{{ detailList.createTime }}</div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="12" :sm="24" :lg="24" class="item">
|
|
|
+ <div class="label">申请退押金</div>
|
|
|
+ <div class="value">{{ detailList.applyNote }}</div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ <h3 v-if="
|
|
|
+ detailList.examineStatus == 'WAIT' ||
|
|
|
+ detailList.examineStatus == 'FAIL' ||
|
|
|
+ detailList.examineStatus == 'OK'
|
|
|
+ ">
|
|
|
+ 审批
|
|
|
+ </h3>
|
|
|
+ <el-divider v-if="
|
|
|
+ detailList.examineStatus == 'WAIT' ||
|
|
|
+ detailList.examineStatus == 'FAIL' ||
|
|
|
+ detailList.examineStatus == 'OK'
|
|
|
+ "></el-divider>
|
|
|
+ <div v-if="detailList.examineStatus == 'WAIT'" class="diy-table-1">
|
|
|
+ <el-row :gutter="0">
|
|
|
+ <el-col :xs="12" :sm="12" :lg="12" class="item">
|
|
|
+ <div class="label">验收人</div>
|
|
|
+ <div class="value">{{ this.checkBy }}</div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="12" :sm="12" :lg="12" class="item dateS">
|
|
|
+ <div class="label">验收日期</div>
|
|
|
+ <div class="value">
|
|
|
+ <el-date-picker disabled prefix-icon="''" class="selectStyle" type="datetime" placeholder="系统自动生成" default-time="00:00:00" value-format="yyyy-MM-dd HH:mm:ss">
|
|
|
+ </el-date-picker>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="12" :sm="24" :lg="24" class="item">
|
|
|
+ <div class="label">是否退押</div>
|
|
|
+ <div class="value">
|
|
|
+ <el-radio-group v-model="isRefundDeposit">
|
|
|
+ <el-radio :label="true">是</el-radio>
|
|
|
+ <el-radio :label="false">否</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="12" :sm="24" :lg="24" class="item">
|
|
|
+ <div class="label">验收说明</div>
|
|
|
+ <div class="value">
|
|
|
+ <el-input v-model="checkNote" placeholder="请输入内容"></el-input>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div v-if="
|
|
|
+ detailList.examineStatus == 'OK' || detailList.examineStatus == 'FAIL'
|
|
|
+ " class="diy-table-1">
|
|
|
+ <el-row :gutter="0">
|
|
|
+ <el-col :xs="12" :sm="12" :lg="12" class="item">
|
|
|
+ <div class="label">验收人</div>
|
|
|
+ <div class="value">{{ detailList.checkBy }}</div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="12" :sm="12" :lg="12" class="item dateS">
|
|
|
+ <div class="label">验收日期</div>
|
|
|
+ <div class="value">
|
|
|
+ <el-date-picker disabled prefix-icon="''" class="selectStyle" v-model="detailList.checkDate" type="datetime" placeholder="" default-time="00:00:00" value-format="yyyy-MM-dd HH:mm:ss">
|
|
|
+ </el-date-picker>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="12" :sm="24" :lg="24" class="item">
|
|
|
+ <div class="label">是否退押</div>
|
|
|
+ <div class="value">
|
|
|
+ <el-radio-group v-model="detailList.isRefundDeposit">
|
|
|
+ <el-radio disabled :label="true">是</el-radio>
|
|
|
+ <el-radio disabled :label="false">否</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="12" :sm="24" :lg="24" class="item dateS">
|
|
|
+ <div class="label">验收说明</div>
|
|
|
+ <div class="value">
|
|
|
+ <el-input disabled v-model="detailList.checkNote" placeholder="请输入内容"></el-input>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="12" :sm="24" :lg="24" class="item dateS">
|
|
|
+ <div class="label">审批通过后备注</div>
|
|
|
+ <div class="value">
|
|
|
+ <el-input v-model="detailList.examineAfterRemark" placeholder="请输入内容"></el-input>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ <br />
|
|
|
+ <!-- 按钮 -->
|
|
|
+ <!-- detailList.examineStatus != 'OK' || detailList.examineStatus != 'FAIL' -->
|
|
|
+ <div class="btn-group clearfix">
|
|
|
+ <div class="fl">
|
|
|
+ <el-button v-if="detailList.examineStatus == 'WAIT'" type="primary" size="small" @click="adoptFn">审批通过</el-button>
|
|
|
+ <el-button v-if="detailList.examineStatus == 'WAIT'" type="primary" size="small" @click="rejectFn">审批驳回</el-button>
|
|
|
+ <el-button v-if="detailList.examineStatus == 'OK'" type="primary" size="small" @click="saveFn">保存</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { downloadFiles } from "@/utils/util";
|
|
|
+import IMAGEUPLOAD from "@/components/Common/image-upload.vue";
|
|
|
+import { getFileUrl } from "@/api/common";
|
|
|
+import { mapGetters } from "vuex";
|
|
|
+import {
|
|
|
+ getDepositManageDetail,
|
|
|
+ getDepositManageExamine,
|
|
|
+ getDepositManageDownZip,
|
|
|
+ getDepositManageEdit,
|
|
|
+ getCommonFileGetStream,
|
|
|
+} from "@/api/engin_deposit/refund_list";
|
|
|
+export default {
|
|
|
+ props: {
|
|
|
+ detailId: {
|
|
|
+ type: String,
|
|
|
+ required: true,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ components: { IMAGEUPLOAD },
|
|
|
+ computed: {
|
|
|
+ ...mapGetters(["name"]),
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ isDis: true,
|
|
|
+ imageURL: this.$imageUrl,
|
|
|
+ title: "审批",
|
|
|
+ imageURL: this.$imageUrl,
|
|
|
+ listLoading: false, // 列表加载loading
|
|
|
+ dataList: [], // 列表数据
|
|
|
+ detailList: {},
|
|
|
+ checkBy: "",
|
|
|
+ checkDate: "",
|
|
|
+ isRefundDeposit: true,
|
|
|
+ checkNote: "",
|
|
|
+ };
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ console.log(this.$imageUrl, 8888);
|
|
|
+ this.checkBy = this.name;
|
|
|
+ this.getData({ id: this.detailId });
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ //审批通过后可以编辑
|
|
|
+ async saveFn() {
|
|
|
+ console.log(this.detailList);
|
|
|
+ await getDepositManageEdit(this.detailList);
|
|
|
+ this.$message.success("保存成功");
|
|
|
+ this.goBack();
|
|
|
+ this.$emit("updateList");
|
|
|
+ },
|
|
|
+ //批量下载
|
|
|
+ async batchDownloadFn() {
|
|
|
+ downloadFiles("/deposit-manage/downZip", { parentId: this.detailId });
|
|
|
+ },
|
|
|
+ //下载
|
|
|
+ async downLoadFn(v, name) {
|
|
|
+ // getCommonFileGetStream({ key: v, fileName: name }).then((res) => {
|
|
|
+ // // window.open(res.data);
|
|
|
+ // });
|
|
|
+ // // window.open(this.imageURL + v);
|
|
|
+ downloadFiles("/common/file/getStream", { key: v, fileName: name });
|
|
|
+ // await getCommonFileGetStream({ key: v, fileName: name });
|
|
|
+ },
|
|
|
+ // 检查文件类型
|
|
|
+ checkFileType(url) {
|
|
|
+ if (!url) return "";
|
|
|
+ const fileSuffix = url.substring(url.lastIndexOf(".") + 1);
|
|
|
+
|
|
|
+ if (["jpg", "jpeg", "png"].includes(fileSuffix)) {
|
|
|
+ return "image";
|
|
|
+ } else if (["doc", "docx", "dot", "wps", "wpt"].includes(fileSuffix)) {
|
|
|
+ return "word";
|
|
|
+ } else if (["xls", "xlsx", "xlt", "et", "ett"].includes(fileSuffix)) {
|
|
|
+ return "excel";
|
|
|
+ } else if (
|
|
|
+ ["ppt", "pptx", "dps", "dpt", "pot", "pps"].includes(fileSuffix)
|
|
|
+ ) {
|
|
|
+ return "ppt";
|
|
|
+ } else if (["pdf"].includes(fileSuffix)) {
|
|
|
+ return "pdf";
|
|
|
+ } else if (["zip", "rar", "gz", "apk"].includes(fileSuffix)) {
|
|
|
+ return "file";
|
|
|
+ } else {
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //审批驳回
|
|
|
+ async rejectFn() {
|
|
|
+ this.$confirm("此操作将审批订单, 是否继续?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ if (!this.detailList.installDate) {
|
|
|
+ this.$message.error("请选择安装时间");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let data = {
|
|
|
+ ...this.detailList,
|
|
|
+ checkBy: this.checkBy,
|
|
|
+ // checkDate: this.checkDate,
|
|
|
+ isRefundDeposit: this.isRefundDeposit,
|
|
|
+ checkNote: this.checkNote,
|
|
|
+ examineResult: 0,
|
|
|
+ };
|
|
|
+ getDepositManageExamine(data)
|
|
|
+ .then((res) => {
|
|
|
+ if (!res.data) {
|
|
|
+ this.goBack();
|
|
|
+ this.$emit("updateList");
|
|
|
+ } else {
|
|
|
+ this.$confirm("审批成功!是否跳转下一张待审批订单?", "提示", {
|
|
|
+ confirmButtonText: "跳转",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ this.$successMsg("进入下一张待审批订单");
|
|
|
+ this.detailList = res.data;
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ this.goBack();
|
|
|
+ this.$emit("updateList");
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .finally((res) => {});
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ // if (!this.detailList.installDate) {
|
|
|
+ // this.$message.error("请选择安装时间");
|
|
|
+ // return;
|
|
|
+ // }
|
|
|
+ // let data = {
|
|
|
+ // ...this.detailList,
|
|
|
+ // checkBy: this.checkBy,
|
|
|
+ // // checkDate: this.checkDate,
|
|
|
+ // isRefundDeposit: this.isRefundDeposit,
|
|
|
+ // checkNote: this.checkNote,
|
|
|
+ // examineResult: 0,
|
|
|
+ // };
|
|
|
+ // await getDepositManageExamine(data);
|
|
|
+ // this.$message.success("审批驳回");
|
|
|
+ // this.goBack();
|
|
|
+ // this.$emit("updateList");
|
|
|
+ },
|
|
|
+ //审批通过
|
|
|
+ async adoptFn() {
|
|
|
+ this.$confirm("此操作将审批订单, 是否继续?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ if (!this.detailList.installDate) {
|
|
|
+ this.$message.error("请选择安装时间");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let data = {
|
|
|
+ ...this.detailList,
|
|
|
+ checkBy: this.checkBy,
|
|
|
+ // checkDate: this.checkDate,
|
|
|
+ isRefundDeposit: this.isRefundDeposit,
|
|
|
+ checkNote: this.checkNote,
|
|
|
+ examineResult: 1,
|
|
|
+ };
|
|
|
+ getDepositManageExamine(data)
|
|
|
+ .then((res) => {
|
|
|
+ if (!res.data) {
|
|
|
+ this.goBack();
|
|
|
+ this.$emit("updateList");
|
|
|
+ } else {
|
|
|
+ this.$confirm("审批成功!是否跳转下一张待审批订单?", "提示", {
|
|
|
+ confirmButtonText: "跳转",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ this.$successMsg("进入下一张待审批订单");
|
|
|
+ this.detailList = res.data;
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ this.goBack();
|
|
|
+ this.$emit("updateList");
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .finally((res) => {});
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+
|
|
|
+ // if (!this.detailList.installDate) {
|
|
|
+ // this.$message.error("请选择安装时间");
|
|
|
+ // return;
|
|
|
+ // }
|
|
|
+ // let data = {
|
|
|
+ // ...this.detailList,
|
|
|
+ // checkBy: this.checkBy,
|
|
|
+ // // checkDate: this.checkDate,
|
|
|
+ // isRefundDeposit: this.isRefundDeposit,
|
|
|
+ // checkNote: this.checkNote,
|
|
|
+ // examineResult: 1,
|
|
|
+ // };
|
|
|
+ // await getDepositManageExamine(data);
|
|
|
+ // this.$message.success("审批通过");
|
|
|
+ // this.goBack();
|
|
|
+ // this.$emit("updateList");
|
|
|
+ },
|
|
|
+ async getData(data) {
|
|
|
+ const res = await getDepositManageDetail(data);
|
|
|
+ console.log(res);
|
|
|
+ if (res.data.dataList.length == 0) {
|
|
|
+ this.isDis = true;
|
|
|
+ } else {
|
|
|
+ this.isDis = false;
|
|
|
+ }
|
|
|
+ res.data.items.forEach((item) => {
|
|
|
+ // item.number = (item.qty*100 - item.directTransferQty*100 - item.retiredQty*100) / 100;
|
|
|
+ item.sums1 = ["hasSendQty", "dataQty", "qty"];
|
|
|
+ item.sums2 = ["totalAmount", "diffAmount", "price"];
|
|
|
+ });
|
|
|
+ this.detailList = res.data;
|
|
|
+ if (
|
|
|
+ res.data.examineStatus == "SAVE" ||
|
|
|
+ res.data.examineStatus == "OK" ||
|
|
|
+ res.data.examineStatus == "FAIL"
|
|
|
+ ) {
|
|
|
+ this.title = "详情";
|
|
|
+ }
|
|
|
+ },
|
|
|
+ goBack() {
|
|
|
+ this.$parent.showSurrender = true;
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.aaa {
|
|
|
+ height: 64px;
|
|
|
+ width: 64px;
|
|
|
+}
|
|
|
+.dateS {
|
|
|
+ .value {
|
|
|
+ padding: 0;
|
|
|
+ }
|
|
|
+}
|
|
|
+.batchDownload {
|
|
|
+ float: right;
|
|
|
+ margin-top: 9px;
|
|
|
+}
|
|
|
+.gdzl {
|
|
|
+ display: inline-block;
|
|
|
+}
|
|
|
+.dateStyle {
|
|
|
+ width: 100%;
|
|
|
+}
|
|
|
+.label {
|
|
|
+ width: 150px !important;
|
|
|
+}
|
|
|
+.selectStyle {
|
|
|
+ width: 100%;
|
|
|
+}
|
|
|
+</style>
|