songxy hai 1 ano
pai
achega
9c18550f7e

+ 12 - 0
client/src/service/system.ts

@@ -74,6 +74,18 @@ export const getAreaTree = async () => {
   })
 }
 
+/**
+ * 获取供应商列表
+ */
+export const getSupplierTree = async () => {
+  return await request.get(
+    {
+      url: '/supplier-tree'
+    },
+    '/business'
+  )
+}
+
 /**
  * 获取字典
  */

+ 51 - 14
client/src/views/OaSystem/projectCenter/projectDetail/components/xmht/index.vue

@@ -451,7 +451,18 @@
               </td>
               <td class="th">供应商:</td>
               <td>
-                <el-input v-model="cContractDetail.applyWorkerDept" :disabled="!editor" />
+                <el-select
+                  v-model="cContractDetail.supplierId"
+                  :disabled="!editor"
+                  style="width: 100%"
+                >
+                  <el-option
+                    v-for="(item, index) in supplierList"
+                    :key="index"
+                    :label="item['name']"
+                    :value="item['id']"
+                  />
+                </el-select>
               </td>
             </tr>
             <tr>
@@ -513,7 +524,12 @@
             <tr>
               <td class="th">付款条件:</td>
               <td colspan="3">
-                {{ cContractDetail?.paymentTerms ?? '' }}
+                <el-input
+                  type="textarea"
+                  :rows="4"
+                  v-model="cContractDetail.paymentTerms"
+                  :disabled="!editor"
+                />
               </td>
             </tr>
             <tr>
@@ -542,7 +558,18 @@
               </td>
               <td class="th">供应商:</td>
               <td>
-                <el-input v-model="cContractDetail.applyWorkerDept" :disabled="!editor" />
+                <el-select
+                  v-model="cContractDetail.supplierId"
+                  :disabled="!editor"
+                  style="width: 100%"
+                >
+                  <el-option
+                    v-for="(item, index) in supplierList"
+                    :key="index"
+                    :label="item['name']"
+                    :value="item['id']"
+                  />
+                </el-select>
               </td>
             </tr>
             <tr>
@@ -576,29 +603,29 @@
             <tr>
               <td class="th">签订时间:</td>
               <td>
-                <span v-if="!editor && !cContractDetail.qualityControllerId"></span>
+                <span v-if="!editor && !cContractDetail.planSignDate"></span>
                 <el-date-picker
                   v-else
                   style="width: 100%"
                   :disabled="!editor"
-                  v-model="cContractDetail.qualityControllerId"
+                  v-model="cContractDetail.planSignDate"
                   type="date"
                   value-format="YYYY-MM-DD"
                   placeholder="请选择签订时间"
                 />
               </td>
-              <td class="th">是否需要签订合同:</td>
-              <td>
-                <el-radio-group v-model="cContractDetail.isSign" :disabled="!editor">
-                  <el-radio :label="1">是</el-radio>
-                  <el-radio :label="0">否</el-radio>
-                </el-radio-group>
-              </td>
+              <td class="th"></td>
+              <td> </td>
             </tr>
             <tr>
               <td class="th">付款条件:</td>
               <td colspan="3">
-                {{ cContractDetail?.paymentTerms ?? '' }}
+                <el-input
+                  type="textarea"
+                  :rows="4"
+                  v-model="cContractDetail.paymentTerms"
+                  :disabled="!editor"
+                />
               </td>
             </tr>
             <tr>
@@ -649,6 +676,7 @@ import {
   getContractPaymentCalc,
   productSoftpatent
 } from '@/service/contract'
+import { getSupplierTree } from '@/service/system'
 import { useQuery, useMutation } from '@tanstack/vue-query'
 import { Contract } from '@/interface/contract'
 
@@ -674,7 +702,16 @@ const mContractDetail = ref<Contract>({} as Contract)
 const cContractDetail = ref<any>()
 const mContractDetails = ref<any[]>([])
 const childrenContracts = ref<any[]>([])
-
+/**
+ * 供应商列表
+ */
+const supplierList = ref<any[]>([])
+const supplierTree = () => {
+  getSupplierTree().then((result) => {
+    supplierList.value = result
+  })
+}
+supplierTree()
 /***
  * 软件产品列表
  */

+ 14 - 2
client_h5/src/pages/loan/index.vue

@@ -103,6 +103,7 @@
     </card>
   </flow-form>
   <van-popup v-model:show="showPicker" position="bottom">
+    <van-field v-model="searchXmmc" placeholder="请搜索项目" @update:model-value="searchHandle()"/>
     <van-picker
       :columns="columns"
       @confirm="onConfirm"
@@ -119,7 +120,8 @@
     />
   </van-popup>
   <van-popup v-model:show="showPicker2" position="bottom">
-    <van-datetime-picker
+    <van-date-picker
+      v-model="currentDate"
       type="year-month-day"
       @confirm="onConfirm2"
       @cancel="showPicker2 = false"
@@ -191,6 +193,8 @@ const onConfirm1 = (value) => {
   formData.value.payCompany = value.selectedOptions[0].name;
   showPicker1.value = false;
 };
+const date = new Date();
+const currentDate = ref<string[]>([date.getFullYear().toString(), (date.getMonth() + 1).toString(), date.getDate().toString()])
 const onConfirm2 = (value) => {
   formData.value.agreedPayTime = value.selectedValues[0];
   showPicker2.value = false;
@@ -252,10 +256,18 @@ const initFormData = async () => {
   );
   formData.value = result.data;
 };
+const searchXmmc = ref<string>('')
 const getProjectList = async () => {
-  const result = await reqest.get(`/business/project/getListByUser`);
+  const result = await reqest.post(`/business/project/getListByUser`, {
+    data: {
+      xmmc: searchXmmc.value
+    }
+  });
   columns = result.data;
 };
+const searchHandle = () => {
+  getProjectList()
+}
 const getCompanyList = async () => {
   const result = await reqest.get(`/business/common/company-tree`);
   columns1 = result.data;