parent
dc58975994
commit
a4a5fcecdf
@ -0,0 +1,5 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="WEB_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/temp" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/tmp" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
@ -0,0 +1,6 @@
|
|||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<profile version="1.0">
|
||||||
|
<option name="myName" value="Project Default" />
|
||||||
|
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||||
|
</profile>
|
||||||
|
</component>
|
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="JavaScriptSettings">
|
||||||
|
<option name="languageLevel" value="ES6" />
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/SC-MOM.iml" filepath="$PROJECT_DIR$/.idea/SC-MOM.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -0,0 +1,561 @@
|
|||||||
|
<template>
|
||||||
|
<view class="jnpf-wrap jnpf-wrap-form" v-if="!loading">
|
||||||
|
<u-form :model="dataForm" :rules="rules" ref="dataForm" :errorType="['toast']"
|
||||||
|
label-position="left" label-align="right" :label-width="labelwidth" class="jnpf-form">
|
||||||
|
<u-form-item
|
||||||
|
label="合同类型 " prop="contracttype" >
|
||||||
|
<u-input v-model="dataForm.contracttype"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="合同编码" prop="contractcode" >
|
||||||
|
<u-input v-model="dataForm.contractcode"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="合同名称" prop="contractname" >
|
||||||
|
<u-input v-model="dataForm.contractname"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="合同状态" prop="status" >
|
||||||
|
<jnpf-select v-model="dataForm.status"
|
||||||
|
placeholder="请选择" :props="statusProps" :options="statusOptions" :style='{"width":"100%"}'>
|
||||||
|
</jnpf-select>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="开标日期" prop="bidopeningdate" >
|
||||||
|
<jnpf-select v-model="dataForm.bidopeningdate"
|
||||||
|
placeholder="请选择" :props="bidopeningdateProps" :options="bidopeningdateOptions" :style='{"width":"100%"}'>
|
||||||
|
</jnpf-select>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="开始日期" prop="startdate" >
|
||||||
|
<jnpf-select v-model="dataForm.startdate"
|
||||||
|
placeholder="请选择" :props="startdateProps" :options="startdateOptions" :style='{"width":"100%"}'>
|
||||||
|
</jnpf-select>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="审核日期" prop="auditdate" >
|
||||||
|
<u-input v-model="dataForm.auditdate"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="供货完成日期" prop="completiondate" >
|
||||||
|
<u-input v-model="dataForm.completiondate"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="关闭日期" prop="closingdate" >
|
||||||
|
<u-input v-model="dataForm.closingdate"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="回款周期(日)" prop="collectioncycle" >
|
||||||
|
<u-input v-model="dataForm.collectioncycle"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="签订日期" prop="signingdate" >
|
||||||
|
<u-input v-model="dataForm.signingdate"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="截止日期" prop="enddate" >
|
||||||
|
<u-input v-model="dataForm.enddate"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="供应商/客户编" prop="code" >
|
||||||
|
<u-input v-model="dataForm.code"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="供应商/客户名" prop="name" >
|
||||||
|
<u-input v-model="dataForm.name"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="对方合同号" prop="contractno" >
|
||||||
|
<u-input v-model="dataForm.contractno"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="币种 " prop="currency" >
|
||||||
|
<u-input v-model="dataForm.currency"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="数量" prop="num" >
|
||||||
|
<u-input v-model="dataForm.num"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="金额" prop="amount" >
|
||||||
|
<u-input v-model="dataForm.amount"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="库存组织" prop="organization" >
|
||||||
|
<u-input v-model="dataForm.organization"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="备注" prop="remark" >
|
||||||
|
<u-input v-model="dataForm.remark"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="合同分类 " prop="classification" >
|
||||||
|
<u-input v-model="dataForm.classification"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="申报日期" prop="declarationdate" >
|
||||||
|
<u-input v-model="dataForm.declarationdate"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="部门名称" prop="deptname" >
|
||||||
|
<u-input v-model="dataForm.deptname"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="录入人" prop="creatorusername" >
|
||||||
|
<u-input v-model="dataForm.creatorusername"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<view prop="activephvpra">
|
||||||
|
<u-tabs :is-scroll="false" :list="activephvpraData" name="title" :current="activephvpraCurrent" @change="activephvpra"/>
|
||||||
|
<view>
|
||||||
|
<view v-if="0 == activephvpraCurrent">
|
||||||
|
<view class="jnpf-table" >
|
||||||
|
<view class="jnpf-table-item" v-for="(item,i) in dataForm.jg_contract_item0List" :key="i">
|
||||||
|
<view class="jnpf-table-item-title u-flex u-row-between">
|
||||||
|
<text class="jnpf-table-item-title-num">({{i+1}})</text>
|
||||||
|
<view class="jnpf-table-item-title-action" v-if="dataForm.jg_contract_item0List.length>1" @click="deljg_contract_item0List(i)">删除</view>
|
||||||
|
</view>
|
||||||
|
<u-form-item
|
||||||
|
label="物料编码" >
|
||||||
|
<u-input v-model="dataForm.jg_contract_item0List[i].materialcode"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="物料名称" >
|
||||||
|
<u-input v-model="dataForm.jg_contract_item0List[i].materialname"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="规格型号" >
|
||||||
|
<u-input v-model="dataForm.jg_contract_item0List[i].specification"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="单位 " >
|
||||||
|
<u-input v-model="dataForm.jg_contract_item0List[i].unit"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="数量" >
|
||||||
|
<u-input v-model="dataForm.jg_contract_item0List[i].num"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="单价" >
|
||||||
|
<u-input v-model="dataForm.jg_contract_item0List[i].price"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="金额" >
|
||||||
|
<u-input v-model="dataForm.jg_contract_item0List[i].amount"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="税率 " >
|
||||||
|
<u-input v-model="dataForm.jg_contract_item0List[i].rate"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="不含税单价" >
|
||||||
|
<u-input v-model="dataForm.jg_contract_item0List[i].notprice"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="不含税金额" >
|
||||||
|
<u-input v-model="dataForm.jg_contract_item0List[i].notamount"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
<u-form-item
|
||||||
|
label="备注" >
|
||||||
|
<u-input v-model="dataForm.jg_contract_item0List[i].remark"
|
||||||
|
placeholder="请输入" :style='{"width":"100%"}'>
|
||||||
|
</u-input>
|
||||||
|
</u-form-item>
|
||||||
|
</view>
|
||||||
|
<view class="jnpf-table-addBtn" @click="addjg_contract_item0List" >
|
||||||
|
<u-icon name="plus" color="#2979ff"></u-icon>添加
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view v-if="1 == activephvpraCurrent">
|
||||||
|
<view class="jnpf-table" >
|
||||||
|
<view class="jnpf-table-item" v-for="(item,i) in dataForm.jg_contract_item1List" :key="i">
|
||||||
|
<view class="jnpf-table-item-title u-flex u-row-between">
|
||||||
|
<text class="jnpf-table-item-title-num">({{i+1}})</text>
|
||||||
|
<view class="jnpf-table-item-title-action" v-if="dataForm.jg_contract_item1List.length>1" @click="deljg_contract_item1List(i)">删除</view>
|
||||||
|
</view>
|
||||||
|
<u-form-item
|
||||||
|
label="附件内容" >
|
||||||
|
<jnpf-file v-model="dataForm.jg_contract_item1List[i].enclosure"
|
||||||
|
:list="dataForm.jg_contract_item1List[i].enclosure" sizeUnit="MB" :fileSize="5" :limit="9" >
|
||||||
|
</jnpf-file>
|
||||||
|
</u-form-item>
|
||||||
|
</view>
|
||||||
|
<view class="jnpf-table-addBtn" @click="addjg_contract_item1List" >
|
||||||
|
<u-icon name="plus" color="#2979ff"></u-icon>添加
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</u-form>
|
||||||
|
<view class="buttom-actions" v-if="jurisdictionType != 'btn_detail'" >
|
||||||
|
<u-button class="buttom-btn" @click="resetForm">取消</u-button>
|
||||||
|
<u-button class="buttom-btn" type="primary" @click="submitForm" :loading="btnLoading">保存</u-button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
getDictionaryDataSelector,
|
||||||
|
getDataInterfaceRes
|
||||||
|
} from '@/api/common'
|
||||||
|
import request from '@/utils/request'
|
||||||
|
export default {
|
||||||
|
data(){
|
||||||
|
return{
|
||||||
|
btnLoading: false,
|
||||||
|
loading: false,
|
||||||
|
text: '提示:测试文本',
|
||||||
|
dataForm:{
|
||||||
|
c_id:"",
|
||||||
|
contracttype : '',
|
||||||
|
contractcode : '',
|
||||||
|
contractname : '',
|
||||||
|
status : "",
|
||||||
|
bidopeningdate : "",
|
||||||
|
startdate : "",
|
||||||
|
auditdate : '',
|
||||||
|
completiondate : '',
|
||||||
|
closingdate : '',
|
||||||
|
collectioncycle : '',
|
||||||
|
signingdate : '',
|
||||||
|
enddate : '',
|
||||||
|
code : '',
|
||||||
|
name : '',
|
||||||
|
contractno : '',
|
||||||
|
currency : '',
|
||||||
|
num : '',
|
||||||
|
amount : '',
|
||||||
|
organization : '',
|
||||||
|
remark : '',
|
||||||
|
classification : '',
|
||||||
|
declarationdate : '',
|
||||||
|
deptname : '',
|
||||||
|
creatorusername : '',
|
||||||
|
jg_contract_item0List:[],
|
||||||
|
jg_contract_item1List:[],
|
||||||
|
},
|
||||||
|
rules:{
|
||||||
|
contractcode: [
|
||||||
|
],
|
||||||
|
},
|
||||||
|
statusOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
statusProps:{"label":"fullName","value":"id"},
|
||||||
|
bidopeningdateOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
bidopeningdateProps:{"label":"fullName","value":"id"},
|
||||||
|
startdateOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
startdateProps:{"label":"fullName","value":"id"},
|
||||||
|
activephvpraCurrent:1,
|
||||||
|
activephvpraData:[
|
||||||
|
{
|
||||||
|
title: "物料明细"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "附件详情"
|
||||||
|
},
|
||||||
|
],
|
||||||
|
labelwidth:100*1.5,
|
||||||
|
menuId:'',
|
||||||
|
jurisdictionType:'',
|
||||||
|
ruleList:{
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(option) {
|
||||||
|
this.jurisdictionType = option.jurisdictionType
|
||||||
|
this.menuId=option.menuId
|
||||||
|
this.dataForm.c_id = option.id || ''
|
||||||
|
let _title = ""
|
||||||
|
if(option.jurisdictionType =='btn_edit'){
|
||||||
|
_title = "编辑"
|
||||||
|
}
|
||||||
|
if(option.jurisdictionType =='btn_detail'){
|
||||||
|
_title = "详情"
|
||||||
|
}
|
||||||
|
if(option.jurisdictionType =='btn_add'){
|
||||||
|
_title = "新增"
|
||||||
|
}
|
||||||
|
uni.setNavigationBarTitle({
|
||||||
|
title: _title
|
||||||
|
})
|
||||||
|
this.selfInit()
|
||||||
|
this.dataAll()
|
||||||
|
this.initData()
|
||||||
|
},
|
||||||
|
onReady() {
|
||||||
|
this.$refs.dataForm.setRules(this.rules);
|
||||||
|
},
|
||||||
|
watch:{
|
||||||
|
dataForm: {
|
||||||
|
handler(val, oldVal) {
|
||||||
|
this.jg_contract_item0()
|
||||||
|
this.jg_contract_item1()
|
||||||
|
},
|
||||||
|
deep: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
checkChildRule() {
|
||||||
|
let title = [];
|
||||||
|
for (let k in this.ruleList) {
|
||||||
|
let num = k.split("-");
|
||||||
|
let childKey = num[0];
|
||||||
|
num.forEach((model, i) => {
|
||||||
|
if (i == 1) {
|
||||||
|
let childData = this.dataForm[childKey]
|
||||||
|
childData.forEach((child, i) => {
|
||||||
|
if (child[model] instanceof Array) {
|
||||||
|
if (child[model].length == 0) {
|
||||||
|
title.push(this.ruleList[k])
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!child[model]) {
|
||||||
|
title.push(this.ruleList[k])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (title.length > 0) {
|
||||||
|
return title[0]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
resetForm(){
|
||||||
|
uni.navigateBack()
|
||||||
|
},
|
||||||
|
dataAll(){
|
||||||
|
},
|
||||||
|
jg_contract_item0(){
|
||||||
|
let table = this.dataForm.jg_contract_item0List
|
||||||
|
let summaryField =[]
|
||||||
|
let summaryFieldName ={}
|
||||||
|
let data ={}
|
||||||
|
for (let i in summaryField) {
|
||||||
|
let map = {}
|
||||||
|
let val = 0
|
||||||
|
for (let j = 0; j < table.length; j++) {
|
||||||
|
let summary = table[j][summaryField[i]];
|
||||||
|
if (summary) {
|
||||||
|
let data = isNaN(summary) ? 0 : Number(summary)
|
||||||
|
val += data
|
||||||
|
}
|
||||||
|
}
|
||||||
|
map.id = summaryField[i];
|
||||||
|
map.name = summaryFieldName[summaryField[i]];
|
||||||
|
map.val = val;
|
||||||
|
data[summaryField[i]]=map;
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
},
|
||||||
|
jg_contract_item1(){
|
||||||
|
let table = this.dataForm.jg_contract_item1List
|
||||||
|
let summaryField =[]
|
||||||
|
let summaryFieldName ={}
|
||||||
|
let data ={}
|
||||||
|
for (let i in summaryField) {
|
||||||
|
let map = {}
|
||||||
|
let val = 0
|
||||||
|
for (let j = 0; j < table.length; j++) {
|
||||||
|
let summary = table[j][summaryField[i]];
|
||||||
|
if (summary) {
|
||||||
|
let data = isNaN(summary) ? 0 : Number(summary)
|
||||||
|
val += data
|
||||||
|
}
|
||||||
|
}
|
||||||
|
map.id = summaryField[i];
|
||||||
|
map.name = summaryFieldName[summaryField[i]];
|
||||||
|
map.val = val;
|
||||||
|
data[summaryField[i]]=map;
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
},
|
||||||
|
activephvpra(index) {
|
||||||
|
this.activephvpraCurrent = index;
|
||||||
|
},
|
||||||
|
initData(){
|
||||||
|
this.$nextTick(function(){
|
||||||
|
if (this.dataForm.c_id) {
|
||||||
|
this.loading = true
|
||||||
|
request({
|
||||||
|
url: '/api/example/Jg_contract/'+this.dataForm.c_id,
|
||||||
|
method: 'get',
|
||||||
|
}).then(res => {
|
||||||
|
this.dataInfo(res.data)
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
submitForm(){
|
||||||
|
var _data = this.dataList()
|
||||||
|
this.$refs.dataForm.validate(valid => {
|
||||||
|
if (!valid) return
|
||||||
|
if (!!this.checkChildRule()) return
|
||||||
|
this.$u.toast(
|
||||||
|
this.checkChildRule()
|
||||||
|
)
|
||||||
|
this.btnLoading = true
|
||||||
|
if (this.dataForm.c_id) {
|
||||||
|
request({
|
||||||
|
url: '/api/example/Jg_contract/' + this.dataForm.c_id,
|
||||||
|
method: 'put',
|
||||||
|
data: _data,
|
||||||
|
}).then(res => {
|
||||||
|
uni.showToast({
|
||||||
|
title: res.msg,
|
||||||
|
complete: () => {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.btnLoading = false
|
||||||
|
uni.$emit('refresh')
|
||||||
|
uni.navigateBack()
|
||||||
|
}, 1500)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}).catch(() => {
|
||||||
|
this.btnLoading = false
|
||||||
|
})
|
||||||
|
}else {
|
||||||
|
request({
|
||||||
|
url: '/api/example/Jg_contract/',
|
||||||
|
method: 'post',
|
||||||
|
data: _data,
|
||||||
|
}).then(res => {
|
||||||
|
uni.showToast({
|
||||||
|
title: res.msg,
|
||||||
|
complete: () => {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.btnLoading = false
|
||||||
|
uni.$emit('refresh')
|
||||||
|
uni.navigateBack()
|
||||||
|
}, 1500)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}).catch(() => {
|
||||||
|
this.btnLoading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
selfInit() {
|
||||||
|
this.addjg_contract_item0List()
|
||||||
|
this.addjg_contract_item1List()
|
||||||
|
this.$store.commit('base/UPDATE_RELATION_DATA', {})
|
||||||
|
},
|
||||||
|
addjg_contract_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.jg_contract_item0List.push(item)
|
||||||
|
},
|
||||||
|
deljg_contract_item0List(index) {
|
||||||
|
this.dataForm.jg_contract_item0List.splice(index, 1);
|
||||||
|
},
|
||||||
|
addjg_contract_item1List(){
|
||||||
|
let item = {
|
||||||
|
enclosure:[],
|
||||||
|
}
|
||||||
|
this.dataForm.jg_contract_item1List.push(item)
|
||||||
|
},
|
||||||
|
deljg_contract_item1List(index) {
|
||||||
|
this.dataForm.jg_contract_item1List.splice(index, 1);
|
||||||
|
},
|
||||||
|
dataList(){
|
||||||
|
var _data = JSON.parse(JSON.stringify(this.dataForm));
|
||||||
|
for(let i=0;i<_data.jg_contract_item0List.length;i++){
|
||||||
|
var _list = _data.jg_contract_item0List[i];
|
||||||
|
}
|
||||||
|
for(let i=0;i<_data.jg_contract_item1List.length;i++){
|
||||||
|
var _list = _data.jg_contract_item1List[i];
|
||||||
|
_list.enclosure = JSON.stringify(_list.enclosure)
|
||||||
|
}
|
||||||
|
return _data;
|
||||||
|
},
|
||||||
|
dataInfo(dataAll){
|
||||||
|
let _dataAll =dataAll
|
||||||
|
for(let i=0;i<_dataAll.jg_contract_item0List.length;i++){
|
||||||
|
var _list = _dataAll.jg_contract_item0List[i];
|
||||||
|
}
|
||||||
|
for(let i=0;i<_dataAll.jg_contract_item1List.length;i++){
|
||||||
|
var _list = _dataAll.jg_contract_item1List[i];
|
||||||
|
_list.enclosure = JSON.parse(_list.enclosure)
|
||||||
|
}
|
||||||
|
this.dataForm=_dataAll
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
@ -0,0 +1,261 @@
|
|||||||
|
<template>
|
||||||
|
<view class="dynamicModel-list-v">
|
||||||
|
<view class="head-warp com-dropdown">
|
||||||
|
<u-dropdown class="u-dropdown" ref="uDropdown" @close="closeData">
|
||||||
|
<u-dropdown-item title="排序">
|
||||||
|
<view class="dropdown-slot-content">
|
||||||
|
<view class="dropdown-slot-content-main">
|
||||||
|
<u-cell-group>
|
||||||
|
<u-cell-item @click="cellClick(item)" :arrow="false" :title="item.label"
|
||||||
|
v-for="(item, index) in sortOptions" :key="index" :title-style="{color: sortValue == item.value ? '#2979ff' : '#606266' }">
|
||||||
|
<u-icon v-if="sortValue == item.value" name="checkbox-mark" color="#2979ff" size="32"></u-icon>
|
||||||
|
</u-cell-item>
|
||||||
|
</u-cell-group>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</u-dropdown-item>
|
||||||
|
<u-dropdown-item title="筛选" >
|
||||||
|
<view class="dropdown-slot-content">
|
||||||
|
<view class="dropdown-slot-content-main search-main">
|
||||||
|
<view class="u-p-l-32 u-p-r-32 search-form">
|
||||||
|
<u-form :model="searchForm" ref="searchForm" :errorType="['toast']" label-position="left" label-width="150">
|
||||||
|
</u-form>
|
||||||
|
</view>
|
||||||
|
<view class="buttom-actions">
|
||||||
|
<u-button class="buttom-btn" @click="reset">重置</u-button>
|
||||||
|
<u-button class="buttom-btn" type="primary" @click="closeDropdown">检索</u-button>
|
||||||
|
</view>
|
||||||
|
<view class="dropdown-slot-bg" @click="$refs.uDropdown.close()"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</u-dropdown-item>
|
||||||
|
</u-dropdown>
|
||||||
|
</view>
|
||||||
|
<view class="list-warp">
|
||||||
|
<mescroll-uni ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :fixed="false" :down="downOption" :up="upOption">
|
||||||
|
<view class="list">
|
||||||
|
<view class="list-box" v-for="(item, index) in list" :key="item.prop">
|
||||||
|
<u-swipe-action :index="index" @click="handleClick" @open="open" :options="options" @content-click="goDetail(item.c_id,item.flowState)">
|
||||||
|
<view class="item">
|
||||||
|
</view>
|
||||||
|
</u-swipe-action>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</mescroll-uni>
|
||||||
|
</view>
|
||||||
|
<view class="com-addBtn" @click="addPage()" >
|
||||||
|
<u-icon name="plus" size="60" color="#fff" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import resources from '@/libs/resources.js'
|
||||||
|
import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
|
||||||
|
import {
|
||||||
|
getDictionaryDataSelector,
|
||||||
|
getDataInterfaceRes
|
||||||
|
} from '@/api/common'
|
||||||
|
import request from '@/utils/request'
|
||||||
|
export default {
|
||||||
|
mixins: [MescrollMixin],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
sortValue: '',
|
||||||
|
searchForm: {
|
||||||
|
},
|
||||||
|
downOption: {
|
||||||
|
use: true,
|
||||||
|
auto: false
|
||||||
|
},
|
||||||
|
upOption: {
|
||||||
|
page: {
|
||||||
|
num: 0,
|
||||||
|
size: 20,
|
||||||
|
time: null,
|
||||||
|
},
|
||||||
|
empty: {
|
||||||
|
use: true,
|
||||||
|
icon: resources.message.nodata,
|
||||||
|
tip: "暂无数据",
|
||||||
|
fixed: true,
|
||||||
|
top: "300rpx",
|
||||||
|
zIndex: 5,
|
||||||
|
},
|
||||||
|
textNoMore: '没有更多数据',
|
||||||
|
toTop: {
|
||||||
|
bottom: 250
|
||||||
|
}
|
||||||
|
},
|
||||||
|
statusOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
statusProps:{"label":"fullName","value":"id"},
|
||||||
|
bidopeningdateOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
bidopeningdateProps:{"label":"fullName","value":"id"},
|
||||||
|
startdateOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
startdateProps:{"label":"fullName","value":"id"},
|
||||||
|
list: [],
|
||||||
|
listQuery: {
|
||||||
|
sort: 'desc',
|
||||||
|
sidx: '',
|
||||||
|
keyword: '',
|
||||||
|
json: ''
|
||||||
|
},
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
text: '删除',
|
||||||
|
style: {
|
||||||
|
backgroundColor: '#dd524d'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
],
|
||||||
|
sortOptions:[
|
||||||
|
],
|
||||||
|
menuId:'',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(e){
|
||||||
|
this.menuId = e.menuId
|
||||||
|
uni.$on('refresh', () => {
|
||||||
|
this.list = [];
|
||||||
|
this.mescroll.resetUpScroll();
|
||||||
|
})
|
||||||
|
this.dataAll()
|
||||||
|
},
|
||||||
|
onUnload() {
|
||||||
|
uni.$off('refresh')
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
dataAll(){
|
||||||
|
},
|
||||||
|
closeData(e){
|
||||||
|
if(e==1){
|
||||||
|
// this.reset()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
upCallback(page) {
|
||||||
|
// for(let i in this.searchForm){
|
||||||
|
// if(!this.searchForm[i]){
|
||||||
|
// delete this.searchForm[i]
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
const query = {
|
||||||
|
currentPage: page.num,
|
||||||
|
pageSize: page.size,
|
||||||
|
menuId : this.menuId,
|
||||||
|
...this.listQuery,
|
||||||
|
...this.searchForm
|
||||||
|
}
|
||||||
|
request({
|
||||||
|
url: '/api/example/Jg_contract/getList',
|
||||||
|
method: 'post',
|
||||||
|
data: query,
|
||||||
|
}).then(res => {
|
||||||
|
let _list = this.dataList(res.data);
|
||||||
|
this.mescroll.endSuccess(res.data.list.length);
|
||||||
|
if (page.num == 1) this.list = [];
|
||||||
|
const list = _list.map(o => ({
|
||||||
|
show: false,
|
||||||
|
...o
|
||||||
|
}));
|
||||||
|
this.list = this.list.concat(_list);
|
||||||
|
}).catch(() => {
|
||||||
|
this.mescroll.endErr();
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleClick(index, index1) {
|
||||||
|
const item = this.list[index]
|
||||||
|
request({
|
||||||
|
url: '/api/example/Jg_contract/' + item.c_id,
|
||||||
|
method: 'delete'
|
||||||
|
}).then(res => {
|
||||||
|
uni.showToast({
|
||||||
|
title: res.msg,
|
||||||
|
complete: () => {
|
||||||
|
this.$u.toast(res.msg)
|
||||||
|
this.list.splice(index, 1)
|
||||||
|
if (!this.list.length) this.mescroll.showEmpty()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
open(index) {
|
||||||
|
this.list[index].show = true;
|
||||||
|
this.list.map((val, idx) => {
|
||||||
|
if (index != idx) this.list[idx].show = false;
|
||||||
|
})
|
||||||
|
},
|
||||||
|
search() {
|
||||||
|
if (this.isPreview == '1') return
|
||||||
|
this.searchTimer && clearTimeout(this.searchTimer)
|
||||||
|
this.searchTimer = setTimeout(() => {
|
||||||
|
this.list = [];
|
||||||
|
this.mescroll.resetUpScroll();
|
||||||
|
}, 300)
|
||||||
|
},
|
||||||
|
goDetail(id, status) {
|
||||||
|
let btnType = ''
|
||||||
|
let btnList = []
|
||||||
|
btnList.push('btn_edit')
|
||||||
|
if(btnList.includes('btn_detail')){
|
||||||
|
btnType = "btn_detail"
|
||||||
|
}
|
||||||
|
if(btnList.includes('btn_edit')){
|
||||||
|
btnType = "btn_edit"
|
||||||
|
}
|
||||||
|
if(!btnType) return
|
||||||
|
this.jumPage(id, status,btnType)
|
||||||
|
},
|
||||||
|
addPage() {
|
||||||
|
this.jumPage()
|
||||||
|
},
|
||||||
|
jumPage(id, status,btnType){
|
||||||
|
if (!id && !status) btnType = 'btn_add'
|
||||||
|
uni.navigateTo({
|
||||||
|
url: id?'./form?menuId='+this.menuId+'&jurisdictionType='+btnType+'&id=' + id:'./form?menuId='+this.menuId+'&jurisdictionType='+btnType
|
||||||
|
})
|
||||||
|
},
|
||||||
|
cellClick(item) {
|
||||||
|
if (this.sortValue === item.value) return
|
||||||
|
this.listQuery.sort = item.sort
|
||||||
|
this.listQuery.sidx = item.sidx
|
||||||
|
this.sortValue = item.value
|
||||||
|
this.$refs.uDropdown.close();
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.list = [];
|
||||||
|
this.mescroll.resetUpScroll();
|
||||||
|
})
|
||||||
|
},
|
||||||
|
reset() {
|
||||||
|
this.$refs.searchForm.resetFields()
|
||||||
|
},
|
||||||
|
closeDropdown() {
|
||||||
|
this.$refs.uDropdown.close();
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.list = [];
|
||||||
|
this.mescroll.resetUpScroll();
|
||||||
|
})
|
||||||
|
},
|
||||||
|
dataList(data){
|
||||||
|
let _list =[]
|
||||||
|
for(let i=0;i<data.list.length;i++){
|
||||||
|
let _data = data.list[i]
|
||||||
|
_list.push(_data)
|
||||||
|
}
|
||||||
|
return _list;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
page {
|
||||||
|
background-color: #f0f2f6;
|
||||||
|
height: 100%;
|
||||||
|
/* #ifdef MP-ALIPAY */
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
/* #endif */
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,346 @@
|
|||||||
|
<template>
|
||||||
|
<transition name="el-zoom-in-center">
|
||||||
|
<div class="JNPF-preview-main">
|
||||||
|
<div class="JNPF-common-page-header">
|
||||||
|
<el-page-header @back="goBack"
|
||||||
|
content="详情"/>
|
||||||
|
<div class="options">
|
||||||
|
<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" size="small" label-width="100px" label-position="right" >
|
||||||
|
<template v-if="!loading">
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="合同类型 "
|
||||||
|
prop="contracttype" >
|
||||||
|
<p>{{dataForm.contracttype}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="合同编码"
|
||||||
|
prop="contractcode" >
|
||||||
|
<p>{{dataForm.contractcode}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="合同名称"
|
||||||
|
prop="contractname" >
|
||||||
|
<p>{{dataForm.contractname}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="合同状态"
|
||||||
|
prop="status" >
|
||||||
|
<p>{{ dataForm.status | dynamicText(statusOptions) }} </p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="开标日期"
|
||||||
|
prop="bidopeningdate" >
|
||||||
|
<p>{{ dataForm.bidopeningdate | dynamicText(bidopeningdateOptions) }} </p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="开始日期"
|
||||||
|
prop="startdate" >
|
||||||
|
<p>{{ dataForm.startdate | dynamicText(startdateOptions) }} </p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="审核日期"
|
||||||
|
prop="auditdate" >
|
||||||
|
<p>{{dataForm.auditdate}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="供货完成日期"
|
||||||
|
prop="completiondate" >
|
||||||
|
<p>{{dataForm.completiondate}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="关闭日期"
|
||||||
|
prop="closingdate" >
|
||||||
|
<p>{{dataForm.closingdate}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="回款周期(日)"
|
||||||
|
prop="collectioncycle" >
|
||||||
|
<p>{{dataForm.collectioncycle}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="签订日期"
|
||||||
|
prop="signingdate" >
|
||||||
|
<p>{{dataForm.signingdate}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="截止日期"
|
||||||
|
prop="enddate" >
|
||||||
|
<p>{{dataForm.enddate}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="供应商/客户编"
|
||||||
|
prop="code" >
|
||||||
|
<p>{{dataForm.code}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="供应商/客户名"
|
||||||
|
prop="name" >
|
||||||
|
<p>{{dataForm.name}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="对方合同号"
|
||||||
|
prop="contractno" >
|
||||||
|
<p>{{dataForm.contractno}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="币种 "
|
||||||
|
prop="currency" >
|
||||||
|
<p>{{dataForm.currency}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="数量"
|
||||||
|
prop="num" >
|
||||||
|
<p>{{dataForm.num}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="金额"
|
||||||
|
prop="amount" >
|
||||||
|
<p>{{dataForm.amount}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="库存组织"
|
||||||
|
prop="organization" >
|
||||||
|
<p>{{dataForm.organization}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="备注"
|
||||||
|
prop="remark" >
|
||||||
|
<p>{{dataForm.remark}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label="合同分类 "
|
||||||
|
prop="classification" >
|
||||||
|
<p>{{dataForm.classification}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label="申报日期"
|
||||||
|
prop="declarationdate" >
|
||||||
|
<p>{{dataForm.declarationdate}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label="部门名称"
|
||||||
|
prop="deptname" >
|
||||||
|
<p>{{dataForm.deptname}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label="录入人"
|
||||||
|
prop="creatorusername" >
|
||||||
|
<p>{{dataForm.creatorusername}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-tabs v-model="activejlljvq" tab-position="top" class="mb-20">
|
||||||
|
<el-tab-pane label="物料明细">
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label-width="0">
|
||||||
|
<div class="JNPF-common-title">
|
||||||
|
<h2></h2>
|
||||||
|
</div>
|
||||||
|
<el-table :data="dataForm.jg_contract_item0List" size='mini' >
|
||||||
|
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||||
|
<el-table-column prop="materialcode" label="物料编码">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.materialcode}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="materialname" label="物料名称">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.materialname}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="specification" label="规格型号">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.specification}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="unit" label="单位 ">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.unit}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="num" label="数量">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.num}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="price" label="单价">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.price}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="amount" label="金额">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.amount}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="rate" label="税率 ">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.rate}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="notprice" label="不含税单价">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.notprice}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="notamount" label="不含税金额">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.notamount}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="remark" label="备注">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.remark}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-tab-pane >
|
||||||
|
<el-tab-pane label="附件详情">
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label-width="0">
|
||||||
|
<div class="JNPF-common-title">
|
||||||
|
<h2></h2>
|
||||||
|
</div>
|
||||||
|
<el-table :data="dataForm.jg_contract_item1List" size='mini' >
|
||||||
|
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||||
|
<el-table-column prop="enclosure" label="附件内容">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JNPF-UploadFz v-model="scope.row.enclosure"
|
||||||
|
disabled
|
||||||
|
detailed :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" >
|
||||||
|
</JNPF-UploadFz>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-tab-pane >
|
||||||
|
</el-tabs>
|
||||||
|
</el-col>
|
||||||
|
</template>
|
||||||
|
</el-form>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</transition>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import request from '@/utils/request'
|
||||||
|
import PrintBrowse from '@/components/PrintBrowse'
|
||||||
|
import jnpf from '@/utils/jnpf'
|
||||||
|
export default {
|
||||||
|
components: {PrintBrowse},
|
||||||
|
props: [],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
loading: false,
|
||||||
|
printBrowseVisible: false,
|
||||||
|
printId: '',
|
||||||
|
dataForm: {
|
||||||
|
c_id :'',
|
||||||
|
contracttype : '',
|
||||||
|
contractcode : '',
|
||||||
|
contractname : '',
|
||||||
|
status : "",
|
||||||
|
bidopeningdate : "",
|
||||||
|
startdate : "",
|
||||||
|
auditdate : '',
|
||||||
|
completiondate : '',
|
||||||
|
closingdate : '',
|
||||||
|
collectioncycle : '',
|
||||||
|
signingdate : '',
|
||||||
|
enddate : '',
|
||||||
|
code : '',
|
||||||
|
name : '',
|
||||||
|
contractno : '',
|
||||||
|
currency : '',
|
||||||
|
num : '',
|
||||||
|
amount : '',
|
||||||
|
organization : '',
|
||||||
|
remark : '',
|
||||||
|
classification : '',
|
||||||
|
declarationdate : '',
|
||||||
|
deptname : '',
|
||||||
|
creatorusername : '',
|
||||||
|
jg_contract_item0List:[],
|
||||||
|
jg_contract_item1List:[],
|
||||||
|
},
|
||||||
|
activejlljvq:'1',
|
||||||
|
statusOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
bidopeningdateOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
startdateOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {},
|
||||||
|
watch: {},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
methods: {
|
||||||
|
dataInfo(dataAll){
|
||||||
|
let _dataAll =dataAll
|
||||||
|
for(let i=0;i<_dataAll.jg_contract_item0List.length;i++){
|
||||||
|
var _list = _dataAll.jg_contract_item0List[i];
|
||||||
|
}
|
||||||
|
for(let i=0;i<_dataAll.jg_contract_item1List.length;i++){
|
||||||
|
var _list = _dataAll.jg_contract_item1List[i];
|
||||||
|
_list.enclosure = _list.enclosure? JSON.parse(_list.enclosure):[]
|
||||||
|
}
|
||||||
|
this.dataForm = _dataAll
|
||||||
|
},
|
||||||
|
|
||||||
|
goBack() {
|
||||||
|
this.$emit('refresh')
|
||||||
|
},
|
||||||
|
init(id) {
|
||||||
|
this.dataForm.c_id = id || 0;
|
||||||
|
this.visible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
if(this.dataForm.c_id){
|
||||||
|
this.loading = true
|
||||||
|
request({
|
||||||
|
url: '/api/example/Jg_contract/detail/'+this.dataForm.c_id,
|
||||||
|
method: 'get'
|
||||||
|
}).then(res => {
|
||||||
|
this.dataInfo(res.data)
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
@ -0,0 +1,68 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog title="导出数据" :close-on-click-modal="false" :visible.sync="visible"
|
||||||
|
class="JNPF-dialog JNPF-dialog_center" lock-scroll width="600px">
|
||||||
|
<el-form label-position="top" label-width="80px">
|
||||||
|
<el-form-item label="数据选择">
|
||||||
|
<el-radio-group v-model="type">
|
||||||
|
<el-radio :label="0">当前页面数据</el-radio>
|
||||||
|
<el-radio :label="1">全部页面数据</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="导出字段">
|
||||||
|
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll"
|
||||||
|
@change="handleCheckAllChange">全选</el-checkbox>
|
||||||
|
<el-checkbox-group v-model="columns" @change="handleCheckedChange">
|
||||||
|
<el-checkbox v-for="item in columnList" :label="item.prop" :key="item.prop">
|
||||||
|
{{item.label}}
|
||||||
|
</el-checkbox>
|
||||||
|
</el-checkbox-group>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="visible=false">取 消</el-button>
|
||||||
|
<el-button type="primary" @click="downLoad">导 出</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
btnLoading: false,
|
||||||
|
type: 0,
|
||||||
|
columns: [],
|
||||||
|
checkAll: true,
|
||||||
|
isIndeterminate: false,
|
||||||
|
columnList: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(columnList) {
|
||||||
|
this.visible = true
|
||||||
|
this.checkAll = true
|
||||||
|
this.isIndeterminate = false
|
||||||
|
this.columnList = columnList
|
||||||
|
this.columns = columnList.map(o => o.prop)
|
||||||
|
},
|
||||||
|
handleCheckAllChange(val) {
|
||||||
|
this.columns = val ? this.columnList.map(o => o.prop) : [];
|
||||||
|
this.isIndeterminate = false;
|
||||||
|
},
|
||||||
|
handleCheckedChange(value) {
|
||||||
|
let checkedCount = value.length;
|
||||||
|
this.checkAll = checkedCount === this.columnList.length;
|
||||||
|
this.isIndeterminate = checkedCount > 0 && checkedCount < this.columnList.length;
|
||||||
|
},
|
||||||
|
downLoad() {
|
||||||
|
this.$emit('download', { dataType: this.type, selectKey: this.columns.join(',') })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
>>> .el-dialog__body {
|
||||||
|
padding: 20px !important;
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,574 @@
|
|||||||
|
<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.c_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-input v-model="dataForm.contracttype"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</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-select v-model="dataForm.status"
|
||||||
|
placeholder="请选择" clearable :style='{"width":"100%"}'>
|
||||||
|
<el-option v-for="(item, index) in statusOptions" :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="bidopeningdate" >
|
||||||
|
<el-select v-model="dataForm.bidopeningdate"
|
||||||
|
placeholder="请选择" clearable :style='{"width":"100%"}'>
|
||||||
|
<el-option v-for="(item, index) in bidopeningdateOptions" :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="startdate" >
|
||||||
|
<el-select v-model="dataForm.startdate"
|
||||||
|
placeholder="请选择" clearable :style='{"width":"100%"}'>
|
||||||
|
<el-option v-for="(item, index) in startdateOptions" :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="auditdate" >
|
||||||
|
<el-input v-model="dataForm.auditdate"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="供货完成日期"
|
||||||
|
prop="completiondate" >
|
||||||
|
<el-input v-model="dataForm.completiondate"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="关闭日期"
|
||||||
|
prop="closingdate" >
|
||||||
|
<el-input v-model="dataForm.closingdate"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</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-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="签订日期"
|
||||||
|
prop="signingdate" >
|
||||||
|
<el-input v-model="dataForm.signingdate"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="截止日期"
|
||||||
|
prop="enddate" >
|
||||||
|
<el-input v-model="dataForm.enddate"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</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-input>
|
||||||
|
</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%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</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%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="币种 "
|
||||||
|
prop="currency" >
|
||||||
|
<el-input v-model="dataForm.currency"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="数量"
|
||||||
|
prop="num" >
|
||||||
|
<el-input v-model="dataForm.num"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</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="8" >
|
||||||
|
<el-form-item label="库存组织"
|
||||||
|
prop="organization" >
|
||||||
|
<el-input v-model="dataForm.organization"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="备注"
|
||||||
|
prop="remark" >
|
||||||
|
<el-input v-model="dataForm.remark"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label="合同分类 "
|
||||||
|
prop="classification" >
|
||||||
|
<el-input v-model="dataForm.classification"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label="申报日期"
|
||||||
|
prop="declarationdate" >
|
||||||
|
<el-input v-model="dataForm.declarationdate"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label="部门名称"
|
||||||
|
prop="deptname" >
|
||||||
|
<el-input v-model="dataForm.deptname"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label="录入人"
|
||||||
|
prop="creatorusername" >
|
||||||
|
<el-input v-model="dataForm.creatorusername"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-tabs v-model="activejlljvq" tab-position="top" class="mb-20">
|
||||||
|
<el-tab-pane label="物料明细">
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label-width="0">
|
||||||
|
<div class="JNPF-common-title">
|
||||||
|
<h2></h2>
|
||||||
|
</div>
|
||||||
|
<el-table :data="dataForm.jg_contract_item0List" size='mini' >
|
||||||
|
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||||
|
<el-table-column prop="materialcode" label="物料编码">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.materialcode"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="materialname" label="物料名称">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.materialname"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="specification" label="规格型号">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.specification"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="unit" label="单位 ">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.unit"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="num" label="数量">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.num"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="price" label="单价">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.price"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="amount" label="金额">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.amount"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="rate" label="税率 ">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.rate"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="notprice" label="不含税单价">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.notprice"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="notamount" label="不含税金额">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.notamount"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="remark" label="备注">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.remark"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" width="50" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button size="mini" type="text" class="JNPF-table-delBtn" @click="deljg_contract_item0List(scope.$index)">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div class="table-actions" @click="addjg_contract_item0List()">
|
||||||
|
<el-button type="text" icon="el-icon-plus">添加</el-button>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-tab-pane >
|
||||||
|
<el-tab-pane label="附件详情">
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label-width="0">
|
||||||
|
<div class="JNPF-common-title">
|
||||||
|
<h2></h2>
|
||||||
|
</div>
|
||||||
|
<el-table :data="dataForm.jg_contract_item1List" size='mini' >
|
||||||
|
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||||
|
<el-table-column prop="enclosure" label="附件内容">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JNPF-UploadFz v-model="scope.row.enclosure"
|
||||||
|
:fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" >
|
||||||
|
</JNPF-UploadFz>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" width="50" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button size="mini" type="text" class="JNPF-table-delBtn" @click="deljg_contract_item1List(scope.$index)">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div class="table-actions" @click="addjg_contract_item1List()">
|
||||||
|
<el-button type="text" icon="el-icon-plus">添加</el-button>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-tab-pane >
|
||||||
|
</el-tabs>
|
||||||
|
</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 {
|
||||||
|
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 : '',
|
||||||
|
deptname : '',
|
||||||
|
creatorusername : '',
|
||||||
|
jg_contract_item0List:[],
|
||||||
|
jg_contract_item1List:[],
|
||||||
|
},
|
||||||
|
activejlljvq:'1',
|
||||||
|
rules:
|
||||||
|
{
|
||||||
|
contractcode: [
|
||||||
|
],
|
||||||
|
},
|
||||||
|
statusOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
bidopeningdateOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
startdateOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {},
|
||||||
|
watch: {},
|
||||||
|
created() {
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
methods: {
|
||||||
|
jg_contract_item0Exist() {
|
||||||
|
let isOk = true;
|
||||||
|
for(let i=0;i<this.dataForm.jg_contract_item0List.length;i++){
|
||||||
|
const e = this.dataForm.jg_contract_item0List[i];
|
||||||
|
}
|
||||||
|
return isOk;
|
||||||
|
},
|
||||||
|
jg_contract_item1Exist() {
|
||||||
|
let isOk = true;
|
||||||
|
for(let i=0;i<this.dataForm.jg_contract_item1List.length;i++){
|
||||||
|
const e = this.dataForm.jg_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.c_id = id || 0;
|
||||||
|
this.visible = true;
|
||||||
|
this.isDetail = isDetail || false;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs['elForm'].resetFields();
|
||||||
|
if(this.dataForm.c_id){
|
||||||
|
this.loading = true
|
||||||
|
request({
|
||||||
|
url: '/api/example/Jg_contract/'+this.dataForm.c_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.jg_contract_item0Exist()) return
|
||||||
|
if (!this.jg_contract_item1Exist()) return
|
||||||
|
this.request()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
request() {
|
||||||
|
var _data =this.dataList()
|
||||||
|
if (!this.dataForm.c_id) {
|
||||||
|
request({
|
||||||
|
url: '/api/example/Jg_contract',
|
||||||
|
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/Jg_contract/'+this.dataForm.c_id,
|
||||||
|
method: 'PUT',
|
||||||
|
data: _data
|
||||||
|
}).then((res) => {
|
||||||
|
this.$message({
|
||||||
|
message: res.msg,
|
||||||
|
type: 'success',
|
||||||
|
duration: 1000,
|
||||||
|
onClose: () => {
|
||||||
|
this.visible = false
|
||||||
|
this.$emit('refresh', true)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
addjg_contract_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.jg_contract_item0List.push(item)
|
||||||
|
},
|
||||||
|
deljg_contract_item0List(index) {
|
||||||
|
this.dataForm.jg_contract_item0List.splice(index, 1);
|
||||||
|
},
|
||||||
|
addjg_contract_item1List(){
|
||||||
|
let item = {
|
||||||
|
enclosure:undefined,
|
||||||
|
}
|
||||||
|
this.dataForm.jg_contract_item1List.push(item)
|
||||||
|
},
|
||||||
|
deljg_contract_item1List(index) {
|
||||||
|
this.dataForm.jg_contract_item1List.splice(index, 1);
|
||||||
|
},
|
||||||
|
dataList(){
|
||||||
|
var _data = JSON.parse(JSON.stringify(this.dataForm));
|
||||||
|
for(let i=0;i<_data.jg_contract_item0List.length;i++){
|
||||||
|
var _list = _data.jg_contract_item0List[i];
|
||||||
|
}
|
||||||
|
for(let i=0;i<_data.jg_contract_item1List.length;i++){
|
||||||
|
var _list = _data.jg_contract_item1List[i];
|
||||||
|
_list.enclosure = JSON.stringify(_list.enclosure)
|
||||||
|
}
|
||||||
|
return _data;
|
||||||
|
},
|
||||||
|
dataInfo(dataAll){
|
||||||
|
let _dataAll =dataAll
|
||||||
|
for(let i=0;i<_dataAll.jg_contract_item0List.length;i++){
|
||||||
|
var _list = _dataAll.jg_contract_item0List[i];
|
||||||
|
}
|
||||||
|
for(let i=0;i<_dataAll.jg_contract_item1List.length;i++){
|
||||||
|
var _list = _dataAll.jg_contract_item1List[i];
|
||||||
|
_list.enclosure = JSON.parse(_list.enclosure)
|
||||||
|
}
|
||||||
|
this.dataForm = _dataAll
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
@ -0,0 +1,281 @@
|
|||||||
|
<template>
|
||||||
|
<div class="JNPF-common-layout">
|
||||||
|
|
||||||
|
<div class="JNPF-common-layout-center">
|
||||||
|
<el-row class="JNPF-common-search-box" :gutter="16">
|
||||||
|
<el-form @submit.native.prevent>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" @click="search()">查询</el-button>
|
||||||
|
<el-button icon="el-icon-refresh-right" @click="reset()">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-form>
|
||||||
|
</el-row>
|
||||||
|
<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>
|
||||||
|
<el-button type="text" icon="el-icon-download" @click="exportData()" >导出
|
||||||
|
</el-button>
|
||||||
|
<el-button type="text" icon="el-icon-delete" @click="handleBatchRemoveDel()" >批量删除
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
<div class="JNPF-common-head-right">
|
||||||
|
<el-tooltip effect="dark" content="刷新" placement="top">
|
||||||
|
<el-link icon="icon-ym icon-ym-Refresh JNPF-common-head-icon" :underline="false"
|
||||||
|
@click="reset()"/>
|
||||||
|
</el-tooltip>
|
||||||
|
<screenfull isContainer/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<JNPF-table v-loading="listLoading" :data="list" @sort-change='sortChange' has-c @selection-change="handleSelectionChange">
|
||||||
|
<el-table-column prop="contractcode" label="合同编码" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="contractname" label="合同名称" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="contractno" label="对方合同号" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="contracttype" label="合同类型 " width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="classification" label="合同分类 " width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="declarationdate" label="申报日期" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="name" label="供应商/客户名" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="num" label="数量" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="amount" label="金额" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="deptname" label="部门名称" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="remark" label="备注" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="creatorusername" label="录入人" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column label="合同状态" width="0" prop="status" algin="left"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.status | dynamicText(statusOptions) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" fixed="right"
|
||||||
|
width="150" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button type="text"
|
||||||
|
@click="addOrUpdateHandle(scope.row.c_id)" >编辑
|
||||||
|
</el-button>
|
||||||
|
<el-button type="text" class="JNPF-table-delBtn" @click="handleDel(scope.row.c_id)">删除
|
||||||
|
</el-button>
|
||||||
|
<el-button type="text"
|
||||||
|
@click="goDetail(scope.row.c_id)">详情
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</JNPF-table>
|
||||||
|
<pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize" @pagination="initData"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<JNPF-Form v-if="formVisible" ref="JNPFForm" @refresh="refresh"/>
|
||||||
|
<ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download"/>
|
||||||
|
<Detail v-if="detailVisible" ref="Detail" @refresh="detailVisible=false"/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import request from '@/utils/request'
|
||||||
|
import {getDictionaryDataSelector} from '@/api/systemData/dictionary'
|
||||||
|
import JNPFForm from './Form'
|
||||||
|
import ExportBox from './ExportBox'
|
||||||
|
import {getDataInterfaceRes} from '@/api/systemData/dataInterface'
|
||||||
|
import Detail from './Detail'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {JNPFForm, ExportBox,Detail},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
detailVisible: false,
|
||||||
|
query: {
|
||||||
|
},
|
||||||
|
treeProps: {
|
||||||
|
children: 'children',
|
||||||
|
label: 'fullName',
|
||||||
|
value: 'id'
|
||||||
|
},
|
||||||
|
list: [],
|
||||||
|
listLoading: true,
|
||||||
|
multipleSelection: [], total: 0,
|
||||||
|
listQuery: {
|
||||||
|
currentPage: 1,
|
||||||
|
pageSize: 20,
|
||||||
|
sort: "desc",
|
||||||
|
sidx: "",
|
||||||
|
},
|
||||||
|
formVisible: false,
|
||||||
|
exportBoxVisible: false,
|
||||||
|
columnList: [
|
||||||
|
{prop: 'contractcode', label: '合同编码'},
|
||||||
|
{prop: 'contractname', label: '合同名称'},
|
||||||
|
{prop: 'contractno', label: '对方合同号'},
|
||||||
|
{prop: 'contracttype', label: '合同类型 '},
|
||||||
|
{prop: 'classification', label: '合同分类 '},
|
||||||
|
{prop: 'declarationdate', label: '申报日期'},
|
||||||
|
{prop: 'name', label: '供应商/客户名'},
|
||||||
|
{prop: 'num', label: '数量'},
|
||||||
|
{prop: 'amount', label: '金额'},
|
||||||
|
{prop: 'deptname', label: '部门名称'},
|
||||||
|
{prop: 'remark', label: '备注'},
|
||||||
|
{prop: 'creatorusername', label: '录入人'},
|
||||||
|
{prop: 'status', label: '合同状态'},
|
||||||
|
],
|
||||||
|
statusOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
statusProps:{"label":"fullName","value":"id"},
|
||||||
|
bidopeningdateOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
bidopeningdateProps:{"label":"fullName","value":"id"},
|
||||||
|
startdateOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
startdateProps:{"label":"fullName","value":"id"},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
menuId() {
|
||||||
|
return this.$route.meta.modelId || ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.initData()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
goDetail(id){
|
||||||
|
this.detailVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.Detail.init(id)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
sortChange({column, prop, order}) {
|
||||||
|
this.listQuery.sort = order == 'ascending' ? 'asc' : 'desc'
|
||||||
|
this.listQuery.sidx = !order ? '' : prop
|
||||||
|
this.initData()
|
||||||
|
},
|
||||||
|
initData() {
|
||||||
|
this.listLoading = true;
|
||||||
|
let _query = {
|
||||||
|
...this.listQuery,
|
||||||
|
...this.query,
|
||||||
|
menuId:this.menuId
|
||||||
|
};
|
||||||
|
request({
|
||||||
|
url: `/api/example/Jg_contract/getList`,
|
||||||
|
method: 'post',
|
||||||
|
data: _query
|
||||||
|
}).then(res => {
|
||||||
|
var _list =[];
|
||||||
|
for(let i=0;i<res.data.list.length;i++){
|
||||||
|
let _data = res.data.list[i];
|
||||||
|
_list.push(_data)
|
||||||
|
}
|
||||||
|
this.list = _list
|
||||||
|
this.total = res.data.pagination.total
|
||||||
|
|
||||||
|
this.listLoading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleDel(id) {
|
||||||
|
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
request({
|
||||||
|
url: `/api/example/Jg_contract/${id}`,
|
||||||
|
method: 'DELETE'
|
||||||
|
}).then(res => {
|
||||||
|
this.$message({
|
||||||
|
type: 'success',
|
||||||
|
message: res.msg,
|
||||||
|
onClose: () => {
|
||||||
|
this.initData()
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
}).catch(() => {
|
||||||
|
});
|
||||||
|
},
|
||||||
|
handleSelectionChange(val) {
|
||||||
|
const res = val.map(item => item.c_id)
|
||||||
|
this.multipleSelection = res
|
||||||
|
},
|
||||||
|
handleBatchRemoveDel() {
|
||||||
|
if (!this.multipleSelection.length) {
|
||||||
|
this.$message({
|
||||||
|
type: 'error',
|
||||||
|
message: '请选择一条数据',
|
||||||
|
duration: 1500,
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const ids = this.multipleSelection.join()
|
||||||
|
this.$confirm('您确定要删除这些数据吗, 是否继续?', '提示', {
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
request({
|
||||||
|
url: `/api/example/Jg_contract/batchRemove/${ids}`,
|
||||||
|
method: 'DELETE'
|
||||||
|
}).then(res => {
|
||||||
|
this.$message({
|
||||||
|
type: 'success',
|
||||||
|
message: res.msg,
|
||||||
|
onClose: () => {
|
||||||
|
this.initData()
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
}).catch(() => {
|
||||||
|
})
|
||||||
|
},
|
||||||
|
addOrUpdateHandle(id, isDetail) {
|
||||||
|
this.formVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.JNPFForm.init(id, isDetail)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
exportData() {
|
||||||
|
this.exportBoxVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.ExportBox.init(this.columnList)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
download(data) {
|
||||||
|
let query = {...data, ...this.listQuery, ...this.query,menuId:this.menuId}
|
||||||
|
request({
|
||||||
|
url: `/api/example/Jg_contract/Actions/Export`,
|
||||||
|
method: 'GET',
|
||||||
|
data: query
|
||||||
|
}).then(res => {
|
||||||
|
if (!res.data.url) return
|
||||||
|
this.jnpf.downloadFile(res.data.url)
|
||||||
|
this.$refs.ExportBox.visible = false
|
||||||
|
this.exportBoxVisible = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
search() {
|
||||||
|
this.listQuery = {
|
||||||
|
currentPage: 1,
|
||||||
|
pageSize: 20,
|
||||||
|
sort: "desc",
|
||||||
|
sidx: "",
|
||||||
|
}
|
||||||
|
this.initData()
|
||||||
|
},
|
||||||
|
refresh(isrRefresh) {
|
||||||
|
this.formVisible = false
|
||||||
|
if (isrRefresh) this.reset()
|
||||||
|
},
|
||||||
|
reset() {
|
||||||
|
for (let key in this.query) {
|
||||||
|
this.query[key] = undefined
|
||||||
|
}
|
||||||
|
this.search()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="jnpf.mapper.Jg_contractMapper">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="jnpf.mapper.Jg_contract_item0Mapper">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="jnpf.mapper.Jg_contract_item1Mapper">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
@ -0,0 +1,346 @@
|
|||||||
|
<template>
|
||||||
|
<transition name="el-zoom-in-center">
|
||||||
|
<div class="JNPF-preview-main">
|
||||||
|
<div class="JNPF-common-page-header">
|
||||||
|
<el-page-header @back="goBack"
|
||||||
|
content="详情"/>
|
||||||
|
<div class="options">
|
||||||
|
<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" size="small" label-width="100px" label-position="right" >
|
||||||
|
<template v-if="!loading">
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="合同类型 "
|
||||||
|
prop="contracttype" >
|
||||||
|
<p>{{dataForm.contracttype}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="合同编码"
|
||||||
|
prop="contractcode" >
|
||||||
|
<p>{{dataForm.contractcode}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="合同名称"
|
||||||
|
prop="contractname" >
|
||||||
|
<p>{{dataForm.contractname}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="合同状态"
|
||||||
|
prop="status" >
|
||||||
|
<p>{{ dataForm.status | dynamicText(statusOptions) }} </p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="开标日期"
|
||||||
|
prop="bidopeningdate" >
|
||||||
|
<p>{{ dataForm.bidopeningdate | dynamicText(bidopeningdateOptions) }} </p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="开始日期"
|
||||||
|
prop="startdate" >
|
||||||
|
<p>{{ dataForm.startdate | dynamicText(startdateOptions) }} </p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="审核日期"
|
||||||
|
prop="auditdate" >
|
||||||
|
<p>{{dataForm.auditdate}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="供货完成日期"
|
||||||
|
prop="completiondate" >
|
||||||
|
<p>{{dataForm.completiondate}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="关闭日期"
|
||||||
|
prop="closingdate" >
|
||||||
|
<p>{{dataForm.closingdate}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="回款周期(日)"
|
||||||
|
prop="collectioncycle" >
|
||||||
|
<p>{{dataForm.collectioncycle}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="签订日期"
|
||||||
|
prop="signingdate" >
|
||||||
|
<p>{{dataForm.signingdate}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="截止日期"
|
||||||
|
prop="enddate" >
|
||||||
|
<p>{{dataForm.enddate}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="供应商/客户编"
|
||||||
|
prop="code" >
|
||||||
|
<p>{{dataForm.code}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="供应商/客户名"
|
||||||
|
prop="name" >
|
||||||
|
<p>{{dataForm.name}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="对方合同号"
|
||||||
|
prop="contractno" >
|
||||||
|
<p>{{dataForm.contractno}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="币种 "
|
||||||
|
prop="currency" >
|
||||||
|
<p>{{dataForm.currency}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="数量"
|
||||||
|
prop="num" >
|
||||||
|
<p>{{dataForm.num}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="金额"
|
||||||
|
prop="amount" >
|
||||||
|
<p>{{dataForm.amount}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="库存组织"
|
||||||
|
prop="organization" >
|
||||||
|
<p>{{dataForm.organization}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="备注"
|
||||||
|
prop="remark" >
|
||||||
|
<p>{{dataForm.remark}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label="合同分类 "
|
||||||
|
prop="classification" >
|
||||||
|
<p>{{dataForm.classification}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label="申报日期"
|
||||||
|
prop="declarationdate" >
|
||||||
|
<p>{{dataForm.declarationdate}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label="部门名称"
|
||||||
|
prop="deptname" >
|
||||||
|
<p>{{dataForm.deptname}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label="录入人"
|
||||||
|
prop="creatorusername" >
|
||||||
|
<p>{{dataForm.creatorusername}}</p>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-tabs v-model="activejlljvq" tab-position="top" class="mb-20">
|
||||||
|
<el-tab-pane label="物料明细">
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label-width="0">
|
||||||
|
<div class="JNPF-common-title">
|
||||||
|
<h2></h2>
|
||||||
|
</div>
|
||||||
|
<el-table :data="dataForm.jg_contract_item0List" size='mini' >
|
||||||
|
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||||
|
<el-table-column prop="materialcode" label="物料编码">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.materialcode}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="materialname" label="物料名称">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.materialname}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="specification" label="规格型号">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.specification}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="unit" label="单位 ">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.unit}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="num" label="数量">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.num}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="price" label="单价">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.price}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="amount" label="金额">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.amount}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="rate" label="税率 ">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.rate}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="notprice" label="不含税单价">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.notprice}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="notamount" label="不含税金额">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.notamount}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="remark" label="备注">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<p>{{scope.row.remark}}</p>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-tab-pane >
|
||||||
|
<el-tab-pane label="附件详情">
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label-width="0">
|
||||||
|
<div class="JNPF-common-title">
|
||||||
|
<h2></h2>
|
||||||
|
</div>
|
||||||
|
<el-table :data="dataForm.jg_contract_item1List" size='mini' >
|
||||||
|
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||||
|
<el-table-column prop="enclosure" label="附件内容">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JNPF-UploadFz v-model="scope.row.enclosure"
|
||||||
|
disabled
|
||||||
|
detailed :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" >
|
||||||
|
</JNPF-UploadFz>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-tab-pane >
|
||||||
|
</el-tabs>
|
||||||
|
</el-col>
|
||||||
|
</template>
|
||||||
|
</el-form>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</transition>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import request from '@/utils/request'
|
||||||
|
import PrintBrowse from '@/components/PrintBrowse'
|
||||||
|
import jnpf from '@/utils/jnpf'
|
||||||
|
export default {
|
||||||
|
components: {PrintBrowse},
|
||||||
|
props: [],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
loading: false,
|
||||||
|
printBrowseVisible: false,
|
||||||
|
printId: '',
|
||||||
|
dataForm: {
|
||||||
|
c_id :'',
|
||||||
|
contracttype : '',
|
||||||
|
contractcode : '',
|
||||||
|
contractname : '',
|
||||||
|
status : "",
|
||||||
|
bidopeningdate : "",
|
||||||
|
startdate : "",
|
||||||
|
auditdate : '',
|
||||||
|
completiondate : '',
|
||||||
|
closingdate : '',
|
||||||
|
collectioncycle : '',
|
||||||
|
signingdate : '',
|
||||||
|
enddate : '',
|
||||||
|
code : '',
|
||||||
|
name : '',
|
||||||
|
contractno : '',
|
||||||
|
currency : '',
|
||||||
|
num : '',
|
||||||
|
amount : '',
|
||||||
|
organization : '',
|
||||||
|
remark : '',
|
||||||
|
classification : '',
|
||||||
|
declarationdate : '',
|
||||||
|
deptname : '',
|
||||||
|
creatorusername : '',
|
||||||
|
jg_contract_item0List:[],
|
||||||
|
jg_contract_item1List:[],
|
||||||
|
},
|
||||||
|
activejlljvq:'1',
|
||||||
|
statusOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
bidopeningdateOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
startdateOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {},
|
||||||
|
watch: {},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
methods: {
|
||||||
|
dataInfo(dataAll){
|
||||||
|
let _dataAll =dataAll
|
||||||
|
for(let i=0;i<_dataAll.jg_contract_item0List.length;i++){
|
||||||
|
var _list = _dataAll.jg_contract_item0List[i];
|
||||||
|
}
|
||||||
|
for(let i=0;i<_dataAll.jg_contract_item1List.length;i++){
|
||||||
|
var _list = _dataAll.jg_contract_item1List[i];
|
||||||
|
_list.enclosure = _list.enclosure? JSON.parse(_list.enclosure):[]
|
||||||
|
}
|
||||||
|
this.dataForm = _dataAll
|
||||||
|
},
|
||||||
|
|
||||||
|
goBack() {
|
||||||
|
this.$emit('refresh')
|
||||||
|
},
|
||||||
|
init(id) {
|
||||||
|
this.dataForm.c_id = id || 0;
|
||||||
|
this.visible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
if(this.dataForm.c_id){
|
||||||
|
this.loading = true
|
||||||
|
request({
|
||||||
|
url: '/api/example/Jg_contract/detail/'+this.dataForm.c_id,
|
||||||
|
method: 'get'
|
||||||
|
}).then(res => {
|
||||||
|
this.dataInfo(res.data)
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
@ -0,0 +1,68 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog title="导出数据" :close-on-click-modal="false" :visible.sync="visible"
|
||||||
|
class="JNPF-dialog JNPF-dialog_center" lock-scroll width="600px">
|
||||||
|
<el-form label-position="top" label-width="80px">
|
||||||
|
<el-form-item label="数据选择">
|
||||||
|
<el-radio-group v-model="type">
|
||||||
|
<el-radio :label="0">当前页面数据</el-radio>
|
||||||
|
<el-radio :label="1">全部页面数据</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="导出字段">
|
||||||
|
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll"
|
||||||
|
@change="handleCheckAllChange">全选</el-checkbox>
|
||||||
|
<el-checkbox-group v-model="columns" @change="handleCheckedChange">
|
||||||
|
<el-checkbox v-for="item in columnList" :label="item.prop" :key="item.prop">
|
||||||
|
{{item.label}}
|
||||||
|
</el-checkbox>
|
||||||
|
</el-checkbox-group>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="visible=false">取 消</el-button>
|
||||||
|
<el-button type="primary" @click="downLoad">导 出</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
btnLoading: false,
|
||||||
|
type: 0,
|
||||||
|
columns: [],
|
||||||
|
checkAll: true,
|
||||||
|
isIndeterminate: false,
|
||||||
|
columnList: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(columnList) {
|
||||||
|
this.visible = true
|
||||||
|
this.checkAll = true
|
||||||
|
this.isIndeterminate = false
|
||||||
|
this.columnList = columnList
|
||||||
|
this.columns = columnList.map(o => o.prop)
|
||||||
|
},
|
||||||
|
handleCheckAllChange(val) {
|
||||||
|
this.columns = val ? this.columnList.map(o => o.prop) : [];
|
||||||
|
this.isIndeterminate = false;
|
||||||
|
},
|
||||||
|
handleCheckedChange(value) {
|
||||||
|
let checkedCount = value.length;
|
||||||
|
this.checkAll = checkedCount === this.columnList.length;
|
||||||
|
this.isIndeterminate = checkedCount > 0 && checkedCount < this.columnList.length;
|
||||||
|
},
|
||||||
|
downLoad() {
|
||||||
|
this.$emit('download', { dataType: this.type, selectKey: this.columns.join(',') })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
>>> .el-dialog__body {
|
||||||
|
padding: 20px !important;
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,574 @@
|
|||||||
|
<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.c_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-input v-model="dataForm.contracttype"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</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-select v-model="dataForm.status"
|
||||||
|
placeholder="请选择" clearable :style='{"width":"100%"}'>
|
||||||
|
<el-option v-for="(item, index) in statusOptions" :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="bidopeningdate" >
|
||||||
|
<el-select v-model="dataForm.bidopeningdate"
|
||||||
|
placeholder="请选择" clearable :style='{"width":"100%"}'>
|
||||||
|
<el-option v-for="(item, index) in bidopeningdateOptions" :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="startdate" >
|
||||||
|
<el-select v-model="dataForm.startdate"
|
||||||
|
placeholder="请选择" clearable :style='{"width":"100%"}'>
|
||||||
|
<el-option v-for="(item, index) in startdateOptions" :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="auditdate" >
|
||||||
|
<el-input v-model="dataForm.auditdate"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="供货完成日期"
|
||||||
|
prop="completiondate" >
|
||||||
|
<el-input v-model="dataForm.completiondate"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="关闭日期"
|
||||||
|
prop="closingdate" >
|
||||||
|
<el-input v-model="dataForm.closingdate"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</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-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="签订日期"
|
||||||
|
prop="signingdate" >
|
||||||
|
<el-input v-model="dataForm.signingdate"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="截止日期"
|
||||||
|
prop="enddate" >
|
||||||
|
<el-input v-model="dataForm.enddate"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</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-input>
|
||||||
|
</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%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</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%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="币种 "
|
||||||
|
prop="currency" >
|
||||||
|
<el-input v-model="dataForm.currency"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="数量"
|
||||||
|
prop="num" >
|
||||||
|
<el-input v-model="dataForm.num"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</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="8" >
|
||||||
|
<el-form-item label="库存组织"
|
||||||
|
prop="organization" >
|
||||||
|
<el-input v-model="dataForm.organization"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" >
|
||||||
|
<el-form-item label="备注"
|
||||||
|
prop="remark" >
|
||||||
|
<el-input v-model="dataForm.remark"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label="合同分类 "
|
||||||
|
prop="classification" >
|
||||||
|
<el-input v-model="dataForm.classification"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label="申报日期"
|
||||||
|
prop="declarationdate" >
|
||||||
|
<el-input v-model="dataForm.declarationdate"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label="部门名称"
|
||||||
|
prop="deptname" >
|
||||||
|
<el-input v-model="dataForm.deptname"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label="录入人"
|
||||||
|
prop="creatorusername" >
|
||||||
|
<el-input v-model="dataForm.creatorusername"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-tabs v-model="activejlljvq" tab-position="top" class="mb-20">
|
||||||
|
<el-tab-pane label="物料明细">
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label-width="0">
|
||||||
|
<div class="JNPF-common-title">
|
||||||
|
<h2></h2>
|
||||||
|
</div>
|
||||||
|
<el-table :data="dataForm.jg_contract_item0List" size='mini' >
|
||||||
|
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||||
|
<el-table-column prop="materialcode" label="物料编码">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.materialcode"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="materialname" label="物料名称">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.materialname"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="specification" label="规格型号">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.specification"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="unit" label="单位 ">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.unit"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="num" label="数量">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.num"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="price" label="单价">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.price"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="amount" label="金额">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.amount"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="rate" label="税率 ">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.rate"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="notprice" label="不含税单价">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.notprice"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="notamount" label="不含税金额">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.notamount"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="remark" label="备注">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-input v-model="scope.row.remark"
|
||||||
|
placeholder="请输入" clearable :style='{"width":"100%"}'>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" width="50" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button size="mini" type="text" class="JNPF-table-delBtn" @click="deljg_contract_item0List(scope.$index)">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div class="table-actions" @click="addjg_contract_item0List()">
|
||||||
|
<el-button type="text" icon="el-icon-plus">添加</el-button>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-tab-pane >
|
||||||
|
<el-tab-pane label="附件详情">
|
||||||
|
<el-col :span="24" >
|
||||||
|
<el-form-item label-width="0">
|
||||||
|
<div class="JNPF-common-title">
|
||||||
|
<h2></h2>
|
||||||
|
</div>
|
||||||
|
<el-table :data="dataForm.jg_contract_item1List" size='mini' >
|
||||||
|
<el-table-column type="index" width="50" label="序号" align="center" />
|
||||||
|
<el-table-column prop="enclosure" label="附件内容">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<JNPF-UploadFz v-model="scope.row.enclosure"
|
||||||
|
:fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" >
|
||||||
|
</JNPF-UploadFz>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" width="50" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button size="mini" type="text" class="JNPF-table-delBtn" @click="deljg_contract_item1List(scope.$index)">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div class="table-actions" @click="addjg_contract_item1List()">
|
||||||
|
<el-button type="text" icon="el-icon-plus">添加</el-button>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-tab-pane >
|
||||||
|
</el-tabs>
|
||||||
|
</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 {
|
||||||
|
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 : '',
|
||||||
|
deptname : '',
|
||||||
|
creatorusername : '',
|
||||||
|
jg_contract_item0List:[],
|
||||||
|
jg_contract_item1List:[],
|
||||||
|
},
|
||||||
|
activejlljvq:'1',
|
||||||
|
rules:
|
||||||
|
{
|
||||||
|
contractcode: [
|
||||||
|
],
|
||||||
|
},
|
||||||
|
statusOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
bidopeningdateOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
startdateOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {},
|
||||||
|
watch: {},
|
||||||
|
created() {
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
methods: {
|
||||||
|
jg_contract_item0Exist() {
|
||||||
|
let isOk = true;
|
||||||
|
for(let i=0;i<this.dataForm.jg_contract_item0List.length;i++){
|
||||||
|
const e = this.dataForm.jg_contract_item0List[i];
|
||||||
|
}
|
||||||
|
return isOk;
|
||||||
|
},
|
||||||
|
jg_contract_item1Exist() {
|
||||||
|
let isOk = true;
|
||||||
|
for(let i=0;i<this.dataForm.jg_contract_item1List.length;i++){
|
||||||
|
const e = this.dataForm.jg_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.c_id = id || 0;
|
||||||
|
this.visible = true;
|
||||||
|
this.isDetail = isDetail || false;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs['elForm'].resetFields();
|
||||||
|
if(this.dataForm.c_id){
|
||||||
|
this.loading = true
|
||||||
|
request({
|
||||||
|
url: '/api/example/Jg_contract/'+this.dataForm.c_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.jg_contract_item0Exist()) return
|
||||||
|
if (!this.jg_contract_item1Exist()) return
|
||||||
|
this.request()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
request() {
|
||||||
|
var _data =this.dataList()
|
||||||
|
if (!this.dataForm.c_id) {
|
||||||
|
request({
|
||||||
|
url: '/api/example/Jg_contract',
|
||||||
|
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/Jg_contract/'+this.dataForm.c_id,
|
||||||
|
method: 'PUT',
|
||||||
|
data: _data
|
||||||
|
}).then((res) => {
|
||||||
|
this.$message({
|
||||||
|
message: res.msg,
|
||||||
|
type: 'success',
|
||||||
|
duration: 1000,
|
||||||
|
onClose: () => {
|
||||||
|
this.visible = false
|
||||||
|
this.$emit('refresh', true)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
addjg_contract_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.jg_contract_item0List.push(item)
|
||||||
|
},
|
||||||
|
deljg_contract_item0List(index) {
|
||||||
|
this.dataForm.jg_contract_item0List.splice(index, 1);
|
||||||
|
},
|
||||||
|
addjg_contract_item1List(){
|
||||||
|
let item = {
|
||||||
|
enclosure:undefined,
|
||||||
|
}
|
||||||
|
this.dataForm.jg_contract_item1List.push(item)
|
||||||
|
},
|
||||||
|
deljg_contract_item1List(index) {
|
||||||
|
this.dataForm.jg_contract_item1List.splice(index, 1);
|
||||||
|
},
|
||||||
|
dataList(){
|
||||||
|
var _data = JSON.parse(JSON.stringify(this.dataForm));
|
||||||
|
for(let i=0;i<_data.jg_contract_item0List.length;i++){
|
||||||
|
var _list = _data.jg_contract_item0List[i];
|
||||||
|
}
|
||||||
|
for(let i=0;i<_data.jg_contract_item1List.length;i++){
|
||||||
|
var _list = _data.jg_contract_item1List[i];
|
||||||
|
_list.enclosure = JSON.stringify(_list.enclosure)
|
||||||
|
}
|
||||||
|
return _data;
|
||||||
|
},
|
||||||
|
dataInfo(dataAll){
|
||||||
|
let _dataAll =dataAll
|
||||||
|
for(let i=0;i<_dataAll.jg_contract_item0List.length;i++){
|
||||||
|
var _list = _dataAll.jg_contract_item0List[i];
|
||||||
|
}
|
||||||
|
for(let i=0;i<_dataAll.jg_contract_item1List.length;i++){
|
||||||
|
var _list = _dataAll.jg_contract_item1List[i];
|
||||||
|
_list.enclosure = JSON.parse(_list.enclosure)
|
||||||
|
}
|
||||||
|
this.dataForm = _dataAll
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
@ -0,0 +1,281 @@
|
|||||||
|
<template>
|
||||||
|
<div class="JNPF-common-layout">
|
||||||
|
|
||||||
|
<div class="JNPF-common-layout-center">
|
||||||
|
<el-row class="JNPF-common-search-box" :gutter="16">
|
||||||
|
<el-form @submit.native.prevent>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" @click="search()">查询</el-button>
|
||||||
|
<el-button icon="el-icon-refresh-right" @click="reset()">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-form>
|
||||||
|
</el-row>
|
||||||
|
<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>
|
||||||
|
<el-button type="text" icon="el-icon-download" @click="exportData()" >导出
|
||||||
|
</el-button>
|
||||||
|
<el-button type="text" icon="el-icon-delete" @click="handleBatchRemoveDel()" >批量删除
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
<div class="JNPF-common-head-right">
|
||||||
|
<el-tooltip effect="dark" content="刷新" placement="top">
|
||||||
|
<el-link icon="icon-ym icon-ym-Refresh JNPF-common-head-icon" :underline="false"
|
||||||
|
@click="reset()"/>
|
||||||
|
</el-tooltip>
|
||||||
|
<screenfull isContainer/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<JNPF-table v-loading="listLoading" :data="list" @sort-change='sortChange' has-c @selection-change="handleSelectionChange">
|
||||||
|
<el-table-column prop="contractcode" label="合同编码" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="contractname" label="合同名称" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="contractno" label="对方合同号" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="contracttype" label="合同类型 " width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="classification" label="合同分类 " width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="declarationdate" label="申报日期" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="name" label="供应商/客户名" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="num" label="数量" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="amount" label="金额" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="deptname" label="部门名称" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="remark" label="备注" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column prop="creatorusername" label="录入人" width="0" align="left"
|
||||||
|
/>
|
||||||
|
<el-table-column label="合同状态" width="0" prop="status" algin="left"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.status | dynamicText(statusOptions) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" fixed="right"
|
||||||
|
width="150" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button type="text"
|
||||||
|
@click="addOrUpdateHandle(scope.row.c_id)" >编辑
|
||||||
|
</el-button>
|
||||||
|
<el-button type="text" class="JNPF-table-delBtn" @click="handleDel(scope.row.c_id)">删除
|
||||||
|
</el-button>
|
||||||
|
<el-button type="text"
|
||||||
|
@click="goDetail(scope.row.c_id)">详情
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</JNPF-table>
|
||||||
|
<pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize" @pagination="initData"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<JNPF-Form v-if="formVisible" ref="JNPFForm" @refresh="refresh"/>
|
||||||
|
<ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download"/>
|
||||||
|
<Detail v-if="detailVisible" ref="Detail" @refresh="detailVisible=false"/>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import request from '@/utils/request'
|
||||||
|
import {getDictionaryDataSelector} from '@/api/systemData/dictionary'
|
||||||
|
import JNPFForm from './Form'
|
||||||
|
import ExportBox from './ExportBox'
|
||||||
|
import {getDataInterfaceRes} from '@/api/systemData/dataInterface'
|
||||||
|
import Detail from './Detail'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {JNPFForm, ExportBox,Detail},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
detailVisible: false,
|
||||||
|
query: {
|
||||||
|
},
|
||||||
|
treeProps: {
|
||||||
|
children: 'children',
|
||||||
|
label: 'fullName',
|
||||||
|
value: 'id'
|
||||||
|
},
|
||||||
|
list: [],
|
||||||
|
listLoading: true,
|
||||||
|
multipleSelection: [], total: 0,
|
||||||
|
listQuery: {
|
||||||
|
currentPage: 1,
|
||||||
|
pageSize: 20,
|
||||||
|
sort: "desc",
|
||||||
|
sidx: "",
|
||||||
|
},
|
||||||
|
formVisible: false,
|
||||||
|
exportBoxVisible: false,
|
||||||
|
columnList: [
|
||||||
|
{prop: 'contractcode', label: '合同编码'},
|
||||||
|
{prop: 'contractname', label: '合同名称'},
|
||||||
|
{prop: 'contractno', label: '对方合同号'},
|
||||||
|
{prop: 'contracttype', label: '合同类型 '},
|
||||||
|
{prop: 'classification', label: '合同分类 '},
|
||||||
|
{prop: 'declarationdate', label: '申报日期'},
|
||||||
|
{prop: 'name', label: '供应商/客户名'},
|
||||||
|
{prop: 'num', label: '数量'},
|
||||||
|
{prop: 'amount', label: '金额'},
|
||||||
|
{prop: 'deptname', label: '部门名称'},
|
||||||
|
{prop: 'remark', label: '备注'},
|
||||||
|
{prop: 'creatorusername', label: '录入人'},
|
||||||
|
{prop: 'status', label: '合同状态'},
|
||||||
|
],
|
||||||
|
statusOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
statusProps:{"label":"fullName","value":"id"},
|
||||||
|
bidopeningdateOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
bidopeningdateProps:{"label":"fullName","value":"id"},
|
||||||
|
startdateOptions:[{"fullName":"选项一","id":"1"},{"fullName":"选项二","id":"2"}],
|
||||||
|
startdateProps:{"label":"fullName","value":"id"},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
menuId() {
|
||||||
|
return this.$route.meta.modelId || ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.initData()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
goDetail(id){
|
||||||
|
this.detailVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.Detail.init(id)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
sortChange({column, prop, order}) {
|
||||||
|
this.listQuery.sort = order == 'ascending' ? 'asc' : 'desc'
|
||||||
|
this.listQuery.sidx = !order ? '' : prop
|
||||||
|
this.initData()
|
||||||
|
},
|
||||||
|
initData() {
|
||||||
|
this.listLoading = true;
|
||||||
|
let _query = {
|
||||||
|
...this.listQuery,
|
||||||
|
...this.query,
|
||||||
|
menuId:this.menuId
|
||||||
|
};
|
||||||
|
request({
|
||||||
|
url: `/api/example/Jg_contract/getList`,
|
||||||
|
method: 'post',
|
||||||
|
data: _query
|
||||||
|
}).then(res => {
|
||||||
|
var _list =[];
|
||||||
|
for(let i=0;i<res.data.list.length;i++){
|
||||||
|
let _data = res.data.list[i];
|
||||||
|
_list.push(_data)
|
||||||
|
}
|
||||||
|
this.list = _list
|
||||||
|
this.total = res.data.pagination.total
|
||||||
|
|
||||||
|
this.listLoading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleDel(id) {
|
||||||
|
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
request({
|
||||||
|
url: `/api/example/Jg_contract/${id}`,
|
||||||
|
method: 'DELETE'
|
||||||
|
}).then(res => {
|
||||||
|
this.$message({
|
||||||
|
type: 'success',
|
||||||
|
message: res.msg,
|
||||||
|
onClose: () => {
|
||||||
|
this.initData()
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
}).catch(() => {
|
||||||
|
});
|
||||||
|
},
|
||||||
|
handleSelectionChange(val) {
|
||||||
|
const res = val.map(item => item.c_id)
|
||||||
|
this.multipleSelection = res
|
||||||
|
},
|
||||||
|
handleBatchRemoveDel() {
|
||||||
|
if (!this.multipleSelection.length) {
|
||||||
|
this.$message({
|
||||||
|
type: 'error',
|
||||||
|
message: '请选择一条数据',
|
||||||
|
duration: 1500,
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const ids = this.multipleSelection.join()
|
||||||
|
this.$confirm('您确定要删除这些数据吗, 是否继续?', '提示', {
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
request({
|
||||||
|
url: `/api/example/Jg_contract/batchRemove/${ids}`,
|
||||||
|
method: 'DELETE'
|
||||||
|
}).then(res => {
|
||||||
|
this.$message({
|
||||||
|
type: 'success',
|
||||||
|
message: res.msg,
|
||||||
|
onClose: () => {
|
||||||
|
this.initData()
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
}).catch(() => {
|
||||||
|
})
|
||||||
|
},
|
||||||
|
addOrUpdateHandle(id, isDetail) {
|
||||||
|
this.formVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.JNPFForm.init(id, isDetail)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
exportData() {
|
||||||
|
this.exportBoxVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.ExportBox.init(this.columnList)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
download(data) {
|
||||||
|
let query = {...data, ...this.listQuery, ...this.query,menuId:this.menuId}
|
||||||
|
request({
|
||||||
|
url: `/api/example/Jg_contract/Actions/Export`,
|
||||||
|
method: 'GET',
|
||||||
|
data: query
|
||||||
|
}).then(res => {
|
||||||
|
if (!res.data.url) return
|
||||||
|
this.jnpf.downloadFile(res.data.url)
|
||||||
|
this.$refs.ExportBox.visible = false
|
||||||
|
this.exportBoxVisible = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
search() {
|
||||||
|
this.listQuery = {
|
||||||
|
currentPage: 1,
|
||||||
|
pageSize: 20,
|
||||||
|
sort: "desc",
|
||||||
|
sidx: "",
|
||||||
|
}
|
||||||
|
this.initData()
|
||||||
|
},
|
||||||
|
refresh(isrRefresh) {
|
||||||
|
this.formVisible = false
|
||||||
|
if (isrRefresh) this.reset()
|
||||||
|
},
|
||||||
|
reset() {
|
||||||
|
for (let key in this.query) {
|
||||||
|
this.query[key] = undefined
|
||||||
|
}
|
||||||
|
this.search()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
Loading…
Reference in new issue