qukaidi vor 3 Jahren
Ursprung
Commit
1284bd9e64

+ 4 - 6
src/views/importTrade/invoice/detailsPageEdit.vue

@@ -59,8 +59,7 @@
     </div>
     <div class="customer-main">
       <el-form :model="form" ref="form" label-width="130px" class="demo-ruleForm">
-        <containerTitle title="基础信息"></containerTitle>
-        <basic-container style="margin-bottom: 10px">
+        <trade-card title="基础信息">
           <el-row>
             <el-col v-for="(item,index) in basicData.column" :key="index" :span="item.span?item.span:8">
               <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
@@ -92,9 +91,8 @@
               </el-form-item>
             </el-col>
           </el-row>
-        </basic-container>
-        <containerTitle title="发货明细"></containerTitle>
-        <basic-container style="margin-bottom: 10px">
+        </trade-card>
+        <trade-card  title="发货明细">
           <avue-crud
             :option="customerContact"
             v-model="contactsForm"
@@ -257,7 +255,7 @@
               </el-button>
             </template>
           </avue-crud>
-        </basic-container>
+        </trade-card>
         <containerTitle title="附件上传"></containerTitle>
         <basic-container style="margin-bottom: 40px">
           <avue-crud

+ 4 - 6
src/views/importTrade/receipt/detailsPageEdit.vue

@@ -59,8 +59,7 @@
     </div>
     <div class="customer-main">
       <el-form :model="form" ref="form" label-width="130px" class="demo-ruleForm">
-        <containerTitle title="基础信息"></containerTitle>
-        <basic-container style="margin-bottom: 10px">
+        <trade-card title="基础信息">
           <el-row>
             <el-col v-for="(item,index) in basicData.column" :key="index" :span="item.span?item.span:8">
               <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
@@ -92,9 +91,8 @@
               </el-form-item>
             </el-col>
           </el-row>
-        </basic-container>
-        <containerTitle title="收货明细"></containerTitle>
-        <basic-container style="margin-bottom: 10px">
+        </trade-card>
+        <trade-card title="收货明细">
           <avue-crud
             :option="customerContact"
             v-model="contactsForm"
@@ -252,7 +250,7 @@
               </el-button>
             </template>
           </avue-crud>
-        </basic-container>
+        </trade-card>
         <containerTitle title="附件上传"></containerTitle>
         <basic-container style="margin-bottom: 40px">
           <avue-crud

+ 5 - 0
src/views/purchase/contract/config/customerContact.json

@@ -132,6 +132,11 @@
       "label": "箱型",
       "prop": "cntrType",
       "type": "select",
+      "props": {
+        "label": "dictValue",
+        "value": "dictValue"
+      },
+      "dicData":[],
       "overHidden": true,
       "cell": true,
       "index": 6,

+ 8 - 7
src/views/purchase/contract/detailsPage.vue

@@ -65,8 +65,7 @@
     </div>
     <div class="customer-main">
       <el-form :model="form" ref="form" label-width="130px">
-        <containerTitle title="基础信息"></containerTitle>
-        <basic-container style="margin-bottom: 10px" :showBtn="true">
+        <trade-card title="基础信息">
           <el-row>
             <el-col v-for="(item, index) in basicData.column" :span="item.span ? item.span : 8" :key="index">
               <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
@@ -132,10 +131,9 @@
               </el-form-item>
             </el-col>
           </el-row>
-        </basic-container>
+        </trade-card>
         <!--        采购明细-->
-        <containerTitle title="采购明细"></containerTitle>
-        <basic-container style="margin-bottom: 10px">
+        <trade-card title="采购明细">
           <avue-crud :option="customerContact" v-model="contactsForm" :data="contactsData" ref="crudContact"
             :cell-style="cellStyle" @row-save="rowSave" @selection-change="selectionContact" @row-click="handleRowClick"
             @row-update="rowUpdate" @row-del="rowDel" @saveColumn="saveColumn" @resetColumn="resetColumn">
@@ -234,7 +232,7 @@
               </el-upload>
             </template>
           </avue-crud>
-        </basic-container>
+        </trade-card>
         <fee-info ref="feeInfo" :orderFeesList="orderFeesList" :disabled="viewDisabled" :itemType="'采购'"
           activeName="second" :optionType="'JK'" @beforeFinance="beforeFinance" @afterFinance="afterFinance"
           @getBillNo="getBillNo" feeUrl="" :corpId="form.corpId" :billNoList="billNoList" />
