This commit is contained in:
xd 2024-04-21 09:29:09 +08:00
parent 47c7500dc0
commit 17caa7bdd4
5 changed files with 171 additions and 203 deletions

View File

@ -1,118 +1,124 @@
<template>
<div class="app-container">
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-row :gutter="8">
<el-col :span="12">
<el-form-item label="核价单号" prop="quotHjCode">
<el-input v-model="form.quotHjCode" :disabled="true"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报价单号" prop="quotCode">
<el-input v-model="form.quotCode" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="核价日期" prop="quotHjPricingDate">
<div class="el-p" style="width:100%">
<el-date-picker
style="width:100%"
v-model="form.quotHjPricingDate"
type="datetime"
placeholder="系统自动生成"
:disabled="true">
</el-date-picker>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="核价类型" prop="quotHjPricingType">
<el-select v-model="form.quotHjPricingType" style="width: 100%;" :disabled="true">
<el-option
v-for="dict in dict.type.quot_pricing_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="业务员" prop="quotSalesmanName">
<el-input v-model="form.quotSalesmanName" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="16">
<el-form-item label="客户" prop="quotCustomerName">
<el-input v-model="form.quotCustomerName" :disabled="true"/>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="项目名称" prop="quotProject">
<el-input type="textarea" autosize v-model="form.quotProject" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24">
<el-form-item label="备注" prop="quotHjRemark">
<el-input type="textarea" autosize v-model="form.quotHjRemark" placeholder="请输入备注" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24">
<el-form-item label="核价附件">
<el-upload class="upload-demo"
ref="upload"
name="quotFile"
:action="uploadUrl"
:headers="headers"
:data="{ relation_id: this.form.quotHjId,file_type: 'quotHjFile' }"
:on-success="handleAvatarSuccess"
:show-file-list="false"
:limit="1"
v-if="this.form.quotHjApprovalStatus == '1'">
<el-button size="small" type="primary">上传文件</el-button>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24">
<el-table class="down" :data="quotHjFileList" border stripe style="width: 100%;" height="150px">
<el-table-column prop="fileName" label="文件名称" width="450px"></el-table-column>
<el-table-column prop="fileSize" label="文件大小" width="100px">
<template slot-scope="scope">
<span v-if="scope.row.fileSize / 1024 / 1024 < 1">{{(scope.row.fileSize / 1024).toFixed(2) + 'KB'}}</span>
<span v-else>{{(scope.row.fileSize / 1024 / 1024).toFixed(2) + 'MB'}}</span>
</template>
</el-table-column>
<el-table-column prop="fileTime" label="上传时间"></el-table-column>
<el-table-column width="150px" label="操作">
<template slot-scope="scope">
<el-button :key="Math.random()" size="small" type="text">
<a @click="downloadFile(scope.row.fileUrl)">下载</a>
</el-button>
<el-button :key="Math.random()" size="small" type="text" v-if="form.quotHjApprovalStatus == '1'">
<a @click="deleteFile(scope.row.fileId)">删除</a>
</el-button>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
</el-form>
<div v-if="this._props.isSelfProp">
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-row :gutter="8">
<el-col :span="12">
<el-form-item label="核价单号" prop="quotHjCode">
<el-input v-model="form.quotHjCode" :disabled="true"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报价单号" prop="quotCode">
<el-input v-model="form.quotCode" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="8">
<el-form-item label="核价日期" prop="quotHjPricingDate">
<div class="el-p" style="width:100%">
<el-date-picker
style="width:100%"
v-model="form.quotHjPricingDate"
type="datetime"
placeholder="系统自动生成"
:disabled="true">
</el-date-picker>
</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="核价类型" prop="quotHjPricingType">
<el-select v-model="form.quotHjPricingType" style="width: 100%;" :disabled="true">
<el-option
v-for="dict in dict.type.quot_pricing_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="业务员" prop="quotSalesmanName">
<el-input v-model="form.quotSalesmanName" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="16">
<el-form-item label="客户" prop="quotCustomerName">
<el-input v-model="form.quotCustomerName" :disabled="true"/>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item label="项目名称" prop="quotProject">
<el-input type="textarea" autosize v-model="form.quotProject" :disabled="true"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24">
<el-form-item label="备注" prop="quotHjRemark">
<el-input type="textarea" autosize v-model="form.quotHjRemark" placeholder="请输入备注" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24">
<el-form-item label="核价附件">
<div v-hasPermi="['priceVerification:priceVerification:uploadFile']">
<el-upload class="upload-demo"
ref="upload"
name="quotFile"
:action="uploadUrl"
:headers="headers"
:data="{ relation_id: this.form.quotHjId,file_type: 'quotHjFile' }"
:on-success="handleAvatarSuccess"
:show-file-list="false"
:limit="1"
v-if="this.form.quotHjApprovalStatus == '1'">
<el-button size="small" type="primary">上传文件</el-button>
</el-upload>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="8">
<el-col :span="24">
<el-table class="down" :data="quotHjFileList" border stripe style="width: 100%;" height="150px">
<el-table-column prop="fileName" label="文件名称" width="450px"></el-table-column>
<el-table-column prop="fileSize" label="文件大小" width="100px">
<template slot-scope="scope">
<span v-if="scope.row.fileSize / 1024 / 1024 < 1">{{(scope.row.fileSize / 1024).toFixed(2) + 'KB'}}</span>
<span v-else>{{(scope.row.fileSize / 1024 / 1024).toFixed(2) + 'MB'}}</span>
</template>
</el-table-column>
<el-table-column prop="fileTime" label="上传时间"></el-table-column>
<el-table-column width="150px" label="操作">
<template slot-scope="scope">
<el-button :key="Math.random()" size="small" type="text">
<a @click="downloadFile(scope.row.fileUrl)">下载</a>
</el-button>
<div v-if="this.isSelfProp">
<el-button :key="Math.random()" size="small" type="text" v-if="form.quotHjApprovalStatus == '1'">
<a @click="deleteFile(scope.row.fileId)">删除</a>
</el-button>
</div>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" v-if="this.form.quotHjApprovalStatus==1">
<span v-hasPermi="['priceVerification:priceVerification:commit']"><el-button type="primary" @click="commitHj">提交报价</el-button></span>
<span v-hasPermi="['priceVerification:priceVerification:reject']" style="margin-left: 10px"><el-button type="danger" plain @click="rejectHj">驳回</el-button></span>
<div v-if="this.isSelfProp">
<span v-hasPermi="['priceVerification:priceVerification:commit']"><el-button type="primary" @click="commitHj">提交报价</el-button></span>
<span v-hasPermi="['priceVerification:priceVerification:reject']" style="margin-left: 10px"><el-button type="danger" plain @click="rejectHj">驳回</el-button></span>
</div>
</div>
</div>
</el-dialog>
</div>
</template>
<style>
@ -136,12 +142,13 @@ import { quotFileList, quotFileDelete} from "@/api/quot/quot";
export default {
name: "hjInfo",
dicts: ['quot_pricing_type','quot_hj_approval_status'],
props: {
quotHjIdProp: String,
isSelfProp: Boolean
},
data() {
return {
// /
title: "",
open: false,
//
isSelfProp: true,
// -
quotHjFileList: [],
//-
@ -154,14 +161,6 @@ export default {
rules: {}
};
},
watch: {
quotHjIdProp(value,oldvalue){
this.getInfo();
}
},
created() {
this.getInfo();
},
methods: {
/** 清空表单 */
reset(){
@ -179,11 +178,17 @@ export default {
this.resetForm("form");
},
//
cancel() {
this.open = false;
this.$emit('refreshList');
},
/** 修改按钮操作 */
getInfo() {
getInfo(title,open,isSelfProp,quotHjId) {
this.open = true;
this.title = "报价单-技术确认单";
this.isSelfProp = isSelfProp;
this.reset();
const quotHjId = this._props.quotHjIdProp;
getPriceVerification(quotHjId).then(response => {
this.form = response.data;
this.open = true;

View File

@ -70,9 +70,7 @@
/>
<!-- 添加或修改报价单-核价单对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<hjDialog :quotHjIdProp="quotHjIdProp" :isSelfProp="true"></hjDialog>
</el-dialog>
<hjDialog ref="hjDialog" @refreshList="getList"></hjDialog>
</div>
</template>
<style>
@ -127,9 +125,7 @@ export default {
pageSize: 10,
quotHjCode: null,
quotHjPricingDate: null,
},
//
quotHjIdProp: ""
}
};
},
created() {
@ -171,9 +167,7 @@ export default {
/** 修改按钮操作 */
handleUpdate(row) {
const quotHjId = row.quotHjId || this.ids
this.open = true;
this.title = "报价单-核价单";
this.quotHjIdProp = quotHjId;//
this.$refs.hjDialog.getInfo("报价单-核价单",true,true,quotHjId);
}
}
};

View File

@ -625,7 +625,7 @@
</el-tabs>
<!-- 特缆中压低压其他协助反馈附件对话框 -->
<el-dialog class="fkfjDialog" :title="addFileTitle" :visible.sync="addFileOpen" width="800px" append-to-body>
<el-upload class="upload-demo"
<!--<el-upload class="upload-demo"
ref="upload"
name="quotFile"
:action="uploadUrl"
@ -636,7 +636,7 @@
:limit="1"
v-if="uploadDis">
<el-button size="small" type="primary">上传文件</el-button>
</el-upload>
</el-upload>-->
<el-table class="down" :data="quotJsqrFileList" border stripe style="width: 100%;margin-top: 20px;" height="200px">
<el-table-column prop="fileName" label="文件名称" ></el-table-column>
<el-table-column prop="fileSize" label="文件大小" width="150px">
@ -651,9 +651,9 @@
<el-button :key="Math.random()" size="small" type="text">
<a @click="downloadFile(scope.row.fileUrl)">下载</a>
</el-button>
<el-button :key="Math.random()" size="small" type="text" v-if="uploadDis">
<!--<el-button :key="Math.random()" size="small" type="text" v-if="uploadDis">
<a @click="deleteFile(scope.row.fileId)">删除</a>
</el-button>
</el-button>-->
</template>
</el-table-column>
</el-table>
@ -672,14 +672,10 @@
</el-dialog>
<!-- 技术确认单详情对话框 -->
<el-dialog :title="jsqrTitle" :visible.sync="jsqrDialogOpen" width="1000px" append-to-body>
<jsqrDialog :quotJsqrIdProp="quotJsqrIdProp" :isSelfProp="false"></jsqrDialog>
</el-dialog>
<jsqrDialog ref="jsqrDialog"></jsqrDialog>
<!-- 核价单详情对话框 -->
<el-dialog :title="hjTitle" :visible.sync="hjDialogOpen" width="1000px" append-to-body>
<hjDialog :quotHjIdProp="quotHjIdProp" :isSelfProp="false"></hjDialog>
</el-dialog>
<hjDialog ref="hjDialog"></hjDialog>
</div>
</template>
<style>
@ -815,17 +811,7 @@ export default {
showTl: false,
showDy: false,
showZy: false,
showQt: false,
//
jsqrTitle: "",
jsqrDialogOpen: false,
quotJsqrIdProp: "",
//
hjTitle: "",
hjDialogOpen: false,
quotHjIdProp: ""
showQt: false
};
},
created() {
@ -1202,16 +1188,12 @@ export default {
//
showJsqrDialog(){
this.jsqrTitle = "技术确认单信息";
this.jsqrDialogOpen = true;
this.quotJsqrIdProp = this.form.quotJsxzConfirmId;//
this.$refs.jsqrDialog.getInfo("报价单-技术确认单",true,false,this.form.quotJsxzConfirmId);
},
//
showHjDialog(){
this.hjTitle = "核价单信息";
this.hjDialogOpen = true;
this.quotHjIdProp = this.form.quotHjId;//
this.$refs.hjDialog.getInfo("报价单-核价单",true,false,this.form.quotHjId);
}
}
};

View File

@ -92,9 +92,7 @@
/>
<!-- 添加或修改报价单-技术确认单对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<jsqrDialog :quotJsqrIdProp="quotJsqrIdProp" :isSelfProp="true" @fMethod="cancel"></jsqrDialog>
</el-dialog>
<jsqrDialog ref="jsqrDialog" @refreshList="getList"></jsqrDialog>
</div>
</template>
<style>
@ -156,20 +154,13 @@ export default {
pageNum: 1,
pageSize: 10,
quotJsqrCode: null
},
//
quotJsqrIdProp: ""
}
};
},
created() {
this.getList();
},
methods: {
//
cancel() {
this.open = false;
this.getList();
},
/** 查询报价单-技术确认单列表 */
getList() {
this.loading = true;
@ -198,10 +189,8 @@ export default {
/** 修改按钮操作 */
handleUpdate(row) {
const quotJsqrId = row.quotJsqrId || this.ids
this.open = true;
this.title = "报价单-技术确认单";
this.quotJsqrIdProp = quotJsqrId;//
const quotJsqrId = row.quotJsqrId || this.ids;
this.$refs.jsqrDialog.getInfo("报价单-技术确认单",true,true,quotJsqrId);
}
}
};

View File

@ -1,6 +1,7 @@
<template>
<div class="app-container">
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-row :gutter="8">
<el-col :span="12">
<el-form-item label="技术确认单编号" prop="quotJsqrCode">
@ -648,20 +649,23 @@
<el-button :key="Math.random()" size="small" type="text">
<a @click="downloadFile(scope.row.fileUrl)">下载</a>
</el-button>
<el-button :key="Math.random()" size="small" type="text" v-if="uploadDis">
<a @click="deleteFile(scope.row.fileId)">删除</a>
</el-button>
<div v-if="this.isSelfProp">
<el-button :key="Math.random()" size="small" type="text" v-if="uploadDis">
<a @click="deleteFile(scope.row.fileId)">删除</a>
</el-button>
</div>
</template>
</el-table-column>
</el-table>
</el-dialog>
</el-form>
<div v-if="this._props.isSelfProp">
<div slot="footer" class="dialog-footer" v-if="this.form.quotJsxzApprovalStatus==1">
<span v-hasPermi="['jsqr:jsqr:commit']"><el-button type="primary" @click="commitQuot">提交报价</el-button></span>
<span style="margin-left: 10px"><el-button @click="cancel"> </el-button></span>
<div slot="footer" class="dialog-footer" v-if="this.form.quotJsxzApprovalStatus==1">
<div v-if="isSelfProp">
<span v-hasPermi="['jsqr:jsqr:commit']"><el-button type="primary" @click="commitQuot">提交报价</el-button></span>
<span style="margin-left: 10px"><el-button @click="cancel"> </el-button></span>
</div>
</div>
</div>
</el-dialog>
</div>
</template>
<style>
@ -681,12 +685,13 @@
export default {
name: "jsxzInfo",
dicts: ['quot_jsxz_approval_status','quot_jsxz_chapter','quot_jsxz_standard','quot_jsxz_group','quot_jsxz_group_status'],
props: {
quotJsqrIdProp: String,
isSelfProp: Boolean
},
data() {
return {
// /
title: "",
open: false,
//
isSelfProp: true,
// --
quotJsgfFileList: [],
//--
@ -746,14 +751,6 @@
quotJsqrQtLeaderRemarkDis: false,
}
},
watch: {
quotJsqrIdProp(value,oldvalue){
this.getInfo();
}
},
created() {
this.getInfo();
},
methods: {
/** 清空表单 */
reset(){
@ -836,12 +833,15 @@
},
//
cancel() {
this.$emit('fMethod');
this.open = false;
this.$emit('refreshList');
},
/** 修改按钮操作 */
getInfo() {
getInfo(title,open,isSelfProp,quotJsqrId) {
this.open = true;
this.title = "报价单-技术确认单";
this.isSelfProp = isSelfProp;
this.reset();
const quotJsqrId = this._props.quotJsqrIdProp;
getJsqr(quotJsqrId).then(response => {
this.form = response.data;
this.$set(this.form, "quotJsxzGroup", (this.form.quotJsxzGroupValues==''||this.form.quotJsxzGroupValues==null)?[]:this.form.quotJsxzGroupValues.split(','));
@ -863,8 +863,6 @@
this.getQuotJsqrFileList('quotJsqrQtFkFile');
}
this.open = true;
this.title = "报价单-技术确认单";
this.getQuotJsgfFileList();
this.quotJsqrTlRemarkDisSet();//-/
this.quotJsqrDyRemarkDisSet();//-/