howie vor 3 Jahren
Ursprung
Commit
424131059a

+ 72 - 0
src/api/engin_deposit.js

@@ -0,0 +1,72 @@
+/*
+ * @Author: howie
+ * @Date: 2022-07-09 10:29:40
+ * @LastEditors: howie
+ * @LastEditTime: 2022-07-09 18:53:28
+ * @FilePath: \supply-front\src\api\engin_deposit.js
+ * @Description:
+ *
+ * Copyright (c) 2022, All Rights Reserved.
+ */
+import request from '@/utils/request'
+
+// 获取列表
+export function getList(params) {
+  return request({
+    url: '/deposit-manage/list',
+    method: 'get',
+    params
+  })
+}
+
+
+
+// 编辑详情
+export function editInfo(params) {
+  return request({
+    url: '/deposit-manage/edit',
+    method: 'post',
+    data:params
+  })
+}
+
+//发货信息
+export function getListProject(params) {
+  return request({
+    url: '/invoice/listProject',
+    method: 'get',
+    params
+  })
+}
+
+// 获取详情
+export function geDetail(params) {
+  return request({
+    url: '/deposit-manage/detail',
+    method: 'get',
+    params
+  })
+}
+
+
+
+
+// 获取详情
+export function geOrderInfo(params) {
+  return request({
+    url: '/deposit-manage/query-engin-order-info',
+    method: 'get',
+    params
+  })
+}
+
+
+
+// 申请退押
+export function applyDeposit(params) {
+  return request({
+    url: '/deposit-manage/apply-refund-deposit',
+    method: 'post',
+    data:params
+  })
+}

+ 10 - 0
src/api/policy_list.js

@@ -51,6 +51,16 @@ export function deletePolicy(params) {
   })
 }
 
