|
|
|
|
@ -24,23 +24,23 @@
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="selects">
|
|
|
|
|
<!-- 1. 关键字 -->
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">关键字</span>
|
|
|
|
|
<span>
|
|
|
|
|
<Input v-model="select.keyword" clearable placeholder="关键字搜索" style="width: 200px" />
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- 2. 供应商/付款对象 -->
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">供应商/付款对象</span>
|
|
|
|
|
<span>
|
|
|
|
|
<Input v-model="select.supply" clearable placeholder="请输入供应商/付款对象" style="width: 200px" />
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- 3. 预算计划 -->
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">预算计划</span>
|
|
|
|
|
|
|
|
|
|
<span>
|
|
|
|
|
<Input
|
|
|
|
|
v-model="select.plan_name"
|
|
|
|
|
@ -52,6 +52,7 @@
|
|
|
|
|
/>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- 4. 签订年份 -->
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">签订年份</span>
|
|
|
|
|
<span>
|
|
|
|
|
@ -65,126 +66,116 @@
|
|
|
|
|
/>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- 5. 预算金额 -->
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">创建日期</span>
|
|
|
|
|
<span>
|
|
|
|
|
<DatePicker
|
|
|
|
|
v-model="select.showDatePicker"
|
|
|
|
|
clearable
|
|
|
|
|
placeholder="请选择日期"
|
|
|
|
|
placement="bottom-start"
|
|
|
|
|
style="width: 200px"
|
|
|
|
|
type="daterange"
|
|
|
|
|
@on-change="datePick"
|
|
|
|
|
/>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">
|
|
|
|
|
项目类型
|
|
|
|
|
</span>
|
|
|
|
|
<Select v-model="select.type" clearable placeholder="请选择项目类型" style="width:140px;">
|
|
|
|
|
<Option v-for="item in type" :key="item.value" :value="item.value">{{ item.label }}</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">
|
|
|
|
|
业务科室
|
|
|
|
|
</span>
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="select.department_id"
|
|
|
|
|
clearable
|
|
|
|
|
placeholder="业务科室选择"
|
|
|
|
|
size="small"
|
|
|
|
|
style="width: 120px;"
|
|
|
|
|
>
|
|
|
|
|
<el-option v-for="item in departments" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">
|
|
|
|
|
采购形式
|
|
|
|
|
</span>
|
|
|
|
|
<Select v-model="select.purchase_type_id" clearable placeholder="请选择采购形式" style="width:140px;">
|
|
|
|
|
<Option v-for="item in purchaseType" :key="item.id" :value="item.id">{{ item.value }}</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">
|
|
|
|
|
采购方式
|
|
|
|
|
</span>
|
|
|
|
|
<Select v-model="select.purchase_way_id" clearable placeholder="请选择采购方式" style="width:200px;">
|
|
|
|
|
<Option v-for="item in purchaseWay" :key="item.id" :value="item.id">{{ item.value }}</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">
|
|
|
|
|
预算金额
|
|
|
|
|
</span>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">预算金额</span>
|
|
|
|
|
<el-input-number v-model="select.start_plan_price" size="small" :controls="false" :min="0" placeholder="最小金额" style="width: 100px;" />
|
|
|
|
|
<span style="padding: 0 5px;">-</span>
|
|
|
|
|
<el-input-number v-model="select.end_plan_price" size="small" :controls="false" :min="0" placeholder="最大金额" style="width: 100px;" />
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- 更多按钮 -->
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">
|
|
|
|
|
合同状态
|
|
|
|
|
</span>
|
|
|
|
|
<Select v-model="select.status" clearable placeholder="请选择" style="width:100px;">
|
|
|
|
|
<Option
|
|
|
|
|
v-for="item in [{label:'待签订',value:1},{label:'已签订',value:2}]"
|
|
|
|
|
:key="item.value"
|
|
|
|
|
:value="item.value"
|
|
|
|
|
>{{ item.label }}
|
|
|
|
|
</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
<Button type="text" @click="showMoreSearch = !showMoreSearch">
|
|
|
|
|
{{ showMoreSearch ? '收起' : '更多' }}
|
|
|
|
|
</Button>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">
|
|
|
|
|
招标流程状态
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
<Select v-model="select.invite_status" clearable placeholder="请选择" style="width:100px;">
|
|
|
|
|
<Option v-for="item in options" :key="item.value" :value="item.value">{{ item.label }}
|
|
|
|
|
</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">
|
|
|
|
|
采购流程状态
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
<Select v-model="select.purchase_status" clearable placeholder="请选择" style="width:100px;">
|
|
|
|
|
<Option v-for="item in options" :key="item.value" :value="item.value">{{ item.label }}
|
|
|
|
|
</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">
|
|
|
|
|
合同会签状态
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
<Select v-model="select.join_status" clearable placeholder="请选择" style="width:100px;">
|
|
|
|
|
<Option v-for="item in options" :key="item.value" :value="item.value">{{ item.label }}
|
|
|
|
|
</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">
|
|
|
|
|
请示流程状态
|
|
|
|
|
</span>
|
|
|
|
|
<Select v-model="select.req_status" clearable placeholder="请选择" style="width:100px;">
|
|
|
|
|
<Option v-for="item in options" :key="item.value" :value="item.value">{{ item.label }}
|
|
|
|
|
</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- 其余搜索项,v-if="showMoreSearch" -->
|
|
|
|
|
<template v-if="showMoreSearch">
|
|
|
|
|
<!-- 项目类型 -->
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">项目类型</span>
|
|
|
|
|
<Select v-model="select.type" clearable placeholder="请选择项目类型" style="width:140px;">
|
|
|
|
|
<Option v-for="item in type" :key="item.value" :value="item.value">{{ item.label }}</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- 业务科室 -->
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">业务科室</span>
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="select.department_id"
|
|
|
|
|
clearable
|
|
|
|
|
placeholder="业务科室选择"
|
|
|
|
|
size="small"
|
|
|
|
|
style="width: 120px;"
|
|
|
|
|
>
|
|
|
|
|
<el-option v-for="item in departments" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- 采购形式 -->
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">采购形式</span>
|
|
|
|
|
<Select v-model="select.purchase_type_id" clearable placeholder="请选择采购形式" style="width:140px;">
|
|
|
|
|
<Option v-for="item in purchaseType" :key="item.id" :value="item.id">{{ item.value }}</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- 采购方式 -->
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">采购方式</span>
|
|
|
|
|
<Select v-model="select.purchase_way_id" clearable placeholder="请选择采购方式" style="width:200px;">
|
|
|
|
|
<Option v-for="item in purchaseWay" :key="item.id" :value="item.id">{{ item.value }}</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- 合同状态 -->
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">合同状态</span>
|
|
|
|
|
<Select v-model="select.status" clearable placeholder="请选择" style="width:100px;">
|
|
|
|
|
<Option
|
|
|
|
|
v-for="item in [{label:'待签订',value:1},{label:'已签订',value:2}]"
|
|
|
|
|
:key="item.value"
|
|
|
|
|
:value="item.value"
|
|
|
|
|
>{{ item.label }}
|
|
|
|
|
</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- 招标流程状态 -->
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">招标流程状态</span>
|
|
|
|
|
<Select v-model="select.invite_status" clearable placeholder="请选择" style="width:100px;">
|
|
|
|
|
<Option v-for="item in options" :key="item.value" :value="item.value">{{ item.label }}
|
|
|
|
|
</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- 采购流程状态 -->
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">采购流程状态</span>
|
|
|
|
|
<Select v-model="select.purchase_status" clearable placeholder="请选择" style="width:100px;">
|
|
|
|
|
<Option v-for="item in options" :key="item.value" :value="item.value">{{ item.label }}
|
|
|
|
|
</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- 合同会签状态 -->
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">合同会签状态</span>
|
|
|
|
|
<Select v-model="select.join_status" clearable placeholder="请选择" style="width:100px;">
|
|
|
|
|
<Option v-for="item in options" :key="item.value" :value="item.value">{{ item.label }}
|
|
|
|
|
</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- 请示流程状态 -->
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">请示流程状态</span>
|
|
|
|
|
<Select v-model="select.req_status" clearable placeholder="请选择" style="width:100px;">
|
|
|
|
|
<Option v-for="item in options" :key="item.value" :value="item.value">{{ item.label }}
|
|
|
|
|
</Option>
|
|
|
|
|
</Select>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- 创建日期 -->
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px;word-break: keep-all;">创建日期</span>
|
|
|
|
|
<span>
|
|
|
|
|
<DatePicker
|
|
|
|
|
v-model="select.showDatePicker"
|
|
|
|
|
clearable
|
|
|
|
|
placeholder="请选择日期"
|
|
|
|
|
placement="bottom-start"
|
|
|
|
|
style="width: 200px"
|
|
|
|
|
type="daterange"
|
|
|
|
|
@on-change="datePick"
|
|
|
|
|
/>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<!-- 查询、重置、导出按钮始终显示 -->
|
|
|
|
|
<Button style="margin-left: 10px" type="primary" @click="getContracts">查询</Button>
|
|
|
|
|
<Button
|
|
|
|
|
ghost
|
|
|
|
|
@ -195,7 +186,6 @@
|
|
|
|
|
重置
|
|
|
|
|
</Button>
|
|
|
|
|
<Button type="primary" style="margin-left: 10px" @click="downloadExel()">导出</Button>
|
|
|
|
|
<!-- <Button type="primary" style="margin-left: 10px">导出</Button>-->
|
|
|
|
|
</div>
|
|
|
|
|
</slot>
|
|
|
|
|
</lx-header>
|
|
|
|
|
@ -1018,6 +1008,7 @@ export default {
|
|
|
|
|
end_plan_price: undefined
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
showMoreSearch: false,
|
|
|
|
|
type: [{
|
|
|
|
|
label: '服务',
|
|
|
|
|
value: 1
|
|
|
|
|
@ -1580,7 +1571,7 @@ export default {
|
|
|
|
|
})
|
|
|
|
|
this.getPurchaseType()
|
|
|
|
|
this.getContracts()
|
|
|
|
|
this.getDepartment()
|
|
|
|
|
this.getDepartment(-1)
|
|
|
|
|
this.getPurchaseWay()
|
|
|
|
|
this.getMoneyWay()
|
|
|
|
|
|
|
|
|
|
@ -1981,8 +1972,12 @@ export default {
|
|
|
|
|
this.getBudgets()
|
|
|
|
|
},
|
|
|
|
|
// 获取科室
|
|
|
|
|
async getDepartment() {
|
|
|
|
|
this.departments = await listdeptNoAuth()
|
|
|
|
|
async getDepartment(status) {
|
|
|
|
|
const params = { show_tree: 1,sort_name:'sortnumber',sort_type:'asc' }
|
|
|
|
|
if (status !== undefined) {
|
|
|
|
|
params.status = status
|
|
|
|
|
}
|
|
|
|
|
this.departments = await listdeptNoAuth(params)
|
|
|
|
|
},
|
|
|
|
|
// 获取购买形式列表
|
|
|
|
|
async getPurchaseType() {
|
|
|
|
|
@ -3476,9 +3471,11 @@ export default {
|
|
|
|
|
// 添加按分类新增合同的方法
|
|
|
|
|
async handleAddContractByCategory(type) {
|
|
|
|
|
this.formType = type
|
|
|
|
|
this.loading = true
|
|
|
|
|
try {
|
|
|
|
|
// 1. 获取当前用户所在部门id
|
|
|
|
|
this.loading = true
|
|
|
|
|
try {
|
|
|
|
|
// 0. 先获取最新执行部门信息
|
|
|
|
|
await this.getDepartment()
|
|
|
|
|
// 1. 获取当前用户所在部门id
|
|
|
|
|
const userDeptId = this.$store.state.user.info.department_id
|
|
|
|
|
// 2. 显示弹窗、初始化表单
|
|
|
|
|
this.isShowAdd = true
|
|
|
|
|
|