@@ -663,7 +661,10 @@ export default {
     this.getWorkDicts("payment_term").then(res => {
       this.paymentTypeDic = res.data.data
     })
-
+    this.getWorkDicts("boxModel").then(res => {
+     this.findObject(this.customerContact.column, "cntrType").dicData =
+        res.data.data;
+    })
     if (this.detailData.view) {
       this.viewDisabled = true
     }

+ 4 - 6
src/views/salesManagement/salesContract/detailsPage.vue

@@ -67,8 +67,7 @@
     </div>
     <div class="customer-main">
       <el-form :model="form" ref="form" label-width="130px">
-        <containerTitle title="基础信息"></containerTitle>
-        <basic-container style="margin-bottom: 10px" :showBtn="true">
+        <trade-card title="基础信息">
           <el-row>
             <el-col v-for="(item, index) in basicData.column" :span="item.span ? item.span : 8" :key="index">
               <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
@@ -104,10 +103,9 @@
               </el-form-item>
             </el-col>
           </el-row>
-        </basic-container>
+        </trade-card>
         <!--        销售明细-->
-        <containerTitle title="销售明细"></containerTitle>
-        <basic-container>
+        <trade-card title="销售明细">
           <avue-crud :option="importInventory" v-model="importInventoryForm" :data="importInventoryData"
             ref="importInventory" :cell-style="cellStyle" @row-save="rowSaveList" @row-update="rowUpdateList"
             @row-del="rowDelList" @selection-change="productSelection" @saveColumn="saveColumn"
@@ -209,7 +207,7 @@
               </el-button>
             </template>
           </avue-crud>
-        </basic-container>
+        </trade-card>
         <fee-info ref="feeInfo" @beforeFinance="beforeFinance" @afterFinance="afterFinance" :disabled="viewDisabled"
           :orderFeesList="orderFeesList" :itemType="'采购'" :optionType="'JK'" feeUrl="" :corpId="form.corpId" />
         <upload-file ref="uploadFile" title="合同附件" :disabled="viewDisabled"

+ 82 - 22
src/views/workManagement/main-items/detailsPage.vue

@@ -45,8 +45,7 @@
       </div>
     </div>
     <div class="customer-main">
-      <containerTitle title="基础信息"></containerTitle>
-      <basic-container>
+      <trade-card title="基础信息">
         <avue-form class="trading-form" ref="form" v-model="form" :option="option">
           <template slot="corpId">
             <crop-select v-model="form.corpId" corpType="KG" :disabled="viewDisabled" style="width: 100%"></crop-select>
@@ -77,7 +76,7 @@
             </el-input>
           </template>
         </avue-form>
-      </basic-container>
+      </trade-card>
       <containerTitle title="明细列表"></containerTitle>
       <basic-container>
         <avue-crud ref="crud" :data="data" :option="optionTable" :table-loading="loading" v-model="optionFrom"
@@ -108,18 +107,34 @@
             <el-button v-if="row.status !== 5" type="text" size="small" @click="beforeCloseAccount(row)">结算</el-button>
             <el-button v-if="row.status === 5" type="text" size="small" :disabled="viewDisabled"
               @click="cancelCloseAccount(row)">取消结算</el-button>
+            <el-button v-if="row.status !== 5" type="text" size="small" @click="dispatch(row)">派工</el-button>
             <el-button type="text" size="small" @click="rowCellTwo(row, index)"
               :disabled="row.strStatus == '结算完成' || viewDisabled">{{ row.$cellEdit ? '修改完成' : '修改' }}</el-button>
             <el-button type="text" size="small" @click="rowDel(row, index)"
               :disabled="row.strStatus == '结算完成' || viewDisabled">删除</el-button>
           </template>
           <template slot="userid" slot-scope="{row,index}">
-            <span v-if="row.$cellEdit" class="required_fields">*</span>
-            <user-select style="width:90% !important;" v-if="row.$cellEdit" v-model="row.userName"
-              @value="(values) => value(values, row)" :configuration="UConfiguration">
+            <user-select v-if="row.$cellEdit" v-model="row.userName" @value="(values) => value(values, row)"
+              :configuration="UConfiguration">
             </user-select>
             <span v-else>{{ row.userName }}</span>
           </template>
+          <template slot="frequency" slot-scope="{ row }">
+            <el-select v-if="row.$cellEdit" size="small" v-model="row.frequency" placeholder="请选择"
+              @change="frequencyChange(row)" clearable>
+              <el-option v-for="item in frequencyList" :key="item.id" :label="item.dictValue" :value="item.dictKey">
+              </el-option>
+            </el-select>
+            <span v-else>{{ row.frequency | frequencyFormat(frequencyList) }}</span>
+          </template>
+          <template slot="second" slot-scope="{ row }">
+            <el-select v-if="row.$cellEdit && row.frequency == 4" size="small" v-model="row.second" placeholder="请选择"
+              clearable>
+              <el-option v-for="item in secondList" :key="item.id" :label="item.dictValue" :value="item.dictKey">
+              </el-option>
+            </el-select>
+            <span v-else>{{ row.frequency == 4 ? row.second : '-' }}</span>
+          </template>
           <template slot="amount" slot-scope="{ row }">
             <el-input v-if="row.$cellEdit" v-model="row.amount" placeholder="请输入" size="small"
               oninput='this.value=this.value.replace(/[^(\d.)]/g,"").replace(/^(\d+)\.(\d\d).*$/, "$1.$2")'
@@ -295,7 +310,7 @@ import optionReturn from "../receipt/configuration/settleAccountsDetailsReturn.j
 import { getDeptTree } from "@/api/system/dept";
 import messagePost from "@/components/messageSend/main"
 import clientOption from "../performanceAnalysis/config/clientList.json";
-
+import { getGoodsDescList } from "@/api/standAlone/saleLeads";
 
 export default {
   props: {
@@ -309,6 +324,9 @@ export default {
   },
   data() {
     return {
+      goodsDescList: [],
+      secondList: [],
+      frequencyList: [],
       id: '',
       loading: false,
       form: {},
@@ -629,11 +647,11 @@ export default {
       oldUpLoadData: [],
       oldForm: {},
       oldFormTwo: {},
+
     };
   },
   async created() {
     this.optionTable = await this.getColumnData(this.getColumnName(56), option);
-
     getDeptTree("096359").then(res => {
       this.optionTable.column.forEach(item => {
         if (item.prop === "deptid") {
@@ -650,15 +668,6 @@ export default {
         }
       })
     })
-
-    //字典值
-    this.getWorkDicts("source_Business").then(res => {
-      this.sourceBusinessDic = res.data.data;
-    })
-    this.getWorkDicts("frequency").then(res => {
-      this.findObject(this.optionTable.column, "frequency").dicData = res.data.data;
-    });
-
     if (this.detailData.id) {
       this.id = this.detailData.id;//字符串转数字  超长用BigInt
 
@@ -666,6 +675,33 @@ export default {
         this.afterEcho(res.data.data)
       })
 
+    } else if (this.detailData.data) {
+      getGoodsDescList().then(res => {
+        this.goodsDescList = res.data.data
+        let form = this.detailData.data
+        this.form.corpId = form.corpId
+        this.form.corpName = form.corpName
+        form.itemList.forEach(e => {
+          this.goodsDescList.forEach(item => {
+            if (e.spId == item.id) {
+              this.data.push({
+                strStatus: "录入",
+                pname: item.cname,
+                remarks: item.remarks,
+                price: item.price,
+                unit: item.unit,
+                secondDisable: this.secondDisable,
+                frequency: item.rate,
+                projectType: this.secondDisable,
+                $cellEdit: true
+              });
+            }
+            
+          })
+
+        })
+      })
+
     } else {
       //责任人  承揽人 默认当前登录人
       this.$set(this.formTwo, "corpAttn", this.$store.getters.userInfo.user_name)
@@ -678,7 +714,7 @@ export default {
       this.$set(this.formTwo, "createUserName", this.$store.getters.userInfo.user_name)
 
       let date = new Date();
-      let strDate = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
+      let strDate = date.getFullYear() + "-" + (date.getsecond() + 1) + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
       this.$set(this.formTwo, "createTime", strDate)
 
       //备注格式
@@ -704,6 +740,16 @@ export default {
         this.afterEcho(res.data.data)
       })
     }
+    //字典值
+    this.getWorkDicts("source_Business").then(res => {
+      this.sourceBusinessDic = res.data.data;
+    })
+    this.getWorkDicts("frequency").then(res => {
+      this.frequencyList = res.data.data;
+    });
+    this.getWorkDicts("second").then(res => {
+      this.secondList = res.data.data;
+    });
   },
   mounted() {
 
@@ -871,6 +917,9 @@ export default {
         this.accountDialog = true;
       }
     },
+    dispatch() {
+      console.log('paigong')
+    },
     //结算
     closeAccount(form) {
       this.$refs[form].validate((valid) => {
@@ -948,9 +997,6 @@ export default {
         if (valid) {
           this.detailsCollection()
           for (let i = 0; i < this.dataList.length; i++) {
-            if (this.dataList[i].userid === (null || "")) {
-              return this.$message.error(`请输入明细列表第${i + 1}行的承做人`);
-            }
             if (this.dataList[i].deptid === (null || "")) {
               return this.$message.error(`请输入明细列表第${i + 1}行的任务部门`);
             }
@@ -1019,7 +1065,7 @@ export default {
           this.$set(this.formTwo, "createUserName", this.$store.getters.userInfo.user_name)
 
           let date = new Date();
-          let strDate = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
+          let strDate = date.getFullYear() + "-" + (date.getsecond() + 1) + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
           this.$set(this.formTwo, "createTime", strDate)
         })
       }
@@ -1130,6 +1176,9 @@ export default {
       this.page.currentPage = val;
       this.getList();
     },
+    frequencyChange(row) {
+      row.second = null
+    },
     //上传文件保存
     upLoadSave(row, done, loading) {
       this.upLoadData.push(row)
@@ -1387,6 +1436,17 @@ export default {
     //   })
     // },
   },
+  filters: {
+    frequencyFormat(val, list) {
+      let name;
+      list.forEach(e => {
+        if (e.dictKey == val) {
+          name = e.dictValue
+        }
+      })
+      return name;
+    }
+  },
   watch: {
     dataList: function (list) {