فهرست منبع

12.29物资编码

zhouzh 3 سال پیش
والد
کامیت
57b1f4b6cc

+ 1 - 1
build/check-versions.js

@@ -40,7 +40,7 @@ module.exports = function () {
 
 
   if (warnings.length) {
   if (warnings.length) {
     console.log('')
     console.log('')
-    console.log(chalk.yellow('To use this template, you must update following to modules:'))
+    console.log(chalk.yellow('若要使用此模板,必须更新以下模块:'))
     console.log()
     console.log()
 
 
     for (let i = 0; i < warnings.length; i++) {
     for (let i = 0; i < warnings.length; i++) {

+ 4 - 20
build/utils.js

@@ -15,27 +15,11 @@ const devPathSrc = path.resolve(__dirname, '../../../src'); // node_modules应
 // ['index', 'sales', '  ', 'standard', 'qualityControl', 'produce', 'workshop',
 // ['index', 'sales', '  ', 'standard', 'qualityControl', 'produce', 'workshop',
 //    物流         进程     成本   报表          基础配置        系统配置
 //    物流         进程     成本   报表          基础配置        系统配置
 //  'logistics', 'process', '   ', 'reportform', 'basicconfig', 'system']
 //  'logistics', 'process', '   ', 'reportform', 'basicconfig', 'system']
-// let devModules = ['index', 'qualityControl', 'standard', 'basicconfig'];
-// let devModules = ['index','devops','workFlow','systemConfig', 'microService'];
-let devModules = ['all'];
-// let devModules = ['index','TMS','RMS']
-// let devModules = ['index','SporadicManage','TMS']
-// let devModules = ['index','SporadicManage'];
-// let devModules = ['index','systemConfig', 'formGenerator', 'preview', 'metaData', 'serviceManager', 'configManager', 'custom'];
-// let devModules = ['index', 'systemConfig','formGenerator', 'preview', 'metaData', 'serviceManager', 'configManager', 'btnControll'];
-//  let devModules = ['all'];
+// let devModules = ['index','RMS','systemConfig']
+ //let devModules = ['index','RMS','statisticalReport'];
+ let devModules = ['all'];
 // let devModules = ['index','RMS']
 // let devModules = ['index','RMS']
-//let devModules = ['index','SporadicManage','TMS']
-// let devModules = ['index','SporadicManage'];
-// let devModules = ['index','systemConfig', 'formGenerator', 'preview', 'metaData', 'serviceManager', 'configManager', 'custom'];
-// let devModules = ['index', 'systemConfig','formGenerator', 'preview', 'metaData', 'serviceManager', 'configManager', 'btnControll'];
-// let devModules = ['index','inward','SporadicManage']
-// let devModules = ['index','']
-// let devModules = ['all'];
-// let devModules = ['index','RMS','systemConfig','TMS']
-// let devModules = ['all'];
-// let devModules = ['index','inward','appoint','sale']
-// let devModules = ['index','SporadicManage']
+
 if (pathSrc.indexOf('node_modules') > -1) {
 if (pathSrc.indexOf('node_modules') > -1) {
     devModules = require('../../../cors.js').devModules;
     devModules = require('../../../cors.js').devModules;
 }
 }

+ 0 - 2
config/index.js

@@ -77,9 +77,7 @@ let proxyTable = {
     }
     }
   },
   },
 }
 }
-
 let dist = '../dist';
 let dist = '../dist';
