parent
54de183f40
commit
2e7f310d52
@ -0,0 +1,478 @@
|
|||||||
|
<template>
|
||||||
|
<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 ? '详情' : '编辑'" />
|
||||||
|
<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-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%" }'>-->
|
||||||
|
<!-- <el-option v-for="(item, index) in contractTypeOptions" :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="contractCode">
|
||||||
|
<el-input v-model="dataForm.contractCode" placeholder="请输入" clearable
|
||||||
|
:style='{ "width": "100%" }'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="合同名称" prop="contractName">
|
||||||
|
<el-input v-model="dataForm.contractName" placeholder="请输入" clearable
|
||||||
|
:style='{ "width": "100%" }'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<!-- <el-col :span="8">-->
|
||||||
|
<!-- <el-form-item label="合同状态" prop="status">-->
|
||||||
|
<!-- <el-input v-model="dataForm.status" placeholder="请输入" clearable-->
|
||||||
|
<!-- :style='{ "width": "100%" }'>-->
|
||||||
|
|
||||||
|
<!-- </el-input>-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<!-- <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">-->
|
||||||
|
|
||||||
|
<!-- </el-date-picker>-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<!-- <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">-->
|
||||||
|
|
||||||
|
<!-- </el-date-picker>-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<!-- <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">-->
|
||||||
|
|
||||||
|
<!-- </el-date-picker>-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<!-- <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">-->
|
||||||
|
|
||||||
|
<!-- </el-date-picker>-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<!-- <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">-->
|
||||||
|
|
||||||
|
<!-- </el-date-picker>-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<!-- <el-col :span="8">-->
|
||||||
|
<!-- <el-form-item label="回款周期(日)" prop="collectionCycle">-->
|
||||||
|
<!-- <!– <el-input v-model="dataForm.collectionCycle" placeholder="请输入" clearable-->
|
||||||
|
<!-- :style='{"width":"100%"}'>-->
|
||||||
|
|
||||||
|
<!-- </el-input> –>-->
|
||||||
|
<!-- <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">-->
|
||||||
|
|
||||||
|
<!-- </el-date-picker>-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<!-- <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">-->
|
||||||
|
|
||||||
|
<!-- </el-date-picker>-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<!-- <el-col :span="8">-->
|
||||||
|
<!-- <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>-->
|
||||||
|
<!-- -->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<el-col :span="8">
|
||||||
|
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="对方合同号" prop="contractNo">
|
||||||
|
<el-input v-model="dataForm.contractNo" placeholder="请输入" clearable
|
||||||
|
:style='{ "width": "100%" }'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<!-- <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>-->
|
||||||
|
|
||||||
|
<!-- </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-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-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="16">
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="dataForm.remark" placeholder="请输入" clearable
|
||||||
|
:style='{ "width": "100%" }'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
|
||||||
|
</template>
|
||||||
|
</el-form>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</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 {
|
||||||
|
codeColumnOptions: [
|
||||||
|
{
|
||||||
|
"label": "供应商Code",
|
||||||
|
"value": "supplier_code"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "供应商",
|
||||||
|
"value": "supplier_name"
|
||||||
|
},
|
||||||
|
],
|
||||||
|
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: [],
|
||||||
|
},
|
||||||
|
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'
|
||||||
|
},],
|
||||||
|
},
|
||||||
|
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: {
|
||||||
|
'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: 'get'
|
||||||
|
}).then(res => {
|
||||||
|
this.dataInfo(res.data)
|
||||||
|
this.loading = false
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.clearData(this.dataForm)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
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()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
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>
|
Loading…
Reference in new issue