修改合同配置

master
lynn 5 months ago
parent eb49c23448
commit 70b1266358

@ -11,7 +11,7 @@
<span style="padding: 0 6px;word-break: keep-all;">合同分类</span>
<el-select v-model="searchForm.category" placeholder="所有类型" style="width: 140px" @change="handleCategoryChange">
<el-option label="所有类型" value=""></el-option>
<el-option v-for="item in categoryOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
<el-option v-for="item in categoryOptions" :key="item.id" :label="item.value" :value="item.id"></el-option>
</el-select>
</div>
@ -135,6 +135,56 @@
</template>
</el-table-column>
</el-table-column>
<el-table-column label="合同配置">
<el-table-column prop="is_simple" label="简易流程" width="100">
<template #default="scope">
<div>
<el-tag size="small" :type="scope.row.is_simple_default === 1 ? 'success' : 'info'">
{{ scope.row.is_simple_default === 1 ? '是' : '否' }}
</el-tag>
<el-tag size="small" type="warning" style="margin-left: 4px" v-if="scope.row.edit_is_simple === 1">
可编辑
</el-tag>
</div>
</template>
</el-table-column>
<el-table-column prop="has_charge" label="河道处收费" width="100">
<template #default="scope">
<div>
<el-tag size="small" :type="scope.row.has_charge_default === 1 ? 'success' : 'info'">
{{ scope.row.has_charge_default === 1 ? '是' : '否' }}
</el-tag>
<el-tag size="small" type="warning" style="margin-left: 4px" v-if="scope.row.edit_has_charge === 1">
可编辑
</el-tag>
</div>
</template>
</el-table-column>
<el-table-column prop="isBudget" label="预算内项目" width="100">
<template #default="scope">
<div>
<el-tag size="small" :type="scope.row.is_plan_default === 1 ? 'success' : 'info'">
{{ scope.row.is_plan_default === 1 ? '是' : '否' }}
</el-tag>
<el-tag size="small" type="warning" style="margin-left: 4px" v-if="scope.row.edit_is_plan === 1">
可编辑
</el-tag>
</div>
</template>
</el-table-column>
<el-table-column prop="is_substitute" label="代建项目" width="100">
<template #default="scope">
<div>
<el-tag size="small" :type="scope.row.is_substitute_default === 1 ? 'success' : 'info'">
{{ scope.row.is_substitute_default === 1 ? '是' : '否' }}
</el-tag>
<el-tag size="small" type="warning" style="margin-left: 4px" v-if="scope.row.edit_is_substitute === 1">
可编辑
</el-tag>
</div>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="操作" width="150">
<template #default="scope">
<el-button size="small" @click="handleEdit(scope.row)"></el-button>
@ -177,7 +227,7 @@
class="form-input"
@change="handleFormCategoryChange"
>
<el-option v-for="item in categoryOptions" :key="item.id" :label="item.name" :value="item.id"></el-option>
<el-option v-for="item in categoryOptions" :key="item.id" :label="item.value" :value="item.id"></el-option>
</el-select>
</el-form-item>
@ -273,6 +323,85 @@
</el-option>
</el-select>
</el-form-item>
<!-- 合同配置选项 -->
<div class="form-section">
<div class="section-title">合同配置</div>
<div class="process-control-grid">
<div class="control-item">
<div class="control-label">
是否为简易流程
<el-switch
v-model="form.is_simple_editable"
active-text="可编辑"
inactive-text="不可编辑"
style="margin-left: 10px"
></el-switch>
</div>
<div class="control-content">
<el-radio-group v-model="form.is_simple">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
<div class="helper-text">(水电煤报刊订阅网络通讯车辆使用等费用付款)</div>
</div>
</div>
<div class="control-item">
<div class="control-label">
是否为河道处收费类项目
<el-switch
v-model="form.has_charge_editable"
active-text="可编辑"
inactive-text="不可编辑"
style="margin-left: 10px"
></el-switch>
</div>
<div class="control-content">
<el-radio-group v-model="form.has_charge">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
</div>
</div>
<div class="control-item">
<div class="control-label">
是否为预算内确定项目
<el-switch
v-model="form.isBudget_editable"
active-text="可编辑"
inactive-text="不可编辑"
style="margin-left: 10px"
></el-switch>
</div>
<div class="control-content">
<el-radio-group v-model="form.isBudget">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
</div>
</div>
<div class="control-item">
<div class="control-label">
是否为代建项目
<el-switch
v-model="form.is_substitute_editable"
active-text="可编辑"
inactive-text="不可编辑"
style="margin-left: 10px"
></el-switch>
</div>
<div class="control-content">
<el-radio-group v-model="form.is_substitute">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
</div>
</div>
</div>
</div>
</el-form>
</div>
</div>
@ -330,7 +459,15 @@ export default {
tenderReview: false,
contractSign: false,
prePaymentForm: '', //
postPaymentForm: '' //
postPaymentForm: '', //
is_simple: 0,
has_charge: 0,
isBudget: 0,
is_substitute: 0,
is_simple_editable: true,
has_charge_editable: true,
isBudget_editable: true,
is_substitute_editable: true
},
rules: {
category: [
@ -408,10 +545,10 @@ export default {
contract_type_id: item.contract_type,
purchase_form_id: item.purchase_form,
// 使name'-'
category: item.category_detail?.name || '-',
affairType: item.work_type_detail?.name || '-',
contractType: item.contract_type_detail?.name || '-',
purchaseForm: item.purchase_form_detail?.name || '-',
category: item.category_detail?.value || '-',
affairType: item.work_type_detail?.value || '-',
contractType: item.contract_type_detail?.value || '-',
purchaseForm: item.purchase_form_detail?.value || '-',
purchaseWay: item.purchase_way || false,
purchaseMethod: item.purchase_method,
projectName: item.project_name || false,
@ -427,7 +564,16 @@ export default {
postPaymentForm: item.contract_template?.name || '-',
// ID
before_contract_template_id: item.before_contract_template_id,
contract_template_id: item.contract_template_id
contract_template_id: item.contract_template_id,
//
is_simple_default: item.is_simple_default || 0,
has_charge_default: item.has_charge_default || 0,
is_plan_default: item.is_plan_default || 0,
is_substitute_default: item.is_substitute_default || 0,
edit_is_simple: item.edit_is_simple || 0,
edit_has_charge: item.edit_has_charge || 0,
edit_is_plan: item.edit_is_plan || 0,
edit_is_substitute: item.edit_is_substitute || 0
}
})
} else {
@ -520,7 +666,7 @@ export default {
if (category && category.children) {
this.affairTypeOptions = category.children.map(item => ({
id: item.id,
name: item.name
name: item.value
}))
}
}
@ -533,7 +679,7 @@ export default {
if (selectedAffairType && selectedAffairType.children) {
this.contractTypeOptions = selectedAffairType.children.map(item => ({
id: item.id,
name: item.name
name: item.value
}))
}
}
@ -549,7 +695,7 @@ export default {
if (selectedContractType && selectedContractType.children) {
this.purchaseFormOptions = selectedContractType.children.map(item => ({
id: item.id,
name: item.name
name: item.value
}))
}
}
@ -568,7 +714,7 @@ export default {
if (selectedPurchaseForm && selectedPurchaseForm.children) {
this.purchaseMethodOptions = selectedPurchaseForm.children.map(item => ({
id: item.id,
name: item.name
name: item.value
}))
}
}
@ -662,7 +808,15 @@ export default {
tenderReview: false,
contractSign: false,
prePaymentForm: '',
postPaymentForm: ''
postPaymentForm: '',
is_simple: 0,
has_charge: 0,
isBudget: 0,
is_substitute: 0,
is_simple_editable: true,
has_charge_editable: true,
isBudget_editable: true,
is_substitute_editable: true
}
// 使
@ -703,7 +857,16 @@ export default {
tenderReview: row.tenderReview === true || row.tenderReview === 1,
contractSign: row.contractSign === true || row.contractSign === 1,
prePaymentForm: row.before_contract_template_id || '',
postPaymentForm: row.contract_template_id || ''
postPaymentForm: row.contract_template_id || '',
//
is_simple_editable: row.edit_is_simple === 1,
has_charge_editable: row.edit_has_charge === 1,
isBudget_editable: row.edit_is_plan === 1,
is_substitute_editable: row.edit_is_substitute === 1,
is_simple: row.is_simple_default,
has_charge: row.has_charge_default,
isBudget: row.is_plan_default,
is_substitute: row.is_substitute_default
}
//
@ -831,7 +994,19 @@ export default {
flow_req: this.form.request,
flow_purchase: this.form.purchaseApproval,
flow_invite: this.form.tenderReview,
flow_join: this.form.contractSign
flow_join: this.form.contractSign,
//
edit_is_simple: this.form.is_simple_editable ? 1 : 0,
edit_has_charge: this.form.has_charge_editable ? 1 : 0,
edit_is_plan: this.form.isBudget_editable ? 1 : 0,
edit_is_substitute: this.form.is_substitute_editable ? 1 : 0,
is_simple_default: this.form.is_simple,
has_charge_default: this.form.has_charge,
is_plan_default: this.form.isBudget,
is_substitute_default: this.form.is_substitute
}
//

@ -275,31 +275,31 @@
<div class="form-group">
<label class="form-label">分类</label>
<Select v-model="form.category" @on-change="handleCategoryChange" placeholder="请选择分类" class="form-input">
<Option v-for="item in categoryOptions" :key="item.id" :value="item.id">{{ item.name }}</Option>
<Option v-for="item in categoryOptions" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
</Select>
</div>
<div class="form-group">
<label class="form-label">事项类型</label>
<Select v-model="form.affairType" @on-change="handleAffairTypeChange" placeholder="请选择事项类型" class="form-input">
<Option v-for="item in affairTypeOptions" :key="item.id" :value="item.id">{{ item.name }}</Option>
<Option v-for="item in affairTypeOptions" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
</Select>
</div>
<div class="form-group">
<label class="form-label">合同类型</label>
<Select v-model="form.contractType" @on-change="handleContractTypeChange" placeholder="请选择合同类型" class="form-input">
<Option v-for="item in contractTypeOptions" :key="item.id" :value="item.id">{{ item.name }}</Option>
<Option v-for="item in contractTypeOptions" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
</Select>
</div>
<div class="form-group">
<label class="form-label">采购形式</label>
<Select v-model="form.purchaseForm" @on-change="handlePurchaseFormChange" placeholder="请选择采购形式" class="form-input">
<Option v-for="item in purchaseFormOptions" :key="item.id" :value="item.id">{{ item.name }}</Option>
<Option v-for="item in purchaseFormOptions" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
</Select>
</div>
<div class="form-group">
<label class="form-label">采购方式</label>
<Select v-model="form.purchaseMethod" @on-change="handlePurchaseMethodChange" placeholder="请选择采购方式" class="form-input">
<Option v-for="item in purchaseMethodOptions" :key="item.id" :value="item.id">{{ item.name }}</Option>
<Option v-for="item in purchaseMethodOptions" :key="item.id" :value="item.id">{{ item.value || item.name }}</Option>
</Select>
</div>
</div>
@ -340,7 +340,7 @@
<div class="control-item">
<div class="control-label">是否为简易流程</div>
<div class="control-content">
<el-radio-group v-model="form.is_simple">
<el-radio-group v-model="form.is_simple" :disabled="!editPermissions.is_simple">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
@ -351,7 +351,7 @@
<div class="control-item">
<div class="control-label">是否为河道处收费类项目</div>
<div class="control-content">
<el-radio-group v-model="form.has_charge">
<el-radio-group v-model="form.has_charge" :disabled="!editPermissions.has_charge">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
@ -361,7 +361,7 @@
<div class="control-item">
<div class="control-label">是否为预算内确定项目</div>
<div class="control-content">
<el-radio-group v-model="form.isBudget">
<el-radio-group v-model="form.isBudget" :disabled="!editPermissions.is_plan">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
@ -371,7 +371,7 @@
<div class="control-item">
<div class="control-label">是否为代建项目</div>
<div class="control-content">
<el-radio-group v-model="form.is_substitute">
<el-radio-group v-model="form.is_substitute" :disabled="!editPermissions.is_substitute">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
@ -1366,6 +1366,13 @@ export default {
isEditMode: false, //
currentContractId: null, // ID
isFromPayment: false, //
//
editPermissions: {
is_simple: true, //
has_charge: true, //
is_plan: true, //
is_substitute: true //
},
}
},
methods: {
@ -2320,6 +2327,30 @@ export default {
//
this.setFormConfig(res)
//
//
if (res.is_simple_default !== undefined) {
this.form.is_simple = res.is_simple_default
}
//
if (res.has_charge_default !== undefined) {
this.form.has_charge = res.has_charge_default
}
//
if (res.is_plan_default !== undefined) {
this.form.isBudget = res.is_plan_default
}
//
if (res.is_substitute_default !== undefined) {
this.form.is_substitute = res.is_substitute_default
}
//
this.editPermissions.is_simple = res.edit_is_simple === 1
this.editPermissions.has_charge = res.edit_has_charge === 1
this.editPermissions.is_plan = res.edit_is_plan === 1
this.editPermissions.is_substitute = res.edit_is_substitute === 1
// formsbefore_forms
if (this.isEditMode) {
this.form.forms = currentForms;
@ -2572,10 +2603,11 @@ export default {
if (!items) return
items.forEach(item => {
if (item.children) {
// id name
// id name/value
item.children = item.children.map(child => ({
id: child.id,
name: child.name || child.value, // value
value: child.value || child.name, // value
children: child.children || []
}))
processChildren(item.children)

Loading…
Cancel
Save