-
 if (pathSrc.indexOf('node_modules') > -1) {
 if (pathSrc.indexOf('node_modules') > -1) {
     dist = '../../../dist';
     dist = '../../../dist';
     let proxyTableGet = require('../../../cors.js').proxyTable;
     let proxyTableGet = require('../../../cors.js').proxyTable;

BIN
dist.zip


+ 5 - 4
src/components/main.vue

@@ -1235,10 +1235,11 @@ export default {
      *打开主页
      *打开主页
      */
      */
     backMain() {
     backMain() {
-      window.open(
-        window.location.protocol + "//portal.steerinfo.com",
-        "_blank"
-      );
+      this.$message.success('跳转主页');
+      // window.open(
+      //   window.location.protocol + "//portal.steerinfo.com",
+      //   "_blank"
+      // );
     },
     },
     /**
     /**
      * 主题
      * 主题

+ 6 - 6
src/views/RMS/components/addCarrier.vue

@@ -235,12 +235,12 @@ export default {
         this.$message.error("承运商名称不能为空");
         this.$message.error("承运商名称不能为空");
       } else if (!this.form1.carrierType) {
       } else if (!this.form1.carrierType) {
         this.$message.error("承运商类型不能为空");
         this.$message.error("承运商类型不能为空");
-      // }else if (!this.imageUrl1) {
-      //   this.$message.error("请上传运输证");
-      // } else if (!this.imageUrl2) {
-      //   this.$message.error("请上传经营许可证");
-      // } else if (!this.imageUrl3) {
-      //   this.$message.error("请上传营业执照");
+      }else if (!this.imageUrl1) {
+        this.$message.error("请上传运输证");
+      } else if (!this.imageUrl2) {
+        this.$message.error("请上传经营许可证");
+      } else if (!this.imageUrl3) {
+        this.$message.error("请上传营业执照");
       }else {
       }else {
         status = true;
         status = true;
       }
       }

+ 1 - 3
src/views/RMS/components/addMaterial.vue

@@ -69,7 +69,6 @@ export default {
     },
     },
      makeSure() {
      makeSure() {
       let RmsMaterial = {
       let RmsMaterial = {
-        materialCode:this.form1.materialCode,
         materialName:this.form1.materialName,
         materialName:this.form1.materialName,
         materialSpecification:this.form1.materialSpecification,
         materialSpecification:this.form1.materialSpecification,
         materialModel:this.form1.materialModel,
         materialModel:this.form1.materialModel,
@@ -78,7 +77,6 @@ export default {
         materialTheoreticalWeight:this.form1.materialTheoreticalWeight,
         materialTheoreticalWeight:this.form1.materialTheoreticalWeight,
       };
       };
       if(
       if(
-        RmsMaterial.materialCode==null ||
         RmsMaterial.materialName==null ||
         RmsMaterial.materialName==null ||
         RmsMaterial.materialSpecification==null ||
         RmsMaterial.materialSpecification==null ||
         RmsMaterial.materialModel==null ||
         RmsMaterial.materialModel==null ||
@@ -101,7 +99,7 @@ export default {
             // this.$refs.table.refreshData();
             // this.$refs.table.refreshData();
             this.$router.go(-1);
             this.$router.go(-1);
           } else {
           } else {
-            this.$message.error("新增失败,可能存在重复!");
+            this.$message.error("新增失败");
           }
           }
           this.$refs['table'].resetField();
           this.$refs['table'].resetField();
         });
         });

+ 4 - 1
src/views/RMS/components/addPersonnel.vue

@@ -207,7 +207,7 @@ export default {
       //新增用户
       //新增用户
       this.$store.dispatch('system/usersManage/addUser',formData)
       this.$store.dispatch('system/usersManage/addUser',formData)
       .then((res)=>{
       .then((res)=>{
-
+          console.log("role",res)
           //再新增RMS_PERSONNEL表信息
           //再新增RMS_PERSONNEL表信息
           let rmsPersonnel = {
           let rmsPersonnel = {
             personnelJobNumber : this.form1.personnelJobNumber,
             personnelJobNumber : this.form1.personnelJobNumber,
@@ -219,8 +219,10 @@ export default {
             personnelTeam : this.form1.personnelTeam,
             personnelTeam : this.form1.personnelTeam,
             personnelSsoId : res.data.userId
             personnelSsoId : res.data.userId
           }
           }
+          // console.log("rmsPersonnel",rmsPersonnel)
               this.axios.post('/api/v1/rms/addPersonnel',rmsPersonnel)
               this.axios.post('/api/v1/rms/addPersonnel',rmsPersonnel)
               .then((res)=>{
               .then((res)=>{
+                          // console.log("Personnel",res)
                     if (res.data.code == 200) {
                     if (res.data.code == 200) {
                     this.$message({
                     this.$message({
                       type: "success",
                       type: "success",
@@ -238,6 +240,7 @@ export default {
               this.axios.post('pass/v1/sysuserroles/addUserroles?userId='
               this.axios.post('pass/v1/sysuserroles/addUserroles?userId='
               +res.data.userId+'&userCode='+this.form1.personnelJobNumber+'&roleId='+this.value3)
               +res.data.userId+'&userCode='+this.form1.personnelJobNumber+'&roleId='+this.value3)
               .then((res)=>{
               .then((res)=>{
+                // console.log("success")
                   this.$router.go(-1);
                   this.$router.go(-1);
               })
               })
 
 

+ 542 - 0
src/views/appoint/components/saleContract/addSaleOrderSend.vue

@@ -0,0 +1,542 @@
+<template>
+  <!-- 添加销售订单排车 -->
+  <div class="addSalePlan">
+    <page-title>新增销售订单派车</page-title>
+        <div>
+            <el-tabs v-model="activeName" >
+                <dilTable ref="tab" v-bind.sync="option">
+                </dilTable>
+            </el-tabs>
+        </div>
+        
+        <el-form :inline="true" style="margin-top: 2rem;">
+            <el-form-item>
+                <label class="el-form-item__label" style="width: auto;margin-left: 2rem;">物资名称:</label>
+                <el-select v-model="materials" placeholder="请选择">
+                    <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
+                 </el-select>
+            </el-form-item>
+            <el-form-item>
+                <div class="lineId">
+                <div class="materialId">
+                    <label class="el-form-item__label" style="width: auto;margin-left: 2rem;">承运商:</label>
+                    <el-input class="input" v-model="carrierName" disabled> </el-input>
+                    <el-button type="primary" class="btn" @click="table2 = true">浏览</el-button>
+                </div>
+                </div>
+            </el-form-item>
+            <el-form-item>
+                <div class="lineId">
+                <div class="materialId">
+                    <label class="el-form-item__label" style="width: auto;margin-left: 2rem;">选择路线:</label>
+                    <el-input class="input" v-model="lineName" disabled> </el-input>
+                    <el-button type="primary" class="btn" @click="table1 = true">浏览</el-button>
+                </div>
+                </div>
+            </el-form-item>
+        </el-form>
+
+        <!-- 承运商模态框 -->
+        <el-drawer
+        title="选择承运商"
+        :visible.sync="table2"
+        direction="rtl"
+        size="35%"
+        :show-close="false"
+        >
+        <el-input placeholder="请输入内容" v-model="index"  
+        style="margin-top: 10px; margin-left: 20px;width:160px" clearable> </el-input
+        ><el-button type="primary" class="btn" @click="onclick" style="margin-left: 4px;">
+            <i class="el-icon-search"></i>查询
+        </el-button>
+        <div class="tablecls">
+            <!-- 查询所有的承运商 -->
+            <dilTable v-bind.sync="carrier" @radio-change="currentRadioChange2">
+            </dilTable>
+        </div>
+        </el-drawer>
+
+        <!-- 选择路线模态窗口 -->
+        <el-drawer
+        title="选择路线"
+        :visible.sync="table1"
+        direction="rtl"
+        size="50%"
+        :show-close="false"
+        >
+        <el-input placeholder="请输入内容" v-model="input"  
+        style="margin-top: 10px; margin-left: 20px;width:160px" clearable> </el-input
+        ><el-button type="primary" class="btn" @click="onclick1" style="margin-left: 4px;">
+            <i class="el-icon-search"></i>查询
+        </el-button>
+        <div class="tablecls">
+            <!-- 查询所有的路线 -->
+            <dilTable
+            v-bind.sync="line" @radio-change="currentRadioChange5"
+            ></dilTable>
+        </div>
+        </el-drawer>
+
+        <!-- 选择新增条数及确认按钮 -->
+        <div class="lineId">
+            <div class="materialId">
+                <label class="el-form-item__label" style="width: auto;margin-left: 2rem;margin-top: 0.3rem;">派车数:</label>
+                <el-input class="input1" v-model="carCount"> </el-input>
+                <el-button type="primary" class="btn" @click="makeSure1">确认分派</el-button>
+            </div>
+        </div>
+
+    <!-- 派车表格 -->
+    <div class="selectionTable from">
+      <el-table :data="selectionList" border style="width: 100%" highlight-current-row>
+        <el-table-column v-for="(item, i) in tableTop" :key="i" :prop="item.prop" :label="item.label" :width="item.width" align="center"
+          show-overflow-tooltip>
+          <template slot="scope" v-if="item.label !== '重量'">
+            <span>{{ item.label }}</span>
+          </template>
+          <template slot="scope" v-if="item.label !== '车牌号'">
+            <span>{{ item.label }}</span>
+          </template>
+          <template slot="scope" v-if="item.label !== '收货地址'">
+            <span>{{ item.label }}</span>
+          </template>
+          <template slot="scope" v-if="item.label !== '收货日期'">
+            <span>{{ item.label }}</span>
+          </template>
+          <template slot="scope" v-if="item.label !== '收货姓名'">
+            <span>{{ item.label }}</span>
+          </template>
+          <template slot="scope" v-if="item.label !== '收货方电话'">
+            <span>{{ item.label }}</span>
+          </template>
+          <!-- 插入输入框 -->
+          <template slot-scope="scope">
+            <template v-if="item.slot">
+              <!-- 车牌号 -->
+              <template v-if="item.prop == 'capacityNumber'">
+                <el-input
+                  class="textinput1"
+                  v-model.number="scope.row.capacityNumber"
+                ></el-input>
+              </template>
+              <!-- 物资重量 -->
+              <template v-if="item.prop == 'orderPlanWeight'">
+                <el-input
+                  class="textinput"
+                  v-model.number="scope.row.orderPlanWeight"
+                ></el-input>
+              </template>
+              
+              <!-- 收货地址id -->
+              <template style="width: 400px" v-if="item.prop == 'saleShipperAddressName'">
+                <el-input style="width: 200px" v-model="scope.row.saleShipperAddressName" disabled>
+                </el-input>
+                <el-button type="primary" @click="ondrawer(scope.row,scope.$index)"
+                  >浏览</el-button
+                >
+              </template>
+              <!-- 收货日期 -->
+              <template v-if="item.prop == 'saleDateOfReceipt'">
+                <el-date-picker
+                  class="textinput3"
+                  type="date"
+                  v-model.number="scope.row.saleDateOfReceipt"
+                ></el-date-picker>
+              </template>
+              <!-- 收货客户 -->
+              <template v-if="item.prop == 'saleOrderConsignee'">
+                <el-input
+                  class="textinput4"
+                  v-model.number="scope.row.saleOrderConsignee"
+                ></el-input>
+              </template>
+              <!-- 收货客户电话号码 -->
+              <template v-if="item.prop == 'saleOrderConsigneeTel'">
+                <el-input
+                  class="textinput5"
+                  v-model.number="scope.row.saleOrderConsigneeTel"
+                ></el-input>
+              </template>
+            </template>
+            <template v-else>
+              <span>{{ scope.row[item.prop] }}</span>
+            </template>
+          </template>
+        </el-table-column>
+        <!-- 操作列 -->
+        <el-table-column fixed="right" label="操作" width="100">
+          <template slot-scope="scope">
+            <el-button
+              @click.native.prevent="deleteRow(scope.$index, selectionList)"
+              type="text"
+              icon="el-icon-close"
+              size="big"
+            ></el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+
+    <el-drawer
+      :visible.sync="drawer"
+      :direction="direction"
+      :close-on-press-escape="true"
+      :show-close="true"
+      :wrapperClosable="true"
+      modal
+      size="30%"
+    >
+      <el-input
+        placeholder="请输入内容"
+        v-model="textInput"
+        style="margin-top: 10px; margin-left: 20px;width: 200px"
+        clearable
+      >
+      </el-input>
+      <el-button
+        type="primary"
+        class="btn"
+        @click="onclick1()"
+        style="margin-bottom: 15px"
+      >
+        <i class="el-icon-search"></i>查询
+      </el-button>
+      <dilTable
+        v-bind.sync="frist"
+        @radio-change="currentRadioChange1"
+      ></dilTable>
+    </el-drawer>
+
+    <div class="button-box">
+      <el-button @click="cancel">取消</el-button>
+      <el-button type="primary" @click="makeSure">确定</el-button>
+    </div>
+  </div>
+</template>
+<script>
+import PageTitle from "@/components/Page/Title";
+
+export default {
+  components: { PageTitle },
+  data() {
+    return {
+      materials: "",
+      //线路
+      table1: false,
+      lineName:"",
+      line: {
+        requestUrl: "/api/v1/rms/getAllLineDesk?apiId=249&lineType=3",
+        selectionType: "radio",
+      },
+      //承运商
+      table2: false,
+      carrierName: "",
+      carrier: {
+        requestUrl: "/api/v1/uc/getCarrierListByLike?apiId=412",
+        selectionType: "radio",
+      },
+      //新增车数
+      carCount: 1,
+
+
+      textInput: "",
+      input: "",
+      //销售订单物资信息
+      option: {
+        // 表格请求数据的地址
+        requestUrl: "/api/v1/ams/getSaleOrderAndMaterialById?apiId=410&saleOrderId=" + this.$route.params.saleOrderId,
+      },
+      table: false,
+      //表格数据lists
+      selectionList: [],
+      //表格新增lists
+      selectionList1: [],
+      drawer: false,
+      direction: "rtl",
+      form1: {},
+      value: false,
+      frist: {
+        requestUrl: "/api/v1/ams/getAddressDeliveryAddress?apiId=255",
+        selectionType: "radio",
+        mapList: [],
+      },
+      options: [
+        {
+          values: "yes",
+          label: "是",
+        },
+        {
+          values: "no",
+          label: "否",
+        },
+      ],
+      values: "yes",
+      tableTop: [
+        {
+          prop: "capacityNumber",
+          label: "车牌号",
+          slot: true,
+        },
+        {
+          prop: "materialName",
+          label: "物资名称",
+          width: "140",
+        },
+        {
+          prop: "carrierName",
+          label: "承运商",
+          width: "120",
+        },
+        {
+          prop: "lineName",
+          label: "运输线路",
+          width: "140",
+        },
+        {
+          prop: "orderPlanWeight",
+          label: "重量",
+          slot: true,
+        },
+        {
+          prop: "saleShipperAddressName",
+          label: "收货地址",
+          width: "300",
+          slot: true,
+        },
+        {
+          prop: "saleDateOfReceipt",
+          label: "收货日期",
+          width: "110",
+          slot: true,
+        },
+        {
+          prop: "saleOrderConsignee",
+          label: "收货客户",
+          slot: true,
+        },
+        {
+          prop: "saleOrderConsigneeTel",
+          label: "收货客户电话号码",
+          slot: true,
+        },
+      ],
+      row: {},
+    };
+  },
+  watch: {
+    
+  },
+  methods: {
+    currentRadioChange2(selectoin){
+        console.log("selectoin",selectoin)
+      this.carrierName = selectoin.carrierName;
+    },
+    currentRadioChange5(selection) {
+      this.lineName = selection.lineName;
+    //   this.lineId = selection.lineId;
+    },
+    // 确认新增一列或多列派车行
+    // makeSure1() {
+    //     console.log("this.option[0].saleMaterialId",this.option)
+    //   for(var i=0;i<this.carCount;i++){
+    //       var addmap = {
+    //           capacityNumber : null,
+    //           materialName : this.materials,
+    //           carrierName : this.carrierName,
+    //           lineName : this.lineName,
+    //           orderPlanWeight : null,
+    //           saleShipperAddressId: null,
+    //           saleShipperAddressName:null,
+    //           saleDateOfReceipt: null,
+    //           saleOrderConsignee: null,
+    //           saleOrderConsigneeTel: null,
+    //       }
+    //       this.selectionList.push(addmap);
+    //   }
+    // },
+    //删除派车列
+    deleteRow(index, rows) {
+      rows.splice(index, 1);
+    },
+    //点击浏览事件
+    ondrawer(row,index) {
+      this.row = row;
+      this.row.index = index;
+      this.drawer = true;
+    },
+    //监听模态框点击事件
+    currentRadioChange1(radioList) {
+      this.selectionList[this.row.index].saleShipperAddressId = radioList.addressId;
+      this.selectionList[this.row.index].saleShipperAddressName = radioList.address;
+    },
+    //收货地址模态框查询
+    onclick1() {
+      this.option.requestUrl =
+        "/api/v1/ams/getAddressDeliveryAddress?apiId=255&con=" + this.textInput;
+    },
+    //物资模态框查询
+    // 框计算
+    onclick() {
+      this.option.requestUrl =
+      "/api/v1/ams/getSaleOrderAndMaterialById?apiId=410&saleOrderId=" + this.$route.params.saleOrderId;
+    },
+    open() {
+      if (this.selectionList1.length != 0) {
+        this.$confirm("取消会将已选择的数据清空, 是否继续?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning",
+        })
+          .then(() => {
+            this.selectionList1 = [];
+            this.table = false;
+          })
+          .catch(() => {});
+      } else {
+        this.table = false;
+      }
+    },
+    // 确定
+    makeSure() {
+        //初始化maplist
+      var mapList = [];
+      console.log("this.selectionList",this.selectionList)
+      this.selectionList.forEach((item,i) => {
+        //初始化mapItem
+        var mapItem={
+                //销售订单id
+                saleOrderId : 0,
+                //车序号    
+                truckNo : "",
+                //收货地址id
+                shippingAddressId : 0,
+                //收货日期
+                dateOfReceipt :null,
+                //收货方姓名   
+                orderConsignee :"",
+                //收货方电话 
+                orderConsigneeTel :"",
+                //车序号物资ID
+                saleMaterialId : 0,
+                //物资数量
+                materialNumber : 0,
+            };
+        mapItem.saleOrderId=this.$route.params.saleOrderId;
+        mapItem.truckNo=item.cxh;
+        mapItem.shippingAddressId=item.saleShipperAddressId;
+        mapItem.dateOfReceipt=item.saleDateOfReceipt;
+        mapItem.orderConsignee=item.saleOrderConsignee;
+        mapItem.orderConsigneeTel=item.saleOrderConsigneeTel;
+        mapItem.saleMaterialId=item.saleMaterialId;
+        mapItem.materialNumber=item.orderPlanWeight;
+        mapList.push(mapItem);
+      });
+      // console.log("mapList",mapList);
+        this.axios.post("/api/v1/ams/addTruckNo", mapList).then((res) => {
+          if (res.data.code == "200") {
+            this.$router.go(-1);
+          }
+          this.$message({
+            type: "success",
+            message: "新增车序号成功!",
+          });
+        });    
+    },
+    // 取消
+    cancel() {
+      this.$router.go(-1);
+    },
+    //关闭事件
+    handleClose(done) {
+      this.$confirm("确认关闭?")
+        .then((_) => {
+          done();
+        })
+        .catch((_) => {});
+    },
+
+    CloseClick() {},
+  },
+};
+</script>
+<style lang='scss' scoped>
+.addSalePlan{
+  width: 100%;
+}
+.switch{
+  margin-left: 60rem;
+}
+.lineId {
+  display: flex;
+  justify-content: center;
+  margin-left: 2rem;
+  .text {
+    display: inline-block;
+    width: 170px;
+    text-align: right;
+  }
+  .input{
+    width: 250px;
+    margin-right: 20px;
+  }
+  .input1{
+    width: 60px;
+    margin-right: 20px;
+  }
+}
+.form-box,
+.from {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  margin-top: 5px;
+  margin-bottom: 20px;
+}
+.button-box{
+  display: flex;
+  text-align: center;
+  align-items: center;
+  justify-content: center;
+  margin-top: 0.3125rem;
+  margin-bottom: 1.25rem;
+}
+.select {
+  margin-left: 2rem;
+}
+.makeSureAdd{
+  width: 100px;
+  margin-left: 3.5rem;
+  margin-top: 0.3rem;
+  align-items: center;
+  justify-content: center;
+  text-align: center;
+  display: flex;
+}
+.demo-form-inline {
+  margin-left: 2rem;
+}
+.table_form {
+  margin-left: -16rem;
+}
+.textinput {
+  width: 50px;
+}
+.textinput1 {
+  width: 50px;
+  text-align: center;
+  size: small;
+}
+.textinput2 {
+  width: 50px;
+  margin-right: 30px;
+}
+.textinput3 {
+  width: 270px;
+}
+.textinput4 {
+  width: 60px;
+}
+.textinput5 {
+  width: 120px;
+}
+</style>

+ 10 - 1
src/views/appoint/components/saleContract/saleOrder.vue

@@ -153,11 +153,17 @@
         <dilTable v-bind.sync="option4" ref="table">
         <dilTable v-bind.sync="option4" ref="table">
           <el-table-column fixed="right" label="操作" width="130">
           <el-table-column fixed="right" label="操作" width="130">
             <template slot-scope="scope">
             <template slot-scope="scope">
+              <el-button
+                @click="sendClick(scope.row.saleOrderId)"
+                type="text"
+                size="small"
+                >派车</el-button
+              >
               <el-button
               <el-button
                 @click="addClick(scope.row.saleOrderId)"
                 @click="addClick(scope.row.saleOrderId)"
                 type="text"
                 type="text"
                 size="small"
                 size="small"
-                >新增车序号</el-button
+                >排车</el-button
               >
               >
               <el-button
               <el-button
                 @click="detailclick(scope.row)"
                 @click="detailclick(scope.row)"
@@ -288,6 +294,9 @@ export default {
     addClick(saleOrderId){
     addClick(saleOrderId){
       this.$router.push("/addSaleOrderArrange/" + saleOrderId);
       this.$router.push("/addSaleOrderArrange/" + saleOrderId);
     },
     },
+    sendClick(saleOrderId){
+      this.$router.push("/addSaleOrderSend/" + saleOrderId);
+    },
     // detailedClick(saleOrderId){
     // detailedClick(saleOrderId){
     //   this.$router.push("saleOrderMaterial/" + saleOrderId);
     //   this.$router.push("saleOrderMaterial/" + saleOrderId);
     // },
     // },

+ 2 - 0
src/views/appoint/router/index.js

@@ -33,6 +33,7 @@ import updateTrainPrice from '../components/purchase/updateTrainPrice.vue'
 import updateTruckPrice from '../components/purchase/updateTruckPrice.vue'
 import updateTruckPrice from '../components/purchase/updateTruckPrice.vue'
 import addSaleOrder from '../components/saleContract/addSaleOrder.vue'
 import addSaleOrder from '../components/saleContract/addSaleOrder.vue'
 import addSaleOrderArrange from '../components/saleContract/addSaleOrderArrange.vue'
 import addSaleOrderArrange from '../components/saleContract/addSaleOrderArrange.vue'
+import addSaleOrderSend from '../components/saleContract/addSaleOrderSend.vue'
 import addSalePlan from '../components/saleContract/addSalePlan.vue'
 import addSalePlan from '../components/saleContract/addSalePlan.vue'
 import addSalePlanDetail from '../components/saleContract/addSalePlanDetail.vue'
 import addSalePlanDetail from '../components/saleContract/addSalePlanDetail.vue'
 import addTransportPrice from '../components/saleContract/addTransportPrice.vue'
 import addTransportPrice from '../components/saleContract/addTransportPrice.vue'
@@ -89,6 +90,7 @@ const constantRouterMap = [
       {path: 'updateTruckPrice/:priceId', name: 'updateTruckPrice', meta: {code: 'xtpzgl-yhgl'}, component: updateTruckPrice},
       {path: 'updateTruckPrice/:priceId', name: 'updateTruckPrice', meta: {code: 'xtpzgl-yhgl'}, component: updateTruckPrice},
       {path: 'addSaleOrder', name: 'addSaleOrder', meta: {code: 'xtpzgl-jggl'}, component: addSaleOrder},
       {path: 'addSaleOrder', name: 'addSaleOrder', meta: {code: 'xtpzgl-jggl'}, component: addSaleOrder},
       {path: 'addSaleOrderArrange/:saleOrderId', name: 'addSaleOrderArrange', meta: {code: 'xtpzgl-jggl'}, component: addSaleOrderArrange},
       {path: 'addSaleOrderArrange/:saleOrderId', name: 'addSaleOrderArrange', meta: {code: 'xtpzgl-jggl'}, component: addSaleOrderArrange},
+      {path: 'addSaleOrderSend/:saleOrderId', name: 'addSaleOrderSend', meta: {code: 'xtpzgl-jggl'}, component: addSaleOrderSend},
       {path: 'addSalePlan', name: 'addSalePlan', meta: {code: 'xtpzgl-yhgl'}, component: addSalePlan},
       {path: 'addSalePlan', name: 'addSalePlan', meta: {code: 'xtpzgl-yhgl'}, component: addSalePlan},
       {path: 'addSalePlanDetail/:planId', name: 'addSalePlanDetail', meta: {code: 'xtpzgl-yhgl'}, component: addSalePlanDetail},
       {path: 'addSalePlanDetail/:planId', name: 'addSalePlanDetail', meta: {code: 'xtpzgl-yhgl'}, component: addSalePlanDetail},
       {path: 'saleOrderMaterial/:saleOrderId', name: 'saleOrderMaterial', meta: {code: 'xtpzgl-yhgl'}, component: saleOrderMaterial},
       {path: 'saleOrderMaterial/:saleOrderId', name: 'saleOrderMaterial', meta: {code: 'xtpzgl-yhgl'}, component: saleOrderMaterial},

+ 54 - 0
src/views/statisticalReport/components/salesLogisticsStatistics/transportationPerformance.vue

@@ -0,0 +1,54 @@
+<template>
+  <div class="purchasFuelNewMonitor">
+    <div class="frameCalculation">
+      <el-input class="input" placeholder="请输入内容" v-model="input" clearable> </el-input>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+    </div>
+    <div class="table">
+      <dilTable v-bind.sync="option"></dilTable>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getCookie } from "@/utils/util.js";
+export default {
+  data() {
+    return {
+      option: {
+        requestUrl: "",
+      },
+      input: "",
+    };
+  },
+  created(){
+      if(getCookie('orgCode') == 'chengyunshang'){
+          this.option.requestUrl = '/api/v1/tms/getAllSaleReport?apiId=423'
+      }else{
+          this.option.requestUrl = '/api/v1/tms/getAllSaleReport?apiId=423'
+      }
+  },
+  methods: {
+    onclick() {
+      this.option.requestUrl = "/api/v1/tms/getAllSaleReport?api=423&con=" + this.input;
+    },
+  },
+};
+</script>
+
+<style lang="scss">
+.purchasFuelNewMonitor {
+  .frameCalculation {
+    width: 100%;
+    height: 100px;
+    display: flex;
+    align-items: center;
+    padding-left: 50px;
+    .input{
+      width: 250px;
+    }
+  }
+}
+</style>

+ 54 - 0
src/views/statisticalReport/components/sporadicReport/sporadicReportEnterFactory.vue

@@ -0,0 +1,54 @@
+<template>
+  <div class="purchasFuelNewMonitor">
+    <div class="frameCalculation">
+      <el-input class="input" placeholder="请输入内容" v-model="input" clearable> </el-input>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+    </div>
+    <div class="table">
+      <dilTable v-bind.sync="option"></dilTable>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getCookie } from "@/utils/util.js";
+export default {
+  data() {
+    return {
+      option: {
+        requestUrl: "",
+      },
+      input: "",
+    };
+  },
+  created(){
+      if(getCookie('orgCode') == 'chengyunshang'){
+          this.option.requestUrl = '/api/v1/tms/getSporadicSuppliesReport1?apiId=424'
+      }else{
+          this.option.requestUrl = '/api/v1/tms/getSporadicSuppliesReport1?apiId=424'
+      }
+  },
+  methods: {
+    onclick() {
+      this.option.requestUrl = "/api/v1/tms/getSporadicSuppliesReport1?api=424&con=" + this.input;
+    },
+  },
+};
+</script>
+
+<style lang="scss">
+.purchasFuelNewMonitor {
+  .frameCalculation {
+    width: 100%;
+    height: 100px;
+    display: flex;
+    align-items: center;
+    padding-left: 50px;
+    .input{
+      width: 250px;
+    }
+  }
+}
+</style>

+ 54 - 0
src/views/statisticalReport/components/sporadicReport/sporadicReportExFactory.vue

@@ -0,0 +1,54 @@
+<template>
+  <div class="purchasFuelNewMonitor">
+    <div class="frameCalculation">
+      <el-input class="input" placeholder="请输入内容" v-model="input" clearable> </el-input>
+      <el-button type="primary" class="btn" @click="onclick">
+        <i class="el-icon-search"></i>查询
+      </el-button>
+    </div>
+    <div class="table">
+      <dilTable v-bind.sync="option"></dilTable>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getCookie } from "@/utils/util.js";
+export default {
+  data() {
+    return {
+      option: {
+        requestUrl: "",
+      },
+      input: "",
+    };
+  },
+  created(){
+      if(getCookie('orgCode') == 'chengyunshang'){
+          this.option.requestUrl = '/api/v1/tms/getSporadicSuppliesReport2?apiId=425'
+      }else{
+          this.option.requestUrl = '/api/v1/tms/getSporadicSuppliesReport2?apiId=425'
+      }
+  },
+  methods: {
+    onclick() {
+      this.option.requestUrl = "/api/v1/tms/getSporadicSuppliesReport2?api=425&con=" + this.input;
+    },
+  },
+};
+</script>
+
+<style lang="scss">
+.purchasFuelNewMonitor {
+  .frameCalculation {
+    width: 100%;
+    height: 100px;
+    display: flex;
+    align-items: center;
+    padding-left: 50px;
+    .input{
+      width: 250px;
+    }
+  }
+}
+</style>

+ 8 - 2
src/views/statisticalReport/router/index.js

@@ -10,7 +10,9 @@ import ShipDynamicTable from '../components/Ship_dynamic_table.vue'
 import purchaseAccessoriesMonitor from '../components/purchaseAccessoriesMonitor.vue'
 import purchaseAccessoriesMonitor from '../components/purchaseAccessoriesMonitor.vue'
 import purchasFuelOldMonitor from '../components/purchasFuelMonitor/purchasFuelOldMonitor.vue'
 import purchasFuelOldMonitor from '../components/purchasFuelMonitor/purchasFuelOldMonitor.vue'
 import purchasFuelNewMonitor from '../components/purchasFuelMonitor/purchasFuelNewMonitor.vue'
 import purchasFuelNewMonitor from '../components/purchasFuelMonitor/purchasFuelNewMonitor.vue'
-import sporadicReport from '../components/sporadicReport.vue'
+import sporadicReportEnterFactory from '../components/sporadicReport/sporadicReportEnterFactory.vue'
+import sporadicReportExFactory from '../components/sporadicReport/sporadicReportExFactory.vue'
+import transportationPerformance from '../components/salesLogisticsStatistics/transportationPerformance.vue'
 Vue.use(Router)
 Vue.use(Router)
 
 
 const constantRouterMap = [
 const constantRouterMap = [
@@ -25,7 +27,11 @@ const constantRouterMap = [
       {path: 'purchaseAccessoriesMonitor', name: 'purchaseAccessoriesMonitor', meta: {code: 'xtpzgl-yhgl'}, component: purchaseAccessoriesMonitor},
       {path: 'purchaseAccessoriesMonitor', name: 'purchaseAccessoriesMonitor', meta: {code: 'xtpzgl-yhgl'}, component: purchaseAccessoriesMonitor},
       {path: 'purchasFuelOldMonitor', name: 'purchasFuelOldMonitor', meta: {code: 'xtpzgl-yhgl'}, component: purchasFuelOldMonitor},
       {path: 'purchasFuelOldMonitor', name: 'purchasFuelOldMonitor', meta: {code: 'xtpzgl-yhgl'}, component: purchasFuelOldMonitor},
       {path: 'purchasFuelNewMonitor', name: 'purchasFuelNewMonitor', meta: {code: 'xtpzgl-yhgl'}, component: purchasFuelNewMonitor},
       {path: 'purchasFuelNewMonitor', name: 'purchasFuelNewMonitor', meta: {code: 'xtpzgl-yhgl'}, component: purchasFuelNewMonitor},
-      {path: 'sporadicReport',name:'sporadicReport',meta:{code:'xtpzgl-yhgl'},component:sporadicReport},
+      {path: 'sporadicReportEnterFactory',name:'sporadicReportEnterFactory',meta:{code:'xtpzgl-yhgl'},component:sporadicReportEnterFactory},
+      {path: 'sporadicReportExFactory',name:'sporadicReportExFactory',meta:{code:'xtpzgl-yhgl'},component:sporadicReportExFactory},
+      {path: 'transportationPerformance', name: 'transportationPerformance', meta: {code: 'xtpzgl-yhgl'}, component: transportationPerformance},
+
+
     ]
     ]
   }
   }
 ];
 ];