From f752f50a484f63fc3786ab1c7ad563f3b17cce77 Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Fri, 15 Nov 2024 15:58:32 +0800
Subject: [PATCH] fix: 国控站
---
src/views/toCarryOutLegislativeReforms/components/workOrderInformation.vue | 644 +++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 497 insertions(+), 147 deletions(-)
diff --git a/src/views/toCarryOutLegislativeReforms/components/workOrderInformation.vue b/src/views/toCarryOutLegislativeReforms/components/workOrderInformation.vue
index 4c00f47..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'||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,24 +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 => {
if (item.fileType === 1) {
- this.fileBaseList.push(`${requestObj.baseUrl}/file/preview/${item.fileId}`) // ������
+ 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
})
@@ -399,10 +715,15 @@
if (newVal.fileChangeList && newVal.fileChangeList.length > 0) {
newVal.fileChangeList.forEach(item => {
if (item.fileType === 1) {
- this.fileChangeList.push(`${requestObj.baseUrl}/file/preview/${item.fileId}`) // ������
+ 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
})
@@ -411,11 +732,18 @@
if (newVal.fileApproveList && newVal.fileApproveList.length > 0) {
newVal.fileApproveList.forEach(item => {
if (item.fileType === 1) {
- this.fileApproveList.push(`${requestObj.baseUrl}/file/preview/${item.fileId}`) // ������
+ this.fileApproveList.push(
+ `${requestObj.baseUrl}/file/preview/${item.fileId}`
+ ) // ������
}
- 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
})
@@ -424,30 +752,37 @@
if (newVal.fileList && newVal.fileList.length > 0) {
newVal.fileList.forEach(item => {
if (item.fileType === 1) {
- this.fileDelayList.push(`${requestObj.baseUrl}/file/preview/${item.fileId}`) // ������
+ this.fileDelayList.push(
+ `${requestObj.baseUrl}/file/preview/${item.fileId}`
+ ) // ������
}
- 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',
@@ -455,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')
@@ -464,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')
@@ -506,11 +847,11 @@
}
})
},
- getContaminateList() {
+ getContaminateList () {
this.$request({
url: '/allocation/contaminate',
method: 'get'
- }).then((res) => {
+ }).then(res => {
this.polluteList = res.data
})
}
@@ -519,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;
}
}
@@ -534,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