| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043 |
- <template>
- <!-- 修改弹框 -->
- <el-dialog
- width="60%"
- class="custom_dialog"
- title="修改督查问题"
- @close="closeModal"
- :visible.sync="changeSupervisionVisible">
- <div class="scroll_wrapper">
- <div
- style="width:49%;overflow-y:auto;max-height:58vh;float:left;border:1px solid #d5d5ff;margin-right:5px;">
- <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">基本信息</p>
- <el-form ref="changeSupFrom" :rules="rules1" :model="problemForm" label-width="120px">
- <el-form-item label="工程名称" prop="nm">
- <el-input v-model="problemForm.nm" clearable :readonly="true"></el-input>
- </el-form-item>
- <el-form-item label="问题类别">
- <el-select v-model="problemForm.problemType" @change="problemTypeChange">
- <el-option :label="item.pblmType" :value="item.pblmType" v-for="(item,index) in problemType" :key="index"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="问题描述" required>
- <el-input
- :autosize="{ minRows: 4, maxRows: 6}"
- type="textarea"
- v-model="problemForm.inspPblmDesc"
- clearable
- ></el-input>
- </el-form-item>
- <el-form-item :label="weigui.pblmPoint" v-show="weigui.pblmRelDics.length">
- <el-select v-model="problemForm.weigui" @change="selectWeiguiChange">
- <el-option :label="attach.pblmAttachName" :value="attach.pblmAttach" v-for="(attach,index) in weigui.pblmRelDics" :key="index"></el-option>
- </el-select>
- <!-- <div style="width: 380px;float:right">
- <span>问题序号</span>
- <el-input type="text" style="width: 100px;" @focus="showPblmList(weigui,problemForm.weigui,'违规')" v-model="weigui.pblmSn"></el-input><br>
- <my-cascader :pblmDescList="pblmDescList" v-if="chooseWeiguiProblem" @sendPblmsTypeIdWeigui="sendPblmsTypeIdWeigui"></my-cascader>
- </div> -->
- </el-form-item>
- <el-form-item label="问题序号" v-show="weigui.pblmRelDics.length">
- <el-input type="text" style="width: 100px;" @focus="showPblmList(weigui,problemForm.weigui,'违规')" v-model="weigui.pblmSn"></el-input><br>
- <my-cascader :pblmDescList="pblmDescList" v-if="chooseWeiguiProblem" @sendPblmsTypeIdWeigui="sendPblmsTypeIdWeigui"></my-cascader>
- </el-form-item>
- <!-- -->
- <el-form-item :label="hetong.pblmPoint" v-show="hetong.pblmRelDics.length">
- <el-select v-model="problemForm.hetong" @change="selectHetongChange">
- <el-option :label="attach.pblmAttachName" :value="attach.pblmAttach" v-for="(attach,index) in hetong.pblmRelDics" :key="index"></el-option>
- </el-select>
- <!-- <div style="width: 380px;float:right">
- <span>问题序号</span>
- <el-input type="text" style="width: 100px;" @focus="showPblmList(hetong,problemForm.hetong,'合同')" readonly v-model="hetong.pblmSn"></el-input><br>
- <my-cascader-hetong :pblmDescList="pblmDescListHetong" v-if="chooseHeTongProblem" @sendPblmsTypeIdHetong="sendPblmsTypeIdHetong"></my-cascader-hetong>
- </div> -->
- </el-form-item>
- <el-form-item label="问题序号" v-show="hetong.pblmRelDics.length">
- <el-input type="text" style="width: 100px;" @focus="showPblmList(hetong,problemForm.hetong,'合同')" readonly v-model="hetong.pblmSn"></el-input><br>
- <my-cascader-hetong :pblmDescList="pblmDescListHetong" v-if="chooseHeTongProblem" @sendPblmsTypeIdHetong="sendPblmsTypeIdHetong"></my-cascader-hetong>
- </el-form-item>
- <!-- -->
- <el-form-item :label="quanlity.pblmPoint" v-show="quanlity.pblmRelDics.length">
- <el-select v-model="problemForm.quanlity" @change="selectQuanlityChange">
- <el-option :label="attach.pblmAttachName" :value="attach.pblmAttach" v-for="(attach,index) in quanlity.pblmRelDics" :key="index"></el-option>
- </el-select>
- <!-- <div style="width: 380px;float:right">
- <span>问题序号</span>
- <el-input type="text" style="width: 100px;" @focus="showPblmList(quanlity,problemForm.quanlity,'质量')" readonly v-model="quanlity.pblmSn"></el-input><br>
- <my-cascader :pblmDescList="pblmDescList" v-if="chooseQuanlityProblem" @sendPblmsTypeIdQuanlity="sendPblmsTypeIdQuanlity"></my-cascader>
- </div> -->
- </el-form-item>
- <el-form-item label="问题序号" v-show="quanlity.pblmRelDics.length">
- <el-input type="text" style="width: 100px;" @focus="showPblmList(quanlity,problemForm.quanlity,'质量')" readonly v-model="quanlity.pblmSn"></el-input><br>
- <my-cascader :pblmDescList="pblmDescList" v-if="chooseQuanlityProblem" @sendPblmsTypeIdQuanlity="sendPblmsTypeIdQuanlity"></my-cascader>
- </el-form-item>
- <!-- -->
- <el-form-item :label="gongcheng.pblmPoint" v-show="gongcheng.pblmRelDics.length">
- <el-select v-model="problemForm.gongcheng" @change="selectGongchengChange">
- <el-option :label="attach.pblmAttachName" :value="attach.pblmAttach" v-for="(attach,index) in gongcheng.pblmRelDics" :key="index"></el-option>
- </el-select>
- <!-- <div style="width: 380px;float:right">
- <span>问题序号</span>
- <el-input type="text" style="width: 100px;" @focus="showPblmList(gongcheng,problemForm.gongcheng,'工程')" readonly v-model="gongcheng.pblmSn"></el-input><br>
- <my-cascader :pblmDescList="pblmDescList" v-if="chooseGongchengProblem" @sendPblmsTypeIdGongcheng="sendPblmsTypeIdGongcheng"></my-cascader>
- </div> -->
- </el-form-item>
- <el-form-item label="问题序号" v-show="gongcheng.pblmRelDics.length">
- <el-input type="text" style="width: 100px;" @focus="showPblmList(gongcheng,problemForm.gongcheng,'工程')" readonly v-model="gongcheng.pblmSn"></el-input><br>
- <my-cascader :pblmDescList="pblmDescList" v-if="chooseGongchengProblem" @sendPblmsTypeIdGongcheng="sendPblmsTypeIdGongcheng"></my-cascader>
- </el-form-item>
- <el-form-item label="严重程度:">
- <el-select
- v-model="problemForm.inspPblmCate"
- disabled
- clearable
- placeholder="请选择">
- <el-option
- v-for="item in supervisionState"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- ></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="是否为典型问题:">
- <el-select v-model="problemForm.ifCasePblm" clearable placeholder="请选择">
- <el-option
- v-for="item in supervision"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-form>
- </div>
- <div
- style="width: 49%;float: left;border: 1px solid rgb(213, 213, 255);margin-right: 5px;overflow-y: auto;max-height: 58vh;">
- <p style="font-weight:bolder;background-color:#d5d5ff;padding:3px;">多媒体信息</p>
- <el-tabs style="margin:0px 5px">
- <el-tab-pane :label="picturetabName">
- <el-row style="text-align:right;">
- <el-button
- :v-if="!addPicPanel?addPicPanel:addPicPanel"
- size="mini"
- type="text"
- :icon="!addPicPanel?'el-icon-circle-plus-outline':'el-icon-circle-close-outline'"
- @click="addPic"
- >{{!addPicPanel?"添加":"取消"}}</el-button>
- </el-row>
- <el-row v-show="addPicPanel">
- <upload
- ref="uploadFile"
- :url="`/pdcApi/file/insert?bizId=`"
- @uploadOver="removeNewSupervision"
- ></upload>
- </el-row>
- <el-row>
- <div style="overflow-y:auto;overflow-x:hidden;max-height:30vh;padding:10px;">
- <div class="upload-container" id="imgView1">
- <div
- v-for="(item, index) in pictureArray"
- :key="index"
- class="image-preview image-app-preview"
- >
- <div class="image-preview-wrapper">
- <img :src="`${hostUrl}/${item.filePath}`">
- <div class="image-preview-action">
- <i @click="removeFile(item.id)" class="el-icon-delete"></i>
- </div>
- </div>
- </div>
- </div>
- </div>
- </el-row>
- </el-tab-pane>
- <el-tab-pane :label="audiotabName">
- <el-table border :data="audioArray" style="width: 100%;margin: 0 auto;">
- <el-table-column header-align="center" align="center" label="音频">
- <template slot-scope="scope">
- <elaudio
- style="margin-left:15%;width:100px;height:30px;"
- :theUrl="`${hostUrl}/${scope.row.filePath}`"
- ></elaudio>
- </template>
- </el-table-column>
- <el-table-column header-align="center" align="center" label="操作">
- <template slot-scope="scope">
- <el-button
- size="mini"
- @click="removeFile(scope.row.id,scope.$index)"
- type="danger"
- >删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- </el-tab-pane>
- <el-tab-pane :label="videotabName">
- <el-table border :data="videoArray" style="width: 100%;margin: 0 auto;">
- <el-table-column header-align="center" align="center" label="视频">
- <template slot-scope="scope">
- <video-player
- class="vjs-custom-skin"
- ref="videoPlayer"
- :options="scope.row"
- :playsinline="true"
- ></video-player>
- </template>
- </el-table-column>
- <el-table-column header-align="center" align="center" label="操作">
- <template slot-scope="scope">
- <el-button
- size="mini"
- @click="removeFile(scope.row.id,scope.$index)"
- type="danger"
- >删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- </el-tab-pane>
- <el-tab-pane :label="filetabName">
- <el-table border :data="fileArray" style="width: 100%;margin: 0 auto;">
- <el-table-column header-align="center" align="center" label="文档">
- <template slot-scope="scope">
- <p>
- <a :href="`${hostUrl}/${scope.row.filePath}`" target="_blank" rel="noopener noreferrer">
- {{scope.row.fileName}}
- </a>
- </p>
- </template>
- </el-table-column>
- <el-table-column header-align="center" align="center" label="操作">
- <template slot-scope="scope">
- <el-button
- size="mini"
- @click="removeFile(scope.row.id,scope.$index)"
- type="danger"
- >删除</el-button>
- </template>
- </el-table-column>
- </el-table>
- </el-tab-pane>
- <el-tab-pane label="问题确认单">
- <pblmConfirmShett :openType="true" :currentObjectId="problemForm.objId" :key="problemForm.objId"></pblmConfirmShett>
- </el-tab-pane>
- </el-tabs>
- </div>
- </div>
- <span slot="footer">
- <el-button type="primary" @click="onSubmit">保存</el-button>
- <el-button @click="closeModal">取消</el-button>
- </span>
- </el-dialog>
- </template>
- <script>
- import {showDetailsXq,updatelist,deleteFileById} from "../../../api/duChaAPI.js";
- import {formatDateTime2} from '../../../utils/gw_date.js'
- import request from '../../../utils/gw_ajax_request.js'
- import myCascader from './problemList.vue'
- import myCascaderHetong from './problemList.vue'
- import {hostUrl} from "@util/global_variable.js";
- import Viewer from 'viewerjs';
- import 'viewerjs/dist/viewer.css';
- export default {
- props: ['projectType','problemId','villType','unitProblemInfo','unitLevel'],
- data(){
- return{
- changeSupervisionVisible: true,
- changeSupervisionLoading: false,
- problemForm: {},
- rules1: {
- inspPblmName: [
- {
- required: true,
- message: "请输入问题名称",
- trigger: "blur"
- },
- {
- min: 1,
- max: 999,
- message: "不超过100字符",
- trigger: "blur"
- }
- ],
- inspPblmDesc: [
- {
- required: true,
- message: "请输入问题描述",
- trigger: "blur"
- }
- ],
- recPers: [
- {
- required: true,
- message: "请输入记录人",
- trigger: "blur"
- },
- {
- min: 1,
- max: 999,
- message: "不超过100字符",
- trigger: "blur"
- }
- ],
- objType: [
- {
- required: true,
- message: "请选择督查对象类型",
- trigger: "change"
- }
- ],
- objId: [
- {
- required: true,
- message: "请选择督查对象类型",
- trigger: "change"
- }
- ],
- inspPblmType: [
- {
- required: true,
- message: "请选择督查问题类型",
- trigger: "change"
- }
- ],
- dataStat: [
- {
- required: true,
- message: "请选择数据状态",
- trigger: "change"
- }
- ],
- collTime: [
- {
- required: true,
- message: "请选择采集时间",
- trigger: "change"
- }
- ],
- ifCasePblm: [
- {
- required: true,
- message: "请选择是否典型",
- trigger: "change"
- }
- ],
- pblmStat: [
- {
- required: true,
- message: "请选择问题类型",
- trigger: "change"
- }
- ],
- inspPblmCate: [
- {
- required: true,
- message: "请选择问题程度",
- trigger: "change"
- },
- {
- trigger: "change"
- }
- ]
- },
- supervisionState: [
- {
- value: "0",
- label: "一般"
- },
- {
- value: "1",
- label: "较重"
- },
- {
- value: "2",
- label: "严重"
- },
- {
- value: "3",
- label: "特别严重"
- }
- ],
- supervision: [
- {
- value: "1",
- label: "是"
- },
- {
- value: "0",
- label: "否"
- }
- ],
- addPicPanel: false,
- gwComFiles: [],
- picturetabName: "",
- audiotabName: "",
- videotabName: "",
- filetabName: "",
- pictureArray: [],
- audioArray: [],
- videoArray: [],
- fileArray: [],
- updateIdXiuGai: "",
- pblmId: "",
- weigui: {
- pblmRelDics: [],
- pblmSn: ''
- },
- hetong: {
- pblmRelDics: [],
- pblmSn: ''
- },
- quanlity: {
- pblmRelDics: [],
- pblmSn: ''
- },
- gongcheng: {
- pblmRelDics: [],
- pblmSn: ''
- },
- problemType: [
- {name: '违规行为',value:'1'},
- {name: '质量缺陷',value:'2'},
- {name: '合同问题',value:'3'}
- ],
- problemStatus: [
- {name: '已复查',value:'2'},
- {name: '未复查',value:'1'},
- {name: '新问题',value:'0'}
- ],
- rectifyStatus: [
- {name: '未整改',value:'0'},
- {name: '整改中',value:'1'},
- {name: '已整改',value:'2'}
- ],
- severity:[
- {name: '一般',value:'0'},
- {name: '较重',value:'1'},
- {name: '严重',value:'2'},
- {name: '非常严重',value:'3'}
- ],
- problemForm:{
- objId: '',
- objType: '',
- problemType: '',
- inspPblmDesc: '',
- pblmsTypeId: '',
- qualityTypeId: '',
- pblmsId: '',
- defectTypeId: '',
- ifCasePblm: '',
- inspPblmCate: '',
- weigui: '',
- hetong: '',
- quanlity: '',
- gongcheng: '',
- gwComFiles: []
- },
- rectifyForm: {
- rectConc: '',
- rectMeas: '',
- collTime: '',
- gwComFiles: [{
- id: "",
- filePath: "",
- bizId: ""
- }]
- },
- weigui: {
- pblmRelDics: [],
- pblmSn: ''
- },
- hetong: {
- pblmRelDics: [],
- pblmSn: ''
- },
- quanlity: {
- pblmRelDics: [],
- pblmSn: ''
- },
- gongcheng: {
- pblmRelDics: [],
- pblmSn: ''
- },
- pblmPointNum: '',
- pblmDescList: '',
- pblmDescListHetong: '',
- pblmAttach: [],
- pblmsTypeId: '',
- dialogType: '修改',
- dialogVisible: true,
- recheck_dialogVisible: false,
- chooseWeiguiProblem: false,
- chooseHeTongProblem: false,
- chooseQuanlityProblem: false,
- chooseGongchengProblem: false,
- checked: false,
- supervisionDetailsVisible:false,
- reviConc: '',
- findTime: [],
- rectifyRow: {},
- isRectify: false,
- rectifyId: '',
- }
- },
- components:{
- upload: resolve => {
- require(["../../../widgets/uploadFile.vue"], resolve);
- },
- pblmConfirmShett: resolve => {
- require(["../../duChaDuiXiang/pblmConfirmShett"], resolve);
- },
- myCascader: myCascader,
- myCascaderHetong: myCascaderHetong,
- },
- computed:{
- hostUrl(){
- return hostUrl
- },
- persId() {
- return localStorage.getItem("userid") ? localStorage.getItem("userid") : "1098101939614724096";
- },
- formatDateTime(){
- return formatDateTime2
- }
- },
- mounted(){
- this.getSingleProData()
- // this.listPblmType()
- },
- methods:{
- removeNewSupervision(arg) {
- if (arg) {
- var args = this.gwComFiles.concat(arg);
- }
- this.gwComFiles = [];
- this.$emit('closeEditDialog')
- },
- changeSupervisionVisiblefalse() {
- this.$emit('closeEditDialog')
- this.$refs.uploadFile.init();
- this.addPicPanel = false;
- },
- addPic() {
- this.addPicPanel = !this.addPicPanel;
- },
- // 删除图片文件
- removeFile(id, index) {
- // this.updateIdXiuGai = this.updateIdXiuGai;
- var _self = this;
- this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
- confirmButtonText: "确定",
- cancelButtonText: "返回",
- type: "warning"
- }).then(
- res => {
- if (res === "confirm") {
- deleteFileById(id, this.persId).then(res => {
- if (res.success) {
- this.problemForm.gwComFiles.forEach(item => {
- if (
- item.fileExt == "mp3" ||
- item.fileExt == "MP3" ||
- item.fileExt == "m4a"
- ) {
- this.audioArray.splice(index, 1);
- } else if (
- item.fileExt == "jpg" ||
- item.fileExt == "JPG" ||
- item.fileExt == "png" ||
- item.fileExt == "PNG" ||
- item.fileExt == "JPEG" ||
- item.fileExt == "jpeg"
- ) {
- this.pictureArray.splice(index, 1);
- } else if (item.fileExt == "mp4" || item.fileExt == "MP4") {
- this.videoArray.splice(index, 1);
- }
- });
- _self.getSingleProData();
- } else {
- this.failInfo();
- }
- });
- }
- },
- res => {
- console.log("返回");
- }
- )
- },
- // 操作成功反馈
- successInfo() {
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- },
- // 操作失败反馈
- failInfo(val) {
- this.$message.error(val);
- },
- // 文件上传
- submitUpload() {
- this.$refs.upload.submit();
- },
- closeModal(){
- this.$emit('closeEditDialog')
- },
- listPblmType(){
- let paramObj = {}
- if(this.unitProblemInfo.nature){
- paramObj = {
- orgType: this.unitProblemInfo.nature,
- proType: '1'
- }
- }else{
- paramObj = {
- reviOrg: this.unitLevel,
- proType: '2'
- }
- }
- request.post(`/obj/key/pblm/listPblmType`, paramObj).then(res => {
- if (res.success) {
- this.problemType = res.data;
- this.problemForm.problemType = this.problemType[0].pblmType
- }
- });
- },
- // 标准 附件 序号
- convertGroup(){
- let paramObj = {}
- if(this.unitProblemInfo.nature){
- paramObj = {
- orgType: this.unitProblemInfo.nature,
- proType: '1',
- pblmType: this.problemForm.problemType == '0' ? '违规行为' : this.problemForm.problemType == '1' ? '质量缺陷' : this.problemForm.problemType == '2' ? '合同问题' : this.problemForm.problemType == '3' ? '缺陷问题' : this.problemForm.problemType
- }
- }else{
- paramObj = {
- reviOrg: this.unitLevel,
- proType: '2',
- pblmType: this.problemForm.problemType
- }
- }
- this.hetong.pblmRelDics = []
- this.weigui.pblmRelDics = []
- this.quanlity.pblmRelDics = []
- this.gongcheng.pblmRelDics = []
- request.post(`/obj/key/pblm/convertGroup`, paramObj).then(res => {
- if (res.success) {
- this.pblmPointNum = res.data;
- this.pblmPointNum.forEach(ele=>{
- ele.pblmAttach = ele.pblmAttach.split(',')
- // ele.pblmSn = ele.pblmSn.split(',')
- if(ele.pblmPoint.indexOf('合同') > -1){
- this.hetong = ele
- }
- if(ele.pblmPoint.indexOf('违规') > -1){
- this.weigui = ele
- }
- if(ele.pblmPoint.indexOf('质量') > -1){
- this.quanlity = ele
- }
- if(ele.pblmPoint.indexOf('工程') > -1){
- this.gongcheng = ele
- }
- })
- if(this.weigui.pblmRelDics.length){
- this.weigui.pblmRelDics.forEach(ele=>{
- if(ele.pblmAttach == this.problemForm.weigui){
- this.weigui.pblmSn = ele.pblmSn
- }
- })
- }
- if(this.hetong.pblmRelDics.length){
- this.hetong.pblmRelDics.forEach(ele=>{
- if(ele.pblmAttach == this.problemForm.hetong){
- this.hetong.pblmSn = ele.pblmSn
- }
- })
- }
- if(this.quanlity.pblmRelDics.length){
- this.quanlity.pblmRelDics.forEach(ele=>{
- if(ele.pblmAttach == this.problemForm.quanlity){
- this.quanlity.pblmSn = ele.pblmSn
- }
- })
- }
- if(this.gongcheng.pblmRelDics.length){
- this.gongcheng.pblmRelDics.forEach(ele=>{
- if(ele.pblmAttach == this.problemForm.gongcheng){
- this.gongcheng.pblmSn = ele.pblmSn
- }
- })
- }
- }
- });
- },
- //具体问题描述列表
- showPblmList(obj,attach,type){
- type == '违规' ? this.chooseWeiguiProblem = true : type == '合同' ? this.chooseHeTongProblem = true : type == '工程' ? this.chooseGongchengProblem = true : this.chooseQuanlityProblem = true
- let paramObj = {}
- if(this.unitProblemInfo.nature){
- paramObj = {
- pblmType: obj.pblmPoint,
- // sheetName: obj.reviOrg,
- sheetName: obj.pblmPoint,
- attachType: obj.proType,
- attach: attach,
- sn: obj.pblmSn
- }
- }else{
- paramObj = {
- pblmType: obj.pblmPoint,
- sheetName: obj.pblmPoint,
- attachType: obj.proType,
- attach: attach,
- sn: obj.pblmSn
- }
- }
- request.post(`/obj/key/pblm/pblmsList`, paramObj).then(res => {
- if (res.success) {
- if(type == '合同'){
- this.pblmDescListHetong = res.data;
- }else{
- this.pblmDescList = res.data;
- }
- }
- });
- },
- sendPblmsTypeIdWeigui(val){
- this.problemForm.pblmsTypeId = val.id
- this.problemForm.inspPblmCate = val.inspPblmCate
- },
- sendPblmsTypeIdHetong(val){
- this.problemForm.pblmsId = val.id
- this.problemForm.inspPblmCate = val.inspPblmCate
- },
- sendPblmsTypeIdQuanlity(val){
- this.problemForm.qualityTypeId = val.id
- this.problemForm.inspPblmCate = val.inspPblmCate
- },
- sendPblmsTypeIdGongcheng(val){
- this.problemForm.defectTypeId = val.id
- this.problemForm.inspPblmCate = val.inspPblmCate
- },
- //获取单条数据
- getSingleProData(){
- this.dialogType = '修改'
- this.pictureArray = [];
- this.audioArray = [];
- this.videoArray = [];
- this.fileArray = [];
- var _this = this;
- request.get(`/obj/key/pblm/getPblm/${this.problemId}/${this.projectType}`).then(res => {
- if(res.success){
- this.problemForm = res.data
- this.problemForm.problemType = res.data.inspPblmName
- this.checked = res.data.ifCasePblm == '1' ? true : false
- this.problemForm.hetong = res.data.attachHetong
- this.problemForm.weigui = res.data.attachWg
- this.problemForm.quanlity = res.data.attachQua
- this.problemForm.gongcheng = res.data.attachDef
- this.problemForm = res.data;
- res.data.gwComFiles.forEach(item => {
- if (
- item.fileExt == "mp3" ||
- item.fileExt == "MP3" ||
- item.fileExt == "m4a"
- ) {
- this.audioArray.push(item);
- } else if (
- item.fileExt == "jpg" ||
- item.fileExt == "JPG" ||
- item.fileExt == "png" ||
- item.fileExt == "PNG" ||
- item.fileExt == "JPEG" ||
- item.fileExt == "jpeg"
- ) {
- this.pictureArray.push(item);
- } else if (item.fileExt == "mp4" || item.fileExt == "MP4") {
- this.videoArray.push({
- id:item.id,
- width: "130",
- height: "130",
- autoplay: false,
- muted: true,
- language: "en",
- playbackRates: [0.7, 1.0, 1.5, 2.0],
- sources: [
- {
- type: "video/mp4",
- src: this.hostUrl + item.filePath
- }
- ]
- });
- } else {
- this.fileArray.push(item);
- }
- });
- _this.$nextTick(function(){
- var ViewerDom = document.getElementById('imgView1');
- var viewer = new Viewer(ViewerDom, {})
- });
- this.picturetabName = "图片资料(" + this.pictureArray.length + ")";
- this.audiotabName = "音频资料(" + this.audioArray.length + ")";
- this.videotabName = "视频资料(" + this.videoArray.length + ")";
- this.filetabName = "其它资料(" + this.fileArray.length + ")";
- }
- })
- this.chooseQuanlityProblem = false
- this.chooseHeTongProblem = false
- this.chooseWeiguiProblem = false
- this.chooseGongchengProblem = false
- },
- onSubmit(){
- if(!this.problemForm.inspPblmDesc){
- this.$message.warning("请输入问题描述")
- return;
- }
- this.isRectify = false
- this.problemForm.ifCasePblm = this.checked ? '1' : '0'
- this.problemForm.inspPblmName = this.problemForm.problemType
- this.problemForm.recPers = this.persId
- if(this.weigui.pblmRelDics.length && !this.problemForm.pblmsTypeId){
- this.$message.warning('请选择违规附件对应问题')
- return
- }else if(!this.weigui.pblmRelDics.length){
- this.problemForm.pblmsTypeId = ''
- }
- if(this.hetong.pblmRelDics.length && !this.problemForm.pblmsId && !this.weigui.pblmRelDics.length){
- this.$message.warning('请选择合同管理附件对应问题')
- return
- }else if(!this.hetong.pblmRelDics.length){
- this.problemForm.pblmsId = ''
- }
- if(this.quanlity.pblmRelDics.length && !this.problemForm.qualityTypeId){
- this.$message.warning('请选择质量缺陷附件对应问题')
- return
- }else if(!this.quanlity.pblmRelDics.length){
- this.problemForm.qualityTypeId = ''
- }
- if(this.gongcheng.pblmRelDics.length && !this.problemForm.defectTypeId){
- this.$message.warning('请选择工程缺陷附件对应问题')
- return
- }else if(!this.gongcheng.pblmRelDics.length){
- this.problemForm.defectTypeId = ''
- }
- this.problemForm.problemType = this.problemForm.problemType == '违规行为' ? '0' : this.problemForm.problemType == '质量缺陷' ? '1' : this.problemForm.problemType == '合同问题' ? '2' : '3'
- request.post('/dc/insp/pblm/update',this.problemForm).then(res=>{
- if (res.success) {
- this.gwComFiles = [];
- this.pblmStat = res.data.pblmStat;
- if (this.$refs.uploadFile.submitUpload(res.data.pblmId)) {
- this.removeNewSupervision();
- }
- this.$message.success('修改成功')
- }
- })
- },
- // 复查
- toRecheckProblem(row){
- this.dialogType = row.reviConc == '1' ? '添加' : row.reviConc == '2' ? '修改' : '添加'
- this.rectifyForm.rectConc = row.rectConc
- this.rectifyForm.rectMeas = row.rectMeas
- Object.assign(this.rectifyRow,row)
- if(this.dialogType == '添加'){
- this.rectifyForm.collTime = ''
- }else{
- this.rectifyForm.collTime = this.formatDateTime(row.collTime)
- }
- this.recheck_dialogVisible = true
- },
- rectifySubmit(){
- this.isRectify = true
- this.rectifyForm['recPers'] = this.persId
- if(this.dialogType == '添加'){
- this.rectifyForm['pblmId'] = this.rectifyRow.pblmId
- this.rectifyForm['orgGuid'] = this.rectifyRow.regid
- request.post('/dc/insp/rectFdbk',this.rectifyForm).then(res=>{
- if (res.success) {
- // this.pblmId = res.data.pblmId;
- this.pblmId = this.rectifyRow.pblmId
- this.gwComFiles = [];
- this.pblmStat = res.data.pblmStat;
- this.recheck_dialogVisible = false
- this.searchList()
- if (this.$refs.uploadFile.submitUpload(res.data.guid)) {
- this.removeNewSupervision();
- }
- }
- })
- }else{
- // this.rectifyForm['guid'] = this.rectifyRow.guid
- this.rectifyForm['pblmId'] = this.rectifyRow.pblmId
- this.rectifyForm['orgGuid'] = this.rectifyRow.regid
- this.rectifyForm['id'] = this.rectifyRow.guid
- delete this.rectifyForm.collTime
- request.post('/dc/insp/rectFdbk',this.rectifyForm).then(res=>{
- if (res.success) {
- this.pblmId = res.data.guid;
- // this.pblmId = this.rectifyRow.pblmId
- this.gwComFiles = [];
- this.pblmStat = res.data.pblmStat;
- this.recheck_dialogVisible = false
- this.searchList()
- if (this.$refs.uploadFile.submitUpload(res.data.guid)) {
- this.removeNewSupervision();
- }
- }
- })
- }
- },
- selectHetongChange(val){
- this.$forceUpdate()
- let _this = this
- this.chooseHeTongProblem = false
- this.hetong.pblmRelDics.forEach(ele=>{
- if(ele.pblmAttach == val){
- _this.hetong.pblmSn = ele.pblmSn
- }
- })
- },
- selectWeiguiChange(val){
- this.$forceUpdate()
- let _this = this
- this.chooseWeiguiProblem = false
- this.weigui.pblmRelDics.forEach(ele=>{
- if(ele.pblmAttach == val){
- _this.weigui.pblmSn = ele.pblmSn
- }
- })
- },
- selectQuanlityChange(val){
- this.$forceUpdate()
- let _this = this
- this.chooseQuanlityProblem = false
- this.quanlity.pblmRelDics.forEach(ele=>{
- if(ele.pblmAttach == val){
- _this.quanlity.pblmSn = ele.pblmSn
- }
- })
- },
- selectGongchengChange(val){
- this.$forceUpdate()
- let _this = this
- this.chooseGongchengProblem = false
- this.gongcheng.pblmRelDics.forEach(ele=>{
- if(ele.pblmAttach == val){
- _this.gongcheng.pblmSn = ele.pblmSn
- }
- })
- },
- handleDetailClick(tab, event) {
- console.log(tab, event);
- },
- problemTypeChange(val){
- // alert(val)
- this.weigui.pblmSn = ''
- this.hetong.pblmSn = ''
- this.quanlity.pblmSn = ''
- this.gongcheng.pblmSn = ''
- this.problemForm.weigui = ''
- this.problemForm.hetong = ''
- this.problemForm.quanlity = ''
- this.problemForm.gongcheng = ''
- this.chooseHeTongProblem = false
- this.chooseWeiguiProblem = false
- this.chooseQuanlityProblem = false
- this.chooseGongchengProblem = false
- },
- },
- watch:{
- 'problemForm.problemType':{
- deep: true,
- handler(newVal,oldVal){
- this.convertGroup()
- }
- },
- }
- }
- </script>
- <style scoped lang="scss">
- .scroll_wrapper{
- overflow: hidden;
- }
- .scroll_wrapper .el-form{
- padding-top: 5px;
- padding-right: 5px;
- }
- .upload-container {
- width: 100%;
- position: relative;
- .image-uploader {
- width: 35%;
- float: left;
- }
- .image-preview {
- width: 200px;
- height: 200px;
- position: relative;
- border: 1px dashed #d9d9d9;
- float: left;
- // margin-left: 50px;
- .image-preview-wrapper {
- position: relative;
- width: 100%;
- height: 100%;
- img {
- width: 100%;
- height: 100%;
- }
- }
- .image-preview-action {
- position: absolute;
- width: 100%;
- height: 30px;
- left: 0;
- bottom: 0;
- color: #fff;
- opacity: 0;
- font-size: 20px;
- background-color: rgba(0, 0, 0, 0.5);
- transition: opacity 0.3s;
- cursor: pointer;
- text-align: center;
- line-height: 30px;
- .el-icon-delete {
- font-size: 25px;
- }
- }
- &:hover {
- .image-preview-action {
- opacity: 1;
- }
- }
- }
- .image-app-preview {
- margin-bottom: 10px;
- width: 40vh;
- height: 180px;
- position: relative;
- border: 1px dashed #d9d9d9;
- float: left;
- // margin-left: 50px;
- .app-fake-conver {
- height: 44px;
- position: absolute;
- width: 100%; // background: rgba(0, 0, 0, .1);
- text-align: center;
- line-height: 64px;
- color: #fff;
- }
- }
- }
- </style>
|