diff --git a/.gitignore b/.gitignore
index c538dee..2a5b70b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,3 +17,5 @@ tests/**/coverage/
*.ntvs*
*.njsproj
*.sln
+!/.env.production
+!/.env.development
diff --git a/src/views/contract/contractEdit.vue b/src/views/contract/contractEdit.vue
index ca8a990..3133ff7 100644
--- a/src/views/contract/contractEdit.vue
+++ b/src/views/contract/contractEdit.vue
@@ -125,185 +125,235 @@
/>
-
-
-
-
-
-
- (水电煤等费用付款)
-
+
+
+
+
-
-
-
+
+ (水电煤等费用付款)
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+ :parser="(value) => value.replace(/\$\s?|(,*)/g, '')"
+ >
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+ {
form.money_way_id = e.length > 0 ? e.toString() : '';
}
"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+ 请选择关联的框架协议合同
+
+
+ {{ i.name.slice(0,17) }}
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
- 请选择关联的框架协议合同
-
-
- {{ i.name.slice(0,17) }}
-
-
+
+
+
@@ -665,7 +715,7 @@
shape="circle"
@click="
$router.push({
- path: '/contract/contract/contractList',
+ path: isLedger ? '/contract/contract/contractLedger' : '/contract/contract/contractList',
query: {
keyword: form.name,
},
@@ -734,6 +784,11 @@ export default {
{ label: "货物", value: 2 },
{ label: "工程", value: 3 },
], //项目类型
+ contractTypes: [
+ { label: "收入类", value: 1 },
+ { label: "支出类", value: 2 },
+ { label: "技术协议", value: 3 },
+ ],
form: {
type: "",
is_plan: 1,
@@ -778,182 +833,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) {
+ // 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",
+ // },
+ // ],
+ // },
plans: [],
planSelect: {
name: "",
@@ -1211,7 +1266,28 @@ export default {
},
resetForm() {
- this.form = {
+ this.form = this.isLedger ? {
+ name: "",
+ contract_type: 1,
+ number: "",
+ supply: "",
+ money: 0,
+ start_date: "",
+ end_date: "",
+ guarantee_money: "",
+ guarantee_year: "",
+ date: this.$moment().format('YYYY-MM-DD'),
+ is_contract: 1,
+ is_framework: "",
+ purchase_status: 3,
+ invite_status: 3,
+ files: [],
+ contract_plan_links: this.planSelections.map((i) => ({
+ plan_id: i.id,
+ use_money: i._inputMoney,
+ new_money: i.money,
+ })),
+ } : {
type: "",
is_plan: 1,
purchase_type_id: "",
@@ -1247,22 +1323,12 @@ export default {
this.form.contract_to_contracts.splice(this.form.contract_to_contracts.findIndex(j => j.to_contract_id === i.id),1)
this.$refs['contractToContractsTable']?.toggleRowSelection(this.$refs['contractToContractsTable']?.getSelection().find(j => i.id === j.id),true)
},
- // selectionChange(selection) {
- // this.selections = Array.from(
- // new Set(
- // selection
- // )
- // );
- // },
- // delSelections(val) {
- // this.selections.map((item, index) => {
- // if (item.id === val.id) {
- // this.selections.splice(index, 1)
- // }
- // })
- // },
},
computed: {
+ isLedger () {
+ return this.$route.query.isLedger;
+ },
+
isShowIsFramework() {
let temp1 = this.form.purchase_type_id;
let temp2 = this.form.use_framework_buy;
@@ -1285,6 +1351,236 @@ export default {
contractToContractsSelections () {
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() {
@@ -1318,6 +1614,13 @@ export default {
}
});
},
+ beforeRouteEnter(to, from, next) {
+ next(vm => {
+ const { contractId } = to.query
+ vm.contractId = contractId;
+ if (contractId) vm.setType('edit');
+ })
+ }
};
diff --git a/src/views/contract/contractLedger.vue b/src/views/contract/contractLedger.vue
index af7374b..e6a838b 100644
--- a/src/views/contract/contractLedger.vue
+++ b/src/views/contract/contractLedger.vue
@@ -214,7 +214,12 @@
diff --git a/src/views/contract/contractList.vue b/src/views/contract/contractList.vue
index da82e44..a4d1d40 100644
--- a/src/views/contract/contractList.vue
+++ b/src/views/contract/contractList.vue
@@ -251,7 +251,12 @@