This commit is contained in:
2025-03-14 17:56:05 +08:00
parent f932a49602
commit 0c9554125f
46 changed files with 665 additions and 461 deletions

View File

@@ -3,9 +3,9 @@
:title="!dataForm.contractId ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="100px" size="mini" label-position="left">
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="100px" size="mini">
<el-row>
<el-col :span="12">
<el-form-item label="合同类型" prop="contractType">
<el-select v-model="dataForm.contractType" placeholder="合同类型" style="width: 100%;">
<el-option
@@ -17,35 +17,25 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="11">
<el-col :span="12">
<el-form-item label="合同编号" prop="contractNumber">
<el-input v-model="dataForm.contractNumber" placeholder="合同编号"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="是否是主合同" prop="isMaster">
<el-switch
v-model="dataForm.isMaster"
active-color="#409EFF"
inactive-color="#F56C6C"
:active-value="1"
:inactive-value="0"
/>
</el-form-item>
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-form-item label="客户" prop="clientId">
<el-select v-model="dataForm.clientId" placeholder="客户" style="width: 100%;">
<el-option
v-for="item in clientIdOpt"
:key="item.clientId"
:label="item.clientName"
:value="item.clientId">
</el-option>
</el-select>
<el-row>
<el-col :span="12">
<el-form-item label="是否是主合同" prop="isMaster">
<el-switch
v-model="dataForm.isMaster"
active-color="#409EFF"
inactive-color="#F56C6C"
:active-value="1"
:inactive-value="0"
/>
</el-form-item>
</el-col>
<el-col :span="11">
<el-col :span="12">
<el-form-item label="是否验收" prop="isAcceptance">
<el-switch
v-model="dataForm.isAcceptance"
@@ -58,17 +48,29 @@
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-col :span="12">
<el-form-item label="客户" prop="clientId">
<el-select v-model="dataForm.clientId" placeholder="客户" style="width: 100%;">
<el-option
v-for="item in clientIdOpt"
:key="item.clientId"
:label="item.clientName"
:value="item.clientId">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remarks">
<el-input v-model="dataForm.remarks" placeholder="备注"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex" justify="space-between">
<el-col :span="11">
<el-row>
<el-col :span="12">
<el-button size="mini" type="primary" @click="addMaterial">选择物料</el-button>
</el-col>
<el-col :span="11">
<el-col :span="12">
<el-form-item label="总计">
<el-input v-model="dataForm.totalSum" placeholder="总计" disabled></el-input>
</el-form-item>
@@ -214,12 +216,6 @@
align="center"
label="是否启用">
</el-table-column>
<el-table-column
prop="createTime"
header-align="center"
align="center"
label="创建时间">
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@@ -244,8 +240,6 @@
return {
visible: false,
innerVisible: false,
contractTypeOpt: [],
clientIdOpt: [],
dataForm: {
contractId: 0,
contractType: '',
@@ -279,6 +273,10 @@
materData: []
}
},
props: {
contractTypeOpt: Array,
clientIdOpt: Array
},
watch: {
materData: {
deep: true,
@@ -287,24 +285,7 @@
}
}
},
created () {
this.getDictDetail()
},
methods: {
getDictDetail () {
this.$http({
url: this.$http.adornUrl('/api/dict/dictDetail?code=contract_type&page=0&size=9999'),
method: 'get'
}).then(({data}) => {
this.contractTypeOpt = [...data.content]
})
this.$http({
url: this.$http.adornUrl('/client/client/list?page=0&limit=9999'),
method: 'get'
}).then(({data}) => {
this.clientIdOpt = data.page.list
})
},
init (id) {
this.dataForm.contractId = id || 0
this.visible = true