Преглед на файлове

外包分包字段修改

jzh преди 1 година
родител
ревизия
6a7d720ec3

+ 10 - 56
client_h5/src/pages/outsourcing-apply/index.vue

@@ -9,7 +9,13 @@
               label="合同名称"
               placeholder="合同名称"
               readonly
-              :rules="[{ required: true, message: '未获取合同名称' }]"
+          />
+          <van-field
+              v-model="formData.planSignDate"
+              name="签订时间"
+              label="签订时间"
+              placeholder="签订时间"
+              readonly
           />
           <van-field
               v-model="formData.contractNumber"
@@ -17,7 +23,6 @@
               label="合同编号"
               placeholder="合同编号"
               readonly
-              :rules="[{ required: true, message: '未获取合同编号' }]"
           />
           <van-field
               v-model="formData.contractAmount"
@@ -25,7 +30,6 @@
               label="外包金额(元)"
               placeholder="外包金额(元)"
               readonly
-              :rules="[{ required: true, message: '未获取外包金额(元)' }]"
           />
           <van-field
               v-model="formData.contractOn"
@@ -33,7 +37,6 @@
               label="合同拿出日期"
               placeholder="合同拿出日期"
               readonly
-              :rules="[{ required: true, message: '未获取合同拿出日期' }]"
           />
           <van-field
               v-model="formData.contractOff"
@@ -41,15 +44,13 @@
               label="合同拿回日期"
               placeholder="合同拿回日期"
               readonly
-              :rules="[{ required: true, message: '未获取合同拿回日期' }]"
           />
           <van-field
-              v-model="formData.subReason"
+              v-model="formData.reason"
               name="外包原因细化"
               label="外包原因细化"
               placeholder="外包原因细化"
               readonly
-              :rules="[{ required: true, message: '未获取外包原因细化' }]"
           />
           <van-field
               v-model="formData.bz"
@@ -57,7 +58,6 @@
               label="备注"
               placeholder="备注"
               readonly
-              :rules="[{ required: true, message: '未获取备注' }]"
           />
         </van-cell-group>
       </van-form>
@@ -71,7 +71,6 @@
               label="项目名称"
               placeholder="项目名称"
               readonly
-              :rules="[{ required: true, message: '未获取项目名称' }]"
           />
           <van-field
               v-model="formData.project.xmbh"
@@ -79,7 +78,6 @@
               label="项目编号"
               placeholder="项目编号"
               readonly
-              :rules="[{ required: true, message: '未获取项目编号' }]"
           />
           <van-field
               v-model="formData.contract.name"
@@ -87,7 +85,6 @@
               label="主合同名称"
               placeholder="主合同名称"
               readonly
-              :rules="[{ required: true, message: '未获取主合同名称' }]"
           />
           <van-field
               v-model="formData.contract.contractNumber"
@@ -95,7 +92,6 @@
               label="主合同编号"
               placeholder="主合同编号"
               readonly
-              :rules="[{ required: true, message: '未获取主合同编号' }]"
           />
           <van-field
               v-model="formData.contract.contractAmount"
@@ -103,7 +99,6 @@
               label="主合同金额"
               placeholder="主合同金额"
               readonly
-              :rules="[{ required: true, message: '未获取主合同金额' }]"
           />
           <van-field
               v-model="formData.project.zrbm"
@@ -111,7 +106,6 @@
               label="责任部门"
               placeholder="责任部门"
               readonly
-              :rules="[{ required: true, message: '未获取责任部门' }]"
           />
 
         </van-cell-group>
@@ -121,58 +115,18 @@
       <van-form required="true" ref="form">
         <van-cell-group inset>
           <van-field
-              v-model="formData.clientName"
+              v-model="formData.assigneeName"
               name="委托方"
               label="委托方"
               placeholder="委托方"
               readonly
-              :rules="[{ required: true, message: '未获取委托方' }]"
-          />
-          <van-field
-              v-model="formData.clientNumber"
-              name="委托方编号"
-              label="委托方编号"
-              placeholder="委托方编号"
-              readonly
-              :rules="[{ required: true, message: '未获取委托方编号' }]"
           />
           <van-field
-              v-model="formData.assigneeName"
+              v-model="formData.customerName"
               name="受托方"
               label="受托方"
               placeholder="受托方"
               readonly
