|
|
|
|
@ -196,6 +196,16 @@
|
|
|
|
|
<span style="flex: 1; text-align: right">(无需采购流程,如水电邮寄费等)</span>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item prop="is_trade" label="是否为工会项目">
|
|
|
|
|
<el-switch
|
|
|
|
|
v-model="form.is_trade"
|
|
|
|
|
active-text="是"
|
|
|
|
|
inactive-text="否"
|
|
|
|
|
:active-value="1"
|
|
|
|
|
:inactive-value="0"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item prop="flow_mod_id" label="事前流程">
|
|
|
|
|
<el-select v-model="form.flow_mod_id" style="width: 100%">
|
|
|
|
|
<el-option v-for="item in flowIds" :key="item.id" :value="item.id" :label="item.name"></el-option>
|
|
|
|
|
@ -227,7 +237,7 @@
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-else>
|
|
|
|
|
<el-form-item prop="type" label="项目类型">
|
|
|
|
|
<el-form-item prop="type" label="项目类型" v-if="isNeedMore">
|
|
|
|
|
<el-select
|
|
|
|
|
clearable
|
|
|
|
|
placeholder="请选择项目类型"
|
|
|
|
|
@ -242,7 +252,7 @@
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item prop="purchase_type_id" label="采购形式">
|
|
|
|
|
<el-form-item prop="purchase_type_id" label="采购形式" v-if="isNeedMore">
|
|
|
|
|
<el-select
|
|
|
|
|
ref="purchaseTypeInput"
|
|
|
|
|
clearable
|
|
|
|
|
@ -258,7 +268,7 @@
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item prop="purchase_way_id" label="采购方式">
|
|
|
|
|
<el-form-item prop="purchase_way_id" label="采购方式" v-if="isNeedMore">
|
|
|
|
|
<el-select
|
|
|
|
|
clearable
|
|
|
|
|
placeholder="请选择采购方式"
|
|
|
|
|
@ -273,7 +283,7 @@
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item prop="group_type" label="组织形式">
|
|
|
|
|
<el-form-item prop="group_type" label="组织形式" v-if="isNeedMore">
|
|
|
|
|
<el-select
|
|
|
|
|
clearable
|
|
|
|
|
placeholder="请选择组织形式"
|
|
|
|
|
@ -288,7 +298,7 @@
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item prop="money_way_id" label="资金渠道">
|
|
|
|
|
<el-form-item prop="money_way_id" label="资金渠道" v-if="isNeedMore">
|
|
|
|
|
<el-select
|
|
|
|
|
multiple
|
|
|
|
|
size="small"
|
|
|
|
|
@ -314,7 +324,7 @@
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item prop="plan_price" label="采购预算价(元)">
|
|
|
|
|
<el-form-item prop="plan_price" label="预算价(元)">
|
|
|
|
|
<InputNumber
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
:min="0"
|
|
|
|
|
@ -847,6 +857,7 @@ import { getBudget } from "@/api/budget/budget";
|
|
|
|
|
|
|
|
|
|
import { getInfo } from "@/api/user.js";
|
|
|
|
|
import { listdeptNoAuth } from '@/api/system/department'
|
|
|
|
|
import {deepCopy} from "@/utils";
|
|
|
|
|
export default {
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
@ -854,31 +865,38 @@ export default {
|
|
|
|
|
flowIds: [
|
|
|
|
|
{
|
|
|
|
|
id: 5,
|
|
|
|
|
name: "办公用品采购"
|
|
|
|
|
name: "办公用品采购",
|
|
|
|
|
type: 1 //是否需要形式等
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 12,
|
|
|
|
|
name: "物资购置"
|
|
|
|
|
name: "物资购置",
|
|
|
|
|
type: 1
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 19,
|
|
|
|
|
name: "政府采购流转"
|
|
|
|
|
name: "政府采购流转",
|
|
|
|
|
type: 2
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 29,
|
|
|
|
|
name: "政府小额采购"
|
|
|
|
|
name: "政府小额采购",
|
|
|
|
|
type: 2
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 22,
|
|
|
|
|
name: "公务接待"
|
|
|
|
|
name: "公务接待",
|
|
|
|
|
type: 1
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 23,
|
|
|
|
|
name: "会议费用"
|
|
|
|
|
name: "会议费用",
|
|
|
|
|
type: 1
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 28,
|
|
|
|
|
name: "培训费"
|
|
|
|
|
name: "培训费",
|
|
|
|
|
type: 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
],
|
|
|
|
|
@ -923,7 +941,8 @@ export default {
|
|
|
|
|
content: "",
|
|
|
|
|
contract_to_contracts: [],
|
|
|
|
|
outcome_type: 1,
|
|
|
|
|
is_purchase: 1
|
|
|
|
|
is_purchase: 1,
|
|
|
|
|
is_trade: 0
|
|
|
|
|
},
|
|
|
|
|
planTypes: [],
|
|
|
|
|
departments: [],
|
|
|
|
|
@ -953,182 +972,182 @@ export default {
|
|
|
|
|
label: "已办结",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
// rules: {
|
|
|
|
|
// name: [
|
|
|
|
|
// {
|
|
|
|
|
// required: true,
|
|
|
|
|
// message: "必填",
|
|
|
|
|
// trigger: "blur",
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// validator: async (rule, value, callback) => {
|
|
|
|
|
// if (!this.hasValue(value)) {
|
|
|
|
|
// callback(new Error("必填"));
|
|
|
|
|
// } else {
|
|
|
|
|
// const { msg } = await checkContractName({ name: value });
|
|
|
|
|
// if (msg === "未重名") {
|
|
|
|
|
// callback();
|
|
|
|
|
// } else {
|
|
|
|
|
// callback(new Error(msg));
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
// trigger: "blur",
|
|
|
|
|
// },
|
|
|
|
|
// ],
|
|
|
|
|
// supply: [
|
|
|
|
|
// {
|
|
|
|
|
// validator: (rule, value, callback) => {
|
|
|
|
|
// if (this.form.is_simple) {
|
|
|
|
|
// if (!this.hasValue(value)) {
|
|
|
|
|
// callback(new Error("必填"));
|
|
|
|
|
// } else {
|
|
|
|
|
// callback();
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// callback();
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
// trigger: "change",
|
|
|
|
|
// },
|
|
|
|
|
// ],
|
|
|
|
|
// type: [
|
|
|
|
|
// {
|
|
|
|
|
// validator: (rule, value, callback) => {
|
|
|
|
|
// if (!this.form.is_simple) {
|
|
|
|
|
// if (!this.hasValue(value)) {
|
|
|
|
|
// callback(new Error("必填"));
|
|
|
|
|
// } else {
|
|
|
|
|
// callback();
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// callback();
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
// trigger: "change",
|
|
|
|
|
// },
|
|
|
|
|
// ],
|
|
|
|
|
// purchase_type_id: [
|
|
|
|
|
// {
|
|
|
|
|
// validator: (rule, value, callback) => {
|
|
|
|
|
// if (!this.form.is_simple) {
|
|
|
|
|
// if (!this.hasValue(value)) {
|
|
|
|
|
// callback(new Error("必填"));
|
|
|
|
|
// } else {
|
|
|
|
|
// callback();
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// callback();
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
// trigger: "change",
|
|
|
|
|
// },
|
|
|
|
|
// ],
|
|
|
|
|
// purchase_way_id: [
|
|
|
|
|
// {
|
|
|
|
|
// validator: (rule, value, callback) => {
|
|
|
|
|
// if (!this.form.is_simple) {
|
|
|
|
|
// if (!this.hasValue(value)) {
|
|
|
|
|
// callback(new Error("必填"));
|
|
|
|
|
// } else {
|
|
|
|
|
// callback();
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// callback();
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
// trigger: "change",
|
|
|
|
|
// },
|
|
|
|
|
// ],
|
|
|
|
|
// money: [
|
|
|
|
|
// {
|
|
|
|
|
// validator: (rule, value, callback) => {
|
|
|
|
|
// if (this.form.is_simple) {
|
|
|
|
|
// if (!this.hasValue(value)) {
|
|
|
|
|
// callback(new Error("必填"));
|
|
|
|
|
// } else {
|
|
|
|
|
// if (/^\d+(\.\d+)?$/.test(value)) {
|
|
|
|
|
// callback();
|
|
|
|
|
// } else {
|
|
|
|
|
// callback(new Error("必须为数字"));
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// callback();
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
// trigger: "blur",
|
|
|
|
|
// },
|
|
|
|
|
// ],
|
|
|
|
|
// plan_money: [
|
|
|
|
|
// {
|
|
|
|
|
// validator: (rule, value, callback) => {
|
|
|
|
|
// if (!this.form.is_simple) {
|
|
|
|
|
// if (!this.hasValue(value)) {
|
|
|
|
|
// callback(new Error("必填"));
|
|
|
|
|
// } else {
|
|
|
|
|
// if (/^\d+(\.\d+)?$/.test(value)) {
|
|
|
|
|
// callback();
|
|
|
|
|
// } else {
|
|
|
|
|
// callback(new Error("必须为数字"));
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// callback();
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
// trigger: "blur",
|
|
|
|
|
// },
|
|
|
|
|
// ],
|
|
|
|
|
// money_way_id: [
|
|
|
|
|
// {
|
|
|
|
|
// validator: (rule, value, callback) => {
|
|
|
|
|
// if (!this.form.is_simple) {
|
|
|
|
|
// if (!this.hasValue(value)) {
|
|
|
|
|
// callback(new Error("必填"));
|
|
|
|
|
// } else {
|
|
|
|
|
// callback();
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// callback();
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
// trigger: "change",
|
|
|
|
|
// },
|
|
|
|
|
// ],
|
|
|
|
|
// contract_plan_links: [
|
|
|
|
|
// {
|
|
|
|
|
// validator: (rule, value, callback) => {
|
|
|
|
|
// if (this.form.is_plan) {
|
|
|
|
|
// if (this.form.contract_plan_links.length === 0) {
|
|
|
|
|
// return callback(new Error("必选"));
|
|
|
|
|
// } else {
|
|
|
|
|
// callback();
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// callback();
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
// trigger: "change",
|
|
|
|
|
// },
|
|
|
|
|
// ],
|
|
|
|
|
// contract_to_contracts: [
|
|
|
|
|
// {
|
|
|
|
|
// validator: (rule, value, callback) => {
|
|
|
|
|
// if (this.form.use_framework_buy) {
|
|
|
|
|
// if (this.form.contract_to_contracts.length === 0) {
|
|
|
|
|
// return callback(new Error("必选"));
|
|
|
|
|
// } else {
|
|
|
|
|
// callback();
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// callback();
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
// trigger: "change",
|
|
|
|
|
// },
|
|
|
|
|
// ],
|
|
|
|
|
// },
|
|
|
|
|
rules: {
|
|
|
|
|
name: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: "必填",
|
|
|
|
|
trigger: "blur",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
validator: async (rule, value, callback) => {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
const { msg } = await checkContractName({ name: value });
|
|
|
|
|
if (msg === "未重名") {
|
|
|
|
|
callback();
|
|
|
|
|
} else {
|
|
|
|
|
callback(new Error(msg));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "blur",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
supply: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (this.form.is_simple) {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
type: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (!this.form.is_simple || !this.isNeedMore) {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
purchase_type_id: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (!this.form.is_simple || !this.isNeedMore) {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
purchase_way_id: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (!this.form.is_simple || !this.isNeedMore) {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
money: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (this.form.is_simple) {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
if (/^\d+(\.\d+)?$/.test(value)) {
|
|
|
|
|
callback();
|
|
|
|
|
} else {
|
|
|
|
|
callback(new Error("必须为数字"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "blur",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
plan_money: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (!this.form.is_simple) {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
if (/^\d+(\.\d+)?$/.test(value)) {
|
|
|
|
|
callback();
|
|
|
|
|
} else {
|
|
|
|
|
callback(new Error("必须为数字"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "blur",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
money_way_id: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (!this.form.is_simple) {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
contract_plan_links: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (this.form.is_plan) {
|
|
|
|
|
if (this.form.contract_plan_links.length === 0) {
|
|
|
|
|
return callback(new Error("必选"));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
contract_to_contracts: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (this.form.use_framework_buy) {
|
|
|
|
|
if (this.form.contract_to_contracts.length === 0) {
|
|
|
|
|
return callback(new Error("必选"));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
plans: [],
|
|
|
|
|
planSelect: {
|
|
|
|
|
name: "",
|
|
|
|
|
@ -1313,6 +1332,25 @@ export default {
|
|
|
|
|
})
|
|
|
|
|
)?.detail || [];
|
|
|
|
|
},
|
|
|
|
|
//事前流程
|
|
|
|
|
async getFlowIds () {
|
|
|
|
|
let copy = deepCopy(this.flowIds)
|
|
|
|
|
const res = await getparameter({
|
|
|
|
|
number: "flow_ids"
|
|
|
|
|
})
|
|
|
|
|
try {
|
|
|
|
|
this.flowIds = res?.detail?.map(i => {
|
|
|
|
|
let data = JSON.parse(i.remark)
|
|
|
|
|
return {
|
|
|
|
|
name: i.value,
|
|
|
|
|
...data
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}catch (e) {
|
|
|
|
|
this.flowIds = copy
|
|
|
|
|
}
|
|
|
|
|
console.log(this.flowIds)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
getDepartment() {
|
|
|
|
|
listdeptNoAuth().then((res) => {
|
|
|
|
|
@ -1394,6 +1432,7 @@ export default {
|
|
|
|
|
} else {
|
|
|
|
|
this.form.contract_plan_links = []
|
|
|
|
|
}
|
|
|
|
|
this.form.is_purchase = this.flowIds.find(i => i.id == this.form.flow_mod_id)?.type == 2 ? 1 : 0;
|
|
|
|
|
if (this.type === 'add') {
|
|
|
|
|
addContrant(this.form,true).then(res => {
|
|
|
|
|
this.btnLoading = false
|
|
|
|
|
@ -1439,21 +1478,36 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
async buyProcess(row) {
|
|
|
|
|
let baseInfo = {
|
|
|
|
|
title: row?.name,
|
|
|
|
|
iszhengfucaigou:
|
|
|
|
|
(row.purchase_type?.value === "政府采购") ? "政府采购" : "否",
|
|
|
|
|
out_caigou_id: row.id,
|
|
|
|
|
type: this.types.find((item) => {
|
|
|
|
|
return item.value === row.type;
|
|
|
|
|
})?.label,
|
|
|
|
|
yusuan: row?.plan_price?.toString(),
|
|
|
|
|
zijinlaiyuan: row.money_way_detail?.value,
|
|
|
|
|
zijinlaiyuanjuti: row?.plans.reduce((pre,cur,index)=>(index === 0 ? (`【${cur?.year}】${cur?.name}`) : (pre+`,【${cur?.year}】${cur?.name}`)),"")
|
|
|
|
|
};
|
|
|
|
|
let url = `${process.env.VUE_APP_OUT_OLD}?s=/flow/add/modid/8&auth_token=${this.$store.getters.oa_token}&out_caigou_id=${
|
|
|
|
|
let baseInfo = {}
|
|
|
|
|
switch (row.flow_mod_id) {
|
|
|
|
|
case 12:
|
|
|
|
|
baseInfo = {
|
|
|
|
|
"6583b42c5c29a": row.name,
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 5:
|
|
|
|
|
baseInfo = {
|
|
|
|
|
"65b37c797845d": row.name,
|
|
|
|
|
"65b37c8facfc9": row.content,
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 29:
|
|
|
|
|
case 19:
|
|
|
|
|
baseInfo = {
|
|
|
|
|
"65852a58c7bad": row.name,
|
|
|
|
|
"65852ae259b09": this.purchaseWay.find(i => i.id === row.purchase_way_id)?.value,
|
|
|
|
|
"65852ba4697e7": row?.plans.reduce((pre,cur,index)=>(index === 0 ? cur?.name : pre+cur?.name+","),""),
|
|
|
|
|
"65852bd7afd2f": row.plan_price,
|
|
|
|
|
"65852bc914b8d": row.plan_price,
|
|
|
|
|
"65852c08d98f5": row.content,
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
// let res = await getOatoken()
|
|
|
|
|
let url = `${process.env.VUE_APP_OUT_OLD}/flow/create/${row.flow_mod_id}?auth_token=${this.$store.getters.oa_token}&out_contract_id=${
|
|
|
|
|
row.id
|
|
|
|
|
}&contract_json=${JSON.stringify(baseInfo)}`;
|
|
|
|
|
}&default_json=${JSON.stringify(baseInfo)}`;
|
|
|
|
|
console.log('url',url)
|
|
|
|
|
window.open(
|
|
|
|
|
url,
|
|
|
|
|
"buyProcess",
|
|
|
|
|
@ -1511,7 +1565,8 @@ export default {
|
|
|
|
|
content: "",
|
|
|
|
|
contract_to_contracts: [],
|
|
|
|
|
outcome_type: 1,
|
|
|
|
|
is_purchase: 1
|
|
|
|
|
is_purchase: 1,
|
|
|
|
|
is_trade: 0
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
this.$refs["form"].clearValidate();
|
|
|
|
|
@ -1553,6 +1608,12 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
isNeedMore () {
|
|
|
|
|
console.log(this.form.flow_mod_id)
|
|
|
|
|
//是否需要组织形式等
|
|
|
|
|
return this.flowIds.find(i => i.id === this.form.flow_mod_id)?.type === 2
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
purchaseWayFormat() {
|
|
|
|
|
return function () {
|
|
|
|
|
if (!this.form.purchase_type_id) {
|
|
|
|
|
@ -1592,236 +1653,6 @@ export default {
|
|
|
|
|
let temp = this.form.contract_to_contracts;
|
|
|
|
|
return this.$refs["contractToContractsTable"]?.getSelection() || []
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
rules() {
|
|
|
|
|
return this.isLedger ? {
|
|
|
|
|
name: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: "必填",
|
|
|
|
|
trigger: "blur",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
validator: async (rule, value, callback) => {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
const { msg } = await checkContractName({ name: value });
|
|
|
|
|
if (msg === "未重名") {
|
|
|
|
|
callback();
|
|
|
|
|
} else {
|
|
|
|
|
callback(new Error(msg));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "blur",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
supply: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
money: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
if (/^\d+(\.\d+)?$/.test(value)) {
|
|
|
|
|
callback();
|
|
|
|
|
} else {
|
|
|
|
|
callback(new Error("必须为数字"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "blur",
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
} : {
|
|
|
|
|
name: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: "必填",
|
|
|
|
|
trigger: "blur",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
validator: async (rule, value, callback) => {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
const { msg } = await checkContractName({ name: value });
|
|
|
|
|
if (msg === "未重名") {
|
|
|
|
|
callback();
|
|
|
|
|
} else {
|
|
|
|
|
callback(new Error(msg));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "blur",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
supply: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (this.form.is_simple) {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
type: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (!this.form.is_simple) {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
purchase_type_id: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (!this.form.is_simple) {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
purchase_way_id: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (!this.form.is_simple) {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
money: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (this.form.is_simple) {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
if (/^\d+(\.\d+)?$/.test(value)) {
|
|
|
|
|
callback();
|
|
|
|
|
} else {
|
|
|
|
|
callback(new Error("必须为数字"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "blur",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
plan_money: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (!this.form.is_simple) {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
if (/^\d+(\.\d+)?$/.test(value)) {
|
|
|
|
|
callback();
|
|
|
|
|
} else {
|
|
|
|
|
callback(new Error("必须为数字"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "blur",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
money_way_id: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (!this.form.is_simple) {
|
|
|
|
|
if (!this.hasValue(value)) {
|
|
|
|
|
callback(new Error("必填"));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
contract_plan_links: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (this.form.is_plan) {
|
|
|
|
|
if (this.form.contract_plan_links.length === 0) {
|
|
|
|
|
return callback(new Error("必选"));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
contract_to_contracts: [
|
|
|
|
|
{
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
if (this.form.use_framework_buy) {
|
|
|
|
|
if (this.form.contract_to_contracts.length === 0) {
|
|
|
|
|
return callback(new Error("必选"));
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
callback();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
trigger: "change",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
created() {
|
|
|
|
|
this.window.width = screen.availWidth * 0.95;
|
|
|
|
|
@ -1835,6 +1666,7 @@ export default {
|
|
|
|
|
this.getMoneyWay();
|
|
|
|
|
this.getPurchaseType();
|
|
|
|
|
this.getPurchaseWay();
|
|
|
|
|
this.getFlowIds();
|
|
|
|
|
this.boxheight = document.documentElement.clientHeight - 400;
|
|
|
|
|
},
|
|
|
|
|
watch: {
|
|
|
|
|
|