|
|
|
|
@ -19,6 +19,26 @@
|
|
|
|
|
/>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<span style="padding: 0 6px; word-break: keep-all">申购人</span>
|
|
|
|
|
<span>
|
|
|
|
|
<Select
|
|
|
|
|
v-model="select.apply_user_id"
|
|
|
|
|
clearable
|
|
|
|
|
placeholder="请选择申购人"
|
|
|
|
|
style="width: 140px"
|
|
|
|
|
filterable
|
|
|
|
|
>
|
|
|
|
|
<Option
|
|
|
|
|
v-for="item in commonPurchasePeople"
|
|
|
|
|
:key="item.name"
|
|
|
|
|
:value="item.id"
|
|
|
|
|
>{{ item.name }}</Option
|
|
|
|
|
>
|
|
|
|
|
</Select>
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
<el-popover
|
|
|
|
|
placement="bottom"
|
|
|
|
|
title="流程状态"
|
|
|
|
|
@ -44,6 +64,7 @@
|
|
|
|
|
</template>
|
|
|
|
|
<el-button slot="reference" style="margin-left: 10px" size="small" type="primary">流程状态</el-button>
|
|
|
|
|
</el-popover>
|
|
|
|
|
|
|
|
|
|
<xy-selectors style="margin-left: 10px;" @search="getContracts" @reset="reset">
|
|
|
|
|
<div class="select-content">
|
|
|
|
|
<div>
|
|
|
|
|
@ -300,6 +321,31 @@
|
|
|
|
|
@delete="(row) => deleteContract(row.id)"
|
|
|
|
|
@editor=""
|
|
|
|
|
>
|
|
|
|
|
<template v-slot:contract_flow_links>
|
|
|
|
|
<el-table-column
|
|
|
|
|
header-align="center"
|
|
|
|
|
label="摘要"
|
|
|
|
|
width="360"
|
|
|
|
|
>
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<div v-if="scope.row.contract_flow_links && scope.row.contract_flow_links.length>0">
|
|
|
|
|
<div v-for="(item,index) in scope.row.contract_flow_links">
|
|
|
|
|
<div v-if="item.tag!='contract'">
|
|
|
|
|
<div>{{item.flow_title}}</div>
|
|
|
|
|
<div v-if="item.flow_field && item.flow_field.length>0">
|
|
|
|
|
<div v-for="field in item.flow_field">
|
|
|
|
|
<span v-if="field.show_in_list">{{field.label}}:{{item.flow_data[field.name]}}</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
</el-table-column>
|
|
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
<template v-slot:btns>
|
|
|
|
|
<el-table-column
|
|
|
|
|
fixed="right"
|
|
|
|
|
@ -531,6 +577,7 @@
|
|
|
|
|
style="margin-top: 10px"
|
|
|
|
|
ref="singlePlanTable"
|
|
|
|
|
>
|
|
|
|
|
|
|
|
|
|
<template v-slot:btns> </template>
|
|
|
|
|
</xy-table>
|
|
|
|
|
|
|
|
|
|
@ -627,7 +674,7 @@ import oaFiles from './components/oaFiles.vue';
|
|
|
|
|
import addContractLedger from '@/views/contract/components/addContractLedger.vue'
|
|
|
|
|
import EditContract from './components/EditContract.vue'
|
|
|
|
|
import { show } from "@/api/away";
|
|
|
|
|
import {flowStatusConfig} from "@/api/common";
|
|
|
|
|
import {flowStatusConfig,listCommonuser} from "@/api/common";
|
|
|
|
|
import {getFundLog} from "@/api/paymentRegistration/fundLog";
|
|
|
|
|
let iframe;
|
|
|
|
|
export default {
|
|
|
|
|
@ -652,6 +699,7 @@ export default {
|
|
|
|
|
|
|
|
|
|
isShowIsFramework: true,
|
|
|
|
|
userList: ["admin"],
|
|
|
|
|
commonPurchasePeople:[],
|
|
|
|
|
nowContract: {},
|
|
|
|
|
window: {
|
|
|
|
|
width: 0,
|
|
|
|
|
@ -683,6 +731,7 @@ export default {
|
|
|
|
|
//搜索
|
|
|
|
|
select: {
|
|
|
|
|
keyword: "",
|
|
|
|
|
apply_user_id:'',
|
|
|
|
|
showDatePicker: "",
|
|
|
|
|
page: 1,
|
|
|
|
|
page_size: 10,
|
|
|
|
|
@ -701,6 +750,7 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
selectCopy: {
|
|
|
|
|
keyword: "",
|
|
|
|
|
apply_user_id:'',
|
|
|
|
|
showDatePicker: "",
|
|
|
|
|
page: 1,
|
|
|
|
|
page_size: 10,
|
|
|
|
|
@ -752,7 +802,7 @@ export default {
|
|
|
|
|
label: "合同编号",
|
|
|
|
|
width: 200,
|
|
|
|
|
prop: 'number',
|
|
|
|
|
align: 'center'
|
|
|
|
|
align: 'center',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: "合同类型",
|
|
|
|
|
@ -936,59 +986,7 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: "采购形式",
|
|
|
|
|
width: 120,
|
|
|
|
|
prop: "purchase_type.value",
|
|
|
|
|
formatter: (cell, data, value) => {
|
|
|
|
|
return value ? value : "无";
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: "项目类型",
|
|
|
|
|
width: 120,
|
|
|
|
|
prop: "type",
|
|
|
|
|
formatter: (cell, data, value) => {
|
|
|
|
|
switch (value) {
|
|
|
|
|
case 1:
|
|
|
|
|
return "服务";
|
|
|
|
|
break;
|
|
|
|
|
case 2:
|
|
|
|
|
return "货物";
|
|
|
|
|
break;
|
|
|
|
|
case 3:
|
|
|
|
|
return "工程";
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
return "无";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: "事前流程",
|
|
|
|
|
prop: "flow_mod_id",
|
|
|
|
|
width: 200,
|
|
|
|
|
hidden: !/contractAll/g.test(this.$route.path),
|
|
|
|
|
customFn:row => {
|
|
|
|
|
return (
|
|
|
|
|
<div>
|
|
|
|
|
<p>
|
|
|
|
|
<span>
|
|
|
|
|
{
|
|
|
|
|
this.flowIds.find(i => i.id === row.flow_mod_id)?.name
|
|
|
|
|
}
|
|
|
|
|
</span>
|
|
|
|
|
{
|
|
|
|
|
row.is_purchase ? "" : (<span style={{ 'color': this.flowStatusColor.get(row.FLOWSTATUS.other.getStatus()) }}>[{ this.flowStatus.get(row.FLOWSTATUS.other.getStatus()) ?? '待申请' }]</span>)
|
|
|
|
|
}
|
|
|
|
|
</p>
|
|
|
|
|
{
|
|
|
|
|
(!row.is_purchase && row.FLOWSTATUS.other.getStatus() > 1) ? (<a on={{['click']:()=>this.toOaDetail('other',row)}}>查看</a>) : ""
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
label: "采购流程",
|
|
|
|
|
multiHd: [
|
|
|
|
|
@ -1087,6 +1085,74 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: "申购人",
|
|
|
|
|
width: 120,
|
|
|
|
|
prop: "apply_user.name",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: "承办人",
|
|
|
|
|
width: 120,
|
|
|
|
|
prop: "undertake_user.name",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: "摘要",
|
|
|
|
|
width: 240,
|
|
|
|
|
prop: "contract_flow_links",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: "采购形式",
|
|
|
|
|
width: 120,
|
|
|
|
|
prop: "purchase_type.value",
|
|
|
|
|
formatter: (cell, data, value) => {
|
|
|
|
|
return value ? value : "无";
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: "项目类型",
|
|
|
|
|
width: 120,
|
|
|
|
|
prop: "type",
|
|
|
|
|
formatter: (cell, data, value) => {
|
|
|
|
|
switch (value) {
|
|
|
|
|
case 1:
|
|
|
|
|
return "服务";
|
|
|
|
|
break;
|
|
|
|
|
case 2:
|
|
|
|
|
return "货物";
|
|
|
|
|
break;
|
|
|
|
|
case 3:
|
|
|
|
|
return "工程";
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
return "无";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: "事前流程",
|
|
|
|
|
prop: "flow_mod_id",
|
|
|
|
|
width: 200,
|
|
|
|
|
hidden: !/contractAll/g.test(this.$route.path),
|
|
|
|
|
customFn:row => {
|
|
|
|
|
return (
|
|
|
|
|
<div>
|
|
|
|
|
<p>
|
|
|
|
|
<span>
|
|
|
|
|
{
|
|
|
|
|
this.flowIds.find(i => i.id === row.flow_mod_id)?.name
|
|
|
|
|
}
|
|
|
|
|
</span>
|
|
|
|
|
{
|
|
|
|
|
row.is_purchase ? "" : (<span style={{ 'color': this.flowStatusColor.get(row.FLOWSTATUS.other.getStatus()) }}>[{ this.flowStatus.get(row.FLOWSTATUS.other.getStatus()) ?? '待申请' }]</span>)
|
|
|
|
|
}
|
|
|
|
|
</p>
|
|
|
|
|
{
|
|
|
|
|
(!row.is_purchase && row.FLOWSTATUS.other.getStatus() > 1) ? (<a on={{['click']:()=>this.toOaDetail('other',row)}}>查看</a>) : ""
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: "组织形式",
|
|
|
|
|
width: 120,
|
|
|
|
|
@ -1467,6 +1533,17 @@ export default {
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
// 一般采购 申购人
|
|
|
|
|
async getCommonPurchasePeople() {
|
|
|
|
|
try {
|
|
|
|
|
this.commonPurchasePeople = (await listCommonuser({
|
|
|
|
|
page:1,
|
|
|
|
|
page_size:999
|
|
|
|
|
}))?.data || []
|
|
|
|
|
} catch (err) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
printFlow (row) {
|
|
|
|
|
let id;
|
|
|
|
|
if (row.purchase_last_flow_id) {
|
|
|
|
|
@ -1869,6 +1946,7 @@ export default {
|
|
|
|
|
var url = "/api/ht/contract/index?is_auth=1&token=" + tokens;
|
|
|
|
|
Object.entries({
|
|
|
|
|
...this.select,
|
|
|
|
|
apply_user_id:this.select.apply_user_id?this.select.apply_user_id:'',
|
|
|
|
|
start_plan_price: this.select['start_plan_price'] ? this.select.start_plan_price : '',
|
|
|
|
|
end_plan_price: this.select['end_plan_price'] ? this.select.end_plan_price : ''
|
|
|
|
|
}).forEach(([key, value], item) => {
|
|
|
|
|
@ -1888,6 +1966,7 @@ export default {
|
|
|
|
|
const res = await getContract({
|
|
|
|
|
is_auth: 1,
|
|
|
|
|
...this.select,
|
|
|
|
|
apply_user_id:this.select.apply_user_id?this.select.apply_user_id:'',
|
|
|
|
|
start_plan_price: this.select['start_plan_price'] ? this.select.start_plan_price : '',
|
|
|
|
|
end_plan_price: this.select['end_plan_price'] ? this.select.end_plan_price : ''
|
|
|
|
|
},noloading);
|
|
|
|
|
@ -2240,6 +2319,7 @@ export default {
|
|
|
|
|
this.window.top = (window.screen.height - 30 - this.window.height) / 2;
|
|
|
|
|
this.window.left = (window.screen.width - 10 - this.window.width) / 2;
|
|
|
|
|
let that = this;
|
|
|
|
|
this.getCommonPurchasePeople()
|
|
|
|
|
getInfo()
|
|
|
|
|
.then((response) => {
|
|
|
|
|
console.log(response);
|
|
|
|
|
|