-              :rules="[{ required: true, message: '未获取受托方' }]"
-          />
-          <van-field
-              v-model="formData.contract.areaManager"
-              name="区域经理"
-              label="区域经理"
-              placeholder="区域经理"
-              readonly
-              :rules="[{ required: true, message: '未获取区域经理' }]"
-          />
-        </van-cell-group>
-      </van-form>
-    </card>
-    <card title="到期提醒" style="height: auto">
-      <van-form required="true" ref="form">
-        <van-cell-group inset>
-          <van-field
-              v-model="formData.isRemindExpiryc"
-              name="是否到期提醒"
-              label="是否到期提醒"
-              placeholder="是否到期提醒"
-              readonly
-              :rules="[{ required: true, message: '未获取是否到期提醒' }]"
-          />
-          <van-field
-              v-model="formData.planSignDate"
-              name="合同预计签订时间"
-              label="合同预计签订时间"
-              placeholder="合同预计签订时间"
-              readonly
-              :rules="[{ required: true, message: '未获取合同预计签订时间' }]"
           />
         </van-cell-group>
       </van-form>

+ 33 - 0
client_h5/src/pages/subcontract-apply/index.scss

@@ -0,0 +1,33 @@
+.van-cell-group {
+  margin: 0px;
+}
+.van-overlay {
+  background: rgba(0,0,0,0.3);
+}
+.add_btn {
+  background-color: #1989fa;
+  padding: 5px 10px;
+  border: 0px;
+  outline: none;
+  font-size: 13px;
+  color: #fff;
+  border-radius: 2px;
+}
+.detail-popup {
+  >.title {
+    font-size: 15px;
+    padding-left: 10px;
+  }
+  >.fixed-btn {
+    padding: 15px;
+  }
+}
+  :deep(.van-swipe-cell__right) {
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    justify-content: center;
+    >button {
+      height: 50%;
+    }
+  }

+ 258 - 0
client_h5/src/pages/subcontract-apply/index.vue

