cz 1 gadu atpakaļ
vecāks
revīzija
1fda2c4828

+ 6 - 1
src/components/headerBar/header-bar.vue

@@ -729,11 +729,13 @@ const plugDowload = () => {
 
 <style lang="scss">
 .menuDrawerClass {
-  width: calc(100vw - 500px) !important;
+  // width: calc(100vw - 500px) !important;
+  width: 70% !important;
   background: #fff;
   // position: relative !important;
   top: 50px !important;
   height: calc(100vh - 50px) !important;
+  transition: none !important;
   .el-drawer__header {
     display: none !important;
   }
@@ -741,6 +743,9 @@ const plugDowload = () => {
     padding: 0px !important;
   }
 }
+.open {
+  transition: all 0.3s !important;
+}
 .drawerClass {
   width: 360px !important;
   background: rgba(62, 62, 62, 0.99);

+ 14 - 10
src/components/process/SF/Contract.vue

@@ -64,7 +64,7 @@
                        :remote-method="remoteMethod" :loading="loadingSearch" @input="remoteMethod" style="width: 100%" @change="changeCustomer" v-if="
                   [30].includes(route.query.processType) ||
                   !route.query.processType
-                ">
+                " :disabled="!isEditList">
               <el-option v-for="item in customerList" :key="item.value" :label="item.label" :value="item.value" />
             </el-select>
             <el-select v-model="formData.data.buyCorporationName" disabled v-else style="width: 100%">
@@ -75,7 +75,7 @@
               <el-col :span="6">
                 <el-form-item label="" prop="countryId" class="margin-b-0">
                   <el-select v-model="formData.data.countryId" placeholder="国家" style="width:100%" filterable
-                             @change="(val) => getCityData(val, '20', true)">
+                             @change="(val) => getCityData(val, '20', true)" :disabled="!isEditList">
                     <el-option v-for="item in countryData" :label="item.name" :value="item.id">
                     </el-option>
                   </el-select>
@@ -84,26 +84,27 @@
               <el-col :span="6">
                 <el-form-item label="" prop="provinceName" class="margin-b-0">
                   <selectCity placeholder="省/洲" @change="(val) => getCityData(val, '30', true)" addressId="provinceId" addressName="provinceName"
-                              v-model="formData.data" :data="provinceData">
+                              v-model="formData.data" :data="provinceData" :disabled="!isEditList">
                   </selectCity>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
                 <el-form-item label="" prop="cityName" class="margin-b-0">
-                  <selectCity placeholder="城市" addressId="cityId" addressName="cityName" v-model="formData.data" :data="cityData">
+                  <selectCity placeholder="城市" addressId="cityId" addressName="cityName" v-model="formData.data" :data="cityData"
+                              :disabled="!isEditList">
                   </selectCity>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
                 <el-form-item label="" prop="buyPostalCode" class="margin-b-0">
-                  <el-input v-model="formData.data.buyPostalCode" placeholder="请输入邮编" />
+                  <el-input v-model="formData.data.buyPostalCode" placeholder="请输入邮编" :disabled="!isEditList" />
                 </el-form-item>
               </el-col>
             </el-row>
           </el-form-item>
 
           <el-form-item label="详细地址" prop="buyAddress" class="wid100">
-            <el-input v-model="formData.data.buyAddress" type="textarea">
+            <el-input v-model="formData.data.buyAddress" type="textarea" :disabled="!isEditList">
             </el-input>
           </el-form-item>
           <el-form-item label="联系人" class="wid100" required>
@@ -111,13 +112,13 @@
               <el-col :span="8">
                 <el-form-item label="" prop="buyContactName" label-width="0px" class="margin-b-0 wid100">
                   <el-autocomplete v-model="formData.data.buyContactName" :fetch-suggestions="querySearchPerson" style="width:100%" clearable
-                                   class="inline-input w-50" placeholder="请输入联系人" @select="handlePerson">
+                                   class="inline-input w-50" placeholder="请输入联系人" @select="handlePerson" :disabled="!isEditList">
                   </el-autocomplete>
                 </el-form-item>
               </el-col>
               <el-col :span="16">
                 <el-form-item label="" prop="buyContactNumber" label-width="0px" class="margin-b-0 wid100">
-                  <el-input v-model="formData.data.buyContactNumber" placeholder="请输入联系人电话" />
+                  <el-input v-model="formData.data.buyContactNumber" placeholder="请输入联系人电话" :disabled="!isEditList" />
                 </el-form-item>
               </el-col>
             </el-row>
@@ -360,7 +361,7 @@
 
     <el-dialog v-if="openProductCompany" v-model="openProductCompany" title="公司产品库" width="90%" append-to-body>
       <!-- <SelectCompanyProduct @selectProduct="selectProduct" :alreadySelectData="formData.data.contractProductList"></SelectCompanyProduct> -->
-      <SelectProduct @selectProduct="selectProduct" :isRawMaterial="'1'"></SelectProduct>
+      <SelectProduct @selectProduct="selectProduct" :companyId="formData.data.companyId" :isRawMaterial="'1'"></SelectProduct>
     </el-dialog>
 
     <!-- <el-dialog v-if="copyContract" v-model="copyContract" :title="copyType === 1 ? '合同选择' : '样品单选择'" width="90%" append-to-body>
@@ -503,7 +504,10 @@ const formConfig = computed(() => {
       propsTreeLabel: "deptName",
       propsTreeValue: "deptId",
       itemWidth: 50,
-      disabled: companyId.value != "100",
+      disabled: companyId.value != "100" || !isEditList.value,
+      fn: () => {
+        formData.data.contractProductList = [];
+      },
     },
     {
       type: "title",

+ 3 - 3
src/components/process/SF/Purchase.vue

@@ -377,18 +377,18 @@ const formConfig = computed(() => {
     {
       type: "title",
       title: "基本信息",
-      isShow: formData.data.code,
+      isShow: formData.data.code ? true : false,
     },
     {
       type: "input",
       prop: "code",
       label: "合同号",
-      isShow: formData.data.code,
+      isShow: formData.data.code ? true : false,
     },
     {
       type: "title",
       title: "贸易信息",
-      haveLine: formData.data.code,
+      haveLine: formData.data.code ? true : false,
     },
     {
       type: "slot",

+ 5 - 1
src/components/selectCity/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="select-city" style="width:100%">
-    <el-select clearable filterable :placeholder="placeholder" @change="getCityData" v-model="showModel" style="width: 100%"
+    <el-select clearable filterable :placeholder="placeholder" @change="getCityData" v-model="showModel" :disabled="disabled" style="width: 100%"
                :no-match-text="'无数据,请联系管理员添加'" :no-data-text="'无数据,请联系管理员添加'">
       <el-option v-for="item in data" :label="item.name" :value="item.id"> </el-option>
     </el-select>
@@ -36,6 +36,10 @@ defineProps({
     type: Array,
     default: false,
   },
+  disabled: {
+    type: Boolean,
+    default: false,
+  },
 });
 //监听modelValue的变化
 watch(

+ 1 - 1
src/views/EHSD/saleContract/PriceSheetDetail.vue

@@ -230,7 +230,7 @@ const formConfig = computed(() => {
       type: "input",
       prop: "code",
       label: "报价单号",
-      isShow: formData.data.code,
+      isShow: formData.data.code ? true : false,
     },
     {
       type: "select",

+ 1 - 3
src/views/EHSD/saleContract/priceSheetEHSD/index.vue

@@ -1085,7 +1085,7 @@ const selectProduct = (goods) => {
           productHeight: x.height,
           quantity: x.quantity || null,
           allQuantity: "",
-          price: x.materialPrice || null,
+          price: null,
           amount: "",
           fileList: [],
           type: x.type,
@@ -1519,8 +1519,6 @@ const publicTotalAmount = (val) => {
 
 const handleSubmitOne = () => {
   formDomOne.value.handleSubmit(() => {
-    console.log(formData.data, "adad");
-    return;
     proxy
       .msgConfirm()
       .then((res) => {

+ 27 - 9
src/views/MES/productionMaterial/index.vue

@@ -34,7 +34,7 @@
       </el-tabs>
 
     </div>
-    <el-dialog :title="'打印备料单'" v-model="dialogVisible" width="1200px" destroy-on-close>
+    <el-dialog :title="'打印备料单'" v-model="dialogVisible" v-if="dialogVisible" width="1200px" destroy-on-close>
       <div style="width:100%">
         <div style="height: calc(100vh - 250px); overflow-y: auto; overflow-x: hidden">
           <div class="printBomList" id="pdfDom">
@@ -52,10 +52,10 @@
                 </tr>
               </thead>
               <tbody v-if="printList && printList.length > 0">
-                <tr v-for="(item, index) in printList" :key="index">
+                <tr v-for="(item, index) in printList" :key="item.id">
                   <td style="text-align: center">{{ index +1}}</td>
-                  <td>{{ item.materialName }}</td>
                   <td>{{ item.materialCode }}</td>
+                  <td>{{ item.materialName }}</td>
                   <td style="text-align: center">{{ item.quantity }}</td>
                 </tr>
               </tbody>
@@ -77,6 +77,7 @@ import byTable from "@/components/byTable/index";
 import byForm from "@/components/byForm/index";
 import QRCode from "qrcodejs2-fix";
 import moment from "moment";
+import { toRaw } from "vue";
 
 const { proxy } = getCurrentInstance();
 const loading = ref(false);
@@ -256,23 +257,40 @@ const handleTabChange = (val) => {
 
 const selectData = ref([]);
 const selectRow = (data) => {
-  selectData.value = data;
+  console.log(data, "ss");
+  selectData.value = JSON.parse(JSON.stringify(toRaw(data)));
 };
 const printTime = ref("");
 const printList = ref([]);
 const openModal = () => {
+  // let obj = {};
+  printList.value = [];
+  // for (let i = 0; i < selectData.value.length; i++) {
+  //   const e = selectData.value[i];
+  //   if (obj[e.materialId]) {
+  //     obj[e.materialId].quantity += e.quantity;
+  //   } else {
+  //     obj[e.materialId] = e;
+  //   }
+  // }
   let list = [];
   for (let i = 0; i < selectData.value.length; i++) {
-    const e = selectData.value[i];
     if (i == 0) {
-      list.push(e);
+      list.push(selectData.value[i]);
     } else {
-      const index = list.findIndex((x) => x.materialId == e.materialId);
-      if (index > 0) {
-        list[index].quantity += e.quantity;
+      let index = list.findIndex(
+        (x) => x.materialId == selectData.value[i].materialId
+      );
+      if (index >= 0) {
+        list[index].quantity =
+          list[index].quantity + selectData.value[i].quantity;
+      } else {
+        list.push(selectData.value[i]);
       }
     }
   }
+  // console.log(obj, "ssaa");
+  // printList.value = Object.values(obj);
   printList.value = list;
   printTime.value = moment().format("yyyy-MM-DD HH:mm:ss");
   dialogVisible.value = true;

+ 6 - 7
src/views/MES/productionTask/index.vue

@@ -40,12 +40,11 @@
     <el-dialog :title="'打印二维码'" v-model="dialogVisible" width="350px" destroy-on-close>
       <div>
         <div id="pdfDom" style="width:100%">
-          <div style="font-size:20px;text-align:center">
+          <!-- <div style="font-size:20px;text-align:center">
             {{printData.name}}
-          </div>
+          </div> -->
           <div style="border-top: 1px solid #000;border-bottom: 1px solid #000; padding: 10px 0; margin:10px auto;text-align:center">
             <div :ref="printData.id" style="width:200px;margin-left:55px">
-              {{printData.scanValue}}
             </div>
             <div style="font-size:20px;text-align:center;font-weight:700;margin-top:10px">
               {{printData.createTime}}
@@ -54,15 +53,15 @@
             <!-- <div style="page-break-after: always"></div> -->
           </div>
           <div style="margin-left:10px;display:flex;flex-direction:column;justify-content:space-around">
-            <div style="font-size:14px;margin-top:8px"> 产品编码:{{printData.productName}}</div>
+            <div style="font-size:14px;margin-top:8px"> 产品编码:{{printData.productCode}}</div>
             <div style="font-size:14px;margin-top:8px">
-              产品名称:{{printData.productSpec}}
+              产品名称:{{printData.productName}}
             </div>
             <div style="font-size:14px;margin-top:8px">
-              原材料编码:{{printData.productSpec}}
+              原材料编码:{{printData.rawMaterialCode}}
             </div>
             <div style="font-size:14px;margin-top:8px">
-              原材料名称:{{printData.productSpec}}
+              原材料名称:{{printData.rawMaterialName}}
             </div>
           </div>
         </div>