|
@@ -800,25 +800,33 @@
|
|
|
<span slot="label"><i class="el-icon-office-building"></i> 证件信息</span>
|
|
|
<div class="createMajor-main-container">
|
|
|
<div class="postInfo-container">
|
|
|
- <div >
|
|
|
- <el-divider content-position="left">
|
|
|
- <div>
|
|
|
- <h3 class="title">
|
|
|
- <div class="avatar-wrapper icon-title">证件</div>
|
|
|
- <div class="icon-info">换证</div>
|
|
|
- </h3>
|
|
|
- <div style="position: absolute;left:100px;top:18px;width:500px">
|
|
|
- <el-checkbox-group v-model="personal.credentials">
|
|
|
- <el-checkbox-button label="HOUSE_CERTIFICATE" name="credentials">房产证</el-checkbox-button>
|
|
|
- <el-checkbox-button label="LAND_CERTIFICATE" name="credentials" >国土证</el-checkbox-button>
|
|
|
- <el-checkbox-button label="IMMOVABLE_CERTIFICATE" name="credentials" >不动产权证</el-checkbox-button>
|
|
|
- <el-checkbox-button label="LEASE_CONTRACT" name="credentials" >租赁合同</el-checkbox-button>
|
|
|
- <el-checkbox-button label="IDENTITY_CARD" name="credentials">身份证</el-checkbox-button>
|
|
|
- </el-checkbox-group>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-divider>
|
|
|
- </div>
|
|
|
+ <div>
|
|
|
+ <el-divider content-position="left">
|
|
|
+ <h3 class="title">
|
|
|
+ <div class="avatar-wrapper icon-title">证件</div>
|
|
|
+ <div class="icon-info">换证</div>
|
|
|
+ </h3>
|
|
|
+ </el-divider>
|
|
|
+ <div style="margin-left:40px;margin-bottom:50px;margin-top:30px">
|
|
|
+ <el-checkbox-group v-model="personal.credentials">
|
|
|
+ <el-checkbox-button label="HOUSE_CERTIFICATE" name="credentials">房产证</el-checkbox-button>
|
|
|
+ <el-checkbox-button label="LAND_CERTIFICATE" name="credentials" >国土证</el-checkbox-button>
|
|
|
+ <el-checkbox-button label="IMMOVABLE_CERTIFICATE" name="credentials" >不动产权证</el-checkbox-button>
|
|
|
+ <el-checkbox-button label="LEASE_CONTRACT" name="credentials" >租赁合同</el-checkbox-button>
|
|
|
+ <el-checkbox-button label="IDENTITY_CARD" name="credentials">身份证</el-checkbox-button>
|
|
|
+ </el-checkbox-group>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <el-divider content-position="left">
|
|
|
+ <div>
|
|
|
+ <h3 class="title">
|
|
|
+ <div class="avatar-wrapper icon-title">证件</div>
|
|
|
+ <div class="icon-info">证件详情</div>
|
|
|
+ </h3>
|
|
|
+ </div>
|
|
|
+ </el-divider>
|
|
|
+ </div>
|
|
|
<el-card class="box-card">
|
|
|
<el-collapse v-model="certificateName" accordion>
|
|
|
<el-collapse-item name="1" v-show="showCred.showHouseCer">
|
|
@@ -894,6 +902,42 @@
|
|
|
<el-tab-pane name="producution" class="pane-class" :lazy=true>
|
|
|
<span slot="label"><i class="el-icon-document-checked"></i> 产品信息</span>
|
|
|
<div class="createMajor-main-container">
|
|
|
+ <div class="postInfo-container">
|
|
|
+ <div>
|
|
|
+ <el-divider content-position="left">
|
|
|
+ <h3 class="title">
|
|
|
+ <div class="avatar-wrapper icon-title">反馈</div>
|
|
|
+ <div class="icon-info">客户反馈</div>
|
|
|
+ </h3>
|
|
|
+ </el-divider>
|
|
|
+ </div>
|
|
|
+ <el-form ref="feedbackFrom" class="form-container" style="margin-top:30px" :rules="rules">
|
|
|
+ <el-row >
|
|
|
+ <el-col :xs="24" :sm="12" :lg="8" :span="6">
|
|
|
+ <el-form-item
|
|
|
+ label="出具产品类型:"
|
|
|
+ prop="production"
|
|
|
+ label-width="160px"
|
|
|
+ class="postInfo-container-item"
|
|
|
+ >
|
|
|
+ <el-checkbox-group v-model="feedback" style="width:300px">
|
|
|
+ <el-checkbox-button label="STATEMENT" name="production">价值意见书</el-checkbox-button>
|
|
|
+ <el-checkbox-button label="REPORT" name="production">报告</el-checkbox-button>
|
|
|
+ <el-checkbox-button label="LETTER" name="production">复评函</el-checkbox-button>
|
|
|
+ <el-tooltip class="item" effect="dark" content="只出具价值意见书,不再出具其他产品。" placement="top-start">
|
|
|
+ <el-checkbox-button v-if="currentNode.nodeCode ==='STATEMENT_FEEDBACK'" label="NONE" name="production">不再出具</el-checkbox-button>
|
|
|
+ </el-tooltip>
|
|
|
+ </el-checkbox-group>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="currentNode.nodeCode==='QUOTATION_FEEDBACK' || currentNode.nodeCode==='STATEMENT_FEEDBACK'">
|
|
|
+ <el-button type="primary" @click="saveFeedback()">保存反馈</el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="createMajor-main-container">
|
|
|
<div class="postInfo-container">
|
|
|
<div>
|
|
|
<el-divider content-position="left">
|
|
@@ -905,80 +949,63 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="display: flex;margin-top: 100px; width: 100%;">
|
|
|
- <div style="position:absolute;top:80px; left:6%">
|
|
|
- <el-button type="text">一键生成</el-button> <el-button type="text" @click="downloadPkg()">全部下载</el-button>
|
|
|
+ <div style="display: flex;margin-top: 100px; width: 100%;">
|
|
|
+ <!-- <div style="position:absolute;top:80px; left:6%">
|
|
|
+ <el-button type="text">一键生成</el-button> <el-button type="text" @click="downloadPkg()">全部下载</el-button>
|
|
|
+ </div> -->
|
|
|
+ <el-card :body-style="{ padding: '0px'}" shadow="always" style="margin-left: 5%; margin-right: 5%; width: 20%;" v-if="hasStatement">
|
|
|
+ <img :src="statementCardPNG" class="image">
|
|
|
+ <div style="padding: 14px;">
|
|
|
+ <span>房地产意见书</span> <time class="time">{{ statementProd.modified }}</time>
|
|
|
+ <div class="control" >
|
|
|
+ <el-button type="text" class="button" @click="doStamp(statementProd.files)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">加盖公章</el-button>
|
|
|
+ <el-button type="text" class="button" @click="warehouse()" :disabled="currentNode.nodeCode!='STATEMENT_IN' && currentNode.nodeCode!='STATEMENT_OUT'">出入库</el-button>
|
|
|
+ <el-button type="text" class="button" @click="genProductionFile(1)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">系统生成</el-button>
|
|
|
</div>
|
|
|
- <el-card :body-style="{ padding: '0px'}" shadow="always" style="margin-left: 5%; margin-right: 5%; width: 20%;">
|
|
|
- <img :src="statementCardPNG" class="image">
|
|
|
- <div style="padding: 14px;">
|
|
|
- <span>房地产意见书</span> <time class="time">{{ statementProd.modified }}</time>
|
|
|
- <div class="control" >
|
|
|
- <el-button type="text" class="button" @click="doStamp(statementProd.files)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">加盖公章</el-button>
|
|
|
- <el-button type="text" class="button" @click="doStamp(statementProd.files)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">出入库</el-button>
|
|
|
- <el-button type="text" class="button" @click="genProductionFile(1)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">系统生成</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <el-upload style="position: relative; top: -10px; padding: 10px;"
|
|
|
- :action="'/api/personalProduction/upload/'+target.id+'/1'" :file-list="statementProd.files"
|
|
|
- :limit="1" :on-exceed="handleExceed" :on-preview="handleAttachmentPreview" :on-success="getProductions"
|
|
|
- :before-remove="handleRemoveFile" >
|
|
|
- <el-button type="text" style="position: relative; left: 10px;top: -4px;" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">手动上传</el-button>
|
|
|
- </el-upload>
|
|
|
-
|
|
|
- </el-card>
|
|
|
- <el-card :body-style="{ padding: '0px' }" shadow="always" style="margin-left: 5%; margin-right: 5%;width: 20%;">
|
|
|
- <img :src="technicCardPNG" class="image">
|
|
|
- <div style="padding: 14px;">
|
|
|
- <span>技术报告</span><time class="time">{{ technicReportProd.modified }}</time>
|
|
|
- <div class="control">
|
|
|
- <el-button type="text" class="button" @click="doStamp(statementProd.files)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">加盖公章</el-button>
|
|
|
- <el-button type="text" class="button" @click="doStamp(statementProd.files)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">出入库</el-button>
|
|
|
- <el-button type="text" class="button" @click="genProductionFile(2)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">系统生成</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <el-upload style="position: relative; top: -10px; padding: 10px;"
|
|
|
- :action="'/api/personalProduction/upload/'+target.id+'/2'" :file-list="technicReportProd.files"
|
|
|
- :limit="1" :on-exceed="handleExceed" :on-preview="handleAttachmentPreview" :on-success="getProductions"
|
|
|
- :before-remove="handleRemoveFile">
|
|
|
- <el-button type="text" style="position: relative; left: 10px;top: -4px;" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">手动上传</el-button>
|
|
|
- </el-upload>
|
|
|
- </el-card>
|
|
|
- <el-card :body-style="{ padding: '0px'}" shadow="always" style="margin-left: 5%; margin-right: 5%;width: 20%;">
|
|
|
- <img :src="finalCardPNG" class="image">
|
|
|
- <div style="padding: 14px;">
|
|
|
- <span>结果报告</span><time class="time">{{ finalReprotProd.modified }}</time>
|
|
|
- <div class="control" >
|
|
|
- <el-button type="text" class="button" @click="doStamp(statementProd.files)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">加盖公章</el-button>
|
|
|
- <el-button type="text" class="button" @click="doStamp(statementProd.files)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">出入库</el-button>
|
|
|
- <el-button type="text" class="button" @click="genProductionFile(3)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">系统生成</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <el-upload style="position: relative; top: -10px;padding: 10px;"
|
|
|
- :action="'/api/personalProduction/upload/'+target.id+'/3'" :file-list="finalReprotProd.files"
|
|
|
- :limit="1" :on-exceed="handleExceed" :on-preview="handleAttachmentPreview" :on-success="getProductions"
|
|
|
- :before-remove="handleRemoveFile">
|
|
|
- <el-button type="text" style="position: relative; left: 10px;top: -4px;" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">手动上传</el-button>
|
|
|
- </el-upload>
|
|
|
- </el-card>
|
|
|
</div>
|
|
|
- </el-tab-pane>
|
|
|
- <el-tab-pane name="quality" class="pane-class" :lazy=true>
|
|
|
- <span slot="label"><i class="el-icon-pie-chart"></i> 产品质检</span>
|
|
|
- <el-form ref="performanceForm" class="form-container">
|
|
|
- <div class="createMajor-main-container">
|
|
|
- <div class="postInfo-container">
|
|
|
- <div>
|
|
|
- <el-divider content-position="left">
|
|
|
- <h3 class="title">
|
|
|
- <div class="avatar-wrapper icon-title">质检</div>
|
|
|
- <div class="icon-info">产品质检</div>
|
|
|
- </h3>
|
|
|
- </el-divider>
|
|
|
- </div>
|
|
|
+ <el-upload style="position: relative; top: -10px; padding: 10px;"
|
|
|
+ :action="'/api/personalProduction/upload/'+target.id+'/1'" :file-list="statementProd.files"
|
|
|
+ :limit="1" :on-exceed="handleExceed" :on-preview="handleAttachmentPreview" :on-success="getProductions"
|
|
|
+ :before-remove="handleRemoveFile" >
|
|
|
+ <el-button type="text" style="position: relative; left: 10px;top: -4px;" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">手动上传</el-button>
|
|
|
+ </el-upload>
|
|
|
+
|
|
|
+ </el-card>
|
|
|
+ <el-card :body-style="{ padding: '0px' }" shadow="always" style="margin-left: 5%; margin-right: 5%;width: 20%;" v-if="hasReport">
|
|
|
+ <img :src="technicCardPNG" class="image">
|
|
|
+ <div style="padding: 14px;">
|
|
|
+ <span>技术报告</span><time class="time">{{ technicReportProd.modified }}</time>
|
|
|
+ <div class="control">
|
|
|
+ <el-button type="text" class="button" @click="doStamp(technicReportProd.files)" :disabled="currentNode.nodeCode!='WRITE_REPORT'">加盖公章</el-button>
|
|
|
+ <el-button type="text" class="button" @click="doStamp(technicReportProd.files)" :disabled="currentNode.nodeCode!='REPORT_IN' && currentNode.nodeCode!='REPORT_OUT'">出入库</el-button>
|
|
|
+ <el-button type="text" class="button" @click="genProductionFile(2)" :disabled="currentNode.nodeCode!='WRITE_REPORT'">系统生成</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </el-form>
|
|
|
+ <el-upload style="position: relative; top: -10px; padding: 10px;"
|
|
|
+ :action="'/api/personalProduction/upload/'+target.id+'/2'" :file-list="technicReportProd.files"
|
|
|
+ :limit="1" :on-exceed="handleExceed" :on-preview="handleAttachmentPreview" :on-success="getProductions"
|
|
|
+ :before-remove="handleRemoveFile">
|
|
|
+ <el-button type="text" style="position: relative; left: 10px;top: -4px;" :disabled="currentNode.nodeCode!='WRITE_REPORT'">手动上传</el-button>
|
|
|
+ </el-upload>
|
|
|
+ </el-card>
|
|
|
+ <el-card :body-style="{ padding: '0px'}" shadow="always" style="margin-left: 5%; margin-right: 5%;width: 20%;" v-if="hasReport">
|
|
|
+ <img :src="finalCardPNG" class="image">
|
|
|
+ <div style="padding: 14px;">
|
|
|
+ <span>结果报告</span><time class="time">{{ finalReprotProd.modified }}</time>
|
|
|
+ <div class="control" >
|
|
|
+ <el-button type="text" class="button" @click="doStamp(finalReprotProd.files)" :disabled="currentNode.nodeCode!='WRITE_REPORT'">加盖公章</el-button>
|
|
|
+ <el-button type="text" class="button" @click="doStamp(finalReprotProd.files)" :disabled="currentNode.nodeCode!='REPORT_IN' && currentNode.nodeCode!='REPORT_OUT'">出入库</el-button>
|
|
|
+ <el-button type="text" class="button" @click="genProductionFile(3)" :disabled="currentNode.nodeCode!='WRITE_REPORT'">系统生成</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-upload style="position: relative; top: -10px;padding: 10px;"
|
|
|
+ :action="'/api/personalProduction/upload/'+target.id+'/3'" :file-list="finalReprotProd.files"
|
|
|
+ :limit="1" :on-exceed="handleExceed" :on-preview="handleAttachmentPreview" :on-success="getProductions"
|
|
|
+ :before-remove="handleRemoveFile">
|
|
|
+ <el-button type="text" style="position: relative; left: 10px;top: -4px;" :disabled="currentNode.nodeCode!='WRITE_REPORT'">手动上传</el-button>
|
|
|
+ </el-upload>
|
|
|
+ </el-card>
|
|
|
+ </div>
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane name="workflowLog" class="pane-class" :lazy=true>
|
|
|
<span slot="label"><i class="el-icon-date"></i> 流程日志</span>
|
|
@@ -1052,12 +1079,31 @@
|
|
|
<el-button type="primary" @click="saveFeedback()" >保存</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
+ <el-dialog :visible.sync="inWarehouseDialog" width="25%" center top="35vh" custom-class="doWarehouseClass">
|
|
|
+ <div>
|
|
|
+ <i class="el-icon-warning" style="color:RGB(230,162,60);font-size:22px;margin-right:10px;"></i>
|
|
|
+ <span style="position:absolute;top:58px">{{ warehouseTip }}</span>
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="warehouseDialog = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="doInWareHouse()">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog :visible.sync="outWarehouseDialog" width="25%" center top="35vh" custom-class="doWarehouseClass">
|
|
|
+ <div>
|
|
|
+ <i class="el-icon-warning" style="color:RGB(230,162,60);font-size:22px;margin-right:10px;"></i>
|
|
|
+ <span style="position:absolute;top:58px">{{ warehouseTip }}</span>
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="warehouseDialog = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="doOutWareHouse()">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
import YDetailPageLayout from '@/components/YDetailPageLayout/index_detail'
|
|
|
import WorkflowBoard from '@/components/workflowBoard'
|
|
|
- import ScanEntry from '@/components/ScanEntry'
|
|
|
import {isNumber,phoneNumber,postiveInteger,isIdNumber} from '@/utils/validate'
|
|
|
import {calculateTargetPrice,validateParams} from '@/utils/personalUtil'
|
|
|
import HouseCertificate from '@/components/personalForms/houseCertificate'
|
|
@@ -1069,14 +1115,11 @@
|
|
|
import existPNG from '@/assets/images/exist.png'
|
|
|
import emptyPNG from '@/assets/images/empty.png'
|
|
|
|
|
|
-
|
|
|
-
|
|
|
export default {
|
|
|
name: 'personalTodoDetail',
|
|
|
components: {
|
|
|
YDetailPageLayout,
|
|
|
WorkflowBoard,
|
|
|
- ScanEntry,
|
|
|
HouseCertificate,
|
|
|
LandCertificate,
|
|
|
ImmovableCertificate,
|
|
@@ -1114,7 +1157,6 @@
|
|
|
},
|
|
|
deep:true
|
|
|
},
|
|
|
-
|
|
|
},
|
|
|
computed: {
|
|
|
certificateCouldEdit(){
|
|
@@ -1387,7 +1429,15 @@
|
|
|
},
|
|
|
statementCardPNG:emptyPNG,
|
|
|
technicCardPNG:emptyPNG,
|
|
|
- finalCardPNG:emptyPNG
|
|
|
+ finalCardPNG:emptyPNG,
|
|
|
+ outWarehouseDialog:false,
|
|
|
+ inWarehouseDialog:false,
|
|
|
+ warehouseTip:null,
|
|
|
+ productionId:null,
|
|
|
+ hasStatement:false,
|
|
|
+ hasReport:false,
|
|
|
+ feedback:[]
|
|
|
+
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -1456,6 +1506,13 @@
|
|
|
if (res.data.sellingAbility){
|
|
|
this.target.sellingAbility = JSON.parse(res.data.sellingAbility);
|
|
|
}
|
|
|
+ this.feedback = JSON.parse(res.data.feedback);
|
|
|
+ if (this.feedback.includes("STATEMENT")){
|
|
|
+ this.hasStatement = true;
|
|
|
+ }
|
|
|
+ if (this.feedback.includes("REPORT")){
|
|
|
+ this.hasReport = true;
|
|
|
+ }
|
|
|
}
|
|
|
})
|
|
|
}
|
|
@@ -1553,6 +1610,36 @@
|
|
|
}
|
|
|
callback(verify);
|
|
|
return ;
|
|
|
+ case "REVIEW_STATEMENT":
|
|
|
+ const id = this.statementProd.id
|
|
|
+ this.checkPass(id);
|
|
|
+ callback(verify);
|
|
|
+ return ;
|
|
|
+ case "WRITE_REPORT":
|
|
|
+ if (this.technicReportProd==null || this.technicReportProd.files.length===0){
|
|
|
+ this.$notify({
|
|
|
+ title: '提示',
|
|
|
+ message: '请生成或上传技术报告后,再提交流程',
|
|
|
+ type: 'error',
|
|
|
+ duration: 3000
|
|
|
+ });
|
|
|
+ verify.state = false;
|
|
|
+ callback(verify);
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (this.finalReprotProd==null || this.finalReprotProd.files.length===0){
|
|
|
+ this.$notify({
|
|
|
+ title: '提示',
|
|
|
+ message: '请生成或上传结果报告后,再提交流程',
|
|
|
+ type: 'error',
|
|
|
+ duration: 3000
|
|
|
+ });
|
|
|
+ verify.state = false;
|
|
|
+ callback(verify);
|
|
|
+ return
|
|
|
+ }
|
|
|
+ callback(verify);
|
|
|
+ return ;
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -1919,7 +2006,125 @@
|
|
|
});
|
|
|
}
|
|
|
})
|
|
|
- }
|
|
|
+ },
|
|
|
+ checkPass(id){
|
|
|
+ this.$api.personalProduction.checkPass(id);
|
|
|
+ },
|
|
|
+ warehouse(){
|
|
|
+ const code = this.currentNode.nodeCode;
|
|
|
+ if (code==='STATEMENT_IN'){
|
|
|
+ const fileName = this.statementProd.files[0].name
|
|
|
+ this.warehouseTip = "请确认将["+fileName+"]入库?";
|
|
|
+ this.productionId = this.statementProd.id;
|
|
|
+ this.inWarehouseDialog = true;
|
|
|
+ }
|
|
|
+ if (code==='STATEMENT_OUT'){
|
|
|
+ const fileName = this.statementProd.files[0].name
|
|
|
+ this.warehouseTip = "请确认将["+fileName+"]出库?";
|
|
|
+ this.productionId = this.statementProd.id;
|
|
|
+ this.outWarehouseDialog = true;
|
|
|
+ }
|
|
|
+ if (code==='REPORT_IN'){
|
|
|
+ const fileName = this.technicReportProd.files[0].name
|
|
|
+ this.warehouseTip = "请确认将["+fileName+"]入库?";
|
|
|
+ this.productionId = this.statementProd.id
|
|
|
+ this.inWarehouseDialog = true;
|
|
|
+ }
|
|
|
+ if (code==='REPORT_OUT'){
|
|
|
+ const fileName = this.technicReportProd.files[0].name
|
|
|
+ this.warehouseTip = "请确认将["+fileName+"]出库?";
|
|
|
+ this.productionId = this.statementProd.id;
|
|
|
+ this.outWarehouseDialog = true;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ },
|
|
|
+ doInWareHouse(){
|
|
|
+ if (this.productionId){
|
|
|
+ let taskRecordDTO = this.buildTaskRecordDTO(this.productionId);
|
|
|
+ this.$api.personalProduction.inWareHouse(taskRecordDTO).then(res=>{
|
|
|
+ if (res.code ===200 && res.data){
|
|
|
+ this.$notify({
|
|
|
+ title: '成功',
|
|
|
+ message:'入库操作成功',
|
|
|
+ type: 'success',
|
|
|
+ duration: 2000
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ this.$notify({
|
|
|
+ title: '失败',
|
|
|
+ message:'入库操作失败',
|
|
|
+ type: 'error',
|
|
|
+ duration: 2000
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ this.inWarehouseDialog = false;
|
|
|
+
|
|
|
+ },
|
|
|
+ doOutWareHouse(){
|
|
|
+ if (this.productionId){
|
|
|
+ let taskRecordDTO = this.buildTaskRecordDTO(this.productionId);
|
|
|
+ this.$api.personalProduction.outWareHouse(taskRecordDTO).then(res=>{
|
|
|
+ if (res.code ===200 && res.data){
|
|
|
+ this.$notify({
|
|
|
+ title: '成功',
|
|
|
+ message:'出库操作成功',
|
|
|
+ type: 'success',
|
|
|
+ duration: 2000
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ this.$notify({
|
|
|
+ title: '失败',
|
|
|
+ message:'出库操作失败',
|
|
|
+ type: 'error',
|
|
|
+ duration: 2000
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ this.outWarehouseDialog = false;
|
|
|
+ },
|
|
|
+ saveFeedback(){
|
|
|
+ let flag = true;
|
|
|
+ const oldFeedback = JSON.parse(this.target.feedback);
|
|
|
+ oldFeedback.forEach(element => {
|
|
|
+ if (!this.feedback.includes(element)){
|
|
|
+ this.$notify({
|
|
|
+ title: '提示',
|
|
|
+ message:'不能移除已存在的产品类型',
|
|
|
+ type: 'info',
|
|
|
+ duration: 2000
|
|
|
+ });
|
|
|
+ flag =false;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (flag){
|
|
|
+ const feedbackDTO = new Object();
|
|
|
+ feedbackDTO.id = this.target.id;
|
|
|
+ feedbackDTO.feedback = JSON.stringify(this.feedback);
|
|
|
+ const taskRecordDTO = this.buildTaskRecordDTO(feedbackDTO)
|
|
|
+ this.$api.personalTarget.doFeedback(taskRecordDTO).then(res=>{
|
|
|
+ if (res.code ===200 && res.data){
|
|
|
+ this.$notify({
|
|
|
+ title: '成功',
|
|
|
+ message:'反馈客户信息成功',
|
|
|
+ type: 'success',
|
|
|
+ duration: 2000
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ this.$notify({
|
|
|
+ title: '失败',
|
|
|
+ message:'反馈客户信息失败',
|
|
|
+ type: 'error',
|
|
|
+ duration: 2000
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
@@ -1977,7 +2182,7 @@
|
|
|
cursor:pointer;
|
|
|
}
|
|
|
.box-card{
|
|
|
- margin-top:60px
|
|
|
+ margin-top:40px
|
|
|
}
|
|
|
|
|
|
.myupload{
|
|
@@ -2007,6 +2212,7 @@
|
|
|
}
|
|
|
|
|
|
.control{
|
|
|
+ z-index: 999;
|
|
|
position: relative;
|
|
|
top: 10px;
|
|
|
}
|