@@ -0,0 +1,258 @@
+<template>
+  <flow-form :data="formData" @submit="submitNextActivity">
+    <card title="基本信息" style="height: auto">
+      <van-form required="true" ref="form">
+        <van-cell-group inset>
+          <van-field
+              v-model="formData.name"
+              name="合同名称"
+              label="合同名称"
+              placeholder="合同名称"
+              readonly
+          />
+          <van-field
+              v-model="formData.planSignDate"
+              name="签订时间"
+              label="签订时间"
+              placeholder="签订时间"
+              readonly
+          />
+          <van-field
+              v-model="formData.contractNumber"
+              name="合同编号"
+              label="合同编号"
+              placeholder="合同编号"
+              readonly
+          />
+          <van-field
+              v-model="formData.contractAmount"
+              name="分包金额(元)"
+              label="分包金额(元)"
+              placeholder="分包金额(元)"
+              readonly
+          />
+          <van-field
+              v-model="formData.contractOn"
+              name="合同拿出日期"
+              label="合同拿出日期"
+              placeholder="合同拿出日期"
+              readonly
+          />
+          <van-field
+              v-model="formData.contractOff"
+              name="合同拿回日期"
+              label="合同拿回日期"
+              placeholder="合同拿回日期"
+              readonly
+          />
+          <van-field
+              v-model="formData.reason"
+              name="分包理由"
+              label="分包理由"
+              placeholder="分包理由"
+              readonly
+          />
+          <van-field
+              v-model="formData.purchaseRequirements"
+              name="分包采购内容需求"
+              label="分包采购内容需求"
+              placeholder="分包采购内容需求"
+              readonly
+          />
+          <van-field
+              v-model="formData.bz"
+              name="备注"
+              label="备注"
+              placeholder="备注"
+              readonly
+          />
+        </van-cell-group>
+      </van-form>
+    </card>
+    <card title="项目信息" style="height: auto">
+      <van-form required="true" ref="form">
+        <van-cell-group inset>
+          <van-field
+              v-model="formData.project.xmmc"
+              name="项目名称"
+              label="项目名称"
+              placeholder="项目名称"
+              readonly
+          />
+          <van-field
+              v-model="formData.project.xmbh"
+              name="项目编号"
+              label="项目编号"
+              placeholder="项目编号"
+              readonly
+          />
+          <van-field
+              v-model="formData.contract.name"
+              name="主合同名称"
+              label="主合同名称"
+              placeholder="主合同名称"
+              readonly
+          />
+          <van-field
+              v-model="formData.contract.contractNumber"
+              name="主合同编号"
+              label="主合同编号"
+              placeholder="主合同编号"
+              readonly
+          />
+          <van-field
+              v-model="formData.contract.contractAmount"
+              name="主合同金额"
+              label="主合同金额"
+              placeholder="主合同金额"
+              readonly
+          />
+          <van-field
+              v-model="formData.project.zrbm"
+              name="责任部门"
+              label="责任部门"
+              placeholder="责任部门"
+              readonly
+          />
+
+        </van-cell-group>
+      </van-form>
+    </card>
+    <card title="甲乙方信息" style="height: auto">
+      <van-form required="true" ref="form">
+        <van-cell-group inset>
+          <van-field
+              v-model="formData.assigneeName"
+              name="委托方"
+              label="委托方"
+              placeholder="委托方"
+              readonly
+          />
+
+          <van-field
+              v-model="formData.customerName"
+              name="受托方"
+              label="受托方"
+              placeholder="受托方"
+              readonly
+          />
+
+        </van-cell-group>
+      </van-form>
+    </card>
+  </flow-form>
+</template>
+
+<script setup lang="ts">
+import {useRoute} from 'vue-router';
+import {FlowDTO, getNextActivity} from '@/service/flow';
+import reqest from "@/utils/request";
+import FlowForm from '@/components/flowForm.vue';
+import Card from '@/components/card.vue';
+import CardCell from '@/components/cardCell.vue';
+import {DICT_TYPE, getDictLabel} from "@/utils/dict";
+
+const route = useRoute();
+const form = ref(null);
+
+interface FormDataType {
+}
+
+const formData = ref<FormDataType>({
+  contract: {},
+  project: {}
+})
+const detailData = ref({})
+
+
+const {activityInstanceId, participant, flowInstanceId, read} = route.query as {
+  activityInstanceId: string;
+  participant: string;
+  flowInstanceId: string;
+  read: string;
+};
+const activityData: FlowDTO = {
+  activityInstanceId,
+  participantId: participant,
+  flowOpinion: ''
+}
+const submitNextActivity = async (NextActivity: () => Promise<any>) => {
+  NextActivity();
+};
+const jsonToFormData = (json: any): FormData | null => {
+  const keys: string[] = Object.keys(json)
+  if (keys.length > 0) {
+    const formData = new FormData();
+    keys.forEach((key) => {
+      formData.append(key, (json[key] instanceof Object) ? JSON.stringify(json[key]) : json[key]);
+    });
+    return formData;
+  }
+  return null;
+}
+
+
+/** 初始化表单数据 */
+const initFormData = async () => {
+  const result = await reqest.get(`/business/flow/contract-sub/mobileAdd?flowInstanceId=${flowInstanceId}`)
+
+
+  formData.value = result.data;
+  formData.project = result.data.project;
+  formData.contract = result.data.contract;
+
+
+  formData.value.subShareWayText = getDictLabel(DICT_TYPE.SUBCONTRACT_SHARE_WAY, formData.value.subShareWay);
+
+  const isRemindExpiry = formData.value.isRemindExpiry;
+  if (isRemindExpiry != null) {
+    let isRemindExpiryc;
+    switch (isRemindExpiry) {
+      case 0:
+        isRemindExpiryc = "否";
+        break;
+      case 1:
+        isRemindExpiryc = "是";
+        break
+      default:
+        isRemindExpiryc = "";
+    }
+    formData.value.isRemindExpiryc = isRemindExpiryc;
+  }
+
+  let signc;
+  const sign = formData.value.isSign;
+  if (sign != null) {
+    switch (sign) {
+      case 0:
+        signc = "否"
+        break;
+      case 1:
+        signc = "是";
+        break;
+      default:
+        signc = "";
+        break;
+    }
+    formData.value.isSignc = signc;
+  }
+}
+
+
+/** 初始化 */
+onMounted(() => {
+  initFormData()
+})
+</script>
+
+<style lang="scss" scoped>
+@import "./index.scss";
+
+::v-deep .van-field__label {
+  width: auto;
+}
+
+::v-deep .van-field__control {
+  text-align: right;
+}
+</style>

+ 8 - 0
client_h5/src/router/routes.ts

@@ -221,6 +221,14 @@ const routes: RouteRecordRaw[] = [
         },
         component: () => import("@/pages/contract-sub/index.vue"),
       },
+      {
+        path: "subcontract-apply",
+        name: "subcontract-apply",
+        meta: {
+          title: "分包合同签订",
+        },
+        component: () => import("@/pages/subcontract-apply/index.vue"),
+      },
       {
         path: "contract-out",
         name: "contract-out",

+ 2 - 0
zjugis-business/src/main/java/com/zjugis/business/flow/contractSub/controller/vo/ContractSubVO.java

@@ -169,5 +169,7 @@ public class ContractSubVO {
     private String projectTypeCode;
     private String xzqh;
     private Contract contract;
+    private String customerName;
+
 
 }

+ 7 - 0
zjugis-business/src/main/java/com/zjugis/business/flow/contractSub/service/FlowContractSubService.java

@@ -179,6 +179,13 @@ public class FlowContractSubService {
             Contract main = contractService.selectByPrimaryKey(entity.getParentId());
             vo.setContract(main);
         }
+
+        if (StringUtils.isNotBlank(entity.getCustomerId())) {
+            Supplier supplier=supplierService.queryById(entity.getCustomerId());
+            if(supplier!=null){
+                vo.setCustomerName(supplier.getCustomerName());
+            }
+        }
         return vo;
     }