Browse Source

Merge branch 'purchaseDev' of http://172.16.100.139/new-business/drp-web into purchaseDev

002201 1 year ago
parent
commit
0e512ce97f

+ 16 - 12
src/components/popover-tree-select/index.vue

@@ -208,6 +208,7 @@ export default {
       :close-on-click-modal="false"
       :close-on-press-escape="false"
       append-to-body
+      style="padding: 10px;"
     >
       <div slot="footer">
         <el-button
@@ -235,19 +236,22 @@ export default {
         <el-form-item>
           <el-button icon="el-icon-refresh" @click="useReset"></el-button>
         </el-form-item>
-        <el-tree
-          v-loading="loading"
-          :data="data"
-          :props="defaultProps"
-          :filter-node-method="useTreeFilter"
-          ref="tree"
-          accordion
-          node-key="id"
-          @node-click="useSelect"
-        >
-        </el-tree>
+        <div style="height: 400px;overflow: auto;">
+          <el-tree          
+            v-loading="loading"
+            :data="data"
+            :props="defaultProps"
+            :filter-node-method="useTreeFilter"
+            ref="tree"
+            accordion
+            node-key="id"
+            @node-click="useSelect"
+          >
+          </el-tree>
+        </div>
       </el-form>
     </el-dialog>
   </div>
 </template>
-<style scoped></style>
+<style scoped>
+</style>

+ 4 - 1
src/utils/request.js

@@ -31,6 +31,8 @@ service.interceptors.request.use(
     // 是否存在列表查询
     const isQueryList =
       config.url.includes("/list") || config.url.includes("/query");
+    //是否存在其他登录方式
+    const isSSO = config.url.includes("/login/sso");
     if (getToken() && !isToken) {
       config.headers["Authorization"] = "Bearer " + getToken(); // 让每个请求携带自定义token 请根据实际情况自行修改
     }
@@ -44,6 +46,7 @@ service.interceptors.request.use(
     if (
       !isRepeatSubmit &&
       !isQueryList &&
+      !isSSO &&
       (config.method === "post" || config.method === "put")
     ) {
       const requestObj = {
@@ -114,7 +117,7 @@ service.interceptors.response.use(
             url: res.config.url,
             data: res.config.data,
             method: res.config.method,
-            params: { ...res.config.params, DName: "蒙奇·D·伟涛" },
+            params: { ...res.config.params},
           });
         }
       } catch (err) {

+ 15 - 11
src/views/material/basicFile/columns.js

@@ -24,17 +24,21 @@ export const SearchColumns = [
       referName: "MATERIAL_PARAM",
     },
   },
-  // {
-  //   item: {
-  //     key: "classIds",
-  //     title: "物料分类",
-  //   },
-  //   attr: {
-  //     is: "el-popover-tree-select",
-  //     referName: "MATERIALCLASSIFY_PARAM",
-  //     valueKey: "id",
-  //   },
-  // },
+  {
+    item: {
+      key: "classifyIdName",
+      title: "物料分类",
+    },
+    attr: {
+      is: "el-popover-tree-select",
+      referName: "MATERIALCLASSIFY_PARAM",
+      valueKey: "name",
+      clearable:true,
+      dataMapping: {
+        classifyId: "id",
+      },
+    },
+  },
   {
     item:{
       key: "isEnable",

+ 60 - 5
src/views/purchase/PurchaseDemandList/add.vue

@@ -43,8 +43,8 @@
         </el-col>
 
         <el-col :span="1.5">
-          <el-form-item label="需求计划">
-            <el-select :disabled="sonDisable" v-model="basicForm.planType" size="mini" style="width: 200px">
+          <el-form-item label="需求计划" prop="planType" :rules="{ required: true, message: '请选择需求计划', trigger: 'blur' }">
+            <el-select :disabled="sonDisable" v-model="basicForm.planType" size="mini" style="width: 200px" @change="changeplanType()">
               <el-option v-for="dict in dict.type.sys_plan_type" :key="dict.value" :label="dict.label" :value="dict.value">
               </el-option>
             </el-select>
@@ -55,7 +55,7 @@
           <el-form-item label="需求日期" prop="demandDate" :rules="{ required: true, message: '请选择需求日期', trigger: 'blur' }">
             <el-date-picker
               v-model="basicForm.demandDate"
-              :disabled="sonDisable"
+              disabled
               clearable
               type="date"
               value-format="yyyy-MM-dd"
@@ -571,9 +571,8 @@ export default {
         demandPersonalName: '',
         demandDept: '',
         demandDeptName: '',
-        planType: '1',
+        planType: 'ZJH',
         demandDate: '',
-        createTime: '',
         source: '4',
         billType: 'ZQBH',
         isCustomerSpecified: 'N',
@@ -753,6 +752,8 @@ export default {
     } else if(this.pageStu == 'edit') {
       this.getDetails(this.row)
     } else if (this.pageStu == 'add') {
+      // 新增时判断需求日期
+      this.dafaultDate()
       this.loading = false
       this.basicForm.demandPersonal = this.$store.state.user.name
       this.basicForm.demandPersonalName = this.$store.state.user.nickName
@@ -763,6 +764,58 @@ export default {
     }
   },
   methods: {
+    // 默认需求日期根据当天星期几判断
+    dafaultDate() {
+      // 获取当前时间
+      let date = new Date()
+      //获取当前时间的年份转为字符串
+      let year = date.getFullYear().toString()  
+      //获取月份,由于月份从0开始,此处要加1,判断是否小于10,如果是在字符串前面拼接'0'
+      let month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1).toString() : (date.getMonth() + 1).toString()  //'04'
+      //获取天,判断是否小于10,如果是在字符串前面拼接'0'
+      let da = date.getDate() < 10 ? '0' + date.getDate().toString() : date.getDate().toString()  //'12'
+      let today = year + '-' + month + '-' + da
+      console.log('今天日期',today)
+      let weekDay = date.getDay()
+      console.log('今天星期几', weekDay)
+      // 改变需求计划的判断写这里面了
+      if (this.basicForm.planType == 'JJXQ') {
+        this.basicForm.demandDate = today
+      } else {
+        if (weekDay == 0) {this.basicForm.demandDate = this.getNextDate(today, 2)} 
+        else if (weekDay == 1) {this.basicForm.demandDate = this.getNextDate(today, 1)}
+        else if (weekDay == 2) {this.basicForm.demandDate = today}
+        else if (weekDay == 3) {this.basicForm.demandDate = this.getNextDate(today, 6)}
+        else if (weekDay == 4) {this.basicForm.demandDate = this.getNextDate(today, 5)}
+        else if (weekDay == 5) {this.basicForm.demandDate = this.getNextDate(today, 4)}
+        else if (weekDay == 6) {this.basicForm.demandDate = this.getNextDate(today, 3)}
+        // console.log(this.getNextDate(today, 2))
+      }
+    },
+    // 获取某天日期的下一天,默认为第二天 默认输出格式为yyyy-mm-dd
+    getNextDate(date, day = 1, format = '{y}-{m}-{d}') {
+      if (date) {
+        date = date.match(/\d+/g).join('-'); // 格式为2022年09月19日处理
+        const nDate = new Date(date);
+        nDate.setDate(nDate.getDate() + day);
+ 
+        const formatObj = {
+          y: nDate.getFullYear(),
+          m: nDate.getMonth() + 1,
+          d: nDate.getDate(),
+        };
+        return format.replace(/{([ymd])+}/g, (result, key) => {
+          const value = formatObj[key];
+          return value.toString().padStart(2, '0');
+        });
+      } else {
+        console.log('date格式不正确');
+      }
+    },
+    // 改变需求计划改变需求日期
+    changeplanType() {
+      this.dafaultDate()
+    },
     // 无限滚动加载配置
     load() {
       if (this.loadDisabled) return;
@@ -856,6 +909,8 @@ export default {
       this.basicForm.demandPersonalName = this.$store.state.user.nickName
       this.basicForm.demandDept = this.$store.state.user.deptId
       this.basicForm.demandDeptName = this.$store.state.user.deptName
+      // 复制时判断需求日期
+      this.dafaultDate()
       if (this.basicForm.demandPersonal) { this.reBackRefer('CONTACTS_PARAM', this.basicForm.demandPersonal, '需求人员') }
       if (this.basicForm.demandDept) { this.reBackRefer('DEPT_PARAM', this.basicForm.demandDept) }
       this.basicForm.puDemandItemList.forEach(item => {

+ 18 - 3
src/views/purchase/PurchaseDemandList/index.vue

@@ -252,6 +252,13 @@
     <!-- 模板下载新增参数 -->
     <el-dialog title="需求模板下载" :visible.sync="download.open" @close="clearDownload" width="400px">
       <el-row style="margin-bottom: 20px;">
+        <span style="margin-right: 10px;">需求计划</span>
+        <el-select size="mini" v-model="download.planType">
+          <el-option v-for="dict in dict.type.sys_plan_type" :key="dict.value" :label="dict.label" :value="dict.value">
+          </el-option>
+        </el-select>
+      </el-row>
+      <el-row style="margin-bottom: 20px;">
         <span style="margin-right: 10px;">需求客户</span>
         <el-select clearable size="mini" v-model="download.customer" @clear="download.customer = ''" @focus="chooseOrg('CUSTOMER_PARAM', true, '选择客户')">
           <el-option v-for="item in mBcustomer" :key="item.id" :label="item.name" :value="item.code" />
@@ -310,7 +317,7 @@ export default {
     Refers,
     TreeRefers
   },
-  dicts: ['sys_processing_mode', 'sys_status', 'sys_bill_source', 'sys_business', 'sys_reserve_ratio', 'sys_period_unit', 'sys_price_type'],
+  dicts: ['sys_processing_mode', 'sys_status', 'sys_bill_source', 'sys_business', 'sys_reserve_ratio', 'sys_period_unit', 'sys_price_type', 'sys_plan_type'],
   data() {
     return {
       loading: true,
@@ -332,6 +339,7 @@ export default {
       // 模板下载参数
       download: {
         open: false,
+        planType: 'ZJH',
         customer: '',
         warehouse: '',
         warehouseId: '',
@@ -473,8 +481,9 @@ export default {
       console.log('选中数组', this.ids.join())
     },
     mbDownload() {
+      this.$modal.loading("正在下载模板,请稍后...");
       downLoadDemand(this.download).then(res => {
-        console.log('下载的文件流', res)
+        this.$modal.closeLoading();
         const blob = new Blob([res], {
           type: "application/vnd.ms-excel;charset=UTF-8",
         });// 创建一个类文件对象:Blob对象表示一个不可变的、原始数据的类文件对象
@@ -484,12 +493,14 @@ export default {
         // var fileName = decodeURIComponent(temp.split("filename=")[1]); // 中文需要转码 (前端乱码)
         // var name = fileName.split(";")[0]; //切割成文件名
         downloadElement.href = href;  //下载地址
-        downloadElement.download = '模板'; // 下载后文件名
+        downloadElement.download = '采购需求单模板'+ this.parseTime(new Date().getTime()) + ".xlsx"; // 下载后文件名
         document.body.appendChild(downloadElement);
         downloadElement.click(); // 点击下载
         document.body.removeChild(downloadElement); // 下载完成移除元素
         window.URL.revokeObjectURL(href); // 释放blob对象
         this.download.open = false
+      }).catch(err => {
+        this.$modal.closeLoading();
       })
     },
     // 关闭模板下载弹窗清空参数
@@ -497,6 +508,7 @@ export default {
       // 模板下载参数
       this.download =  {
         open: false,
+        planType: 'ZJH',
         customer: '',
         warehouse: '',
         warehouseId: '',
@@ -517,9 +529,11 @@ export default {
     // 文件上传中处理
     handleFileUploadProgress(event, file, fileList) {
       this.upload.isUploading = true;
+      this.$modal.loading("正在导入数据,请稍后...");
     },
     // 文件上传成功处理
     handleFileSuccess(response, file, fileList) {
+      this.$modal.closeLoading();
       this.upload.open = false;
       this.upload.isUploading = false;
       this.$refs.upload.clearFiles();
@@ -527,6 +541,7 @@ export default {
       this.getList(this.queryParams);
     },
     errorFile(err) {
+      this.$modal.closeLoading();
       this.$modal.notifyError("文件已变动,请重新上传");
     },
     // 提交上传文件

+ 4 - 2
src/views/purchase/task/xie-yi-zhi-cai/column.js

@@ -18,8 +18,10 @@ export const TableColumns = [
     attr: {},
   },
   {
-    item: { key: "supplierName", title: "供应商" },
-    attr: {},
+    item: { key: "supplierName", title: "供应商", filterabled:true, },
+    attr: {
+     
+    },
   },
   {
     item: { key: "customerName", title: "客户" },

+ 9 - 5
src/views/purchase/task/xie-yi-zhi-cai/index.vue

@@ -57,6 +57,7 @@ export default {
             orderPriceVos: item.orderPriceVos.map((cItem) => ({
               ...item,
               ...cItem,
+              purchaseQuantity: item.orderPriceVos.length === 1 ? (item.puQty - item.executeQty) : undefined
             })),
           }));
           return true;
@@ -119,19 +120,21 @@ export default {
     >
       <template slot="title">
         <span>{{ title }}</span>
+
         <el-button
+          type="primary"
           :size="$attrs.size"
           :loading="loading"
-          @click="visible = false"
-          >取 消</el-button
+          @click="submit(data)"
+          >确 认</el-button
         >
         <el-button
-          type="primary"
           :size="$attrs.size"
           :loading="loading"
-          @click="submit(data)"
-          >确 认</el-button
+          @click="visible = false"
+          >取 消</el-button
         >
+        
       </template>
       <div v-for="(item, index) in data" :key="index" class="m-4">
         <h3 class="mb-4">
@@ -147,6 +150,7 @@ export default {
           :columns="tableColumns"
           :size="$attrs.size"
           :dict="dict"
+          
         >
           <template slot="purchaseQuantity" slot-scope="scope">
             <component

+ 2 - 2
src/views/purchase/transferOrder/add.vue

@@ -1302,7 +1302,7 @@
               />
             </el-form-item>
           </el-col>
-          <el-col :span="1.5">
+          <!-- <el-col :span="1.5">
             <el-form-item label="最后修改人">
               <el-input
                 v-model="basicForm.updateByName"
@@ -1323,7 +1323,7 @@
                 style="width: 200px"
               />
             </el-form-item>
-          </el-col>
+          </el-col> -->
         </el-row>
       </el-form>
 

+ 31 - 13
src/views/purchase/transferOrder/index.vue

@@ -14,13 +14,13 @@
             <el-col :span="1.5">
               <el-form-item label="单据日期">
                 <el-date-picker
-                style="width: 200px"
-                size="mini"
-                clearable
-                value-format="yyyy-MM-dd"
-                  v-model="queryParams.billDate"
-                  type="date">
-                </el-date-picker>
+                  size="mini"
+                  v-model="dateRange"
+                  style="width: 240px"
+                  value-format="yyyy-MM-dd"
+                  type="daterange"
+                  range-separator="-"
+                ></el-date-picker>
               </el-form-item>
             </el-col>
             <el-col :span="1.5">
@@ -57,6 +57,13 @@
                   />
                 </el-form-item>
               </el-col>
+              <el-col :span="1.5">
+              <el-form-item label="制单人">
+                <el-select clearable size="mini" v-model="queryParams.createBy"  @focus="chooseRefer('CONTACTS_PARAM', true, '制单人')" style="width: 200px">
+                  <el-option v-for="item in manOptions" :key="item.id" :label="item.name" :value="item.code"/>
+                </el-select>
+              </el-form-item>
+            </el-col>
             </el-row>
           </div>
           </CollapseTransition>
@@ -117,8 +124,8 @@
           <el-table-column show-overflow-tooltip label="制单日期" align="center" prop="createTime" width="150px"/>
           <!-- <el-table-column show-overflow-tooltip label="审批人" align="center" prop="code" width="150px"/> -->
           <!-- <el-table-column show-overflow-tooltip label="审批日期" align="center" prop="code" width="150px"/> -->
-          <el-table-column show-overflow-tooltip label="最后修改人" align="center" prop="updateByName" width="100px"/>
-          <el-table-column show-overflow-tooltip label="最后修改时间" align="center" prop="updateTime" width="150px"/>
+          <!-- <el-table-column show-overflow-tooltip label="最后修改人" align="center" prop="updateByName" width="100px"/>
+          <el-table-column show-overflow-tooltip label="最后修改时间" align="center" prop="updateTime" width="150px"/> -->
           <el-table-column
           fixed="right"
           label="操作"
@@ -346,13 +353,14 @@ export default {
       page: '',
       queryParams: {
         deliveryInventoryOrg: '',
-        billDate: '',
-        billType: '',
         storageInventoryOrg: '',
         code: '',
+        createBy:'',
         pageNum: 1,
         pageSize: 10
       },
+      //单据日期查询范围
+      dateRange:[],
       referCondition: {
         type: '',
         isPage: true,
@@ -365,6 +373,7 @@ export default {
       }],
       chuOrgOptions: [],
       ruOrgOptions: [],
+      manOptions: [],
       tableList: [],
       total: 0,
       materialInfo: [],
@@ -445,19 +454,20 @@ export default {
       this.getList(this.queryParams)
     },
     resetList() {
+      this.dateRange = [];
       this.queryParams = {
         deliveryInventoryOrg: '',
-        billDate: '',
         billType: '',
         storageInventoryOrg: '',
         code: '',
+        createBy:'',
         pageNum: 1,
         pageSize: 10
       }
       this.getList(this.queryParams)
     },
     getList(params){
-      getOrderList(params).then(res => {
+      getOrderList(this.addDateRange(params, this.dateRange)).then(res => {
         if (res.code === 200) {
           this.tableList = res.rows
           this.total = res.total
@@ -506,6 +516,10 @@ export default {
         this.$modal.closeLoading();
       })
     },
+    //查询条件单据日期改变后
+    billDateAfterChange(val){
+      console.log('val',val);
+    },
     // 选中某行
     select(row) {
       console.log('选中', row)
@@ -551,6 +565,10 @@ export default {
         this.ruOrgOptions = selection
         this.queryParams.storageInventoryOrg = selection[0].id
       }
+      if (this.referCondition.title == '制单人') {
+        this.manOptions = selection
+        this.queryParams.createBy = selection[0].code
+      }
     },
   }
 

+ 1 - 1
vue.config.js

@@ -47,7 +47,7 @@ module.exports = {
         // target: `http://172.16.13.113:8000/drp-admin`, //DWT本地
         // target: `http://172.16.13.21:8000/drp-admin`, //CKF本地
         // target: `http://172.16.13.43:8000/drp-admin`, //lz's localhost
-        // target: `http://172.16.63.52:8000/drp-admin`, //董卓
+      //  target: `http://172.16.63.126:8000/drp-admin`, //wjie
          // target: `http://127.0.0.1:8000/drp-admin`,
         changeOrigin: true,
         pathRewrite: {