+//修改条件
+export function updateCondition(params) {
+  return request({
+    url: '/policy/condition/update',
+    method: 'post',
+    params
+  })
+}
+
+
 export function getConditionMaterialDetail(params) {
   return request({
     url: '/policy/condition/detail',

+ 2 - 2
src/utils/util.js

@@ -18,11 +18,11 @@ export function deleteEmptyObj(obj) {
 }
 
 /**
- * 
+ *
  * @param {*} array 要查询的数组
  * @param {*} attr 要查询的字段
  * @param {*} val 要查询的字段值
- * @returns 
+ * @returns
  */
 export function findElem(array, attr, val) {
   for (var i = 0; i < array.length; i++) {

+ 67 - 20
src/views/basic_data/material/components/modify_list-apply.vue

@@ -115,6 +115,17 @@
                 <el-form-item>
                   <el-select
                     placeholder="请选择销售类型"
+                    @change="handleSale($event, scope.$index)"
+                    v-model="scope.row.saleTypeId"
+                  >
+                    <el-option
+                      v-for="item in scope.row.saleTypes"
+                      :label="item.name"
+                      :value="item.mainId"
+                    ></el-option>
+                  </el-select>
+                  <!-- <el-select
+                    placeholder="请选择销售类型"
                     filterable
                     v-model="scope.row.saleTypeId"
                   >
@@ -123,7 +134,7 @@
                       :label="item.saleName"
                       :value="item.id"
                     ></el-option>
-                  </el-select>
+                  </el-select> -->
                 </el-form-item>
               </template>
             </el-table-column>
@@ -223,12 +234,13 @@
                 <el-form-item>
                   <el-select
                     multiple
+                    :disabled="fang"
                     v-model="scope.row.walletRebateId"
                     placeholder="请选择返利类型"
                     @change="handelRebateList($event, scope.$index, scope.row)"
                   >
                     <el-option
-                      v-for="(item, index) in rebateList"
+                      v-for="(item, index) in scope.row.rebateList"
                       :key="item.index"
                       :value="item.walletRebateId"
                       :label="item.name"
@@ -324,7 +336,7 @@
                     placeholder="请选择现金钱包"
                   >
                     <el-option
-                      v-for="item in walleList"
+                      v-for="item in scope.row.walleList"
                       :key="item.id"
                       :value="item.id"
                       :label="item.name"
@@ -402,7 +414,7 @@
                     <el-option
                       v-for="item in typeList"
                       :label="item.name"
-                      :value="item.id"
+                      :value="item.saleTypeId"
                     ></el-option>
                   </el-select>
                 </el-form-item>
@@ -699,6 +711,7 @@
       <div class="mymain-container">
         <div class="table">
           <el-table
+            ref="multipleTable"
             v-loading="listLoading"
             :data="dataList"
             element-loading-text="Loading"
@@ -709,7 +722,12 @@
             @select-all="handleSelectionAllChange"
             @selection-change="handleSelectionChange"
           >
-            <el-table-column align="center" type="selection" width="55">
+            <el-table-column
+              align="center"
+              :selectable="selectable"
+              type="selection"
+              width="55"
+            >
             </el-table-column>
             <el-table-column
               align="center"
@@ -855,6 +873,7 @@ export default {
       },
       selectData: [],
       walleList: [],
+      fang: true,
     };
   },
   mounted() {
@@ -879,9 +898,9 @@ export default {
     }).then((res) => {
       this.userList = res.data.records;
     });
-    getWalletList({ mainId: "", walletName: "" }).then((res) => {
-      this.walleList = res.data;
-    });
+    // getWalletList({ mainId: "", walletName: "" }).then((res) => {
+    //   this.walleList = res.data;
+    // });
     let rebateParams = {
       pageNum: 1,
       pageSize: -1,
@@ -895,11 +914,21 @@ export default {
     });
   },
   methods: {
+    handleSale(e, index) {
+      this.rebateList = this.rebateList.filter((k) => {
+        return (
+          this.typeList.filter((i) => {
+            return e == i.mainId;
+          })[0].saleTypeId === k.saleTypeId
+        );
+      });
+      this.$set(this.items[index], "rebateWallets", this.rebateList);
+      this.fang = false;
+    },
     // xua
     handelWallets(e, index, row) {
       for (let i = 0; i < e.length; i++) {
         if (this.items[index].wallets.length) {
-          console.log(1212);
           for (let j = 0; j < this.items[index].wallets.length; j++) {
             if (e[i] !== this.items[index].wallets[j].walletId) {
               this.$set(this.items[index], "wallets", [
@@ -933,7 +962,6 @@ export default {
     handelRebateList(e, index, row) {
       for (let i = 0; i < e.length; i++) {
         if (this.items[index].wallets.length) {
-          console.log(1212);
           for (let j = 0; j < this.items[index].wallets.length; j++) {
             if (e[i] !== this.items[index].wallets[j].walletId) {
               this.$set(this.items[index], "wallets", [
@@ -949,8 +977,6 @@ export default {
             }
           }
         } else {
-          console.log(987);
-
           this.$set(this.items[index], "rebateWallets", [
             {
               type: "REBATE",
@@ -986,6 +1012,11 @@ export default {
     handleDetermine() {
       if (this.selectData.length) {
         for (let i = 0; i < this.selectData.length; i++) {
+          for (let j = 0; j < this.dataList.length; j++) {
+            if (this.selectData[i].id == this.dataList[j].id) {
+              this.dataList[j].disabled = true;
+            }
+          }
           this.items.push({
             baseUnitId: "",
             batchPrice: "",
@@ -998,6 +1029,7 @@ export default {
             materialName: this.selectData[i].name,
             materialNumber: this.selectData[i].number,
             discAmount: "",
+            saleTypes: this.selectData[i].saleTypes,
             materialOldNumber: this.selectData[i].oldNumber,
             parentId: "",
             walletRebateName: "",
@@ -1011,7 +1043,8 @@ export default {
             startDate: this.selectData[i].startDate,
             wallets: [],
             rebateWallets: [],
-            rebateList: [...this.rebateList],
+            rebateList: [],
+            walleList: this.selectData[i].wallets,
             isPublishArr: [
               {
                 value: "是",
@@ -1035,7 +1068,9 @@ export default {
             cid: this.selectData[i].id,
           });
         }
+
         this.selectData = [];
+        this.$refs.multipleTable.clearSelection();
         this.centerDialogVisible = false;
       } else {
         this.$errorMsg("请选择内容");
@@ -1079,19 +1114,31 @@ export default {
         this.listLoading = false;
       });
     },
+    /**
+     * 根据条件禁用行复选框
+     * 函数返回值为false则禁用选择(反之亦然)
+     * @param {Object} row - 行数据
+     * @param {String} index - 索引值
+     * @return Boolean
+     */
+    selectable: function (row, index) {
+      // row.disabled == undefined 才能被选中
+      if (row.disabled == undefined) {
+        return true;
+      }
+      // 函数必须有返回值且是布尔值
+      // 页面刷新后该函数会执行 N 次进行判断(N 为表格行数)
+      // 如果没有返回值则默认返回false(全部无法选中)
+    },
     hanleSbumit() {
       for (let i = 0; i < this.items.length; i++) {
         this.items[i].wallets = [
           ...this.items[i].rebateWallets,
           ...this.items[i].wallets,
         ];
-        for (let j = i + 1; j < this.items.length; j++) {
-          if (this.items[i].materialNumber == this.items[j].materialNumber) {
-            if (this.items[i].saleTypeId == this.items[j].saleTypeId) {
-              this.$errorMsg("有存货编码销售类型相同");
-              return;
-            }
-          }
+        if (!this.items[i].saleTypeId) {
+          this.$errorMsg("请选择销售类型");
+          return;
         }
       }
       const params = {

+ 2 - 2
src/views/basic_data/material/modify_list.vue

@@ -117,7 +117,7 @@
             <el-table-column
               align="center"
               label="调价日期"
-              prop="createBy"
+              prop="createTime"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
@@ -288,7 +288,7 @@
             <el-table-column
               align="center"
               label="审核人"
-              prop="confirmBy"
+              prop="confirmName"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>

+ 228 - 134
src/views/engin_deposit/components/deposit-apply-surrender.vue

@@ -6,134 +6,208 @@
     <el-divider></el-divider>
     <h3>工程项目信息</h3>
     <el-divider></el-divider>
-    <div class="diy-table-1">
-      <el-row :gutter="0">
-        <el-col :xs="12" :sm="8" :lg="8" class="item">
-          <div class="label">工程登录编码</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="12" :sm="8" :lg="8" class="item">
-          <div class="label">工程名称(项目名称)</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="12" :sm="8" :lg="8" class="item">
-          <div class="label">工程编号</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">经销商名称</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">经销商编码</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">工程登录类型</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">厂工程编码</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">使用单位</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">安装地址</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">扣款总额</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">押金比例</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">安装时间</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">押金总额</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">退款总额</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">寄厂日期</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-      </el-row>
-    </div>
+      <div class="diy-table-1">
+        <el-form :model="details" ref="form" >
+          <el-row :gutter="0">
+          <el-col :xs="12" :sm="8" :lg="8" class="item">
+            <div class="label">工程登录编码</div>
+            <div class="value">{{ details.refEnginRecordNo }}</div>
+          </el-col>
+          <el-col :xs="12" :sm="8" :lg="8" class="item">
+            <div class="label">工程名称(项目名称)</div>
+            <div class="value">{{ details.refProjectName }}</div>
+          </el-col>
+          <el-col :xs="12" :sm="8" :lg="8" class="item">
+            <div class="label">工程编号</div>
+            <div class="value">{{ details.refProjectNo }}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">经销商名称</div>
+            <div class="value">{{ details.customerName }}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">经销商编码</div>
+            <div class="value">{{ details.customerId }}</div>
+          </el-col>
+
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">工程登录类型</div>
+            <div class="value">{{ details.refPromiseStatus }}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">联系人</div>
+            <div class="value">{{ details.refLinkman }}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">固定电话</div>
+            <div class="value">{{ details.refTel }}</div>
+          </el-col>
+
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">厂工程编码</div>
+            <div class="value">
+              <el-form-item prop="refFactoryNo">
+                   <el-input
+                v-model="details.refFactoryNo"
+                placeholder="厂工程编码"
+                size="small"
+              ></el-input>
+              </el-form-item>
+
+            </div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label"></div>
+            <div class="value"></div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">移动电话</div>
+            <div class="value">{{ details.refPhone }}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">押金总额</div>
+            <div class="value">{{ details.depositAmount }}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">工程差价总额</div>
+            <div class="value">{{ details.depositDiffAmount }}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">使用单位</div>
+            <div class="value">{{ details.refUseUnit }}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label"></div>
+            <div class="value"></div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label" >安装时间</div>
+            <div class="value" style="padding:0">
+              <el-form-item prop="installDate">
+                 <el-date-picker
+
+                v-model="details.installDate"
+                type="datetime"
+                placeholder="安装时间"
+                default-time="00:00:00"
+                value-format="yyyy-MM-dd HH:mm:ss"
+              >
+              </el-date-picker>
+              </el-form-item>
+
+            </div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label" >寄厂日期</div>
+            <div class="value" style="padding:0">
+            <el-form-item prop="sendFactoryDate">
+              <el-date-picker
+                v-model="details.sendFactoryDate"
+                type="datetime"
+                placeholder="寄厂日期"
+                default-time="00:00:00"
+                value-format="yyyy-MM-dd HH:mm:ss"
+              >
+              </el-date-picker>
+            </el-form-item>
+            </div>
+          </el-col>
+        </el-row>
+        </el-form>
+
+      </div>
     <h3>货品信息</h3>
     <el-divider></el-divider>
     <!-- 列表 -->
-    <div class="mymain-container">
-      <div class="table">
-        <el-table
-          v-loading="listLoading"
-          :data="dataList"
-          element-loading-text="Loading"
-          border
-          fit
-          highlight-current-row
-          stripe
-        >
-          <el-table-column
-            align="center"
-            label="产品编码"
-            prop=""
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="产品名称"
-            prop=""
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="规格型号"
-            prop=""
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="单价"
-            prop=""
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="数量"
-            prop=""
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="金额"
-            prop=""
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            align="center"
-            label="押金金额"
-            prop=""
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column>
-        </el-table>
+        <div class="mymain-container">
+        <div class="table">
+          <el-table
+            v-loading="listLoading"
+            :data="details.items"
+            element-loading-text="Loading"
+            border
+            fit
+            highlight-current-row
+            stripe
+          >
+            <el-table-column
+              align="center"
+              label="物料编码"
+              prop="materialNumber"
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="产品编码"
+              prop="materialOldNumber"
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="产品名称"
+              prop="materialName"
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="规格型号"
+              prop="specification"
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="单价"
+              prop="price"
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="数量"
+              prop="qty"
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="金额"
+              prop="totalAmount"
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="发货数量"
+              prop="hasSendQty"
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="押金金额"
+              prop="depositAmount"
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="上交资料"
+              prop="dataQty"
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="收差全额"
+              prop="diffAmount"
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+          </el-table>
       </div>
     </div>
     <h3>上传资料</h3>
@@ -141,8 +215,8 @@
     <!-- 筛选条件 -->
     <div>
       <el-form
-        ref="searchForm"
-        :model="searchForm"
+        ref="form"
+        :model="details"
         label-width="100px"
         size="small"
         label-position="left"
@@ -154,13 +228,14 @@
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="申请人" prop="">
-              <el-input placeholder="请输入"></el-input>
+            <el-form-item label="申请人" prop="submitBy">
+              <el-input v-model="details.submitBy" placeholder="请输入"></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="申请日期" prop="">
+            <el-form-item label="申请日期" prop="submitTime">
               <el-date-picker
+              v-model="details.submitTime "
                 class="dateStyle"
                 type="date"
                 placeholder="选择日期"
@@ -169,8 +244,9 @@
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="18">
-            <el-form-item label="申请退押" prop="">
+            <el-form-item label="申请退押" prop="applyNote">
               <el-input
+              v-model="details.applyNote"
                 type="textarea"
                 placeholder="请输入"
                 class="textareaStyle"
@@ -179,8 +255,8 @@
           </el-col>
           <el-col :xs="24" :sm="24" :lg="24">
             <el-form-item label="">
-              <el-button size="small">清空</el-button>
-              <el-button size="small" type="primary">提交</el-button>
+              <el-button type="primary" size="small" @click="handleSvse">保存</el-button>
+            <el-button type="primary" size="small" @click="handleReset">重置</el-button>
             </el-form-item>
           </el-col>
         </el-row>
@@ -190,20 +266,38 @@
 </template>
 
 <script>
+import { geDetail,applyDeposit } from "@/api/engin_deposit.js";
+
 import fileUpload from "@/components/Common/file-upload.vue";
 export default {
   components: {
     fileUpload,
+
   },
   data() {
     return {
       fileList: [],
+       details:{}
     };
   },
+  created() {
+     geDetail({ id: this.$parent.depositManageId }).then((res) => {
+          this.details = res.data;
+        });
+  },
   methods: {
     goBack() {
       this.$parent.showPage = 1;
     },
+    handleSvse(){
+      applyDeposit(this.details).then(res=>{
+          this.$successMsg('申请成功')
+          this.$parent.showPage = 1;
+      })
+    },
+    handleReset(){
+      this.$refs.form.resetFields()
+    }
   },
 };
 </script>
@@ -218,4 +312,4 @@ export default {
 .dateStyle {
   width: 100%;
 }
-</style>
+</style>

+ 272 - 96
src/views/engin_deposit/components/deposit_list-detail.vue

@@ -1,80 +1,129 @@
 <template>
   <div>
     <div class="sty">
-      <el-page-header @back="goBack" content="审批"> </el-page-header>
+      <el-page-header @back="goBack" content="详情"> </el-page-header>
     </div>
     <el-divider></el-divider>
-    <el-radio-group v-model="engineering" size="">
+    <el-radio-group v-model="engineering" size="" @change="handleRadio">
       <el-radio-button label="工程押金信息"></el-radio-button>
       <el-radio-button label="工程订单信息"></el-radio-button>
       <el-radio-button label="工程发货信息"></el-radio-button>
     </el-radio-group>
     <br /><br />
-    <div class="diy-table-1">
-      <el-row :gutter="0">
-        <el-col :xs="12" :sm="8" :lg="8" class="item">
-          <div class="label">工程登录编码</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="12" :sm="8" :lg="8" class="item">
-          <div class="label">工程名称(项目名称)</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="12" :sm="8" :lg="8" class="item">
-          <div class="label">工程编号</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">经销商名称</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">经销商编码</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">工程登录类型</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">厂工程编码</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">使用单位</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">安装地址</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">扣款总额</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">押金比例</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">安装时间</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">押金总额</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">退款总额</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="8" class="item">
-          <div class="label">寄厂日期</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-      </el-row>
-    </div>
+
     <div v-show="engineering == '工程押金信息'">
+      <div class="diy-table-1">
+        <el-form :model="details" ref="form" >
+          <el-row :gutter="0">
+          <el-col :xs="12" :sm="8" :lg="8" class="item">
+            <div class="label">工程登录编码</div>
+            <div class="value">{{ details.refEnginRecordNo }}</div>
+          </el-col>
+          <el-col :xs="12" :sm="8" :lg="8" class="item">
+            <div class="label">工程名称(项目名称)</div>
+            <div class="value">{{ details.refProjectName }}</div>
+          </el-col>
+          <el-col :xs="12" :sm="8" :lg="8" class="item">
+            <div class="label">工程编号</div>
+            <div class="value">{{ details.refProjectNo }}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">经销商名称</div>
+            <div class="value">{{ details.customerName }}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">经销商编码</div>
+            <div class="value">{{ details.customerId }}</div>
+          </el-col>
+
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">工程登录类型</div>
+            <div class="value">{{ details.refPromiseStatus }}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">联系人</div>
+            <div class="value">{{ details.refLinkman }}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">固定电话</div>
+            <div class="value">{{ details.refTel }}</div>
+          </el-col>
+
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">厂工程编码</div>
+            <div class="value">
+              <el-form-item prop="refFactoryNo">
+                   <el-input
+                v-model="details.refFactoryNo"
+                placeholder="厂工程编码"
+                size="small"
+              ></el-input>
+              </el-form-item>
+
+            </div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label"></div>
+            <div class="value"></div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">移动电话</div>
+            <div class="value">{{ details.refPhone }}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">押金总额</div>
+            <div class="value">{{ details.depositAmount }}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">工程差价总额</div>
+            <div class="value">{{ details.depositDiffAmount }}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label">使用单位</div>
+            <div class="value">{{ details.refUseUnit }}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label"></div>
+            <div class="value"></div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label" >安装时间</div>
+            <div class="value" style="padding:0">
+              <el-form-item prop="installDate">
+                 <el-date-picker
+
+                v-model="details.installDate"
+                type="datetime"
+                placeholder="安装时间"
+                default-time="00:00:00"
+                value-format="yyyy-MM-dd HH:mm:ss"
+              >
+              </el-date-picker>
+              </el-form-item>
+
+            </div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="8" class="item">
+            <div class="label" >寄厂日期</div>
+            <div class="value" style="padding:0">
+            <el-form-item prop="sendFactoryDate">
+              <el-date-picker
+                v-model="details.sendFactoryDate"
+                type="datetime"
+                placeholder="寄厂日期"
+                default-time="00:00:00"
+                value-format="yyyy-MM-dd HH:mm:ss"
+              >
+              </el-date-picker>
+            </el-form-item>
+
+
+            </div>
+          </el-col>
+        </el-row>
+        </el-form>
+
+      </div>
       <h3>货品信息</h3>
       <el-divider></el-divider>
       <!-- 列表 -->
@@ -82,7 +131,7 @@
         <div class="table">
           <el-table
             v-loading="listLoading"
-            :data="dataList"
+            :data="details.items"
             element-loading-text="Loading"
             border
             fit
@@ -91,63 +140,134 @@
           >
             <el-table-column
               align="center"
+              label="物料编码"
+              prop="materialNumber"
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
               label="产品编码"
-              prop=""
+              prop="materialOldNumber"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="产品名称"
-              prop=""
+              prop="materialName"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="规格型号"
-              prop=""
+              prop="specification"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="单价"
-              prop=""
+              prop="price"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="数量"
-              prop=""
+              prop="qty"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="金额"
-              prop=""
+              prop="totalAmount"
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="发货数量"
+              prop="hasSendQty"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
-            <el-table-columnk
+            <el-table-column
               align="center"
               label="押金金额"
-              prop=""
+              prop="depositAmount"
               min-width="160"
               show-overflow-tooltip
-            ></el-table-columnk>
+            ></el-table-column>
             <el-table-column
               align="center"
               label="上交资料"
-              prop=""
+              prop="dataQty"
+              min-width="160"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              align="center"
+              label="收差全额"
+              prop="diffAmount"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
           </el-table>
         </div>
       </div>
+      <div class="diy-table-1">
+        <el-row :gutter="0">
+          <el-col :xs="12" :sm="12" :lg="12" class="item">
+            <div class="label">申请人</div>
+            <div class="value">{{ details.submitBy }}</div>
+          </el-col>
+          <el-col :xs="12" :sm="12" :lg="12" class="item">
+            <div class="label">申请日期</div>
+            <div class="value">{{ details.submitTime }}</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="24" class="item">
+            <div class="label">申请退押金</div>
+            <div class="value">{{ details.applyNote }}</div>
+          </el-col>
+        </el-row>
+      </div>
+      <div style="margin-top: 25px">审批</div>
+      <el-divider></el-divider>
+      <div class="diy-table-1">
+        <el-row :gutter="0">
+          <el-col :xs="12" :sm="12" :lg="12" class="item">
+            <div class="label">验收人</div>
+            <div class="value">{{ details.checkBy }}</div>
+          </el-col>
+          <el-col :xs="12" :sm="12" :lg="12" class="item">
+            <div class="label">验收日期</div>
+            <div class="value">{{ details.checkDate }}</div>
+          </el-col>
+          <el-col :xs="12" :sm="12" :lg="12" class="item">
+            <div class="label">是否退押</div>
+            <div class="value">
+              {{ details.isRefundDeposit == true ? "是" : "否" }}
+            </div>
+          </el-col>
+          <el-col :xs="12" :sm="12" :lg="12" class="item">
+            <div class="label">审批结果</div>
+            <div class="value">
+              {{ details.examineResult == 0 ? "驳回" : "通过" }}
+            </div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="24" class="item">
+            <div class="label">验收说明</div>
+            <div class="value">{{ details.checkNote }}</div>
+          </el-col>
+        </el-row>
+      </div>
+      <div style="margin:20px 0">
+        <el-button type="primary" size="small" @click="handleSvse">保存</el-button>
+        <el-button type="primary" size="small" @click="handleReset">重置</el-button>
+      </div>
     </div>
     <div v-show="engineering == '工程订单信息'">
       <h3>订单信息</h3>
@@ -167,49 +287,49 @@
             <el-table-column
               align="center"
               label="工程订单号"
-              prop=""
+              prop="enginOrderNo"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="订单日期"
-              prop=""
+              prop="orderDate"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="产品名称"
-              prop=""
+              prop="materialName"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="规格型号"
-              prop=""
+              prop="specification"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="单价"
-              prop=""
+              prop="price"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="数量"
-              prop=""
+              prop="qty"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="押金金额"
-              prop=""
+              prop="totalDepositAmount"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
@@ -225,62 +345,66 @@
         <div class="table">
           <el-table
             v-loading="listLoading"
-            :data="dataList"
+            :data="projectList"
             element-loading-text="Loading"
             border
             fit
             highlight-current-row
             stripe
           >
-            <el-table-column
+             <el-table-column
               align="center"
               label="发货单"
-              prop=""
+              prop="id"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="发货申请日期"
-              prop=""
+              prop="theTime"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="产品名称"
-              prop=""
+              prop="materialName"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="规格型号"
-              prop=""
+              prop="specification"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="单价"
-              prop=""
+              prop="price"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="数量"
-              prop=""
+              prop="qty"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="押金金额"
-              prop=""
+              prop="totalDepositAmount"
               min-width="160"
               show-overflow-tooltip
-            ></el-table-column>
+            >
+            <template slot-scope="scope">
+              {{(scope.row.refundableQty||0) * (scope.row.singleDepositAmount||0) }}
+            </template>
+            </el-table-column>
           </el-table>
         </div>
       </div>
@@ -289,19 +413,71 @@
 </template>
 
 <script>
+import { geDetail, geOrderInfo, editInfo,getListProject } from "@/api/engin_deposit.js";
 export default {
   data() {
     return {
+      listLoading: false,
       engineering: "工程押金信息",
+      dataList: [],
+      projectList:[],
+      details: {},
     };
   },
+  created() {
+    this.getDetail();
+  },
   methods: {
+    getDetail() {
+      if (this.engineering == "工程押金信息") {
+        geDetail({ id: this.$parent.depositManageId }).then((res) => {
+          this.details = res.data;
+        });
+      } else if (this.engineering == "工程订单信息") {
+        geOrderInfo({ refEnginRecordNo: this.$parent.refEnginRecordNo }).then(
+          (res) => {
+            this.dataList = res.data;
+          }
+        );
+      } else {
+        getListProject({pageSize:-1,pageNum:1 ,refEnginRecordNo: this.$parent.refEnginRecordNo}).then(res=>{
+          this.projectList = res.data.records
+        })
+      }
+    },
     goBack() {
       this.$parent.showPage = 1;
     },
+    handleRadio(e) {
+      this.getDetail();
+    },
+    handleSvse(){
+      this.details.isRefundDeposit = this.details.isRefundDeposit == true ?true :false
+      editInfo(this.details).then(res=>{
+          this.$successMsg('编辑成功')
+          this.$parent.showPage = 1;
+      })
+    },
+    handleReset(){
+      this.$refs.form.resetFields()
+    }
   },
 };
 </script>
 
-<style>
-</style>
+<style scoped lang="scss">
+::v-deep .el-input__prefix {
+  display: none;
+    left: 65px !important;
+    -webkit-transition: all .3s;
+    transition: all .3s;
+}
+::v-deep .el-date-editor.el-input{
+  width: 100%;
+  box-sizing: border-box;
+  padding-left: 10px;
+}
+::v-deep .el-form-item{
+  margin: 0;
+}
+</style>

+ 199 - 59
src/views/engin_deposit/deposit_list.vue

@@ -1,49 +1,59 @@
 <template>
   <div class="app-container">
     <div v-if="showPage == 1">
-      <el-radio-group v-model="deduction" size="">
+      <el-radio-group v-model="deduction" size="" @change="handleRadio">
         <el-radio-button label="全部"></el-radio-button>
-        <el-radio-button label="待确认"></el-radio-button>
-        <el-radio-button label="已退款"></el-radio-button>
-        <el-radio-button label="全部扣款"></el-radio-button>
-        <el-radio-button label="部分扣款"></el-radio-button>
+        <el-radio-button label="已退押"></el-radio-button>
       </el-radio-group>
       <br /><br />
       <!-- 筛选条件 -->
       <div>
         <el-form
-          ref="searchForm"
-          :model="searchForm"
-          label-width="100px"
+          ref="screenForm"
+          :model="screenForm"
+          label-width="120px"
           size="small"
           label-position="left"
         >
           <el-row :gutter="20">
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="工程订单编号" prop="">
-                <el-input placeholder="请输入"></el-input>
+              <el-form-item label="工程订单编号" prop="enginOrderNo">
+                <el-input
+                  v-model="screenForm.enginOrderNo"
+                  placeholder="请输入"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="经销商编码" prop="">
-                <el-input placeholder="请输入"></el-input>
+              <el-form-item label="经销商编码/名称" prop="customerKeyword">
+                <el-input
+                  v-model="screenForm.customerKeyword"
+                  placeholder="请输入"
+                ></el-input>
               </el-form-item>
             </el-col>
-            <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="经销商名称" prop="">
-                <el-input placeholder="请输入"></el-input>
+            <!-- <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="经销商名称" prop="customerKeyword">
+                <el-input
+                  v-model="screenForm.customerKeyword"
+                  placeholder="请输入"
+                ></el-input>
               </el-form-item>
-            </el-col>
+            </el-col> -->
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="工程名称" prop="">
-                <el-input placeholder="请输入"></el-input>
+              <el-form-item label="工程名称" prop="refProjectName">
+                <el-input
+                  v-model="screenForm.refProjectName"
+                  placeholder="请输入"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="发货申请日期" prop="">
+              <el-form-item label="发货申请日期" prop="startDeliverTime">
                 <el-date-picker
+                  v-model="screenForm.startDeliverTime"
                   class="dateStyle"
-                  type="date"
+                  type="datetime"
                   placeholder="选择日期"
                 >
                 </el-date-picker>
@@ -60,31 +70,29 @@
               </el-form-item>
             </el-col>
 
-            <el-col :xs="24" :sm="24" :lg="6">
+            <el-col :xs="24" :sm="24" :lg="12">
               <el-form-item label="" class="fr">
-                <el-button size="small">清空</el-button>
-                <el-button size="small" type="primary">搜索</el-button>
+                <el-button size="small" @click="resetScreenForm">清空</el-button>
+                <el-button size="small" type="primary" @click="submitScreenForm">搜索</el-button>
               </el-form-item>
             </el-col>
           </el-row>
         </el-form>
       </div>
       <!-- 按钮 -->
-      <div class="btn-group clearfix">
-        <div class="fl">
-          <el-button type="primary" size="small" @click="detailFn"
-            >详情</el-button
-          >
-          <el-button type="primary" size="small" @click="surrenderFn"
-            >申请退押</el-button
-          >
-          <el-button type="primary" size="small" @click="deductionFn"
-            >免扣申请</el-button
-          >
-        </div>
-        <div class="fr">
-          <el-button type="primary" size="small">导出</el-button>
-        </div>
+      <div class="btn-group clearfix" style="display:flex">
+        <el-button type="primary" size="small" @click="hanleDownloadFiles"
+          >导出</el-button
+        >
+        <el-upload
+          class="import-btn"
+          :action="baseURL + 'student/import'"
+          :http-request="handleImport"
+          :file-list="importFileList"
+          :show-file-list="false"
+        >
+          <el-button size="small">导入</el-button>
+        </el-upload>
       </div>
       <!-- 列表 -->
       <div class="mymain-container">
@@ -97,49 +105,67 @@
             fit
             highlight-current-row
             stripe
+            @select-all="handleSelectionAllChange"
+            @selection-change="handleSelectionAllChange"
           >
             <el-table-column
               align="center"
+              type="selection"
+              width="55"
+            >
+            </el-table-column>
+            <el-table-column
+              align="center"
               label="工程登录编码"
-              prop=""
+              prop="refProjectNo"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="工程名称"
-              prop=""
+              prop="refProjectName"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="经销商编码"
-              prop=""
+              prop="customerId"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="经销商名称"
-              prop=""
+              prop="customerName"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
-            <el-table-column
+            <!-- <el-table-column
               align="center"
               label="是否免扣"
               prop=""
               min-width="160"
               show-overflow-tooltip
-            ></el-table-column>
+            ></el-table-column> -->
             <el-table-column
               align="center"
               label="是否退押"
-              prop=""
+              prop="isRefundDeposit"
               min-width="160"
               show-overflow-tooltip
-            ></el-table-column>
+            >
+              <template slot-scope="scope">
+                <el-tag
+                  type="success"
+                  size="small"
+                  v-if="scope.row.isRefundDeposit"
+                  >是</el-tag
+                >
+                <el-tag type="warning" size="small" v-else>否</el-tag>
+              </template>
+            </el-table-column>
             <el-table-column
               align="center"
               label="押金比例"
@@ -150,21 +176,54 @@
             <el-table-column
               align="center"
               label="押金金额"
-              prop=""
+              prop="depositAmount"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="状态"
-              prop=""
+              prop="examineStatus"
               min-width="160"
               show-overflow-tooltip
-            ></el-table-column>
+            >
+              <template slot-scope="scope">
+                <el-tag
+                  type="success"
+                  size="small"
+                  v-if="scope.row.examineStatus == 'SAVE'"
+                  >保存
+                </el-tag>
+                <el-tag
+                  type="warning"
+                  size="small"
+                  v-if="scope.row.examineStatus == 'WAIT'"
+                  >待审核
+                </el-tag>
+                <el-tag
+                  type="warning"
+                  size="small"
+                  v-if="scope.row.examineStatus == 'OK'"
+                  >通过</el-tag
+                >
+                <el-tag
+                  type="warning"
+                  size="small"
+                  v-if="scope.row.examineStatus == 'FAIL'"
+                  >不通过</el-tag
+                >
+                <el-tag
+                  type="warning"
+                  size="small"
+                  v-if="scope.row.examineStatus == 'CLOSE'"
+                  >关闭</el-tag
+                >
+              </template>
+            </el-table-column>
             <el-table-column
               align="center"
               label="订单数量"
-              prop=""
+              prop="qty"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
@@ -181,16 +240,16 @@
               min-width="160"
               show-overflow-tooltip
             >
-              <template slot-scope="">
-                <el-button type="text" class="textColor" slot="reference"
+              <template slot-scope="scope">
+                <el-button type="text" class="textColor" @click="detailFn(scope.row)"
                   >详情</el-button
                 >
-                <el-button type="text" class="textColor" slot="reference"
+                <el-button type="text" class="textColor"  @click="surrenderFn(scope.row)"
                   >申请退押</el-button
                 >
-                <el-button type="text" class="textColor" slot="reference"
+                <!-- <el-button type="text" class="textColor" slot="reference"
                   >免扣退押</el-button
-                >
+                > -->
               </template>
             </el-table-column>
           </el-table>
@@ -218,7 +277,11 @@
 import DepositListDetail from "./components/deposit_list-detail";
 import DepositApplyDeduction from "./components/deposit-apply-deduction.vue";
 import DepositApplySurrender from "./components/deposit-apply-surrender.vue";
+import { downloadFiles, handleImport } from "@/utils/util";
+import { getList } from "@/api/engin_deposit.js";
+import Mixin from "@/mixin";
 export default {
+  mixins: [Mixin],
   components: {
     DepositListDetail,
     DepositApplyDeduction,
@@ -230,24 +293,98 @@ export default {
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
       dataList: [], // 列表数据
-      searchForm: {}, //搜索表单
+      screenForm: {
+        confirmName: "", //审核人
+        createName: "", //创建人
+        customerKeyword: "", //客户编码/客户名称
+        endDeliverTime: "", //发货申请日期-结束
+        enginOrderNo: "", //工程订单编号
+        enginOrderType: "", //工程订单类型
+        examineStatus: "", //状态
+        refEnginRecordNo: "", //登录单号
+        refProjectName: "", //项目名称
+        refUseUnit: "", //使用单位
+        startDeliverTime: "", //发货申请日期-开始
+      }, //搜索表单
       listLoading: false, // 列表加载loading
       deduction: "全部",
       showPage: 1,
+      importFileList:[],
+      selectData:[],
+      baseURL:''
     };
   },
+
   methods: {
     //免扣申请
     deductionFn() {
       this.showPage = 3;
     },
     //申请退押
-    surrenderFn() {
+    surrenderFn(row) {
+      this.depositManageId = row.depositManageId
       this.showPage = 4;
     },
-    detailFn() {
+    detailFn(row) {
+      this.depositManageId = row.depositManageId
+      this.refEnginRecordNo = row.refEnginRecordNo
       this.showPage = 2;
     },
+    getList() {
+      this.listLoading = true;
+      const params = {
+        pageSize: this.pageSize,
+        pageNum: this.currentPage,
+        ...this.screenForm,
+      };
+      getList(params).then((res) => {
+        this.dataList = res.data.records;
+        this.listLoading = false;
+        this.listTotal = res.data.total;
+      });
+    },
+    handleRadio(){
+      this.getList()
+    },
+    hanleDownloadFiles() {
+      if (this.selectData.length) {
+        const arr = []
+        for (let i = 0; i < this.selectData.length; i++) {
+            arr.push( this.selectData[i].depositManageId)
+        }
+       downloadFiles("/deposit-manage/export",{id:arr});
+      }else{
+        this.$errorMsg('请选择押金项')
+      }
+
+    },
+    // 导入
+    async handleImport(param) {
+      this.importLoading = true;
+      const file = param.file;
+      console.log(file, 123);
+      const formData = new FormData();
+      formData.append("file", file);
+      // formData.append("policyId", this.screenForm.code);
+      let result = await handleImport("deposit-manage/import", formData);
+      this.importLoading = false;
+      this.importFileList = [];
+      if (result.code == 200) {
+        this.$alert(result.message, "导入成功", {
+          confirmButtonText: "确定",
+        });
+
+        this.handletwoList();
+      } else {
+        this.$alert(result.message, "导入失败", {
+          confirmButtonText: "确定",
+        });
+      }
+    },
+     handleSelectionAllChange(e) {
+      this.selectData = e;
+    },
+
   },
 };
 </script>
@@ -256,4 +393,7 @@ export default {
 .dateStyle {
   width: 100%;
 }
-</style>
+.import-btn{
+  margin-left: 10px;
+}
+</style>

+ 1 - 0
src/views/login/index.vue

@@ -321,6 +321,7 @@ export default {
               console.log(this.redirect);
               this.$router.push({ path: this.redirect || "/" });
               this.saveUnAndPw();
+                this.$store.commit("user/showMessage", "yes");
               this.loading = false;
             })
             .catch(() => {

+ 19 - 4
src/views/sales_policy/components/AddPolicy.vue

@@ -271,7 +271,7 @@
             </el-table-column>
             <el-table-column prop="name" label="限定条件" align="center">
               <template slot-scope="scope">
-                限定条件{{ scope.$index + 1 }}
+              <el-input v-model="scope.row.name" style="text-align: center;" placeholder="请输入名称" :disabled="scope.row.fang" @blur="handleConditionName(scope.row)"></el-input>
               </template>
             </el-table-column>
             <el-table-column
@@ -281,12 +281,12 @@
               align="center"
             >
               <template slot-scope="scope">
-                <!-- <el-button
+                <el-button
                   type="text"
                   size="small"
-                  @click="isCondition=1"
+                  @click="scope.row.fang=false"
                   >编辑</el-button
-                > -->
+                >
                 <el-button
                   type="text"
                   size="small"
@@ -329,6 +329,7 @@ import {
   deleteCondition,
   getConditionList,
   deleteMaterialPolicy,
+  updateCondition
 } from "@/api/policy_list";
 import { getDictList } from "@/api/common";
 import { downloadFiles, handleImport } from "@/utils/util";
@@ -454,13 +455,27 @@ export default {
         this.dictList = res.data;
       });
     },
+    handleConditionName(row){
+      console.log(row.name);
+      updateCondition({id:row.id,name:row.name}).then(res=>{
+        this.$successMsg('修改成功')
+        row.fang = true
+      })
+
+    },
     handleSubmitCon() {
       const params = {
         policyId: this.comCode,
       };
       // 获取条件政策
       getConditionList(params).then((res) => {
+        for (let i = 0; i < res.data.length; i++) {
+           res.data[i].name = ''
+           res.data[i].fang = true
+
+        }
         this.conditionList = res.data;
+
       });
     },
     handelStop() {

+ 8 - 7
src/views/sales_policy/components/Transfer.vue

@@ -166,6 +166,7 @@ export default {
       });
     },
     handleLeft(e) {
+      console.log(e);
       this.type = 1;
     },
     handleRight(e) {
@@ -198,17 +199,17 @@ export default {
     handleDelete() {
       if (this.type == 2) {
         const dataArr = JSON.parse(JSON.stringify(this.dataR));
-        const dataArrs = JSON.parse(JSON.stringify(this.rightData));
-        for (let i = 0; i < this.rightData.length; i++) {
-          for (let k = 0; k < this.dataR.length; k++) {
-            if (this.rightData.includes(this.dataR[k].id)) {
-              dataArr.splice(i, 1);
-              dataArrs.splice(k, 1);
+
+        for (let k = dataArr.length-1; k >=0; k--) {
+          for (let i = 0; i < this.rightData.length; i++) {
+            if (this.rightData[i] == this.dataR[k].id) {
+              dataArr.splice(k, 1);
+              continue;
             }
           }
         }
         this.dataR = dataArr;
-        this.rightData = dataArrs;
+        this.rightData = [];
       }
     },
     handleSubmit() {

+ 1 - 0
src/views/supply/policy/components/retail_form2.vue

@@ -462,6 +462,7 @@
           border
           fit
           highlight-current-row
+          @select-all="handleSelectionChange"
           @selection-change="handleSelectionChange"
           stripe
         >