From 933f7c55bdf0f84b1c780de715c7d477df8ab052 Mon Sep 17 00:00:00 2001 From: quanyawei <401863037@qq.com> Date: Fri, 06 Sep 2024 13:44:17 +0800 Subject: [PATCH] fix: 责任单位修改 --- src/views/toCarryOutLegislativeReforms/components/workOrderInformation.vue | 654 ++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 507 insertions(+), 147 deletions(-) diff --git a/src/views/toCarryOutLegislativeReforms/components/workOrderInformation.vue b/src/views/toCarryOutLegislativeReforms/components/workOrderInformation.vue index 78f1045..9783157 100644 --- a/src/views/toCarryOutLegislativeReforms/components/workOrderInformation.vue +++ b/src/views/toCarryOutLegislativeReforms/components/workOrderInformation.vue @@ -1,13 +1,30 @@ <template> <div> - <el-dialog :title="dialogData.title" :visible.sync="visible" width="900px" center :before-close="close"> - <div slot="title" class="titBox"> + <el-dialog + :title="dialogData.title" + top="30px" + :visible.sync="visible" + width="900px" + center + :before-close="close" + > + <div + slot="title" + class="titBox" + > <div>{{ parentFormData.allocationNum }}</div> <div>{{ dialogData.title }}</div> </div> <div> - <div v-if="dialogData.pageType !=='delay'" class="stepsList"> - <el-steps :space="200" :active="parentFormData.approveList.length+1" align-center> + <div + v-if="dialogData.pageType !=='delay'" + class="stepsList" + > + <el-steps + :space="200" + :active="activeLeng" + align-center + > <el-step v-for="(item,index) in setepList" :key="index" @@ -17,29 +34,104 @@ </el-steps> </div> <div class="inforData"> - <el-descriptions title="������������" :column="parseInt('4')"> - <el-descriptions-item label="������������" label-class-name="itemSpan">{{ parentFormData.escalationTime }}</el-descriptions-item> - <el-descriptions-item label="������������" label-class-name="itemSpan">{{ parentFormData.pollutePosition }}</el-descriptions-item> - <el-descriptions-item label="������������" label-class-name="itemSpan">{{ unitIdFormatter }}</el-descriptions-item> - <el-descriptions-item label="������������" label-class-name="itemSpan">{{ polluteTypeFormatter }}</el-descriptions-item> - <el-descriptions-item label="������������" label-class-name="itemSpan">{{ dictObj.changeEnum[parentFormData.changeType] }}</el-descriptions-item> - <el-descriptions-item label="������������" label-class-name="itemSpan">{{ parentFormData.changeDay }}</el-descriptions-item> - <el-descriptions-item label="������������" label-class-name="itemSpan">{{ updataUnitIdFormatter }}</el-descriptions-item> - <el-descriptions-item label="���������" label-class-name="itemSpan">{{ parentFormData.escalationName }}</el-descriptions-item> + <el-descriptions + title="������������" + > + <el-descriptions-item + label="������������" + label-class-name="itemSpan" + > + {{ parentFormData.escalationTime }} + </el-descriptions-item> + <el-descriptions-item + label="������������" + label-class-name="itemSpan" + > + {{ unitIdFormatter }} + </el-descriptions-item> + <el-descriptions-item + label="������������" + label-class-name="itemSpan" + > + {{ polluteTypeFormatter }} + </el-descriptions-item> + <el-descriptions-item + label="������������" + label-class-name="itemSpan" + > + {{ dictObj.changeEnum[parentFormData.changeType] }} + </el-descriptions-item> + <el-descriptions-item + label="������������" + label-class-name="itemSpan" + > + {{ parentFormData.changeDay }} + </el-descriptions-item> + <el-descriptions-item + label="������������" + label-class-name="itemSpan" + > + {{ updataUnitIdFormatter }} + </el-descriptions-item> + <el-descriptions-item + label="���������" + label-class-name="itemSpan" + > + {{ parentFormData.escalationName }} + </el-descriptions-item> + <el-descriptions-item + label="������������" + label-class-name="itemSpan" + > + {{ dictObj.emphasisEnum[parentFormData.keyPoint] }} + </el-descriptions-item> + </el-descriptions> + <el-descriptions> + <el-descriptions-item + label="������������" + label-class-name="itemSpan" + > + {{ parentFormData.pollutePosition }} + <i + v-if="parentFormData.latitude&&parentFormData.longitude" + style="color:#409EFF;margin-left:10px;font-size:18px;cursor:pointer" + class="el-icon-location-outline" + @click="toMap" + /> + </el-descriptions-item> </el-descriptions> <el-descriptions :column="parseInt('1')"> - <el-descriptions-item label="������������" label-class-name="itemSpan" :content-style="{'width': '80%'}">{{ parentFormData.problemDescribe }}</el-descriptions-item> - <el-descriptions-item label="������" label-class-name="itemSpan" :content-style="{'width': '80%'}"> + <el-descriptions-item + label="������������" + label-class-name="itemSpan" + :content-style="{'width': '80%'}" + > + {{ parentFormData.problemDescribe }} + </el-descriptions-item> + <el-descriptions-item + label="������" + label-class-name="itemSpan" + :content-style="{'width': '80%'}" + > <div> - <div v-for="(file,index) in fileBaseListCover" :key="file.id+index" class="block"> + <div + v-for="(file,index) in fileBaseListCover" + :key="file.id+index" + class="block" + > <el-image v-if="file.fileType ===1" style="width: 100px; height: 100px" :src="file.url" - :preview-src-list="fileBaseList" + :preview-src-list="getPreviewImages(file.id,fileBaseList)" :initial-index="index" /> - <video v-else :src="file.url" style="width: 100px; height: 100px" @click="openVideo(file)"> + <video + v-else + :src="file.url" + style="width: 100px; height: 100px" + @click="openVideo(file)" + > ������������������������ video ��������� </video> </div> @@ -48,18 +140,34 @@ </el-descriptions> </div> <!-- ������������������ --> - <div v-if="dialogData.pageType ==='work'" class="rectification"> + <div + v-if="dialogData.pageType ==='work'" + class="rectification" + > <div> - <el-form label-width="90px" class="demo-form-inline"> + <el-form + label-width="90px" + class="demo-form-inline" + > <div style="display: flex;"> - <el-form-item label="������������:"> + <el-form-item + label="������������:" + > <el-radio-group v-model="workForme.isChange"> - <el-radio :label="0">���</el-radio> - <el-radio :label="1">���</el-radio> + <el-radio :label="1"> + ��� + </el-radio> + <el-radio :label="0"> + ��� + </el-radio> </el-radio-group> </el-form-item> <el-form-item label="���������:"> - <el-input v-model="workForme.changeName" size="mini" placeholder="������������������" /> + <el-input + v-model="workForme.changeName" + size="mini" + placeholder="������������������" + /> </el-form-item> </div> <el-form-item label="������������:"> @@ -71,40 +179,80 @@ /> </el-form-item> <el-row> - <el-form-item label="������:"> - <uploadFile :upload-url="uploadTermExcelUrl" :sys-code="dialogData.sysCode" /> + <el-form-item + label="������:" + class="isChangeFile" + > + <uploadFile + :upload-url="uploadTermExcelUrl" + :sys-code="dialogData.sysCode" + /> </el-form-item> </el-row> - </el-form> </div> </div> <!-- ������������ --> - <div v-if="dialogData.pageType ==='detail' && parentFormData.state >=30"> + <div v-if="(dialogData.pageType ==='detail'||dialogData.pageType ==='approve' )&& parentFormData.state >=30"> <el-row class="rectificationContent"> - <el-col :span="12"><div class="grid-content bg-purple" /> - <el-descriptions title="������������" :column="parseInt('2')"> - <el-descriptions-item label="������������" label-class-name="itemSpan">{{ parentFormData.changeType }}</el-descriptions-item> - <el-descriptions-item label="���������" label-class-name="itemSpan">{{ parentFormData.changeName }}</el-descriptions-item> + <el-col :span="12"> + <div class="grid-content bg-purple" /> + <el-descriptions + title="������������" + :column="parseInt('2')" + > + <el-descriptions-item + label="������������" + label-class-name="itemSpan" + > + {{ dictObj.yesOrNo[parentFormData.isChange] }} + </el-descriptions-item> + <el-descriptions-item + label="���������" + label-class-name="itemSpan" + > + {{ parentFormData.changeName }} + </el-descriptions-item> </el-descriptions> <el-descriptions :column="parseInt('1')"> - <el-descriptions-item label="������������" label-class-name="itemSpan">{{ parentFormData.changeDescribe }}</el-descriptions-item> + <el-descriptions-item + label="������������" + label-class-name="itemSpan" + > + {{ parentFormData.changeDescribe }} + </el-descriptions-item> </el-descriptions> </el-col> - <el-col :span="12"><div class="grid-content bg-purple-light" /> + <el-col :span="12"> + <div class="grid-content bg-purple-light" /> <el-row> - <el-col :span="3" style="margin-top: 40px;font-size: 15px;color: #101010;"><div class="grid-content bg-purple" />���������</el-col> - <el-col :span="21"><div class="grid-content bg-purple-light" /> + <el-col + :span="3" + style="margin-top: 40px;font-size: 15px;color: #101010;" + > + <div class="grid-content bg-purple" />��������� + </el-col> + <el-col :span="21"> + <div class="grid-content bg-purple-light" /> <div> - <div v-for="(file,index) in fileChangeListCover" :key="file.id+index" class="block"> + <div + v-for="(file,index) in fileChangeListCover" + :key="file.id+index" + class="block" + > <el-image v-if="file.fileType ===1" style="width: 100px; height: 100px" :src="file.url" - :preview-src-list="fileChangeList" + :preview-src-list="getPreviewImages(file.id,fileChangeList)" :initial-index="index" /> - <video v-else :src="file.url" style="width: 100px; height: 100px" @click="openVideo(file)"> + <video + v-else + :src="file.url" + style="width: 100px; height: 100px" + @click="openVideo(file)" + > ������������������������ video ��������� </video> </div> @@ -117,29 +265,59 @@ <!-- ������������ --> <div v-if="dialogData.pageType ==='detail'&& parentFormData.state>30"> <el-row class="rectificationContent"> - <el-col :span="12"><div class="grid-content bg-purple" /> - <el-descriptions title="������������" :column="2"> - <el-descriptions-item label="������������" label-class-name="itemSpan">{{ parentFormData.checkScore }}</el-descriptions-item> + <el-col :span="12"> + <div class="grid-content bg-purple" /> + <el-descriptions + title="������������" + :column="2" + > + <el-descriptions-item + label="������������" + label-class-name="itemSpan" + > + {{ parentFormData.checkScore }} + </el-descriptions-item> </el-descriptions> <el-descriptions :column="1"> - <el-descriptions-item label="������" label-class-name="itemSpan">{{ parentFormData.checkDescribe }}</el-descriptions-item> + <el-descriptions-item + label="������" + label-class-name="itemSpan" + > + {{ parentFormData.checkDescribe }} + </el-descriptions-item> </el-descriptions> </el-col> - <el-col :span="12"><div class="grid-content bg-purple-light" /> + <el-col :span="12"> + <div class="grid-content bg-purple-light" /> <el-row> - <el-col :span="3" style="margin-top: 40px;font-size: 15px;color: #101010;"><div class="grid-content bg-purple" />���������</el-col> - <el-col :span="21"><div class="grid-content bg-purple-light" /> + <el-col + :span="3" + style="margin-top: 40px;font-size: 15px;color: #101010;" + > + <div class="grid-content bg-purple" />��������� + </el-col> + <el-col :span="21"> + <div class="grid-content bg-purple-light" /> <div> <div> - <div v-for="(file,index) in fileApproveListCover" :key="file.id+index" class="block"> + <div + v-for="(file,index) in fileApproveListCover" + :key="file.id+index" + class="block" + > <el-image v-if="file.fileType ===1" style="width: 100px; height: 100px" :src="file.url" - :preview-src-list="fileApproveList" + :preview-src-list="getPreviewImages(file.id,fileApproveList)" :initial-index="index" /> - <video v-else :src="file.url" style="width: 100px; height: 100px" @click="openVideo(file)"> + <video + v-else + :src="file.url" + style="width: 100px; height: 100px" + @click="openVideo(file)" + > ������������������������ video ��������� </video> </div> @@ -153,39 +331,81 @@ <!-- ������������ --> <div v-if="(dialogData.pageType ==='delay' && (dialogData.pageState ==='view' ||dialogData.pageState ==='edit'))"> <el-row class="rectificationContent"> - <el-col :span="12"><div class="grid-content bg-purple" /> - <el-descriptions title="������������" :column="1"> - <el-descriptions-item label="������������" label-class-name="itemSpan">{{ parentFormData.extensionNum }}</el-descriptions-item> - <el-descriptions-item label="������������" label-class-name="itemSpan">{{ parentFormData.remake }}</el-descriptions-item> + <el-col :span="12"> + <div class="grid-content bg-purple" /> + <el-descriptions + title="������������" + :column="1" + > + <el-descriptions-item + label="������������" + label-class-name="itemSpan" + > + {{ parentFormData.extensionNum }} + </el-descriptions-item> + <el-descriptions-item + label="������������" + label-class-name="itemSpan" + > + {{ parentFormData.remake }} + </el-descriptions-item> </el-descriptions> </el-col> - <el-col :span="12"><div class="grid-content bg-purple-light" /> + <el-col :span="12"> + <div class="grid-content bg-purple-light" /> <el-row> - <el-col :span="3" style="margin-top: 40px;font-size: 15px;color: #101010;"><div class="grid-content bg-purple" />���������</el-col> - <el-col :span="21"><div class="grid-content bg-purple-light" /> + <el-col + :span="3" + style="margin-top: 40px;font-size: 15px;color: #101010;" + > + <div class="grid-content bg-purple" />��������� + </el-col> + <el-col :span="21"> + <div class="grid-content bg-purple-light" /> <div> - <div v-for="(file,index) in fileDelayListCover" :key="file.id+index" class="block"> + <div + v-for="(file,index) in fileDelayListCover" + :key="file.id+index" + class="block" + > <el-image v-if="file.fileType ===1" style="width: 100px; height: 100px" :src="file.url" - :preview-src-list="fileDelayList" + :preview-src-list="getPreviewImages(file.id,fileDelayList)" :initial-index="index" /> - <video v-else :src="file.url" style="width: 100px; height: 100px" @click="openVideo(file)"> + <video + v-else + :src="file.url" + style="width: 100px; height: 100px" + @click="openVideo(file)" + > ������������������������ video ��������� </video> </div> - </div></el-col> + </div> + </el-col> </el-row> </el-col> </el-row> </div> <!-- ������������ --> - <div v-if="dialogData.pageType ==='approve'" class="examineAndApprove"> - <el-form label-width="90px" :model="rectificationFromData" class="demo-form-inline"> + <div + v-if="dialogData.pageType ==='approve'" + class="examineAndApprove" + > + <el-form + label-width="90px" + :model="rectificationFromData" + class="demo-form-inline" + > <el-form-item label="������������:"> - <el-input v-model="approveForm.checkScore" style="width: 120px;" size="mini" /> + <el-input + v-model="approveForm.checkScore" + style="width: 120px;" + size="mini" + /> </el-form-item> <el-form-item label="������:"> <el-input @@ -196,15 +416,28 @@ /> </el-form-item> <el-form-item label="������:"> - <uploadFile :upload-url="uploadTermExcelUrl" :sys-code="dialogData.sysCode" /> + <uploadFile + :upload-url="uploadTermExcelUrl" + :sys-code="dialogData.sysCode" + /> </el-form-item> </el-form> </div> <!-- ������������ --> - <div v-if="dialogData.pageType ==='delay' && ( dialogData.pageState ==='approve')" class="examineAndApprove"> - <el-form label-width="90px" :model="rectificationFromData" class="demo-form-inline"> + <div + v-if="dialogData.pageType ==='delay' && ( dialogData.pageState ==='approve')" + class="examineAndApprove" + > + <el-form + label-width="90px" + :model="rectificationFromData" + class="demo-form-inline" + > <el-form-item label="������������:"> - <el-input v-model="delayForm.extensionNum" style="width: 200px;" /> + <el-input + v-model="delayForm.extensionNum" + style="width: 200px;" + /> </el-form-item> <el-form-item label="������������:"> <el-input @@ -215,20 +448,66 @@ /> </el-form-item> <el-form-item label="������:"> - <uploadFile :upload-url="uploadTermExcelUrl" :sys-code="dialogData.sysCode" /> + <uploadFile + :upload-url="uploadTermExcelUrl" + :sys-code="dialogData.sysCode" + /> </el-form-item> </el-form> </div> </div> - <div slot="footer" class="dialog-footer"> - <el-button @click="close()">������</el-button> - <el-button v-if="dialogData.pageType ==='approve'" type="danger" @click="handleSubmit(50)">������</el-button> - <el-button v-if="dialogData.pageType ==='delay'&& dialogData.pageState ==='edit'" type="danger" @click="handleDelaySubmit(50)">������</el-button> - <el-button v-if="dialogData.pageType ==='delay'&& dialogData.pageState ==='edit'" type="primary" @click="handleDelaySubmit(40)">������</el-button> - <el-button v-if="dialogData.pageType !=='detail'&& dialogData.pageState ==='approve'" type="primary" @click="handleSubmit(40)">������</el-button> + <el-alert + v-if="parentFormData.isInvalid===1" + title="���������" + type="warning" + show-icon + :description="`���������${parentFormData.invalidReason}`" + :closable="false" + /> + <div + slot="footer" + class="dialog-footer" + > + <el-button @click="close()"> + ������ + </el-button> + <el-button + v-if="dialogData.pageType ==='approve'" + type="danger" + @click="handleSubmit(50)" + > + ������ + </el-button> + <el-button + v-if="dialogData.pageType ==='delay'&& dialogData.pageState ==='edit'" + type="danger" + @click="handleDelaySubmit(50)" + > + ������ + </el-button> + <el-button + v-if="dialogData.pageType ==='delay'&& dialogData.pageState ==='edit'" + type="primary" + @click="handleDelaySubmit(40)" + > + ������ + </el-button> + <el-button + v-if="dialogData.pageType !=='detail'&& dialogData.pageState ==='approve'" + type="primary" + @click="handleSubmit(40)" + > + ������ + </el-button> </div> </el-dialog> - <el-dialog :visible.sync="videoVisible" width="600px" :modal-append-to-body="false" :destroy-on-close="true" @close="handleCancel"> + <el-dialog + :visible.sync="videoVisible" + width="600px" + :modal-append-to-body="false" + :destroy-on-close="true" + @close="handleCancel" + > <div style="text-align: center;"> <video ref="video" @@ -253,14 +532,15 @@ uploadFile }, props: { + isToMap: { type: Boolean, required: true, default: false }, dialogData: { type: Object, default: () => {} }, visible: { type: Boolean, required: true } }, - data() { + data () { return { centerDialogVisible: true, workForme: { - isChange: '', + isChange: 1, changeName: '', changeDescribe: '' }, @@ -272,9 +552,7 @@ remake: '', extensionNum: '' }, - rectificationFromData: { - - }, + rectificationFromData: {}, dialogVisibleMainGraph: false, hasFile: '', setepListAdd: { @@ -287,9 +565,7 @@ { createName: '', stateName: '������', createTime: '' }, { createName: '', stateName: '������', createTime: '' } ], - set3: [ - { createName: '', stateName: '������', createTime: '' } - ] + set3: [{ createName: '', stateName: '������', createTime: '' }] }, unitList: [], polluteList: [], @@ -305,56 +581,72 @@ fileDelayListCover: [], fileDelayList: [], videoVisible: false, - dialogImageUrl: '' + dialogImageUrl: '', + activeLeng: 1 } }, computed: { - uploadTermExcelUrl() { + uploadTermExcelUrl () { return `${requestObj.baseUrl}/file/upload` }, - parentFormData() { - console.log('parentFormData.approveList', this.dialogData.parentFormData) + parentFormData () { + console.log('parentFormData.approveList', this.dialogData) return this.dialogData.parentFormData }, - updataUnitIdFormatter: function() { - const data = this.unitList.find(item => item && item.unitId === this.dialogData.parentFormData.escalationUnitId) + updataUnitIdFormatter: function () { + const data = this.unitList.find( + item => + item && + item.unitId === this.dialogData.parentFormData.escalationUnitId + ) return data ? data.unitName : '' }, - unitIdFormatter: function() { - const data = this.unitList.find(item => item && item.unitId === this.dialogData.parentFormData.unitId) + unitIdFormatter: function () { + const data = this.unitList.find( + item => item && item.unitId === this.dialogData.parentFormData.unitId + ) return data ? data.unitName : '' }, - polluteTypeFormatter: function() { - const data = this.polluteList.find(item => item && parseInt(item.dataKey) === this.dialogData.parentFormData.polluteType) + polluteTypeFormatter: function () { + const data = this.polluteList.find( + item => + item && + parseInt(item.dataKey) === this.dialogData.parentFormData.polluteType + ) return data ? data.dataValue : '' }, - setepList() { + setepList () { const leng = this.dialogData.parentFormData.approveList.length let data = _.cloneDeep(this.dialogData.parentFormData.approveList) - if (leng === 1) { data = [...data, ...this.setepListAdd.set1] + // eslint-disable-next-line vue/no-side-effects-in-computed-properties + this.activeLeng = 1 } if (leng === 2) { data = [...data, ...this.setepListAdd.set2] + // eslint-disable-next-line vue/no-side-effects-in-computed-properties + this.activeLeng = 2 } if (leng === 3) { data = [...data, ...this.setepListAdd.set3] + // eslint-disable-next-line vue/no-side-effects-in-computed-properties + this.activeLeng = 4 } - console.log('data', leng) + console.log('datadata', data) return data } }, watch: { - 'parentFormData': { - handler(newVal) { + parentFormData: { + handler (newVal) { this.searchthisFileList(newVal) }, deep: true, immediate: true } }, - created() { + created () { const name = this.$store.state.user.name this.workForme.changeName = name this.getContaminateList() @@ -363,7 +655,7 @@ console.log('fileList', fileList) this.fileList = [] if (fileList.length > 0) { - fileList.map((item) => { + fileList.map(item => { if (item.response) { this.fileList.push(item.response.data) } @@ -372,22 +664,48 @@ }) }, methods: { - openVideo(item) { + toMap () { + this.$emit('update:isToMap', true) + }, + getPreviewImages (index, list) { + let startIndex = 0 + const chechList = _.cloneDeep(list) + chechList.forEach((item, i) => { + const str = item.substring(item.lastIndexOf('/') + 1) + if (Number(str) === Number(index)) { + startIndex = i + } + }) + console.log('startIndex', startIndex) + var imgList = [...list] + if (index === 0) return imgList + var start = imgList.splice(startIndex) + var remain = imgList.splice(0, startIndex) + return start.concat(remain) + }, + openVideo (item) { console.log('item', item) this.dialogImageUrl = item.url this.videoVisible = true }, - handleCancel() { + handleCancel () { this.dialogImageUrl = '' this.videoVisible = false }, - searchthisFileList(newVal) { + searchthisFileList (newVal) { if (newVal.fileBaseList && newVal.fileBaseList.length > 0) { newVal.fileBaseList.forEach(item => { - // const srcApi = item.fileType === 1 ? api + 'preview/' : api + 'preview/cover/' - this.fileBaseList.push(`${requestObj.baseUrl}/file/preview/${item.fileId}`) // ������ + if (item.fileType === 1) { + this.fileBaseList.push( + `${requestObj.baseUrl}/file/preview/${item.fileId}` + ) // ������ + } + this.fileBaseListCover.push({ - url: item.fileType === 1 ? `${requestObj.baseUrl}/file/preview/cover/${item.fileId}` : `${requestObj.baseUrl}/file/preview/${item.fileId}`, + url: + item.fileType === 1 + ? `${requestObj.baseUrl}/file/preview/cover/${item.fileId}` + : `${requestObj.baseUrl}/file/preview/${item.fileId}`, fileType: item.fileType, id: item.fileId }) @@ -396,9 +714,16 @@ } if (newVal.fileChangeList && newVal.fileChangeList.length > 0) { newVal.fileChangeList.forEach(item => { - this.fileChangeList.push(`${requestObj.baseUrl}/file/preview/${item.fileId}`) // ������ + if (item.fileType === 1) { + this.fileChangeList.push( + `${requestObj.baseUrl}/file/preview/${item.fileId}` + ) // ������ + } this.fileChangeListCover.push({ - url: item.fileType === 1 ? `${requestObj.baseUrl}/file/preview/cover/${item.fileId}` : `${requestObj.baseUrl}/file/preview/${item.fileId}`, + url: + item.fileType === 1 + ? `${requestObj.baseUrl}/file/preview/cover/${item.fileId}` + : `${requestObj.baseUrl}/file/preview/${item.fileId}`, fileType: item.fileType, id: item.fileId }) @@ -406,9 +731,19 @@ } if (newVal.fileApproveList && newVal.fileApproveList.length > 0) { newVal.fileApproveList.forEach(item => { - this.fileApproveList.push(`${requestObj.baseUrl}/file/preview/${item.fileId}`) // ������ + if (item.fileType === 1) { + this.fileApproveList.push( + `${requestObj.baseUrl}/file/preview/${item.fileId}` + ) // ������ + } + this.fileApproveList.push( + `${requestObj.baseUrl}/file/preview/${item.fileId}` + ) // ������ this.fileApproveListCover.push({ - url: item.fileType === 1 ? `${requestObj.baseUrl}/file/preview/cover/${item.fileId}` : `${requestObj.baseUrl}/file/preview/${item.fileId}`, + url: + item.fileType === 1 + ? `${requestObj.baseUrl}/file/preview/cover/${item.fileId}` + : `${requestObj.baseUrl}/file/preview/${item.fileId}`, fileType: item.fileType, id: item.fileId }) @@ -416,28 +751,38 @@ } if (newVal.fileList && newVal.fileList.length > 0) { newVal.fileList.forEach(item => { - this.fileDelayList.push(`${requestObj.baseUrl}/file/preview/${item.fileId}`) // ������ + if (item.fileType === 1) { + this.fileDelayList.push( + `${requestObj.baseUrl}/file/preview/${item.fileId}` + ) // ������ + } + this.fileDelayList.push( + `${requestObj.baseUrl}/file/preview/${item.fileId}` + ) // ������ this.fileDelayListCover.push({ - url: item.fileType === 1 ? `${requestObj.baseUrl}/file/preview/cover/${item.fileId}` : `${requestObj.baseUrl}/file/preview/${item.fileId}`, + url: + item.fileType === 1 + ? `${requestObj.baseUrl}/file/preview/cover/${item.fileId}` + : `${requestObj.baseUrl}/file/preview/${item.fileId}`, fileType: item.fileType, id: item.fileId }) }) } }, - close() { + close () { this.$emit('update:visible', false) }, // ������������������list - getUnitList() { + getUnitList () { this.$request({ url: '/allocation/unit', method: 'get' - }).then((res) => { + }).then(res => { this.unitList = res.data }) }, - handleDelaySubmit(state) { + handleDelaySubmit (state) { this.$request({ url: '/allocationExtension/check', method: 'get', @@ -445,7 +790,7 @@ id: this.dialogData.parentFormData.id, state: state } - }).then((res) => { + }).then(res => { if (res.code === 0) { this.$emit('update:visible', false) this.$emit('handeleSumit') @@ -454,40 +799,46 @@ } }) }, - handleSubmit(state) { + handleSubmit (state) { + console.log(state) + console.log(this.fileList) // ������ let api = '/allocation/change' let data = {} console.log('this.dialogData.pageType', this.dialogData.pageType) if (this.dialogData.pageType === 'work') { + if (!this.fileList.length) { + this.$message.error('���������������������') + return false + } api = '/allocation/change' data = { - 'allocationId': this.dialogData.parentFormData.allocationId, + allocationId: this.dialogData.parentFormData.allocationId, ...this.workForme, - 'fileChangeList': this.fileList, + fileChangeList: this.fileList, state: 30 } } else if (this.dialogData.pageType === 'approve') { api = '/allocation/check' data = { - 'allocationId': this.dialogData.parentFormData.allocationId, + allocationId: this.dialogData.parentFormData.allocationId, ...this.approveForm, - 'fileApproveList': this.fileList, + fileApproveList: this.fileList, state: state } } else if (this.dialogData.pageType === 'delay') { api = '/allocation/applyfor' data = { - 'allocationId': this.dialogData.parentFormData.allocationId, + allocationId: this.dialogData.parentFormData.allocationId, ...this.delayForm, - 'fileList': this.fileList + fileList: this.fileList } } this.$request({ url: api, method: 'post', data: data - }).then((res) => { + }).then(res => { if (res.code === 0) { this.$emit('update:visible', false) this.$emit('handeleSumit') @@ -496,11 +847,11 @@ } }) }, - getContaminateList() { + getContaminateList () { this.$request({ url: '/allocation/contaminate', method: 'get' - }).then((res) => { + }).then(res => { this.polluteList = res.data }) } @@ -509,14 +860,14 @@ </script> <style lang="scss" scoped> -.titBox{ +.titBox { position: relative; font-size: 18px; - div:first-child{ + div:first-child { position: absolute; left: 10px; } - div{ + div { display: inline-block; } } @@ -524,26 +875,35 @@ border-bottom: 1px dashed rgba(187, 187, 187, 1); padding-bottom: 10px; } -.inforData{ +.inforData { margin-top: 20px; border-bottom: 1px dashed rgba(187, 187, 187, 1); padding-bottom: 10px; - font-size: 15px!important; - color: rgba(16, 16, 16, 1)!important; + font-size: 15px !important; + color: rgba(16, 16, 16, 1) !important; } - /deep/.itemSpan{ - width: 70px; - text-align: right; - font-size: 15px; - color: rgba(16, 16, 16, 1); - } - .rectification ,.examineAndApprove,.rectificationContent{ - margin-top: 20px; - border-bottom: 1px dashed rgba(187, 187, 187, 1); - margin-bottom: 10px; - } - .block { - display: inline-block; - margin-right: 10px; +/deep/.itemSpan { + width: 70px; + text-align: right; + font-size: 15px; + color: rgba(16, 16, 16, 1); +} +.rectification, +.examineAndApprove, +.rectificationContent { + margin-top: 20px; + border-bottom: 1px dashed rgba(187, 187, 187, 1); + margin-bottom: 10px; +} +.block { + display: inline-block; + margin-right: 10px; +} +.isChangeFile{ + /deep/.el-form-item__label:before { + content: "*"; + color: #f56c6c; + margin-right: 4px; +} } </style> -- Gitblit v1.8.0