# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
product
bawei 2 years ago
commit 4cf5729eab

@ -9,18 +9,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.hutool.core.util.ObjectUtil;
import jnpf.customer.mapper.CustomerVMapper;
import jnpf.customer.entity.CustomerEntity;
import jnpf.model.EmployeeModel;
import jnpf.model.employee.EmployeeImportVO;
import jnpf.permission.model.authorize.AuthorizeConditionModel;
import jnpf.contractfile.model.contractfile.ContractFilePagination;
import jnpf.permission.service.AuthorizeService;
import java.lang.reflect.Field;
import com.baomidou.mybatisplus.annotation.TableField;
@ -78,7 +70,7 @@ public class ContractFileServiceImpl extends ServiceImpl<ContractFileMapper, Con
int contract_item1Num = 0;
QueryWrapper<Contract_item1Entity> contract_item1QueryWrapper = new QueryWrapper<>();
boolean pcPermission = true;
boolean appPermission = false;
boolean appPermission = true;
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
if (isPc && pcPermission) {
if (!userProvider.get().getIsAdministrator()) {
@ -176,7 +168,7 @@ public class ContractFileServiceImpl extends ServiceImpl<ContractFileMapper, Con
int contract_item1Num = 0;
QueryWrapper<Contract_item1Entity> contract_item1QueryWrapper = new QueryWrapper<>();
boolean pcPermission = true;
boolean appPermission = false;
boolean appPermission = true;
boolean isPc = ServletUtil.getHeader("jnpf-origin").equals("pc");
if (isPc && pcPermission) {
if (!userProvider.get().getIsAdministrator()) {

@ -99,6 +99,10 @@ public class TradeuploadCrForm {
@JsonProperty("transportPrice")
private String transportPrice;
/** 运费 **/
@JsonProperty("originPlace")
private String originPlace;
/** 销售价格 **/
@JsonProperty("salesPrice")
private String salesPrice;

@ -87,6 +87,10 @@ public class TradeuploadInfoVO{
@JsonProperty("transportPrice")
private String transportPrice;
/** 运费 **/
@JsonProperty("originPlace")
private String originPlace;
/** 销售价格 **/
@JsonProperty("salesPrice")
private String salesPrice;

@ -105,6 +105,11 @@ public class TradeuploadListVO{
private String transportPrice;
/** 运费 **/
@JsonProperty("originPlace")
private String originPlace;
/** 销售价格 **/
@JsonProperty("salesPrice")
private String salesPrice;

@ -41,7 +41,7 @@
</el-col>
<el-col :span="6">
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="search()">
<el-button type="primary" icon="el-icon-search" v-has="'btn_add'" @click="search()">
{{$t('common.search')}}</el-button>
<el-button icon="el-icon-refresh-right" @click="reset()">{{$t('common.reset')}}
</el-button>

@ -2,20 +2,20 @@
<transition name="el-zoom-in-center">
<div class="JNPF-preview-main">
<div class="JNPF-common-page-header">
<el-page-header @back="goBack" :content="!dataForm.id ? '新建' : isDetail ? '详情':'编辑'" />
<el-page-header @back="goBack" :content="!dataForm.id ? '新建' : isDetail ? '详情' : '编辑'" />
<div class="options">
<el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail"> </el-button>
<el-button @click="goBack"> </el-button>
</div>
</div>
<el-row :gutter="15" class=" main" :style="{margin: '0 auto',width: '100%'}">
<el-row :gutter="15" class=" main" :style="{ margin: '0 auto', width: '100%' }">
<el-form ref="elForm" :model="dataForm" :rules="rules" size="small" label-width="100px"
label-position="right">
<template v-if="!loading">
<el-col :span="8">
<el-form-item label="合同类型 " prop="contractType">
<el-select v-model="dataForm.contractType" placeholder="请选择" clearable
:style='{"width":"100%"}'>
:style='{ "width": "100%" }'>
<el-option v-for="(item, index) in contractTypeOptions" :key="index"
:label="item.fullName" :value="item.id" :disabled="item.disabled"></el-option>
@ -25,7 +25,7 @@
<el-col :span="8">
<el-form-item label="合同编码" prop="contractCode">
<el-input v-model="dataForm.contractCode" placeholder="请输入" clearable
:style='{"width":"100%"}'>
:style='{ "width": "100%" }'>
</el-input>
</el-form-item>
@ -33,7 +33,7 @@
<el-col :span="8">
<el-form-item label="合同名称" prop="contractName">
<el-input v-model="dataForm.contractName" placeholder="请输入" clearable
:style='{"width":"100%"}'>
:style='{ "width": "100%" }'>
</el-input>
</el-form-item>
@ -41,7 +41,7 @@
<el-col :span="8">
<el-form-item label="合同状态" prop="status">
<el-input v-model="dataForm.status" placeholder="请输入" clearable
:style='{"width":"100%"}'>
:style='{ "width": "100%" }'>
</el-input>
</el-form-item>
@ -49,7 +49,7 @@
<el-col :span="8">
<el-form-item label="开标日期" prop="bidOpeningDate">
<el-date-picker v-model="dataForm.bidOpeningDate" placeholder="请选择" clearable
:style='{"width":"100%"}' type="date" format="yyyy-MM-dd" value-format="timestamp">
:style='{ "width": "100%" }' type="date" format="yyyy-MM-dd" value-format="timestamp">
</el-date-picker>
</el-form-item>
@ -57,7 +57,7 @@
<el-col :span="8">
<el-form-item label="开始日期" prop="startDate">
<el-date-picker v-model="dataForm.startDate" placeholder="请选择" clearable
:style='{"width":"100%"}' type="date" format="yyyy-MM-dd" value-format="timestamp">
:style='{ "width": "100%" }' type="date" format="yyyy-MM-dd" value-format="timestamp">
</el-date-picker>
</el-form-item>
@ -65,7 +65,7 @@
<el-col :span="8">
<el-form-item label="审核日期" prop="auditDate">
<el-date-picker v-model="dataForm.auditDate" placeholder="请选择" clearable
:style='{"width":"100%"}' type="date" format="yyyy-MM-dd" value-format="timestamp">
:style='{ "width": "100%" }' type="date" format="yyyy-MM-dd" value-format="timestamp">
</el-date-picker>
</el-form-item>
@ -73,7 +73,7 @@
<el-col :span="8">
<el-form-item label="供货完成日期" prop="completionDate">
<el-date-picker v-model="dataForm.completionDate" placeholder="请选择" clearable
:style='{"width":"100%"}' type="date" format="yyyy-MM-dd" value-format="timestamp">
:style='{ "width": "100%" }' type="date" format="yyyy-MM-dd" value-format="timestamp">
</el-date-picker>
</el-form-item>
@ -81,7 +81,7 @@
<el-col :span="8">
<el-form-item label="关闭日期" prop="closingDate">
<el-date-picker v-model="dataForm.closingDate" placeholder="请选择" clearable
:style='{"width":"100%"}' type="date" format="yyyy-MM-dd" value-format="timestamp">
:style='{ "width": "100%" }' type="date" format="yyyy-MM-dd" value-format="timestamp">
</el-date-picker>
</el-form-item>
@ -92,13 +92,14 @@
:style='{"width":"100%"}'>
</el-input> -->
<el-input-number v-model="dataForm.collectionCycle" :min="0" label="请输入" :style='{"width":"100%"}'></el-input-number>
<el-input-number v-model="dataForm.collectionCycle" :min="0" label="请输入"
:style='{ "width": "100%" }'></el-input-number>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="签订日期" prop="signingDate">
<el-date-picker v-model="dataForm.signingDate" placeholder="请选择" clearable
:style='{"width":"100%"}' type="date" format="yyyy-MM-dd" value-format="timestamp">
:style='{ "width": "100%" }' type="date" format="yyyy-MM-dd" value-format="timestamp">
</el-date-picker>
</el-form-item>
@ -106,29 +107,58 @@
<el-col :span="8">
<el-form-item label="截止日期" prop="endDate">
<el-date-picker v-model="dataForm.endDate" placeholder="请选择" clearable
:style='{"width":"100%"}' type="date" format="yyyy-MM-dd" value-format="timestamp">
:style='{ "width": "100%" }' type="date" format="yyyy-MM-dd" value-format="timestamp">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="供应商/客户编" prop="code">
<el-input v-model="dataForm.code" placeholder="请输入" clearable :style='{"width":"100%"}'>
<el-form-item label="供应商/客户" prop="code">
<template v-if="dataForm.contractType === '0'">
<popupSelect v-model="dataForm.code" propsValue="id" relationField='supplier_name'
vModel='code' :columnOptions="codeColumnOptions" interfaceId="382494924156735557"
:pageSize="20" placeholder="请选择供应商" type="popup">
</popupSelect>
</template>
<template v-else-if="dataForm.contractType === '1'">
<popupSelect v-model="dataForm.code" propsValue="id" relationField='supplier_nm'
vModel='dataForm.code' :columnOptions="nameColumnOptions"
interfaceId="395936123471343749" :pageSize="20" placeholder="请选择客户" type="popup">
</popupSelect>
</template>
<template v-else>
</template>
</el-form-item>
<!-- <u-form-item label="供应商/客户id" prop="code">
<jnpf-popup-select v-model="dataForm.code" propsValue="id" relationField='fullName'
vModel='dataForm.code' :columnOptions="codeColumnOptions" interfaceId="382494924156735557"
:pageSize="20" placeholder="请选择" type="popup">
</jnpf-popup-select>
</u-form-item> -->
<!-- <el-form-item label="供应商/客户编" prop="code">
<el-input v-model="dataForm.code" placeholder="请输入" clearable :style='{ "width": "100%" }'>
</el-input>
</el-form-item>
</el-form-item> -->
</el-col>
<el-col :span="8">
<el-form-item label="供应商/客户名" prop="name">
<el-input v-model="dataForm.name" placeholder="请输入" clearable :style='{"width":"100%"}'>
<!-- <u-form-item label="供应商/客户id" prop="code">
<jnpf-popup-select v-model="dataForm.code" propsValue="id" relationField='fullName'
vModel='dataForm.code' :columnOptions="nameColumnOptions" interfaceId="395936123471343749"
:pageSize="20" placeholder="请选择" type="popup">
</jnpf-popup-select>
</u-form-item> -->
<!-- <el-form-item label="供应商/客户名" prop="name">
<el-input v-model="dataForm.name" placeholder="请输入" clearable :style='{ "width": "100%" }'>
</el-input>
</el-form-item>
</el-form-item> -->
</el-col>
<el-col :span="8">
<el-form-item label="对方合同号" prop="contractNo">
<el-input v-model="dataForm.contractNo" placeholder="请输入" clearable
:style='{"width":"100%"}'>
:style='{ "width": "100%" }'>
</el-input>
</el-form-item>
@ -136,27 +166,29 @@
<el-col :span="8">
<el-form-item label="币种 " prop="currency">
<el-select v-model="dataForm.currency" placeholder="请选择" clearable
:style='{"width":"100%"}'>
<el-option v-for="(item, index) in currencyOptions" :key="index"
:label="item.fullName" :value="item.id" :disabled="item.disabled"></el-option>
:style='{ "width": "100%" }'>
<el-option v-for="(item, index) in currencyOptions" :key="index" :label="item.fullName"
:value="item.id" :disabled="item.disabled"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="数量" prop="num">
<el-input-number v-model="dataForm.num" :min="0" label="请输入" :style='{"width":"100%"}'></el-input-number>
<el-input-number v-model="dataForm.num" :min="0" label="请输入"
:style='{ "width": "100%" }'></el-input-number>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="金额" prop="amount">
<el-input v-model="dataForm.amount" placeholder="请输入" clearable :style='{"width":"100%"}'></el-input>
<el-input v-model="dataForm.amount" placeholder="请输入" clearable
:style='{ "width": "100%" }'></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="库存组织" prop="organization">
<el-input v-model="dataForm.organization" placeholder="请输入" clearable
:style='{"width":"100%"}'>
:style='{ "width": "100%" }'>
</el-input>
</el-form-item>
@ -164,7 +196,7 @@
<el-col :span="16">
<el-form-item label="备注" prop="remark">
<el-input v-model="dataForm.remark" placeholder="请输入" clearable
:style='{"width":"100%"}'>
:style='{ "width": "100%" }'>
</el-input>
</el-form-item>
@ -215,13 +247,13 @@
</el-form-item>
</el-col>
-->
<!-- <el-col :span="24">-->
<!-- <el-form-item label="集团审批" prop="approval">-->
<!-- <el-switch v-model="dataForm.approval" :active-value="1" :inactive-value="0">-->
<!-- <el-col :span="24">-->
<!-- <el-form-item label="集团审批" prop="approval">-->
<!-- <el-switch v-model="dataForm.approval" :active-value="1" :inactive-value="0">-->
<!-- </el-switch>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-switch>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="24">
<el-tabs v-model="activemdfrsi" tab-position="top" class="mb-20">
<el-tab-pane label="物料明细">
@ -235,67 +267,75 @@
<el-table-column prop="materialCode" label="物料编码" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.materialCode" placeholder="请输入"
clearable :style='{"width":"100%"}'>
clearable :style='{ "width": "100%" }'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="materialName" label="物料名称" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.materialName" placeholder="请输入"
clearable :style='{"width":"100%"}'>
clearable :style='{ "width": "100%" }'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="specification" label="规格型号" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.specification" placeholder="请输入"
clearable :style='{"width":"100%"}'>
clearable :style='{ "width": "100%" }'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="unit" label="单位 " align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.unit" placeholder="请输入" clearable
:style='{"width":"100%"}'>
:style='{ "width": "100%" }'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="num" label="数量" align="center">
<template slot-scope="scope">
<el-input-number v-model="scope.row.num" :min="0" label="请输入" :style='{"width":"100%"}'></el-input-number>
<el-input-number v-model="scope.row.num" :min="0" label="请输入"
:style='{ "width": "100%" }'></el-input-number>
</template>
</el-table-column>
<el-table-column prop="price" label="单价" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.price" placeholder="请输入" clearable :style='{"width":"100%"}'></el-input>
<el-input v-model="scope.row.price" placeholder="请输入" clearable
:style='{ "width": "100%" }'></el-input>
</template>
</el-table-column>
<el-table-column prop="amount" label="金额" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.amount" placeholder="请输入" clearable :style='{"width":"100%"}'></el-input>
<el-input v-model="scope.row.amount" placeholder="请输入" clearable
:style='{ "width": "100%" }'></el-input>
</template>
</el-table-column>
<el-table-column prop="rate" label="税率 " align="center">
<template slot-scope="scope">
<el-select v-model="scope.row.rate" :min="0" label="请输入" :style='{"width":"100%"}'>
<el-option v-for="(item, index) in rateOptions" :key="index" :label="item.fullName" :value="item.id" :disabled="item.disabled" ></el-option>
</el-select>
<el-select v-model="scope.row.rate" :min="0" label="请输入"
:style='{ "width": "100%" }'>
<el-option v-for="(item, index) in rateOptions" :key="index"
:label="item.fullName" :value="item.id"
:disabled="item.disabled"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column prop="notPrice" label="不含税单价" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.notPrice" placeholder="请输入" clearable :style='{"width":"100%"}'></el-input>
<el-input v-model="scope.row.notPrice" placeholder="请输入" clearable
:style='{ "width": "100%" }'></el-input>
</template>
</el-table-column>
<el-table-column prop="notAmount" label="不含税金额" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.notAmount" placeholder="请输入" clearable :style='{"width":"100%"}'></el-input>
<el-input v-model="scope.row.notAmount" placeholder="请输入" clearable
:style='{ "width": "100%" }'></el-input>
</template>
</el-table-column>
<el-table-column prop="remark" label="备注" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.remark" placeholder="请输入" clearable
:style='{"width":"100%"}'>
:style='{ "width": "100%" }'>
</el-input>
</template>
</el-table-column>
@ -349,268 +389,296 @@
</transition>
</template>
<script>
import request from '@/utils/request'
import {
getDataInterfaceRes
} from '@/api/systemData/dataInterface'
import {
getDictionaryDataSelector
} from '@/api/systemData/dictionary'
export default {
components: {},
props: [],
data() {
return {
visible: false,
loading: false,
isDetail: false,
dataForm: {
contractType: "",
contractCode: '',
contractName: '',
status: '',
bidOpeningDate: '',
startDate: '',
auditDate: '',
completionDate: '',
closingDate: '',
collectionCycle: '',
signingDate: '',
endDate: '',
code: '',
name: '',
contractNo: '',
currency: '',
num: '',
amount: '',
organization: '',
remark: '',
classification: '',
declarationDate: '',
deptCode: '',
creatorusername: '',
deptName: '',
approval: 0,
contract_item0List: [],
contract_item1List: [],
import request from '@/utils/request'
import {
getDataInterfaceRes
} from '@/api/systemData/dataInterface'
import {
getDictionaryDataSelector
} from '@/api/systemData/dictionary'
export default {
components: {},
props: [],
data() {
return {
codeColumnOptions: [
{
"label": "供应商Code",
"value": "supplier_code"
},
activemdfrsi: '0',
rules: {
contractType: [{
required: true,
message: '请选择',
trigger: 'change'
}, ],
contractCode: [{
required: true,
message: '请输入',
trigger: 'blur'
}, ],
contractName: [{
required: true,
message: '请输入',
trigger: 'blur'
}, ],
bidOpeningDate: [{
required: true,
message: '请选择',
trigger: 'change'
}, ],
{
"label": "供应商",
"value": "supplier_name"
},
currencyOptions: [{
"fullName": "人民币",
"id": "0"
}, {
"fullName": "美元",
"id": "1"
}, {
"fullName": "英镑",
"id": "2"
}],
contractTypeOptions: [{
"fullName": "采购合同",
"id": "0"
}, {
"fullName": "销售合同",
"id": "1"
},
{
"fullName": "租赁合同",
"id": "2"
}, {
"fullName": "仓储合同",
"id": "3"
}, {
"fullName": "运输合同",
"id": "4"
},
{
"fullName": "施工合同",
"id": "5"
}
],
rateOptions:[
{"fullName":"13","id":"0"},
{"fullName":"9","id":"1"},
{"fullName":"6","id":"2"},
{"fullName":"5","id":"3"},
{"fullName":"3","id":"4"},
{"fullName":"0","id":"5"}],
}
},
computed: {},
watch: {},
created() {},
mounted() {},
methods: {
contract_item0Exist() {
let isOk = true;
for (let i = 0; i < this.dataForm.contract_item0List.length; i++) {
const e = this.dataForm.contract_item0List[i];
}
return isOk;
},
contract_item1Exist() {
let isOk = true;
for (let i = 0; i < this.dataForm.contract_item1List.length; i++) {
const e = this.dataForm.contract_item1List[i];
}
return isOk;
},
goBack() {
this.$emit('refresh')
],
nameColumnOptions: [
{
"label": "ID",
"value": "id"
},
{
"label": "客户编码",
"value": "supplier_cd"
},
{
"label": "客户名称",
"value": "supplier_nm"
},
],
visible: false,
loading: false,
isDetail: false,
dataForm: {
contractType: "",
contractCode: '',
contractName: '',
status: '',
bidOpeningDate: '',
startDate: '',
auditDate: '',
completionDate: '',
closingDate: '',
collectionCycle: '',
signingDate: '',
endDate: '',
code: '',
name: '',
contractNo: '',
currency: '',
num: '',
amount: '',
organization: '',
remark: '',
classification: '',
declarationDate: '',
deptCode: '',
creatorusername: '',
deptName: '',
approval: 0,
contract_item0List: [],
contract_item1List: [],
},
clearData(data) {
for (let key in data) {
if (data[key] instanceof Array) {
data[key] = [];
} else if (data[key] instanceof Object) {
this.clearData(data[key]);
} else {
data[key] = "";
}
}
activemdfrsi: '0',
rules: {
contractType: [{
required: true,
message: '请选择',
trigger: 'change'
},],
contractCode: [{
required: true,
message: '请输入',
trigger: 'blur'
},],
contractName: [{
required: true,
message: '请输入',
trigger: 'blur'
},],
bidOpeningDate: [{
required: true,
message: '请选择',
trigger: 'change'
},],
},
init(id, isDetail) {
this.dataForm.id = id || 0;
this.visible = true;
this.isDetail = isDetail || false;
this.$nextTick(() => {
this.$refs['elForm'].resetFields();
if (this.dataForm.id) {
this.loading = true
request({
url: '/api/example/ContractFile/' + this.dataForm.id,
method: 'get'
}).then(res => {
this.dataInfo(res.data)
this.loading = false
});
} else {
this.clearData(this.dataForm)
}
});
this.$store.commit('generator/UPDATE_RELATION_DATA', {})
currencyOptions: [{
"fullName": "人民币",
"id": "0"
}, {
"fullName": "美元",
"id": "1"
}, {
"fullName": "英镑",
"id": "2"
}],
contractTypeOptions: [{
"fullName": "采购合同",
"id": "0"
}, {
"fullName": "销售合同",
"id": "1"
},
//
dataFormSubmit() {
this.$refs['elForm'].validate((valid) => {
if (valid) {
if (!this.contract_item0Exist()) return
if (!this.contract_item1Exist()) return
this.request()
}
})
{
"fullName": "租赁合同",
"id": "2"
}, {
"fullName": "仓储合同",
"id": "3"
}, {
"fullName": "运输合同",
"id": "4"
},
request() {
var _data = this.dataList()
if (!this.dataForm.id) {
request({
url: '/api/example/ContractFile',
method: 'post',
data: _data
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
onClose: () => {
this.visible = false
this.$emit('refresh', true)
}
})
})
{
"fullName": "施工合同",
"id": "5"
}
],
rateOptions: [
{ "fullName": "13", "id": "0" },
{ "fullName": "9", "id": "1" },
{ "fullName": "6", "id": "2" },
{ "fullName": "5", "id": "3" },
{ "fullName": "3", "id": "4" },
{ "fullName": "0", "id": "5" }],
}
},
computed: {},
watch: {
'dataForm.contractType': function (newQuestion, oldQuestion) {
this.dataForm.code = '';
}
},
created() { },
mounted() { },
methods: {
contract_item0Exist() {
let isOk = true;
for (let i = 0; i < this.dataForm.contract_item0List.length; i++) {
const e = this.dataForm.contract_item0List[i];
}
return isOk;
},
contract_item1Exist() {
let isOk = true;
for (let i = 0; i < this.dataForm.contract_item1List.length; i++) {
const e = this.dataForm.contract_item1List[i];
}
return isOk;
},
goBack() {
this.$emit('refresh')
},
clearData(data) {
for (let key in data) {
if (data[key] instanceof Array) {
data[key] = [];
} else if (data[key] instanceof Object) {
this.clearData(data[key]);
} else {
data[key] = "";
}
}
},
init(id, isDetail) {
this.dataForm.id = id || 0;
this.visible = true;
this.isDetail = isDetail || false;
this.$nextTick(() => {
this.$refs['elForm'].resetFields();
if (this.dataForm.id) {
this.loading = true
request({
url: '/api/example/ContractFile/' + this.dataForm.id,
method: 'PUT',
data: _data
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
onClose: () => {
this.visible = false
this.$emit('refresh', true)
}
})
})
}
},
addcontract_item0List() {
let item = {
materialCode: undefined,
materialName: undefined,
specification: undefined,
unit: undefined,
num: undefined,
price: undefined,
amount: undefined,
rate: undefined,
notPrice: undefined,
notAmount: undefined,
remark: undefined,
}
this.dataForm.contract_item0List.push(item)
},
delcontract_item0List(index) {
this.dataForm.contract_item0List.splice(index, 1);
},
addcontract_item1List() {
let item = {
enclosure: undefined,
}
this.dataForm.contract_item1List.push(item)
},
delcontract_item1List(index) {
this.dataForm.contract_item1List.splice(index, 1);
},
dataList() {
var _data = JSON.parse(JSON.stringify(this.dataForm));
_data.approval = parseInt(_data.approval)
for (let i = 0; i < _data.contract_item0List.length; i++) {
var _list = _data.contract_item0List[i];
}
for (let i = 0; i < _data.contract_item1List.length; i++) {
var _list = _data.contract_item1List[i];
_list.enclosure = JSON.stringify(_list.enclosure)
}
return _data;
},
dataInfo(dataAll) {
let _dataAll = dataAll
_dataAll.approval = parseInt(_dataAll.approval)
for (let i = 0; i < _dataAll.contract_item0List.length; i++) {
var _list = _dataAll.contract_item0List[i];
method: 'get'
}).then(res => {
this.dataInfo(res.data)
this.loading = false
});
} else {
this.clearData(this.dataForm)
}
for (let i = 0; i < _dataAll.contract_item1List.length; i++) {
var _list = _dataAll.contract_item1List[i];
_list.enclosure = JSON.parse(_list.enclosure)
});
this.$store.commit('generator/UPDATE_RELATION_DATA', {})
},
//
dataFormSubmit() {
this.$refs['elForm'].validate((valid) => {
if (valid) {
if (!this.contract_item0Exist()) return
if (!this.contract_item1Exist()) return
this.request()
}
this.dataForm = _dataAll
},
})
},
request() {
var _data = this.dataList()
if (!this.dataForm.id) {
request({
url: '/api/example/ContractFile',
method: 'post',
data: _data
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
onClose: () => {
this.visible = false
this.$emit('refresh', true)
}
})
})
} else {
request({
url: '/api/example/ContractFile/' + this.dataForm.id,
method: 'PUT',
data: _data
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
onClose: () => {
this.visible = false
this.$emit('refresh', true)
}
})
})
}
},
addcontract_item0List() {
let item = {
materialCode: undefined,
materialName: undefined,
specification: undefined,
unit: undefined,
num: undefined,
price: undefined,
amount: undefined,
rate: undefined,
notPrice: undefined,
notAmount: undefined,
remark: undefined,
}
this.dataForm.contract_item0List.push(item)
},
delcontract_item0List(index) {
this.dataForm.contract_item0List.splice(index, 1);
},
addcontract_item1List() {
let item = {
enclosure: undefined,
}
this.dataForm.contract_item1List.push(item)
},
delcontract_item1List(index) {
this.dataForm.contract_item1List.splice(index, 1);
},
dataList() {
var _data = JSON.parse(JSON.stringify(this.dataForm));
_data.approval = parseInt(_data.approval)
for (let i = 0; i < _data.contract_item0List.length; i++) {
var _list = _data.contract_item0List[i];
}
for (let i = 0; i < _data.contract_item1List.length; i++) {
var _list = _data.contract_item1List[i];
_list.enclosure = JSON.stringify(_list.enclosure)
}
return _data;
},
dataInfo(dataAll) {
let _dataAll = dataAll
_dataAll.approval = parseInt(_dataAll.approval)
for (let i = 0; i < _dataAll.contract_item0List.length; i++) {
var _list = _dataAll.contract_item0List[i];
}
for (let i = 0; i < _dataAll.contract_item1List.length; i++) {
var _list = _dataAll.contract_item1List[i];
_list.enclosure = JSON.parse(_list.enclosure)
}
this.dataForm = _dataAll
},
}
},
}
</script>

@ -25,14 +25,14 @@
<div class="JNPF-common-layout-main JNPF-flex-main">
<div class="JNPF-common-head">
<div>
<el-button type="primary" icon="el-icon-plus" @click="addOrUpdateHandle()">
<el-button type="primary" icon="el-icon-plus" v-has="'btn_add'" @click="addOrUpdateHandle()">
</el-button>
<!-- <el-button type="text" icon="=el-icon-detail" @click="goDetail(scope.row.id)">-->
<!-- </el-button>-->
<el-button type="text" icon="el-icon-download" @click="exportData()">
<el-button type="text" icon="el-icon-download" v-has="'btn_download'" @click="exportData()">
</el-button>
<el-button type="text" icon="el-icon-upload2" @click="uploadForm"></el-button>
<el-button type="text" icon="el-icon-upload2" @click="uploadForm" v-has="'btn_upload'"></el-button>
</div>
@ -88,13 +88,13 @@
<el-table-column label="操作" fixed="right" width="150">
<template slot-scope="scope">
<el-button type="text" @click="exportData()">
<el-button type="text" v-has="'btn_upload'" @click="exportData()">
</el-button>
<!-- <el-button type="text" @click="addOrUpdateHandle(scope.row.id)">-->
<!-- </el-button>-->
<!-- <el-button type="text" class="JNPF-table-delBtn" @click="handleDel(scope.row.id)">-->
<!-- </el-button>-->
<el-button type="text" @click="goDetail(scope.row.id)">
<el-button type="text" v-has="'btn_look'" @click="goDetail(scope.row.id)">
</el-button>
</template>
</el-table-column>

@ -96,7 +96,12 @@
message: '请输入姓名',
trigger: 'blur'
}
]
],
contact: [{
pattern: /^1[3456789]\d{9}$/,
message: '请输入正确的手机号码',
trigger: 'blur'
},]
}
}

@ -13,7 +13,7 @@
</el-upload>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="物料名称" prop="materialId">
<popupSelect v-model="dataForm.materialId" placeholder="请选择物料编码" clearable field="materialId"
interfaceId="381037852907038533" :columnOptions="materialIdcolumnOptions" propsValue="id"
@ -23,7 +23,7 @@
</popupSelect>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="客户名称" prop="customerId">
<popupSelect v-model="dataForm.customerId" placeholder="请选择客户" clearable field="customerId"
interfaceId="395936123471343749" :columnOptions="customerIdcolumnOptions" propsValue="id"
@ -33,7 +33,7 @@
</popupSelect>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="销售合同" prop="salesId">
<popupSelect v-model="dataForm.salesId" placeholder="请选择合同" clearable field="salesId"
interfaceId="396203872441416837" :columnOptions="salesIdcolumnOptions" propsValue="id"
@ -43,7 +43,7 @@
</popupSelect>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="车牌号" prop="vehicleId">
<popupSelect v-model="dataForm.vehicleId" placeholder="请选择车辆" clearable field="vehicleId"
interfaceId="381432451370615173" :columnOptions="vehicleIdcolumnOptions" propsValue="id"
@ -60,7 +60,7 @@
</JNPF-UploadImg>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="磅单时间" prop="poundDate">
<el-date-picker v-model="dataForm.poundDate" placeholder="请选择" clearable :style='{"width":"100%"}'
type="date" format="yyyy-MM-dd" value-format="timestamp">
@ -68,52 +68,51 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="磅单号" prop="poundlistNo">
<el-input v-model="dataForm.poundlistNo" placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="单位 " prop="unit">
<el-select v-model="unit" placeholder="请选择" clearable :style='{"width":"100%"}' @change="unitChange">
<el-option v-for="(item, index) in unitOptions" :key="index" :label="item.fullName" :value="item.id"
:disabled="item.disabled"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="运输类型" prop="transportType">
<el-select v-model="transportType" placeholder="请选择" clearable :style='{"width":"100%"}' @change="transportTypeChange">
<el-option v-for="(item, index) in transportTypeOptions" :key="index" :label="item.fullName"
:value="item.id" :disabled="item.disabled"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="皮重" prop="tareWeight">
<el-input-number v-model="dataForm.tareWeight" :style='{"width":"100%"}'></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="毛重" prop="grossWeight">
<el-input-number v-model="dataForm.grossWeight" :style='{"width":"100%"}'></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="扣重" prop="buckleWeight">
<el-input-number v-model="dataForm.buckleWeight" :style='{"width":"100%"}'></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="净重" prop="netWeight">
<el-input-number v-model="dataForm.netWeight" :style='{"width":"100%"}'></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单位 " prop="unit">
<el-select v-model="unit" placeholder="请选择" clearable :style='{"width":"100%"}' @change="unitChange">
<el-option v-for="(item, index) in unitOptions" :key="index" :label="item.fullName" :value="item.id"
:disabled="item.disabled"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="运输类型" prop="transportType">
<el-select v-model="transportType" placeholder="请选择" clearable :style='{"width":"100%"}' @change="transportTypeChange">
<el-option v-for="(item, index) in transportTypeOptions" :key="index" :label="item.fullName"
:value="item.id" :disabled="item.disabled"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="是否垫资" prop="advance">
<el-select v-model="advance" placeholder="请选择" clearable :style='{"width":"100%"}' @change="advanceChange">
<el-option v-for="(item, index) in advanceOptions" :key="index" :label="item.fullName" :value="item.id"
@ -122,17 +121,26 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="运费" prop="transportPrice">
<el-input-number v-model="dataForm.transportPrice" :style='{"width":"100%"}'></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="起始地" prop="originPlace">
<el-input v-model="dataForm.originPlace" placeholder="请输入起始地" clearable :style='{"width":"100%"}'>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="销售价格" prop="salesPrice">
<el-input-number v-model="dataForm.salesPrice" :style='{"width":"100%"}'></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="业务员" prop="businessId">
<popupSelect v-model="dataForm.businessId" placeholder="请选择业务员" clearable field="businessId"
interfaceId="ebcc44be142e43b795c0d769abd6d25a" :columnOptions="businessIdcolumnOptions"
@ -142,7 +150,7 @@
</popupSelect>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="自然人" prop="naturalId">
<popupSelect v-model="dataForm.naturalId" placeholder="请选择自然人" clearable field="naturalId"
interfaceId="395933800510599301" :columnOptions="naturalIdcolumnOptions" propsValue="id"
@ -151,7 +159,7 @@
</popupSelect>
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="6">
<el-form-item label="备注" prop="remark">
<el-input v-model="dataForm.remark" placeholder="请输入备注信息" clearable :style='{"width":"100%"}'>
@ -208,6 +216,7 @@
transportType: "0",
advance: "0",
transportPrice: 0,
originPlace:"",
salesPrice: 0,
businessId: "",
naturalId: "",

@ -17,6 +17,17 @@
<el-input v-model="query.poundlistNo" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="车牌号">
<el-input v-model="query.vehicleId" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="物料名称">
<el-input v-model="query.materialId" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="search()"></el-button>
@ -82,6 +93,8 @@
<el-table-column prop="transportPrice" label="运费" width="150" align="center" sortable
/>
<el-table-column prop="originPlace" label="起始地" width="150" align="center" sortable
/>
<el-table-column prop="salesPrice" label="销售价格" width="150" align="center" sortable
/>
<el-table-column prop="businessId" label="业务员" width="120" align="center" sortable
@ -163,7 +176,9 @@
detailVisible: false,
query: {
poundDate: undefined,
poundlistNo: undefined
poundlistNo: undefined,
vehicleId: undefined,
materialId: undefined,
},
treeProps: {
children: 'children',
@ -195,6 +210,7 @@
{ prop: 'advance', label: '是否垫资' },
{ prop: 'transportType', label: '运输类型' },
{ prop: 'transportPrice', label: '运费' },
{ prop: 'originPlace', label: '起始地' },
{ prop: 'salesPrice', label: '销售价格' },
{ prop: 'creatorUserName', label: '业务员' },
{ prop: 'remark', label: '备注' }

Loading…
Cancel
Save