plm前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

785 lines
63 KiB

<script>
import {
deleteQuotationDetail,
insertQuotationDetail,
searchQuotationDetailPageByHeaderId, updateQuotationDetail
} from "../../../../api/quotation/quotationHeader";
import {getProjectPart, getProjectPartList} from "../../../../api/project/project";
import ToolQuotation from "./quotationDetail/toolQuotation.vue";
import PropertyTemplates from "./quotationDetail/propertyTemplates.vue";
import CostPrice from "./quotationDetail/costPrice.vue";
import BillOfMateriel from "./quotationDetail/billOfMateriel.vue";
import {Decimal} from "decimal.js";
import {searchQuoteBomHeader, searchQuoteBomList} from "../../../../api/quotation/quoteOfBom";
import QuoteRouting from "./quotationDetail/quoteRouting.vue";
import {searchQuoteRoutingHeader} from "../../../../api/quotation/quoteOfRouting";
export default {
name:'quoteDetail',
components: {QuoteRouting, BillOfMateriel, CostPrice, PropertyTemplates, ToolQuotation},
props:{
header:{
type:Object,
request:true,
}
},
watch:{
header:function (){
this.initData()
}
},
data(){
const validateProductNo = (rule, value, callback) =>{
if (this.quotationDetailFlag !== true && this.quotationLeadIntoDetailFlag !== true){
return;
}
if (value === '' || value === null || value === undefined){
callback(new Error(' '))
return
}
let params = {...this.projectPartData}
params.testPartNo = value
getProjectPart(params).then(({data})=>{
if (data && data.rows.length === 1){
callback()
return
}
this.projectPartData.testPartNo = undefined;
this.$message.error("产品编码不存在!")
callback(new Error(" "))
}).catch((error)=>{
this.projectPartData.testPartNo = undefined
callback(new Error(' '))
})
};
return{
index:'',
insertQuotationDetailLoading:false,
projectPartDialogFlag:false,
quotationLeadIntoDetailFlag:false,
initQuotationDetailLoading:false,
quotationDetailFlag:false,
editQuotationDetailLoading:false,
no: 1,//当前页
size: 20,//每页条数
total: 0,//总条数
tableData:[],
projectPartTable:[],
projectPartDetailList: [
{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3TestPartNo',
tableId: '102001Table3',
tableName: '项目物料表',
columnProp: 'testPartNo',
headerAlign: 'center',
align: 'center',
columnLabel: '产品编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 150
},
{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3PartDesc',
tableId: '102001Table3',
tableName: '项目物料表',
columnProp: 'partDesc',
headerAlign: 'center',
align: 'center',
columnLabel: '产品名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
},{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3PartSpec',
tableId: '102001Table3',
tableName: '项目物料表',
columnProp: 'partSpec',
headerAlign: 'center',
align: 'center',
columnLabel: '产品规格',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
},{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3PartTypeDesc',
tableId: '102001Table3',
tableName: '项目物料表',
columnProp: 'partTypeDesc',
headerAlign: 'center',
align: 'center',
columnLabel: '产品类型',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
},{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3CodeNo',
tableId: '102001Table3',
tableName: '项目物料表',
columnProp: 'codeNo',
headerAlign: 'center',
align: 'center',
columnLabel: '模板编码',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
},{
userId: this.$store.state.user.name,
functionId: 102001,
serialNumber: '102001Table3CodeDesc',
tableId: '102001Table3',
tableName: '项目物料表',
columnProp: 'codeDesc',
headerAlign: 'center',
align: 'center',
columnLabel: '模板名称',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
}
],
//报价明细新增对象
quotationDetail: {
quotationDetailId: undefined,//主键
quotationHeaderId: undefined,//父编号
site: this.$store.state.user.site,// 工厂编号
productNo: undefined,//产品编码
productDesc: undefined,//产品名称
quotationDetailQuantity: 1,//报价数量
internalInquiryNo: undefined,//内部询价单号
itemNo:0,//序号
quotationDetailStatus: "草稿",//报价状态
taxRate: 13,//税率
remark: undefined,//备注
flag:false
},
projectPartData:{
site:this.$store.state.user.site,
testPartNo:undefined,// 项目编号
partDesc:undefined,// 项目名称
},
fullscreen:false,
// 报价明细 参数列表
quotationDetailColumns: [
{label: "productDesc", value: "产品名称"},
{label: "quotationDetailQuantity", value: "报价数量"},
{label: "internalInquiryNo", value: "内部询价单号"},
{label: "quotationDetailStatus", value: "报价状态"},
{label: "itemNo", value: "序号"},
{label: "adjustPartCost", value: "调整后的材料成本"},
{label: "adjustMachineCost", value: "调整后的机器成本"},
{label: "adjustFabricateCost", value: "调整后的制造费用"},
{label: "adjustLabourCost", value: "调整后人的工成本"},
{label: "adjustToolCost", value: "调整后的工具成本"},
{label: "detailManageCost", value: "管理成本"},
{label: "detailOtherCost", value: "其他成本"},
{label: "detailProfitRate", value: "利润率"},
{label: "finalUntaxedPrice", value: "最终去税价格"},
],
// 报价详情表单校验
quotationDetailRules: {
productNo: [{required: true,validator:validateProductNo,trigger: 'change'}],
productDesc: [{required: true, message: ' ', trigger: ['change','blur']}],
quotationDetailStatus: [{required: true, message: ' ', trigger: 'change'}],
internalInquiryNo: [{required: true, message: ' ', trigger: ['change','blur']}],
itemNo:[{required: true, message: ' ', trigger: ['change','blur']}],
quotationDetailQuantity: [{required: true, message: ' ', trigger: ['change','blur']}],
},
activeName:'bom',
}
},
methods:{
// 报价详情size 改变
detailSizeChange(val) {
this.size = val;
this.initData();
},
// 报价详情 页码
detailCurrentChange(val) {
this.no = val;
this.initData();
},
// 查询报价明细
initData() {
let params = {
no: this.no,
size: this.size,
quotationHeaderId: this.header.quotationHeaderId
}
this.tableData = [];
this.initQuotationDetailLoading = true;
searchQuotationDetailPageByHeaderId(params).then(({data}) => {
this.initQuotationDetailLoading = false;
if (data && data.code === 200) {
this.tableData = data.data.records;
this.total = data.data.total;
}else {
this.tableData = [];
this.total = 0;
}
}).catch((error)=>{
this.initQuotationDetailLoading = false;
})
},
// 修改 报价详情
editQuotationDetail(row,index) {
if (index < 10){
this.index = "00"+index;
}else if (index%10 <= 10){
this.index = "0"+index;
}else if (index%100 <= 10){
this.index = index
}
this.quotationDetail = JSON.parse(JSON.stringify(row));
this.quotationDetailFlag = true;
},
// 删除 报价明细
deleteQuotationDetailData(row){
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteQuotationDetail(row).then(({data})=>{
if (data.code === 200){
this.initData();
this.$message.success(data.msg);
}else {
this.$message.error(data.msg);
}
})
})
},
openInsertQuotationDetail() {
this.quotationDetail.quotationHeaderId = this.header.quotationHeaderId;
this.quotationDetail.internalInquiryNo = this.header.internalInquiryNo;
},
closeInsertQuotationDetail() {
this.$refs['insertQuotationDetailForm'].resetFields();
this.resetQuotationDetail();
},
resetQuotationDetail(){
this.quotationDetail = {
quotationDetailId: undefined,//主键
quotationHeaderId: undefined,//父编号
site: this.$store.state.user.site,// 工厂编号
productNo: undefined,//产品编码
productDesc: undefined,//产品名称
quotationDetailQuantity: 1,//报价数量
internalInquiryNo: undefined,//内部询价单号
itemNo:0,//序号
quotationDetailStatus: "草稿",//报价状态
taxRate: 13,//税率
remark: undefined,//备注
flag:false
};
},
insertQuotationDetailBtn() {
this.$refs['insertQuotationDetailForm'].validate((validate, objects) => {
if (validate) {
this.insertQuotationDetailLoading = true;
insertQuotationDetail(this.quotationDetail).then(({data}) => {
this.insertQuotationDetailLoading = false;
if (data.code === 200) {
// 保存成功后
if (this.quotationDetail.flag) {
this.$nextTick(()=>{
this.quotationDetail = JSON.parse(JSON.stringify(data.data));
})
this.quotationDetailFlag = true;
}else {
this.quotationLeadIntoDetailFlag = false;
}
this.initData();
this.$message.success(data.msg);
} else {
this.$message.error(data.msg);
}
}).catch((error)=>{
this.insertQuotationDetailLoading = false;
})
} else {
this.rulesValidateLabel(objects, this.quotationDetailColumns);
}
})
},
// 校验处理
rulesValidateLabel(objects, labels) {
for (let filed in objects) {
for (let i = 0; i < labels.length; i++) {
let quotationToolColumn = labels[i];
if (quotationToolColumn.label === filed) {
this.$message.warning(quotationToolColumn.value+"为空或填写不正确");
return
}
}
}
},
closeProjectPartDialog(){
this.projectPartData = {
site:this.$store.state.user.site,
testPartNo:undefined,// 项目编号
partDesc:undefined,// 项目名称
}
this.projectPartTable = [];
},
openProjectPartDialog(){
this.getProjectPartList();
},
getProjectPartList(){
let params = {...this.projectPartData}
params.projectId = this.header.projectId
getProjectPartList(params).then(({data})=>{
if (data && data.code === 0){
this.projectPartTable = data.rows;
}
})
},
// 项目物料双击事件
dblClickProjectPartTable(row){
this.quotationDetail.productNo = row.testPartNo;
this.quotationDetail.productDesc = row.partDesc;
this.projectPartDialogFlag = false;
},
closeDetailEditDialog(){
this.activeName = 'bom'
this.fullscreen = false;
this.resetQuotationDetail();
this.$refs.cost.restCostForm()
// 关闭新增弹框
this.quotationLeadIntoDetailFlag = false;
},
openQuotationDetail(){
this.$nextTick(()=>{
this.$refs.property.getPropertyTemplatesItem();// 属性
this.$refs.tool.initQuotationToolData();//刀具
this.searchQuoteBomList();//bom
this.searchQuoteRoutingHeader();// routing
})
},
searchQuoteRoutingHeader(){
let params = {
site:this.$store.state.user.site,
quoteDetailId:this.quotationDetail.quotationDetailId,
testPartNo:this.quotationDetail.productNo
}
searchQuoteRoutingHeader(params).then(({data})=>{
if (data && data.code === 0){
let row = data.row
let arr = [];
if (row){
arr[0] = row.version;
arr[1] = row.routingType;
arr[2] = row.alternativeNo;
}
this.$refs.routing.setSelectRouting(arr);
}else {
this.$message.warning(data.msg)
}
}).catch((error)=>{
this.$message.error(error)
})
},
searchQuoteBomList(){
let params = {
site:this.$store.state.user.site,
quoteDetailId:this.quotationDetail.quotationDetailId,
testPartNo:this.quotationDetail.productNo
}
searchQuoteBomHeader(params).then(({data})=>{
if (data && data.code === 0){
let row = data.row
let arr = [];
if (row){
arr[0] = row.version;
arr[1] = row.bomType;
arr[2] = row.alternativeNo;
}
this.$refs.bom.setSelectBom(arr);
}else {
this.$message.warning(data.msg)
}
}).catch((error)=>{
this.$message.error(error)
})
},
saveQuotationDetail(){
if (!this.$refs.cost.ruleCostForm()) {
return
}
let params = this.$refs.cost.getQuotationDetail();
this.editQuotationDetailLoading = true;
updateQuotationDetail(params).then(({data}) => {
this.editQuotationDetailLoading = false;
if (data.code === 200) {
this.quotationDetailFlag = false;
this.initData();
this.$message.success(data.msg);
} else {
this.$message.warning(data.msg);
}
}).catch((error)=>{
this.$message.error(error);
this.editQuotationDetailLoading = false;
})
// this.$message.success(this.$refs.cost.getQuotationDetail())
// this.quotationDetailFlag = false;
},
tabClick(tab){
if (this.activeName === 'cost'){
this.setQuoteCost();
}
},
setQuoteCost(){
let bomCost = new Decimal(this.$refs.bom.getQuoteBomCost()).mul(new Decimal(this.quotationDetail.quotationDetailQuantity))
let toolCost = new Decimal(this.$refs.tool.getQuotationToolList()).mul(new Decimal(this.quotationDetail.quotationDetailQuantity))
let packCost = new Decimal(this.$refs.property.getPackInfoCost()).mul(new Decimal(this.quotationDetail.quotationDetailQuantity))
let shippingCost = new Decimal(this.$refs.property.getShippingInfoCost()).mul(new Decimal(this.quotationDetail.quotationDetailQuantity))
this.$nextTick(()=>{
this.$refs.cost
.setCost(bomCost,0,0,0,toolCost,
packCost,shippingCost)
})
},
editQuotationDetailStatus(row,status){
let params = JSON.parse(JSON.stringify(row))
params.quotationDetailStatus = status;
updateQuotationDetail(params).then(({data}) => {
if (data.code === 200) {
this.initData();
this.$message.success(data.msg);
} else {
this.$message.warning(data.msg);
}
}).catch((error)=>{
this.$message.error(error);
})
}
},
}
</script>
<template>
<div>
<div style="margin-bottom: 10px;padding-left: 10px">
<el-button type="primary" @click="quotationLeadIntoDetailFlag = true">新增</el-button>
</div>
<el-table v-loading="initQuotationDetailLoading" element-loading-text = "数据正在加载中"
element-loading-spinner = "el-icon-loading" :data="tableData" height="360px" stripe border
:header-cell-style="{background:'rgba(23,179,163)',color:'#fff'}">
<el-table-column
label="操作"
fixed
width="120" align="center">
<template slot-scope="{row,$index}">
<el-link style="cursor: pointer" v-if="row.quotationDetailStatus !== '下达'" @click="editQuotationDetailStatus(row,'下达')">下达</el-link>
<el-link style="cursor: pointer" @click="editQuotationDetail(row,$index+1)">编辑</el-link>
<el-link style="cursor: pointer" @click="deleteQuotationDetailData(row)">删除</el-link>
</template>
</el-table-column>
<el-table-column
header-align="center"
label="序号"
width="55"
align="right"
type="index">
</el-table-column>
<el-table-column show-overflow-tooltip
label="产品编码" prop="productNo"
width="140" align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
header-align="center"
label="产品名称" prop="productDesc"
width="120" align="left">
</el-table-column>
<el-table-column show-overflow-tooltip header-align="center"
label="报价数量" prop="quotationDetailQuantity"
width="80" align="right">
</el-table-column>
<el-table-column label="计算后成本" align="center">
<el-table-column show-overflow-tooltip
label="材料成本" prop="computePartCost"
width="120" align="right" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="机器成本" prop="computeMachineCost"
width="120" align="right" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="人工成本" prop="computeLabourCost"
width="120" align="right" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="制造费用" prop="computeFabricateCost"
width="120" align="right" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="工具成本" prop="computeToolCost"
width="120" align="right" header-align="center">
</el-table-column>
</el-table-column>
<el-table-column label="调整后成本" align="center">
<el-table-column show-overflow-tooltip
label="材料成本" prop="adjustPartCost"
width="120" align="right" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="机器成本" prop="adjustMachineCost"
width="120" align="right" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="人工成本" prop="adjustLabourCost"
width="120" align="right" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="制造费用" prop="adjustFabricateCost"
width="120" align="right" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="工具成本" prop="adjustToolCost"
width="120" align="right" header-align="center">
</el-table-column>
</el-table-column>
<el-table-column show-overflow-tooltip
label="其他成本" prop="detailOtherCost"
width="120" align="right" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="管理成本" prop="detailManageCost"
width="120" align="right" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="总成本" prop="detailTotalCost"
width="120" align="right" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="利润率%" prop="detailProfitRate"
width="80" align="right" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="利润额" prop="detailProfitAmount"
width="120" align="right" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="未税单价" prop="finalUntaxedPrice"
width="120" align="right" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="未税总价" prop="systemComputeAmount"
width="120" align="right" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="税率%" prop="taxRate"
width="90" align="right" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="含税单价" prop="finalTaxedPrice"
width="120" align="right" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="含税总价" prop="systemComputePrice"
width="120" align="right" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="状态" prop="quotationDetailStatus"
width="80" align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="备注" prop="remark"
width="80" align="left" header-align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="询价单号" prop="internalInquiryNo"
width="160" align="center">
</el-table-column>
<el-table-column show-overflow-tooltip
label="报价次数" prop="quotationDetailCount"
width="80" align="right" header-align="center">
</el-table-column>
<div slot="empty">
<svg height="180" node-id="1" sillyvg="true" template-height="1024" template-width="1024" version="1.1" viewBox="0 0 1024 1024" width="1024" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs node-id="115"><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_28" node-id="5" spreadMethod="pad" x1="26305.36" x2="26384.72" y1="-42886.72" y2="-42888.098"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_28-2" node-id="8" spreadMethod="pad" x1="26305.36" x2="26384.72" y1="-42886.72" y2="-42888.098"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_3" node-id="9" spreadMethod="pad" x1="198806.11" x2="199736.11" y1="-228966.97" y2="-228966.97"><stop offset="0" stop-color="#fff5de"/><stop offset="1" stop-color="#fbd2ac"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_28-3" node-id="12" spreadMethod="pad" x1="15798.319" x2="15845.487" y1="-23888.906" y2="-23889.418"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_28-4" node-id="13" spreadMethod="pad" x1="10883.409" x2="10916.618" y1="-16576.174" y2="-16576.527"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_28-5" node-id="14" spreadMethod="pad" x1="10883.409" x2="10916.618" y1="-16576.174" y2="-16576.527"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_28-6" node-id="15" spreadMethod="pad" x1="7478.883" x2="7501.544" y1="-11524.333" y2="-11524.578"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientTransform="matrix(269.22 47.47 27.01 -153.15 -82548.68 133303.42)" gradientUnits="userSpaceOnUse" id="未命名的渐变_28-7" node-id="16" spreadMethod="pad" x1="213.04" x2="213.68" y1="931.65" y2="931.72"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientTransform="matrix(50.26 -50.26 -135.69 -135.69 115943.22 138005.55)" gradientUnits="userSpaceOnUse" id="未命名的渐变_13" node-id="17" spreadMethod="pad" x1="213.03" x2="213.21" y1="932.64" y2="932.57"><stop offset="0.03" stop-color="#afdef9"/><stop offset="1" stop-color="#7cc9f9"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_28-8" node-id="20" spreadMethod="pad" x1="43370.684" x2="43480.617" y1="-201779.2" y2="-201831.23"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientTransform="matrix(64.64 -31.53 -95 -194.77 74960.15 188980.58)" gradientUnits="userSpaceOnUse" id="未命名的渐变_13-2" node-id="21" spreadMethod="pad" x1="212.15" x2="212.28" y1="932.39" y2="932.32"><stop offset="0.03" stop-color="#afdef9"/><stop offset="1" stop-color="#7cc9f9"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_28-9" node-id="22" spreadMethod="pad" x1="23507.504" x2="23531.85" y1="-226021.66" y2="-226160.14"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_13-3" node-id="23" spreadMethod="pad" x1="15016.36" x2="15028.444" y1="-178656.97" y2="-178643.53"><stop offset="0.03" stop-color="#afdef9"/><stop offset="1" stop-color="#7cc9f9"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_28-10" node-id="24" spreadMethod="pad" x1="8457.1875" x2="8441.035" y1="-33805.3" y2="-33833.215"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_28-11" node-id="25" spreadMethod="pad" x1="8490.103" x2="8512.86" y1="-46595" y2="-46620.5"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_28-12" node-id="26" spreadMethod="pad" x1="9834.147" x2="9874.055" y1="-34236.848" y2="-34247.86"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_28-13" node-id="27" spreadMethod="pad" x1="12840.5" x2="12892.351" y1="-41019.44" y2="-41030.883"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_28-14" node-id="28" spreadMethod="pad" x1="7918.4404" x2="7950.7397" y1="-25205.85" y2="-25212.6"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_19" node-id="29" spreadMethod="pad" x1="31230.15" x2="31340.4" y1="-179798.8" y2="-179582.64"><stop offset="0" stop-color="#47b0f1"/><stop offset="1" stop-color="#98d6fa"/></linearGradient><linearGradient gradientTransform="matrix(-47.94015888 29.95633601 -28.48845965 -45.59106565 37296.44 36527.24)" gradientUnits="userSpaceOnUse" id="未命名的渐变_28-15" node-id="32" spreadMethod="pad" x1="217.6" x2="216.6" y1="935.69" y2="934.47"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientTransform="matrix(-474.84 33.2 -9.98 -142.65 111928.37 126624.6)" gradientUnits="userSpaceOnUse" id="未命名的渐变_21" node-id="33" spreadMethod="pad" x1="214.44" x2="215.44" y1="932.12" y2="932.12"><stop offset="0" stop-color="#f5dda7"/><stop offset="1" stop-color="#fa9a41"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_28-16" node-id="36" spreadMethod="pad" x1="80122.016" x2="80466.94" y1="-53643.043" y2="-53643.62"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_28-17" node-id="37" spreadMethod="pad" x1="32668.813" x2="32745.557" y1="-181383.7" y2="-181307.72"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_35" node-id="38" spreadMethod="pad" x1="29469.025" x2="29603.594" y1="-221184.02" y2="-221107.98"><stop offset="0" stop-color="#98d6fa"/><stop offset="0.91" stop-color="#47b0f1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_28-18" node-id="41" spreadMethod="pad" x1="80072.234" x2="80289.66" y1="-56389.87" y2="-56386.848"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_34" node-id="42" spreadMethod="pad" x1="27554.043" x2="27680.025" y1="-270635.3" y2="-270548.1"><stop offset="0.13" stop-color="#98d6fa"/><stop offset="0.22" stop-color="#8acff8"/><stop offset="0.5" stop-color="#66bef4"/><stop offset="0.72" stop-color="#4fb4f2"/><stop offset="0.86" stop-color="#47b0f1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_28-19" node-id="48" spreadMethod="pad" x1="57545.945" x2="57816.023" y1="-93468.28" y2="-93461.26"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_28-20" node-id="49" spreadMethod="pad" x1="61533.684" x2="61798.797" y1="-42980.875" y2="-42981.332"><stop offset="0" stop-color="#98d6fa"/><stop offset="1" stop-color="#47b0f1"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_30" node-id="50" spreadMethod="pad" x1="31954.738" x2="31825.982" y1="-106629.42" y2="-106629.42"><stop offset="0" stop-color="#923629"/><stop offset="0.3" stop-color="#57352c"/><stop offset="0.5" stop-color="#42352c"/><stop offset="0.7" stop-color="#2c2422"/><stop offset="1" stop-color="#1d181c"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_30-2" node-id="56" spreadMethod="pad" x1="29657.88" x2="29538.314" y1="-39212.887" y2="-39212.887"><stop offset="0" stop-color="#923629"/><stop offset="0.3" stop-color="#57352c"/><stop offset="0.5" stop-color="#42352c"/><stop offset="0.7" stop-color="#2c2422"/><stop offset="1" stop-color="#1d181c"/></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="未命名的渐变_31" node-id="57" spreadMethod="pad" x1="20253.799" x2="20159.55" y1="-133201.05" y2="-133201.05"><stop offset="0" stop-color="#f97b61"/><stop offset="1" stop-color="#ffb859"/></linearGradient><linearGradient gradientTransform="matrix(-80.83481119 -46.67 38.075 -65.9478345 -17289.32 72227.94)" gradientUnits="userSpaceOnUse" id="未命名的渐变_32" node-id="60" spreadMethod="pad" x1="216.28" x2="217.72" y1="931.17" y2="930.69"><stop offset="0" stop-color="#ffb859"/><stop offset="1" stop-color="#f97b61"/></linearGradient></defs><g node-id="326"><g node-id="327"><path d="M 0.00 0.00 L 1024.00 0.00 L 1024.00 1024.00 L 0.00 1024.00 Z" fill="#ffffff" fill-opacity="0" fill-rule="nonzero" group-id="1,2" id="矩形" node-id="66" stroke="none" target-height="1024" target-width="1024" target-x="0" target-y="0"/><g node-id="328"><g node-id="333"><path d="M 76.80 581.77 C 69.12 548.67 19.18 333.15 160.40 303.51 C 301.62 273.87 385.05 308.39 447.10 248.05 C 509.15 187.71 524.62 197.61 575.59 201.60 C 626.56 205.59 685.63 162.00 705.47 149.00 C 725.31 136.00 904.53 51.69 950.35 303.51 C 957.59 412.38 963.61 530.51 912.91 575.24 C 862.21 619.97 913.84 660.15 950.35 664.62 C 986.86 669.09 933.28 745.53 849.00 778.90 C 792.88 804.06 430.19 876.18 213.00 802.00 C 108.11 757.12 84.47 614.86 76.80 581.77 Z" fill="#47b0f1" fill-opacity="0.05" fill-rule="nonzero" group-id="1,2,3,8" id="路径-58" node-id="68" stroke="none" target-height="824.49" target-width="967.68" target-x="19.18" target-y="51.69"/></g><g node-id="334"><path d="M 158.00 329.00 L 158.00 329.15 C 161.49 329.87 164.00 332.94 164.00 336.50 L 164.00 337.50 C 164.00 341.64 160.64 345.00 156.50 345.00 L 77.50 345.00 C 73.36 345.00 70.00 341.64 70.00 337.50 L 70.00 336.50 C 70.00 332.36 73.36 329.00 77.50 329.00 L 109.00 329.00 C 112.77 329.00 115.87 326.01 116.00 322.24 L 116.00 322.00 C 116.00 318.23 113.01 315.13 109.24 315.00 L 106.00 315.00 L 106.00 314.85 C 102.51 314.14 100.00 311.06 100.00 307.50 L 100.00 306.50 C 100.00 302.36 103.36 299.00 107.50 299.00 L 186.50 299.00 C 190.64 299.00 194.00 302.36 194.00 306.50 L 194.00 307.50 C 194.00 311.64 190.64 315.00 186.50 315.00 L 155.00 315.00 C 151.23 315.00 148.13 317.99 148.00 321.76 L 148.00 322.00 C 148.00 325.77 150.99 328.87 154.76 329.00 L 158.00 329.00 Z" fill="url(#未命名的渐变_28)" fill-opacity="0.1" fill-rule="nonzero" group-id="1,2,3,9" id="形状结合" node-id="69" stroke="none" target-height="46" target-width="124" target-x="70" target-y="299"/></g><g node-id="335"><path d="M 858.00 159.00 L 858.00 159.15 C 861.49 159.87 864.00 162.94 864.00 166.50 L 864.00 167.50 C 864.00 171.64 860.64 175.00 856.50 175.00 L 777.50 175.00 C 773.36 175.00 770.00 171.64 770.00 167.50 L 770.00 166.50 C 770.00 162.36 773.36 159.00 777.50 159.00 L 809.00 159.00 C 812.77 159.00 815.87 156.01 816.00 152.24 L 816.00 152.00 C 816.00 148.23 813.01 145.13 809.24 145.00 L 806.00 145.00 L 806.00 144.85 C 802.51 144.14 800.00 141.06 800.00 137.50 L 800.00 136.50 C 800.00 132.36 803.36 129.00 807.50 129.00 L 886.50 129.00 C 890.64 129.00 894.00 132.36 894.00 136.50 L 894.00 137.50 C 894.00 141.64 890.64 145.00 886.50 145.00 L 855.00 145.00 C 851.23 145.00 848.13 147.99 848.00 151.76 L 848.00 152.00 C 848.00 155.77 850.99 158.87 854.76 159.00 L 858.00 159.00 Z" fill="url(#未命名的渐变_28-2)" fill-opacity="0.1" fill-rule="nonzero" group-id="1,2,3,10" id="形状结合-2" node-id="70" stroke="none" target-height="46" target-width="124" target-x="770" target-y="129"/></g><path d="M 514.52 712.00 C 645.62 712.00 763.78 722.79 846.30 740.00 C 927.06 740.65 992.00 765.00 992.00 795.00 C 992.00 819.23 949.55 839.80 890.61 847.13 C 877.61 850.88 863.20 854.43 847.45 857.75 C 847.82 859.81 848.00 861.90 848.00 864.00 C 848.00 915.91 735.18 958.00 596.00 958.00 C 471.35 958.00 367.83 924.24 347.59 879.89 C 180.20 867.13 62.00 835.72 62.00 799.00 C 62.00 751.00 264.37 712.00 514.52 712.00 Z" fill="url(#未命名的渐变_3)" fill-rule="nonzero" group-id="1,2,3" id="形状结合-3" node-id="71" stroke="none" target-height="246" target-width="930" target-x="62" target-y="712"/><path d="M 686.61 226.65 L 686.61 226.55 C 681.28 211.55 663.91 204.44 649.17 206.62 C 660.10 199.83 678.17 198.02 686.61 208.44 L 686.61 208.53 C 695.07 198.20 713.20 199.92 724.04 206.71 C 709.32 204.63 691.95 211.71 686.61 226.64 Z" fill="url(#未命名的渐变_28-3)" fill-rule="nonzero" group-id="1,2,3,11" id="路径" node-id="73" stroke="none" target-height="28.62999" target-width="74.869995" target-x="649.17" target-y="198.02"/><path d="M 770.00 214.11 L 770.00 214.00 C 766.30 203.58 754.27 198.69 744.06 200.19 C 751.63 195.48 764.13 194.19 770.00 201.45 L 770.00 201.51 C 775.87 194.35 788.44 195.51 796.00 200.25 C 785.79 198.81 773.76 203.71 770.00 214.07 Z" fill="url(#未命名的渐变_28-4)" fill-rule="nonzero" group-id="1,2,3,11" id="路径-2" node-id="74" stroke="none" target-height="19.919998" target-width="51.940002" target-x="744.06" target-y="194.19"/><path d="M 735.24 179.63 L 735.24 179.57 C 731.54 169.14 719.51 164.25 709.24 165.75 C 716.82 161.04 729.32 159.75 735.24 167.01 L 735.24 167.07 C 741.11 159.92 753.67 161.07 761.24 165.82 C 751.02 164.37 739.00 169.27 735.24 179.63 Z" fill="url(#未命名的渐变_28-5)" fill-rule="nonzero" group-id="1,2,3,11" id="路径-3" node-id="75" stroke="none" target-height="19.880005" target-width="52" target-x="709.24" target-y="159.75"/><path d="M 840.72 220.07 L 840.72 220.07 C 838.16 212.84 829.82 209.44 822.72 210.49 C 827.97 207.23 836.63 206.35 840.72 211.36 L 840.72 211.36 C 844.80 206.36 853.50 207.23 858.72 210.49 C 851.63 209.49 843.29 212.89 840.72 220.07 Z" fill="url(#未命名的渐变_28-6)" fill-rule="nonzero" group-id="1,2,3,11" id="路径-4" node-id="76" stroke="none" target-height="13.720001" target-width="36" target-x="822.72" target-y="206.35"/><path d="M 54.17 676.40 C 21.50 661.73 6.84 668.95 10.17 698.04 C 12.06 707.07 15.46 712.73 20.37 715.00 C 33.21 730.65 40.00 743.19 40.74 752.62 C 41.85 766.76 52.85 782.78 80.40 773.62 C 98.77 767.51 111.38 777.73 118.24 804.30 C 138.95 831.74 175.32 842.70 227.37 837.19 C 279.42 831.68 276.11 807.68 217.44 765.19 C 201.49 758.89 189.31 755.00 180.90 753.52 C 172.49 752.04 168.37 742.87 168.54 726.00 C 168.54 715.45 160.90 707.74 145.62 702.89 C 130.34 698.04 123.94 690.32 126.42 679.75 C 116.27 664.80 104.15 662.66 90.08 673.34 C 76.01 684.02 64.04 685.04 54.17 676.40 Z" fill="url(#未命名的渐变_28-7)" fill-rule="nonzero" group-id="1,2,3,12" id="路径-61" node-id="78" stroke="none" target-height="180.96997" target-width="272.58" target-x="6.8366666" target-y="661.73334"/><path d="M 52.64 691.51 L 100.91 723.73 C 98.45 710.81 95.51 700.34 92.09 692.33 C 87.02 680.46 102.68 712.12 102.89 725.05 L 143.13 751.91 L 143.02 751.75 C 144.13 734.46 143.68 722.40 141.68 715.55 C 144.37 719.14 147.24 744.92 145.68 753.55 L 182.68 778.25 C 182.47 778.01 182.34 777.84 182.34 777.84 C 182.34 777.84 184.25 763.56 182.56 756.37 C 184.23 758.37 185.35 773.37 184.86 779.71 L 215.41 800.10 L 211.52 804.00 L 180.00 781.68 C 171.48 786.68 159.79 787.47 154.14 786.94 C 164.59 785.99 172.22 783.59 177.04 779.75 C 177.81 780.38 178.65 780.91 179.54 781.35 L 90.70 718.45 C 90.90 718.68 91.08 718.90 91.26 719.14 C 78.10 721.00 66.29 720.21 55.82 716.76 C 56.66 715.09 70.57 721.59 88.93 717.21 Z M 94.00 768.36 C 104.54 768.67 118.26 762.58 135.17 750.09 C 135.86 750.88 136.60 751.62 137.39 752.31 C 121.39 764.93 104.24 769.90 94.00 768.36 Z" fill="url(#未命名的渐变_13)" fill-rule="nonzero" group-id="1,2,3,12" id="形状结合-4" node-id="79" stroke="none" target-height="123.53998" target-width="162.77" target-x="52.64" target-y="680.46"/><path d="M 89.57 607.28 C 57.40 585.39 42.48 590.89 44.79 623.79 C 51.00 647.36 55.00 663.12 53.00 677.56 C 51.00 692.00 57.31 719.31 89.56 730.56 C 111.06 738.03 117.10 748.63 107.68 762.35 C 102.95 783.43 129.03 798.56 185.90 807.73 C 271.23 821.49 250.90 789.86 228.96 755.57 C 213.09 739.69 210.96 729.99 210.96 717.85 C 210.96 705.71 222.57 685.85 189.20 677.61 C 174.53 674.28 166.85 659.61 166.14 633.61 C 163.84 620.55 149.84 617.28 124.14 623.81 C 112.75 626.00 101.23 620.49 89.57 607.28 Z" fill="url(#未命名的渐变_28-8)" fill-rule="nonzero" group-id="1,2,3,12" id="路径-65" node-id="80" stroke="none" target-height="236.10333" target-width="228.75334" target-x="42.476665" target-y="585.38666"/><path d="M 74.94 624.74 L 110.38 669.80 L 110.45 669.63 C 114.28 660.71 115.11 650.78 112.80 641.35 L 112.72 641.04 L 112.72 641.04 C 115.06 648.31 119.53 656.98 112.11 671.97 L 142.11 710.15 L 142.30 709.88 C 148.30 701.40 151.30 690.25 151.30 676.42 C 152.68 680.72 152.71 700.42 144.14 712.69 L 170.75 746.51 C 172.43 743.90 176.63 736.56 176.63 728.36 C 177.52 734.01 177.63 741.58 172.74 749.04 L 212.00 799.00 L 205.77 799.00 L 167.77 748.45 C 149.39 756.29 139.07 753.01 133.96 750.70 C 143.96 753.14 154.53 751.47 165.68 745.70 L 136.81 707.26 C 136.97 707.55 137.13 707.86 137.31 708.17 C 118.10 714.90 98.16 715.70 88.95 710.91 C 98.81 714.63 114.48 712.78 135.95 705.35 L 135.52 705.50 L 103.35 662.66 C 103.42 662.84 103.48 663.01 103.53 663.18 C 89.40 664.05 78.12 659.55 69.69 649.69 C 71.03 648.39 80.04 661.50 101.83 660.69 Z" fill="url(#未命名的渐变_13-2)" fill-rule="nonzero" group-id="1,2,3,12" id="形状结合-5" node-id="81" stroke="none" target-height="174.26001" target-width="142.31" target-x="69.69" target-y="624.74"/><path d="M 199.20 608.75 C 211.62 591.49 222.74 593.24 232.55 614.01 C 237.31 631.95 229.80 643.35 254.37 651.51 C 270.76 656.95 273.24 668.33 261.81 685.66 C 257.04 696.56 260.57 703.53 272.39 706.57 C 284.21 709.61 282.79 721.68 268.12 742.79 C 263.04 754.36 263.04 762.10 268.12 765.99 C 275.75 771.82 290.40 789.34 272.39 823.38 C 254.38 857.42 211.93 830.98 205.56 814.98 C 199.19 798.98 211.93 776.92 205.56 765.98 C 199.19 755.04 162.10 751.28 172.00 718.47 C 180.25 705.04 191.74 701.16 180.21 678.31 C 168.68 655.46 165.75 664.63 180.21 642.12 C 186.53 635.65 192.86 624.53 199.20 608.75 Z" fill="url(#未命名的渐变_28-9)" fill-rule="nonzero" group-id="1,2,3,12" id="路径-96" node-id="82" stroke="none" target-height="265.93" target-width="128.29999" target-x="162.1" target-y="591.49"/><path d="M 216.11 638.51 L 227.46 695.42 C 234.85 684.56 240.18 675.08 243.46 666.99 C 248.27 654.99 236.96 688.47 227.96 697.76 L 237.42 745.21 C 237.41 745.15 237.41 745.08 237.42 745.02 C 250.43 733.58 258.65 724.73 262.07 718.47 C 261.43 722.91 245.22 743.17 237.97 748.17 L 246.68 791.81 L 246.68 791.28 C 246.68 791.28 258.12 782.53 262.02 776.28 C 261.77 778.90 252.02 790.28 247.14 794.42 L 254.32 830.42 L 248.90 830.42 L 242.39 792.33 C 232.80 789.87 224.00 782.14 220.39 777.77 C 228.45 784.48 235.54 788.19 241.67 788.88 C 241.77 789.86 241.98 790.83 242.30 791.77 L 224.00 684.47 C 223.99 684.77 223.96 685.06 223.91 685.35 C 213.29 677.35 205.50 668.44 200.54 658.61 C 202.31 658.03 207.54 672.46 223.64 682.34 Z M 191.00 722.08 C 198.23 729.75 212.23 735.14 233.00 738.27 C 232.93 739.32 232.93 740.36 233.00 741.41 C 212.80 739.00 197.16 730.42 191.00 722.08 Z" fill="url(#未命名的渐变_13-3)" fill-rule="nonzero" group-id="1,2,3,12" id="形状结合-6" node-id="83" stroke="none" target-height="191.90997" target-width="71.07001" target-x="191" target-y="638.51"/><path d="M 938.40 787.52 C 941.30 765.31 933.83 753.34 916.00 751.63 C 940.14 749.33 956.12 764.02 956.38 787.52 C 951.38 787.69 945.39 787.69 938.40 787.52 Z" fill="url(#未命名的渐变_28-10)" fill-rule="nonzero" group-id="1,2,3,13" id="路径-38" node-id="85" stroke="none" target-height="38.363342" target-width="40.380005" target-x="916" target-y="749.33"/><path d="M 950.12 787.65 C 954.83 765.22 949.04 748.67 932.73 738.00 C 953.55 744.57 968.51 754.44 973.37 787.65 C 965.63 788.12 957.86 788.12 950.12 787.65 Z" fill="url(#未命名的渐变_28-11)" fill-rule="nonzero" group-id="1,2,3,13" id="路径-39" node-id="86" stroke="none" target-height="50.1239" target-width="40.640015" target-x="932.73" target-y="738"/><path d="M 977.07 788.00 C 974.98 766.70 982.62 754.50 1000.00 751.39 C 983.89 750.99 965.91 749.91 953.00 788.00 C 963.93 787.65 971.96 787.65 977.07 788.00 Z" fill="url(#未命名的渐变_28-12)" fill-rule="nonzero" group-id="1,2,3,13" id="路径-40" node-id="87" stroke="none" target-height="38.090027" target-width="47" target-x="953" target-y="749.91"/><path d="M 927.41 802.00 C 944.26 802.00 957.00 802.41 957.00 786.61 C 957.00 770.81 943.34 758.00 926.50 758.00 C 909.66 758.00 896.00 770.81 896.00 786.61 C 896.00 802.41 910.57 802.00 927.41 802.00 Z" fill="url(#未命名的渐变_28-13)" fill-rule="nonzero" group-id="1,2,3,13" id="椭圆形" node-id="88" stroke="none" target-height="44.409973" target-width="61" target-x="896" target-y="758"/><path d="M 960.57 802.00 C 971.06 802.00 979.00 802.25 979.00 792.56 C 979.00 782.87 970.49 775.00 960.00 775.00 C 949.51 775.00 941.00 782.86 941.00 792.56 C 941.00 802.26 950.07 802.00 960.57 802.00 Z" fill="url(#未命名的渐变_28-14)" fill-rule="nonzero" group-id="1,2,3,13" id="椭圆形备份-6" node-id="89" stroke="none" target-height="27.26001" target-width="38" target-x="941" target-y="775"/></g><g node-id="329"><path d="M 304.19 419.00 C 390.06 434.22 410.22 455.46 364.67 482.71 C 296.34 523.59 231.97 554.06 330.57 591.82 C 353.11 599.75 385.25 606.47 427.00 612.00" fill="none" group-id="1,2,4" id="路径-33" node-id="91" stroke="url(#未命名的渐变_19)" stroke-dasharray="2 2" stroke-linecap="butt" stroke-width="1" target-height="193" target-width="195.03" target-x="231.97" target-y="419"/><path d="M 272.67 412.44 L 262.37 424.38 L 226.78 391.16 L 292.59 389.80 L 283.70 400.86 L 235.83 393.87 L 279.45 406.11 L 287.93 416.34 L 272.67 412.44 Z" fill="url(#未命名的渐变_28-15)" fill-rule="nonzero" group-id="1,2,4" id="路径-5" node-id="92" stroke="none" target-height="34.580017" target-width="65.81" target-x="226.78" target-y="389.8"/></g><g node-id="330"><path d="M 367.00 784.78 C 407.79 794.88 390.34 799.86 375.66 804.78 C 348.71 813.87 359.09 822.68 371.08 830.84 C 388.84 842.93 529.25 874.59 688.77 854.84 C 837.51 836.42 820.90 796.05 785.87 777.03 C 757.64 761.74 630.54 725.46 479.20 728.71 C 388.13 730.65 347.84 740.32 339.20 748.34 C 324.88 761.64 321.58 773.53 367.00 784.78 Z" fill="url(#未命名的渐变_21)" fill-opacity="0.4" fill-rule="nonzero" group-id="1,2,5" id="路径-6" node-id="93" stroke="none" target-height="149.13" target-width="515.93005" target-x="321.58" target-y="725.46"/></g><g node-id="331"><path d="M 444.09 783.72 L 581.64 755.93 L 819.00 769.42 L 689.47 813.49 L 444.09 783.72 Z" fill="url(#未命名的渐变_28-16)" fill-rule="nonzero" group-id="1,2,6" id="路径-68" node-id="95" stroke="none" target-height="57.559998" target-width="374.91" target-x="444.09" target-y="755.93"/><path d="M 582.82 582.50 L 582.82 755.58 L 736.31 764.79 L 736.03 569.97 L 582.82 582.50 Z" fill="url(#未命名的渐变_28-17)" fill-rule="nonzero" group-id="1,2,6" id="路径-69" node-id="96" stroke="none" target-height="194.82" target-width="153.48999" target-x="582.82" target-y="569.97"/><path d="M 444.09 546.36 L 444.09 783.97 L 582.82 755.29 L 582.82 583.21 L 444.09 546.36 Z" fill="url(#未命名的渐变_35)" fill-rule="nonzero" group-id="1,2,6" id="路径-70" node-id="97" stroke="none" target-height="237.60999" target-width="138.73001" target-x="444.09" target-y="546.36"/><path d="M 444.09 546.69 L 688.11 522.75 L 818.96 564.46 L 582.64 583.25 L 444.09 546.69 Z" fill="url(#未命名的渐变_28-18)" fill-rule="nonzero" group-id="1,2,6" id="路径-71" node-id="98" stroke="none" target-height="60.5" target-width="374.87003" target-x="444.09" target-y="522.75"/><path d="M 692.24 524.22 L 689.08 814.97 L 818.96 769.48 L 818.96 562.36 L 692.24 524.22 Z" fill="url(#未命名的渐变_34)" fill-rule="nonzero" group-id="1,2,6" id="路径-72" node-id="99" stroke="none" target-height="290.75" target-width="129.88" target-x="689.08" target-y="524.22"/><path d="M 445.57 546.36 L 460.98 487.02 L 715.65 446.00 L 692.88 524.67 L 445.57 546.36 Z" fill="url(#未命名的渐变_28-19)" fill-rule="nonzero" group-id="1,2,6" id="路径-73" node-id="100" stroke="none" target-height="100.359985" target-width="270.08002" target-x="445.57" target-y="446"/><path d="M 444.86 783.97 L 402.40 797.75 L 622.80 830.07 L 690.56 812.52 L 444.86 783.97 Z" fill="url(#未命名的渐变_28-20)" fill-rule="nonzero" group-id="1,2,6" id="路径-74" node-id="101" stroke="none" target-height="46.100037" target-width="288.16" target-x="402.4" target-y="783.97"/></g><g node-id="332"><g node-id="339"><path d="M 680.92 666.24 C 678.36 661.24 677.78 653.93 679.61 650.35 C 681.44 646.77 687.69 627.76 673.12 620.91 C 658.55 614.06 645.64 625.85 646.89 640.91 C 648.14 655.97 648.95 664.37 652.89 665.25 C 656.83 666.13 657.89 671.40 658.50 674.61 C 659.11 677.82 676.62 670.16 676.62 670.16 L 680.68 669.16 Z" fill="#ebb0b0" fill-rule="nonzero" group-id="1,2,7,14" id="路径-7" node-id="104" stroke="none" target-height="63.76001" target-width="42.049988" target-x="645.64" target-y="614.06"/><path d="M 655.51 605.76 C 640.51 606.42 641.88 619.40 645.25 626.49 C 648.62 633.58 649.02 631.35 654.19 635.24 C 654.19 635.24 655.19 633.95 655.84 643.53 L 658.41 644.60 C 659.41 644.94 658.18 642.60 659.69 641.49 C 661.20 640.38 665.62 643.83 663.43 647.88 C 661.24 651.93 661.36 650.74 661.36 650.74 C 661.36 650.74 664.74 655.32 666.99 654.74 C 669.24 654.16 681.55 654.36 682.43 650.62 C 683.31 646.88 687.62 642.80 687.73 632.62 C 687.84 622.44 677.19 611.62 670.68 609.09 C 664.17 606.56 659.24 605.60 655.51 605.76 Z" fill="#131322" fill-rule="nonzero" group-id="1,2,7,14" id="路径-8" node-id="105" stroke="none" target-height="49.72003" target-width="47.330017" target-x="640.51" target-y="605.6"/></g><path d="M 483.41 789.92 C 484.63 794.33 486.28 796.21 485.50 798.77 C 484.72 801.33 479.40 805.08 476.08 804.53 C 471.87 803.83 464.68 802.15 462.65 801.73 C 460.62 801.31 446.72 798.00 445.09 793.73 C 443.46 789.46 449.90 786.09 458.87 786.65 C 467.84 787.21 480.68 789.09 480.68 789.09 Z" fill="#333333" fill-rule="nonzero" group-id="1,2,7" id="路径-9" node-id="106" stroke="none" target-height="18.98999" target-width="42.820007" target-x="443.46" target-y="786.09"/><path d="M 519.64 792.54 C 520.64 796.02 521.90 797.54 521.29 799.54 C 520.68 801.54 516.48 804.54 513.85 804.09 C 510.53 803.53 504.85 802.21 503.25 801.87 C 501.65 801.53 490.67 798.93 489.39 795.56 C 488.11 792.19 493.18 789.56 500.27 789.97 C 507.36 790.38 517.49 791.90 517.49 791.90 Z" fill="#333333" fill-rule="nonzero" group-id="1,2,7" id="路径备份" node-id="107" stroke="none" target-height="14.97998" target-width="33.79004" target-x="488.11" target-y="789.56"/><path d="M 573.38 783.30 C 563.90 775.59 557.11 763.43 548.26 730.41 C 545.46 737.19 523.76 754.69 482.13 798.97 L 470.56 793.22 C 494.85 723.41 524.20 695.49 544.35 685.66 C 567.79 676.38 591.82 723.41 594.77 730.41 C 596.77 735.08 605.27 751.15 620.28 778.62 C 599.00 788.40 581.39 789.84 573.38 783.30 Z" fill="url(#未命名的渐变_30)" fill-rule="nonzero" group-id="1,2,7" id="_Path_" node-id="108" stroke="none" target-height="122.589966" target-width="149.72003" target-x="470.56" target-y="676.38"/><path d="M 650.87 805.23 C 614.65 814.62 589.05 819.69 574.06 820.42 C 551.57 821.52 516.12 816.07 511.84 803.31 C 515.17 797.07 518.17 793.71 520.84 793.22 C 524.84 792.48 542.96 796.68 564.63 787.10 C 579.13 780.71 597.68 777.89 620.29 778.62" fill="url(#未命名的渐变_30-2)" fill-rule="nonzero" group-id="1,2,7" id="_Path_2" node-id="109" stroke="none" target-height="43.63336" target-width="139.03" target-x="511.84" target-y="777.88666"/><path d="M 601.26 778.51 C 590.79 760.96 594.33 752.45 595.80 746.41 C 597.96 733.84 603.59 720.84 612.68 707.41 C 625.68 689.41 630.52 684.47 647.84 674.41 C 657.57 668.75 687.65 650.60 688.84 695.41 C 690.22 743.41 690.22 778.52 647.84 809.03 C 635.17 807.00 611.80 796.00 601.26 778.51 Z" fill="url(#未命名的渐变_31)" fill-rule="nonzero" group-id="1,2,7" id="_Path_3" node-id="110" stroke="none" target-height="158.43005" target-width="99.42999" target-x="590.79" target-y="650.6"/><path d="M 559.61 661.87 L 583.39 687.37 L 580.84 689.75 L 557.06 664.24 L 559.61 661.87 Z" fill="#000000" fill-rule="evenodd" group-id="1,2,7" id="矩形-2" node-id="111" stroke="none" target-height="27.880005" target-width="26.330017" target-x="557.06" target-y="661.87"/><path d="M 585.35 692.00 C 584.02 689.77 582.61 687.46 581.10 685.06 C 580.83 683.81 580.36 682.61 579.70 681.52 C 577.87 679.43 576.70 678.87 576.21 679.82 C 575.71 680.80 575.73 681.96 576.28 682.91 L 572.98 679.73 L 570.51 675.73 C 567.84 671.55 565.55 671.05 563.62 674.23 C 562.18 678.23 563.51 684.48 571.12 688.87 C 573.25 689.39 575.59 691.03 578.12 693.78 Z" fill="#efba9e" fill-rule="nonzero" group-id="1,2,7" id="路径-50备份" node-id="112" stroke="none" target-height="22.730042" target-width="23.169983" target-x="562.18" target-y="671.05"/><path d="M 582.27 685.00 L 613.33 723.00 L 647.88 687.45 C 655.21 682.01 662.50 682.15 669.75 687.87 C 673.88 693.69 676.03 700.75 669.75 712.59 C 666.00 718.13 647.00 731.50 627.53 741.71 C 619.64 744.85 611.27 743.71 603.43 736.06 C 599.62 731.69 589.83 716.90 574.04 691.67 Z" fill="url(#未命名的渐变_32)" fill-rule="nonzero" group-id="1,2,7" id="路径-3-2" node-id="113" stroke="none" target-height="62.839966" target-width="101.99005" target-x="574.04" target-y="682.01"/></g></g></g></svg>
<p><span>暂无数据</span></p>
</div>
</el-table>
<el-pagination style="margin-top: 0px"
@size-change="detailSizeChange"
@current-change="detailCurrentChange"
:current-page="no"
:page-sizes="[20, 50, 100, 200, 500]"
:page-size="size"
:total="total"
layout="total,sizes, prev, pager, next, jumper">
</el-pagination>
<el-dialog title="新增报价明细" v-drag @open="openInsertQuotationDetail" @close="closeInsertQuotationDetail"
:visible.sync="quotationLeadIntoDetailFlag" width="40%" :close-on-click-modal="false">
<el-form :model="quotationDetail" ref="insertQuotationDetailForm" :rules="quotationDetailRules"
label-position="top">
<el-row :gutter="10">
<el-col :span="8">
<el-form-item label="产品编码" prop="productNo">
<span slot="label" style="" @click="projectPartDialogFlag = true"><a>产品编码</a></span>
<el-input v-model="quotationDetail.productNo" clearable/>
</el-form-item>
</el-col>
<el-col :span="14">
<el-form-item label="产品名称" prop="productDesc">
<el-input v-model="quotationDetail.productDesc" disabled clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="报价数量" prop="quotationDetailQuantity">
<el-input-number style="width: 100%;margin-top: -5px;" :min="1" v-model="quotationDetail.quotationDetailQuantity" :controls="false"></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="22">
<el-form-item label="">
<el-checkbox v-model="quotationDetail.flag">保存进入报价界面</el-checkbox>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="22">
<el-form-item label="备注" style="display: block;min-height: 80px" prop="remark">
<el-input type="textarea" resize="none" v-model="quotationDetail.remark" :autosize="{minRows: 3, maxRows: 3}"
style="min-height: 80px"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="margin-top: 20px">
<el-button type="primary" :loading="insertQuotationDetailLoading" @click="insertQuotationDetailBtn">保 存</el-button>
<el-button @click="quotationLeadIntoDetailFlag = false">关 闭</el-button>
</div>
</el-dialog>
<el-dialog v-drag :fullscreen="fullscreen" :visible.sync="quotationDetailFlag" @open="openQuotationDetail" @close="closeDetailEditDialog"
width="60%" top="10vh" :close-on-click-modal="false">
<div slot="title" class="medium">
<div>
<span class="el-dialog__title">报价单号 {{this.header.quotationNo+"-"+this.header.versionCode+"-"+index}}</span>
<span style="float: right;margin-right: 30px;cursor:pointer;" @click="fullscreen = !fullscreen">
<svg v-if="!fullscreen" t="1710144122404" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4774" width="16" height="16"><path d="M145.066667 85.333333h153.6c25.6 0 42.666667-17.066667 42.666666-42.666666S324.266667 0 298.666667 0H34.133333C25.6 0 17.066667 8.533333 8.533333 17.066667 0 25.6 0 34.133333 0 42.666667v256c0 25.6 17.066667 42.666667 42.666667 42.666666s42.666667-17.066667 42.666666-42.666666V145.066667l230.4 230.4c17.066667 17.066667 42.666667 17.066667 59.733334 0 17.066667-17.066667 17.066667-42.666667 0-59.733334L145.066667 85.333333z m170.666666 563.2L162.133333 802.133333l-76.8 76.8V725.333333C85.333333 699.733333 68.266667 682.666667 42.666667 682.666667s-42.666667 17.066667-42.666667 42.666666v256c0 25.6 17.066667 42.666667 42.666667 42.666667h256c25.6 0 42.666667-17.066667 42.666666-42.666667s-17.066667-42.666667-42.666666-42.666666H145.066667l76.8-76.8 153.6-153.6c17.066667-17.066667 17.066667-42.666667 0-59.733334-17.066667-17.066667-42.666667-17.066667-59.733334 0z m665.6 34.133334c-25.6 0-42.666667 17.066667-42.666666 42.666666v153.6l-76.8-76.8-153.6-153.6c-17.066667-17.066667-42.666667-17.066667-59.733334 0-17.066667 17.066667-17.066667 42.666667 0 59.733334l153.6 153.6 76.8 76.8H725.333333c-25.6 0-42.666667 17.066667-42.666666 42.666666s17.066667 42.666667 42.666666 42.666667h256c25.6 0 42.666667-17.066667 42.666667-42.666667v-256c0-25.6-17.066667-42.666667-42.666667-42.666666z m0-682.666667h-256c-25.6 0-42.666667 17.066667-42.666666 42.666667s17.066667 42.666667 42.666666 42.666666h153.6l-76.8 76.8-153.6 153.6c-17.066667 17.066667-17.066667 42.666667 0 59.733334 17.066667 17.066667 42.666667 17.066667 59.733334 0l153.6-153.6 76.8-76.8v153.6c0 25.6 17.066667 42.666667 42.666666 42.666666s42.666667-17.066667 42.666667-42.666666v-256c0-25.6-17.066667-42.666667-42.666667-42.666667z" fill="#8a8a8a" p-id="4775"></path></svg>
<svg v-else t="1710143735808" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4603" width="16" height="16"><path d="M354.133333 682.666667H256v-42.666667h170.666667v170.666667H384v-98.133334L243.2 853.333333l-29.866667-29.866666L354.133333 682.666667z m358.4 0l140.8 140.8-29.866666 29.866666-140.8-140.8V810.666667h-42.666667v-170.666667h170.666667v42.666667h-98.133334zM354.133333 384L213.333333 243.2l29.866667-29.866667L384 354.133333V256h42.666667v170.666667H256V384h98.133333z m358.4 0H810.666667v42.666667h-170.666667V256h42.666667v98.133333L823.466667 213.333333l29.866666 29.866667L712.533333 384z" fill="#444444" p-id="4604"></path></svg>
</span>
</div>
</div>
<el-form :rules="quotationDetailRules" style="margin-top: 5px" ref="quotationDetailForm"
:model="quotationDetail" label-width="80px" :inline="true" label-position="top">
<el-form-item label="产品编码" prop="productNo">
<el-input clearable disabled style="width: 160px" v-model="quotationDetail.productNo"/>
</el-form-item>
<el-form-item label="产品名称" prop="productDesc">
<el-input clearable disabled style="width: 200px" v-model="quotationDetail.productDesc"/>
</el-form-item>
<el-form-item label="报价数量" prop="quotationDetailQuantity">
<el-input-number disabled style="width: 100%;margin-top: -5px;" :min="1" v-model="quotationDetail.quotationDetailQuantity" :controls="false"></el-input-number>
</el-form-item>
<el-form-item label="备注" style="display: block;min-height: 90px;width: 60%">
<el-input type="textarea" resize="none" disabled v-model="quotationDetail.remark" :autosize="{minRows: 3, maxRows: 3}"
style="min-height: 80px" />
</el-form-item>
</el-form>
<el-tabs v-model="activeName" @tab-click="tabClick" :style="{height:`${fullscreen?740:500}px`}" border stripe>
<el-tab-pane name="bom" label="材料">
<bill-of-materiel ref="bom" v-if="quotationDetailFlag" :height="fullscreen?655:415" :detail="quotationDetail"></bill-of-materiel>
</el-tab-pane>
<el-tab-pane name="routing" label="工艺">
<quote-routing ref="routing" v-if="quotationDetailFlag" :height="fullscreen?655:415" :detail="quotationDetail"></quote-routing>
</el-tab-pane>
<el-tab-pane name="tool" label="工具">
<tool-quotation ref="tool" v-if="quotationDetailFlag" :height="fullscreen?660:420" :detail="quotationDetail"></tool-quotation>
</el-tab-pane>
<el-tab-pane name="property" label="成品属性">
<property-templates ref="property" v-if="quotationDetailFlag" :height="fullscreen?660:420" :detail="quotationDetail" ></property-templates>
</el-tab-pane>
<el-tab-pane name="cost" label="成本&价格">
<cost-price ref="cost" v-if="quotationDetailFlag" :height="fullscreen?660:420" :detail="quotationDetail"></cost-price>
</el-tab-pane>
</el-tabs>
<div slot="footer" style="padding-top: 10px">
<el-button type="primary" :loading="editQuotationDetailLoading" @click="saveQuotationDetail"> </el-button>
<el-button @click=" quotationDetailFlag= false"> </el-button>
</div>
</el-dialog>
<el-dialog v-drag title="产品列表" @close="closeProjectPartDialog" @open="openProjectPartDialog"
:visible.sync="projectPartDialogFlag">
<!--搜索条件-->
<el-form :model="projectPartData" ref="projectPartDataForm" :inline="true" label-position="top">
<el-form-item label="产品编号" prop="toolNo">
<el-input v-model="projectPartData.testPartNo" clearable/>
</el-form-item>
<el-form-item label="产品名称" prop="toolDescription">
<el-input v-model="projectPartData.partDesc" clearable/>
</el-form-item>
<el-form-item label=" ">
<el-button @click="getProjectPartList" type="primary"> 查 询 </el-button>
</el-form-item>
</el-form>
<el-table height="300px" stripe border width="30%" @row-dblclick="dblClickProjectPartTable"
:data="projectPartTable" ref="projectPartDataTable" :style="{marginTop:'10px'}">
<el-table-column
v-for="(item,index) in projectPartDetailList" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed===''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
</el-dialog>
</div>
</template>
<style scoped>
.el-input-number /deep/ .el-input__inner{
text-align: right;
padding-right: 5px !important;
}
</style>