This commit is contained in:
mashuai 2025-01-08 11:08:27 +08:00
parent fa474c8a07
commit 6a07f5e5ac
6 changed files with 1313 additions and 1281 deletions

View File

@ -1,7 +1,14 @@
<template> <template>
<!-- 新增工机具 --> <!-- 新增工机具 -->
<div> <div>
<el-form :model="maForm" ref="maForm" size="small" :rules="rules" :inline="true" label-width="120px"> <el-form
:model="maForm"
ref="maForm"
size="small"
:rules="rules"
:inline="true"
label-width="120px"
>
<el-form-item label="到货日期" prop="arrivalTime"> <el-form-item label="到货日期" prop="arrivalTime">
<el-date-picker <el-date-picker
v-model="maForm.arrivalTime" v-model="maForm.arrivalTime"
@ -12,7 +19,13 @@
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="物资厂家" prop="supplierId"> <el-form-item label="物资厂家" prop="supplierId">
<el-select v-model="maForm.supplierId" placeholder="物资厂家" clearable filterable style="width: 240px"> <el-select
v-model="maForm.supplierId"
placeholder="物资厂家"
clearable
filterable
style="width: 240px"
>
<el-option <el-option
v-for="item in supplierList" v-for="item in supplierList"
:key="item.supplierId" :key="item.supplierId"
@ -28,7 +41,7 @@
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
type="date" type="date"
placeholder="请选择出厂日期" placeholder="请选择出厂日期"
@change="productionTimeChange" @change="productionTimeChange"
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="税率" prop="taxRate"> <el-form-item label="税率" prop="taxRate">
@ -125,29 +138,44 @@
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleSave">保存</el-button> <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleSave" >保存</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-if="isEdit"> <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-if="isEdit">导出</el-button>
导出
</el-button>
</el-col> </el-col>
</el-row> </el-row>
<el-table v-loading="loading" :data="equipmentList" @selection-change="handleSelectionChange"> <el-table
v-loading="loading"
:data="equipmentList"
@selection-change="handleSelectionChange"
>
<!-- <el-table-column type="selection" width="55" align="center" /> --> <!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column align="center" label="序号" type="index" width="55" /> <el-table-column
<el-table-column align="center" label="物资名称" prop="maTypeName" show-overflow-tooltip></el-table-column> align="center"
<el-table-column align="center" label="规格型号" prop="typeName" show-overflow-tooltip /> label="序号"
type="index"
width="55"
/>
<el-table-column
align="center"
label="物资名称"
prop="maTypeName"
show-overflow-tooltip
></el-table-column>
<el-table-column
align="center"
label="规格型号"
prop="typeName"
show-overflow-tooltip
/>
<el-table-column align="center" label="单位" prop="unitName" /> <el-table-column align="center" label="单位" prop="unitName" />
<el-table-column label="采购数量" prop="purchaseNum" align="center"> <el-table-column label="采购数量" prop="purchaseNum" align="center">
<template v-slot="scope"> <template v-slot="scope">
<el-input <el-input
v-model.number="scope.row.purchaseNum" v-model.number="scope.row.purchaseNum"
controls-position="right" controls-position="right" type="number"
type="number" style="width: 100%" :disabled="scope.row.status!=1&&scope.row.status!=12"
style="width: 100%"
:disabled="scope.row.status != 1 && scope.row.status != 12"
:min="0" :min="0"
@input=" @input="
v => v =>
@ -158,81 +186,91 @@
></el-input> ></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="购置单价(元含税)" prop="purchaseTaxPrice" align="center" width="200"> <el-table-column
label="购置单价(元含税)"
prop="purchaseTaxPrice"
align="center" width="200"
>
<template v-slot="scope"> <template v-slot="scope">
<el-input-number <el-input-number
v-model="scope.row.purchaseTaxPrice" v-model="scope.row.purchaseTaxPrice"
controls-position="right" controls-position="right"
style="width: 100%" style="width: 100%" @blur="scope.row.purchaseTaxPrice = scope.row.purchaseTaxPrice>0? scope.row.purchaseTaxPrice:0"
@blur=" :min="0" :step="1" :disabled="scope.row.status!=1&&scope.row.status!=12"
scope.row.purchaseTaxPrice = scope.row.purchaseTaxPrice > 0 ? scope.row.purchaseTaxPrice : 0 @change="purchaseTaxPriceChange(scope.row,scope.$index)"
"
:min="0"
:step="1"
:disabled="scope.row.status != 1 && scope.row.status != 12"
@change="purchaseTaxPriceChange(scope.row, scope.$index)"
></el-input-number> ></el-input-number>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="购置单价(元不含税)" prop="purchasePrice" align="center" width="200"> <el-table-column
label="购置单价(元不含税)"
prop="purchasePrice"
align="center" width="200"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-input-number <el-input-number
v-model="scope.row.purchasePrice" v-model="scope.row.purchasePrice"
controls-position="right" controls-position="right"
style="width: 100%" style="width: 100%"
:min="0" :min="0" :step="1" disabled
:step="1" @input="purchasePriceChange(scope.row,scope.$index)"
disabled
@input="purchasePriceChange(scope.row, scope.$index)"
></el-input-number> ></el-input-number>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="租赁价(元/天)" prop="rentPrice" align="center" width="200"> <el-table-column label="租赁价(元/天)" prop="rentPrice"
align="center" width="200"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-input-number <el-input-number
v-model="scope.row.rentPrice" v-model="scope.row.rentPrice"
controls-position="right" controls-position="right"
style="width: 100%" style="width: 100%" @blur="scope.row.rentPrice = scope.row.rentPrice>0? Number(scope.row.rentPrice.toFixed(2)) :0"
@blur=" :min="0" :step="1" :disabled="(scope.row.status!=1&&scope.row.status!=12)||scope.row.rentPriceDisabled"
scope.row.rentPrice = scope.row.rentPrice > 0 ? Number(scope.row.rentPrice.toFixed(2)) : 0
"
:min="0"
:step="1"
:disabled="(scope.row.status != 1 && scope.row.status != 12) || scope.row.rentPriceDisabled"
></el-input-number> ></el-input-number>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="是否为固定资产" prop="fixCode" align="center" width="120"> <el-table-column
label="是否为固定资产"
prop="fixCode"
align="center"
width="120"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-select <el-select
v-model="scope.row.fixCode" v-model="scope.row.fixCode"
placeholder="固定资产" placeholder="固定资产"
filterable filterable :disabled="scope.row.status!=1&&scope.row.status!=12"
:disabled="scope.row.status != 1 && scope.row.status != 12"
clearable clearable
> >
<el-option label="是" value="1"></el-option> <el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option> <el-option label="否" value="0"></el-option>
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="出厂日期" align="center" prop="productionTime" width="200"> <el-table-column
label="出厂日期"
align="center"
prop="productionTime"
width="200"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-date-picker <el-date-picker
v-model="scope.row.productionTime" v-model="scope.row.productionTime"
style="width: 100%" style="width: 100%"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
type="date" type="date" :disabled="scope.row.status!=1&&scope.row.status!=12"
:disabled="scope.row.status != 1 && scope.row.status != 12"
placeholder="出厂日期" placeholder="出厂日期"
clearable clearable
></el-date-picker> ></el-date-picker>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="相关配套资料" align="center" width="120" prop="bmFileInfos"> <el-table-column
<template slot-scope="scope"> label="相关配套资料"
align="center" width="120"
prop="bmFileInfos"
>
<template slot-scope="scope">
<div <div
style="color: #02a7f0; cursor: pointer" style="color: #02a7f0; cursor: pointer"
@click="openFileDialog(scope.row)" @click="openFileDialog(scope.row)"
@ -247,11 +285,11 @@
> >
报告管理 报告管理
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="状态" align="center" prop="status" :show-overflow-tooltip="true"> <el-table-column label="状态" align="center" prop="status" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.purchase_task_status" :value="scope.row.status" /> <dict-tag :options="dict.type.purchase_task_status" :value="scope.row.status"/>
</template> </template>
</el-table-column> </el-table-column>
@ -265,8 +303,7 @@
<template slot-scope="scope" v-if="scope.row.roleId !== 1"> <template slot-scope="scope" v-if="scope.row.roleId !== 1">
<el-button <el-button
size="mini" size="mini"
type="text" type="text" v-if="scope.row.status==1||scope.row.status==12"
v-if="scope.row.status == 1 || scope.row.status == 12"
icon="el-icon-delete" icon="el-icon-delete"
style="color: red" style="color: red"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
@ -277,38 +314,37 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-dialog title="报告管理" :visible.sync="open" width="900px" append-to-body> <el-dialog title="报告管理" :visible.sync="open" width="900px" append-to-body>
<el-table :data="fileDataList" width="100%" height="350px"> <el-table :data="fileDataList" width="100%" height="350px">
<el-table-column label="序号" type="index" width="55" align="center" /> <el-table-column label="序号" type="index" width="55" align="center"/>
<el-table-column label="报告类型" align="center" prop="dictLabel" :show-overflow-tooltip="true" /> <el-table-column label="报告类型" align="center" prop="dictLabel" :show-overflow-tooltip="true"/>
<el-table-column label="文件名称" align="center" prop="name" :show-overflow-tooltip="true" /> <el-table-column label="文件名称" align="center" prop="name" :show-overflow-tooltip="true"/>
<el-table-column label="类型名称" align="center" :show-overflow-tooltip="true"> <el-table-column label="类型名称" align="center" :show-overflow-tooltip="true">
<template> <template>
<div>{{ this.rowData.maTypeName }}</div> <div>{{this.rowData.maTypeName}}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="规格型号" align="center" :show-overflow-tooltip="true"> <el-table-column label="规格型号" align="center" :show-overflow-tooltip="true">
<template> <template>
<div>{{ this.rowData.typeName }}</div> <div>{{this.rowData.typeName}}</div>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="报告日期" align="center" prop="orgName" :show-overflow-tooltip="true"/> <!-- <el-table-column label="报告日期" align="center" prop="orgName" :show-overflow-tooltip="true"/>
<el-table-column label="截止有效期" align="center" prop="orgName" :show-overflow-tooltip="true"/> --> <el-table-column label="截止有效期" align="center" prop="orgName" :show-overflow-tooltip="true"/> -->
<el-table-column label="操作" align="center" width="100"> <el-table-column label="操作" align="center" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<div style="display: flex; align-items: center; justify-content: space-between"> <div style="display: flex; align-items: center; justify-content: space-between">
<el-upload <el-upload ref="upload" :limit="3" :headers="upload.headers"
ref="upload" :action="upload.url" :show-file-list="false" accept=".png, .jpg, .jpeg, .pdf, .doc, .docx"
:limit="3" :on-success="handleFileSuccess" :auto-upload="true"
:headers="upload.headers" >
:action="upload.url" <el-button size="mini" type="text" @click="beforeFileUpload(scope.row)">
:show-file-list="false" 上传
accept=".png, .jpg, .jpeg, .pdf, .doc, .docx" </el-button>
:on-success="handleFileSuccess" </el-upload>
:auto-upload="true"
>
<el-button size="mini" type="text" @click="beforeFileUpload(scope.row)">上传</el-button>
</el-upload>
<el-button <el-button
size="mini" size="mini"
@ -317,19 +353,23 @@
v-if="scope.row.url" v-if="scope.row.url"
style="margin-left: 20px" style="margin-left: 20px"
> >
查看 查看
</el-button> </el-button>
</div> </div>
</template>
</el-table-column>
</template>
</el-table-column>
</el-table> </el-table>
</el-dialog> </el-dialog>
<!-- 图片查看弹窗 --> <!-- 图片查看弹窗 -->
<el-dialog :visible.sync="dialogVisible" width="500px" height="500px"> <el-dialog :visible.sync="dialogVisible" width="500px" height="500px" >
<img width="100%" height="500px" :src="dialogImageUrl" /> <img width="100%" height="500px" :src="dialogImageUrl" />
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
@ -398,7 +438,7 @@ export default {
title: '', title: '',
// //
open: false, open: false,
rowData: {}, rowData:{},
fileDataList: [ fileDataList: [
{ dictLabel: '合格证', fileType: '0', name: '', url: '' }, { dictLabel: '合格证', fileType: '0', name: '', url: '' },
{ dictLabel: '型式试验报告', fileType: '1', name: '', url: '' }, { dictLabel: '型式试验报告', fileType: '1', name: '', url: '' },
@ -422,7 +462,7 @@ export default {
productionTime: '' productionTime: ''
}, },
maForm: { maForm: {
taxRate: 13, taxRate:13,
arrivalTime: '', arrivalTime: '',
purchaser: '', purchaser: '',
remark: '', remark: '',
@ -498,7 +538,7 @@ export default {
watch: {}, watch: {},
mounted() { mounted() {
if (this.isEdit) { if (this.isEdit) {
console.log('isEdit', this.isEdit) console.log('isEdit',this.isEdit)
this.taskId = this.editTaskId this.taskId = this.editTaskId
this.id = this.editId this.id = this.editId
this.getTaskInfo() this.getTaskInfo()
@ -508,23 +548,21 @@ export default {
}, },
methods: { methods: {
// //
taxRateChange(val) { taxRateChange(val){
this.maForm.taxRate = val.replace(/[^\d.]/g, '') this.maForm.taxRate = val.replace(/[^\d.]/g,'')
this.equipmentList.forEach(item => { this.equipmentList.forEach(item=>{
if (item.status == 1 || item.status == 12) { if(item.status==1||item.status==12){
item.purchasePrice = ((item.purchaseTaxPrice / (100 + Number(this.maForm.taxRate))) * 100).toFixed( item.purchasePrice = ((item.purchaseTaxPrice/(100 + Number(this.maForm.taxRate)))*100).toFixed(10)
10
)
} }
}) })
}, },
// //
purchaseTaxPriceChange(row, val) { purchaseTaxPriceChange(row,val){
row.purchaseTaxPrice = row.purchaseTaxPrice.toFixed(2) row.purchaseTaxPrice = row.purchaseTaxPrice.toFixed(2)
row.purchasePrice = ((row.purchaseTaxPrice / (100 + Number(this.maForm.taxRate))) * 100).toFixed(10) row.purchasePrice = ((row.purchaseTaxPrice/(100 + Number(this.maForm.taxRate)))*100).toFixed(10)
}, },
// //
purchasePriceChange(row, val) { purchasePriceChange(row,val){
// row.purchaseTaxPrice = ((row.purchasePrice*(100 + this.maForm.taxRate))/100).toFixed(2) // row.purchaseTaxPrice = ((row.purchasePrice*(100 + this.maForm.taxRate))/100).toFixed(2)
}, },
/** 物资厂家-下拉选 */ /** 物资厂家-下拉选 */
@ -532,7 +570,7 @@ export default {
let param = { let param = {
pageNum: 1, pageNum: 1,
pageSize: 1000, pageSize: 1000,
keyWord: undefined keyWord:undefined
} }
getListFacturer(param).then(response => { getListFacturer(param).then(response => {
this.supplierList = response.rows this.supplierList = response.rows
@ -667,8 +705,8 @@ export default {
if (list[i].typeId == id) { if (list[i].typeId == id) {
console.log(id) console.log(id)
console.log(status) console.log(status)
if (status != 1 && status != 12) { if(status!=1&&status!=12){
list[i].disabled = true list[i].disabled=true
} }
//value //value
return [list[i].typeId] return [list[i].typeId]
@ -685,7 +723,8 @@ export default {
}, },
// //
deviceTypeChange(val) { deviceTypeChange(val) {
const deviceTypeList = this.$refs.deviceTypeCascader.getCheckedNodes() const deviceTypeList =
this.$refs.deviceTypeCascader.getCheckedNodes()
let tempList = [] let tempList = []
if (val.length > 0) { if (val.length > 0) {
const items = val.map(e => { const items = val.map(e => {
@ -703,13 +742,12 @@ export default {
obj.purchaseTaxPrice = 0 obj.purchaseTaxPrice = 0
obj.purchaseNum = 1 obj.purchaseNum = 1
obj.fixCode = '0' obj.fixCode = '0'
obj.status = 1 obj.status=1
obj.bmFileInfos = [] obj.bmFileInfos=[]
if (obj.rentPrice > 0) { if(obj.rentPrice>0){//;;
//;; obj.rentPriceDisabled=true
obj.rentPriceDisabled = true }else{
} else { obj.rentPriceDisabled=false
obj.rentPriceDisabled = false
} }
tempList.push(obj) tempList.push(obj)
break break
@ -739,10 +777,10 @@ export default {
} }
}, },
// //
productionTimeChange(val) { productionTimeChange(val){
this.equipmentList.forEach(item => { this.equipmentList.forEach(item=>{
if (item.status == 1 || item.status == 12) { if(item.status==1||item.status==12){
item.productionTime = val item.productionTime=val
} }
}) })
}, },
@ -751,23 +789,22 @@ export default {
// this.loading = true; // this.loading = true;
await getPurchaseCheckInfo({ taskId: this.taskId, id: this.id, statusList: [1], taskStage: 1 }).then( await getPurchaseCheckInfo({ taskId: this.taskId, id: this.id, statusList: [1], taskStage: 1 }).then(
response => { response => {
this.maForm = response.data.purchaseCheckInfo this.maForm = response.data.purchaseCheckInfo
this.maForm.id = response.data.purchaseCheckInfo.id this.maForm.id = response.data.purchaseCheckInfo.id
this.maForm.taskId = response.data.purchaseCheckInfo.taskId this.maForm.taskId = response.data.purchaseCheckInfo.taskId
this.maForm.arrivalTime = response.data.purchaseCheckInfo.arrivalTime this.maForm.arrivalTime = response.data.purchaseCheckInfo.arrivalTime
this.maForm.supplierId = response.data.purchaseCheckInfo.supplierId this.maForm.supplierId = response.data.purchaseCheckInfo.supplierId
this.maForm.remark = response.data.purchaseCheckInfo.remark this.maForm.remark = response.data.purchaseCheckInfo.remark
this.maForm.taxRate = response.data.purchaseCheckInfo.taxRate this.maForm.taxRate = response.data.purchaseCheckInfo.taxRate
// this.maForm.purchaseNumber = response.data.purchaseNumber // this.maForm.purchaseNumber = response.data.purchaseNumber
// this.maForm.productionTime = response.data.purchaseCheckInfo.productionTime // this.maForm.productionTime = response.data.purchaseCheckInfo.productionTime
this.equipmentList = response.data.purchaseCheckDetailsList this.equipmentList = response.data.purchaseCheckDetailsList
this.equipmentList.forEach(item => { this.equipmentList.forEach(item=>{
item.rentPriceDisabled = true item.rentPriceDisabled=true
}) })
console.log(this.equipmentList) console.log(this.equipmentList)
// this.loading = false; // this.loading = false;
} })
)
}, },
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
@ -781,49 +818,47 @@ export default {
this.$refs['maForm'].validate(valid => { this.$refs['maForm'].validate(valid => {
if (valid) { if (valid) {
this.maForm.taskId = this.taskId this.maForm.taskId = this.taskId
let index = this.equipmentList.findIndex(item => item.purchaseNum == 0) let index =this.equipmentList.findIndex(item=>item.purchaseNum==0)
let index1 = this.equipmentList.findIndex(item => item.rentPrice == 0) let index1 =this.equipmentList.findIndex(item=>item.rentPrice==0)
let index2 = this.equipmentList.findIndex(item => item.purchaseTaxPrice == 0) let index2 =this.equipmentList.findIndex(item=>item.purchaseTaxPrice==0)
if (index > -1) { if(index>-1){
this.$modal.msgError('采购数量不能为0') this.$modal.msgError('采购数量不能为0')
} else if (index1 > -1) { }else if(index1>-1){
this.$modal.msgError('租赁价格不能为0') this.$modal.msgError('租赁价格不能为0')
} else { }else{
this.$modal this.$modal.confirm('是否确认保存当前页面').then(function () {})
.confirm('是否确认保存当前页面') .then(() => {
.then(function () {}) if (this.isEdit) {
.then(() => { console.log('编辑')
if (this.isEdit) { this.loading = true
console.log('编辑')
this.loading = true
updatePurchaseCheckInfo({ updatePurchaseCheckInfo({
purchaseCheckDetailsList: this.equipmentList, purchaseCheckDetailsList: this.equipmentList,
purchaseCheckInfo: this.maForm purchaseCheckInfo: this.maForm
}).then(response => { }).then(response => {
if (response.code == 200) { if (response.code == 200) {
this.$modal.msgSuccess('编辑成功') this.$modal.msgSuccess('编辑成功')
this.$emit('addToolsSuccess') this.$emit('addToolsSuccess')
} }
this.loading = false this.loading = false
}) })
} else if (!this.isEdit) { } else if (!this.isEdit) {
console.log('新增') console.log('新增')
// console.log(this.equipmentList) // console.log(this.equipmentList)
this.loading = true this.loading = true
addPurchaseCheckInfo({ addPurchaseCheckInfo({
purchaseCheckDetailsList: this.equipmentList, purchaseCheckDetailsList: this.equipmentList,
purchaseCheckInfo: this.maForm purchaseCheckInfo: this.maForm
}).then(response => { }).then(response => {
if (response.code == 200) { if (response.code == 200) {
this.$modal.msgSuccess('新增成功') this.$modal.msgSuccess('新增成功')
this.$emit('addToolsSuccess') this.$emit('addToolsSuccess')
} }
this.loading = false this.loading = false
}) })
} }
}) }).catch(() => {})
.catch(() => {})
} }
} }
}) })
} else { } else {
@ -831,7 +866,7 @@ export default {
} }
}, },
// //
openFileDialog(row) { openFileDialog(row){
this.rowData = row this.rowData = row
this.fileDataList = [ this.fileDataList = [
{ dictLabel: '合格证', fileType: '0', name: '', url: '' }, { dictLabel: '合格证', fileType: '0', name: '', url: '' },
@ -841,108 +876,105 @@ export default {
{ dictLabel: '其他', fileType: '4', name: '', url: '' } { dictLabel: '其他', fileType: '4', name: '', url: '' }
] ]
if (this.taskId == '') { if (this.taskId == '') {
// console.log(this.rowData) // console.log(this.rowData)
// console.log(this.rowData.bmFileInfos) // console.log(this.rowData.bmFileInfos)
if (this.rowData.bmFileInfos.length > 0) { if(this.rowData.bmFileInfos.length>0){
this.rowData.bmFileInfos.forEach(item => { this.rowData.bmFileInfos.forEach(item=>{
let index = this.fileDataList.findIndex(v => v.fileType == item.fileType) let index = this.fileDataList.findIndex(v=>v.fileType==item.fileType)
this.fileDataList[index].name = item.name this.fileDataList[index].name = item.name
this.fileDataList[index].url = item.url this.fileDataList[index].url = item.url
}) })
}
} else {
this.getFileData()
} }
this.open = true }else{
this.getFileData()
}
this.open=true
}, },
getFileData() { getFileData(){
let param = { let param = {
modelId: this.rowData.typeId, modelId:this.rowData.typeId,
taskType: 0, taskType:0,
taskId: this.rowData.taskId taskId:this.rowData.taskId
} }
getPurchaseFileList(param) getPurchaseFileList(param)
.then(response => { .then(response => {
if (response.rows.length > 0) { if(response.rows.length>0){
response.rows.forEach(item => { response.rows.forEach(item=>{
let index = this.fileDataList.findIndex(v => v.fileType == item.fileType) let index = this.fileDataList.findIndex(v=>v.fileType==item.fileType)
this.fileDataList[index].name = item.name this.fileDataList[index].name = item.name
this.fileDataList[index].url = item.url this.fileDataList[index].url = item.url
})
}
}) })
}
})
.catch(() => {}) .catch(() => {})
}, },
beforeFileUpload(row) { beforeFileUpload(row){
this.rowData.fileType = row.fileType this.rowData.fileType = row.fileType
}, },
// //
handleFileSuccess(response, file, fileList) { handleFileSuccess(response, file, fileList) {
if (response.code == 200) { if(response.code==200){
if (this.taskId == '') { if (this.taskId == '') {
// //
// console.log(response) // console.log(response)
// console.log(this.rowData) // console.log(this.rowData)
// console.log(this.rowData.bmFileInfos) // console.log(this.rowData.bmFileInfos)
let obj = { let obj = {
taskId: this.taskId, taskId: this.taskId,
taskType: '0', taskType: '0',
name: response.data.name, name: response.data.name,
url: response.data.url, url: response.data.url,
modelId: this.rowData.typeId, modelId: this.rowData.typeId,
fileType: this.rowData.fileType fileType: this.rowData.fileType
// "dictLabel": this.rowData.dictLabel, // "dictLabel": this.rowData.dictLabel,
} }
// //
let index = this.fileDataList.findIndex(v => v.fileType == this.rowData.fileType) let index = this.fileDataList.findIndex(v=>v.fileType==this.rowData.fileType)
this.fileDataList[index].name = response.data.name this.fileDataList[index].name = response.data.name
this.fileDataList[index].url = response.data.url this.fileDataList[index].url = response.data.url
//- //-
if (this.rowData.bmFileInfos.length > 0) { if(this.rowData.bmFileInfos.length>0){
let index2 = this.rowData.bmFileInfos.findIndex(v => v.fileType == this.rowData.fileType) let index2 = this.rowData.bmFileInfos.findIndex(v=>v.fileType==this.rowData.fileType)
if (index2 > -1) { if(index2>-1){//-
//- this.rowData.bmFileInfos.splice(index2,0,obj)
this.rowData.bmFileInfos.splice(index2, 0, obj) }else{//-
} else {
//-
this.rowData.bmFileInfos.push(obj)
}
} else {
this.rowData.bmFileInfos.push(obj) this.rowData.bmFileInfos.push(obj)
} }
}else{
this.rowData.bmFileInfos.push(obj)
}
} else { } else {
// //
let param = { let param = {
taskId: this.taskId, taskId: this.taskId,
taskType: '0', taskType: '0',
name: response.data.name, name: response.data.name,
url: response.data.url, url: response.data.url,
modelId: this.rowData.typeId, modelId: this.rowData.typeId,
fileType: this.rowData.fileType fileType: this.rowData.fileType
// "dictLabel": this.rowData.dictLabel, // "dictLabel": this.rowData.dictLabel,
} }
uploadPurchaseFile(param) uploadPurchaseFile(param)
.then(response => { .then(response => {
this.$modal.msgSuccess('上传成功') this.$modal.msgSuccess('上传成功')
this.getFileData() this.getFileData()
}) }).catch(() => {
.catch(() => { this.$modal.msgError('上传失败')
this.$modal.msgError('上传失败') })
})
}
} }
}
}, },
// //
picturePreview(file) { picturePreview(file) {
this.dialogImageUrl = file.url this.dialogImageUrl = file.url
const parts = file.name.split('.') const parts = file.name.split('.')
const extension = parts.pop() const extension = parts.pop()
if (extension === 'doc' || extension === 'docx' || extension === 'pdf') { if(extension === 'doc'||extension === 'docx'||extension === 'pdf'){
const windowName = file.name const windowName = file.name
window.open(file.url, windowName) window.open(file.url,windowName)
} else { }else{
this.dialogVisible = true this.dialogVisible = true
} }
}, },
/** 删除按钮操作 */ /** 删除按钮操作 */
@ -1038,7 +1070,7 @@ export default {
this.scrollToMatch() this.scrollToMatch()
}) })
} }
}, },
// //
scrollToMatch() { scrollToMatch() {