Browse Source

Merge remote-tracking branch 'origin/mergeBranch' into mergeBranch

# Conflicts:
#	src/Form/QuotedPrice/edit.vue
qymljy 3 years ago
parent
commit
4b2b73041e

+ 4 - 1
src/HDrpManagement/contractManage/components/addContract.vue

@@ -30,7 +30,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="整体折扣(%):" prop="discountrate">
+              <el-form-item label="折扣(%):" prop="discountrate">
                 <el-input type="text" size="small" v-model="form.discountrate"></el-input>
               </el-form-item>
             </el-col>
@@ -173,6 +173,7 @@
               <el-form-item label="签约日期:" prop="signdate">
                 <el-date-picker
                   v-model="form.signdate"
+                  value-format="yyyy-MM-dd"
                   type="date"
                   placeholder="选择日期">
                 </el-date-picker>
@@ -230,6 +231,7 @@
               <el-form-item label="签约日期:" prop="signdate">
                 <el-date-picker
                   v-model="form.signdate"
+                  value-format="yyyy-MM-dd"
                   type="date"
                   placeholder="选择日期">
                 </el-date-picker>
@@ -299,6 +301,7 @@
               <el-form-item label="签约日期:" prop="signdate">
                 <el-date-picker
                   v-model="form.signdate"
+                  value-format="yyyy-MM-dd"
                   type="date"
                   placeholder="选择日期">
                 </el-date-picker>

+ 4 - 1
src/HDrpManagement/contractManage/components/editContract.vue

@@ -30,7 +30,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="整体折扣(%):" prop="discountrate">
+              <el-form-item label="折扣(%):" prop="discountrate">
                 <el-input type="text" size="small" v-model="form.discountrate"></el-input>
               </el-form-item>
             </el-col>
@@ -173,6 +173,7 @@
               <el-form-item label="签约日期:" prop="signdate">
                 <el-date-picker
                   v-model="form.signdate"
+                  value-format="yyyy-MM-dd"
                   type="date"
                   placeholder="选择日期">
                 </el-date-picker>
@@ -230,6 +231,7 @@
               <el-form-item label="签约日期:" prop="signdate">
                 <el-date-picker
                   v-model="form.signdate"
+                  value-format="yyyy-MM-dd"
                   type="date"
                   placeholder="选择日期">
                 </el-date-picker>
@@ -299,6 +301,7 @@
               <el-form-item label="签约日期:" prop="signdate">
                 <el-date-picker
                   v-model="form.signdate"
+                  value-format="yyyy-MM-dd"
                   type="date"
                   placeholder="选择日期">
                 </el-date-picker>

+ 1 - 0
src/HDrpManagement/contractManage/components/productList/productBillno.vue

@@ -36,6 +36,7 @@
             {{scope.column.data[scope.column.columnname][0].brandname}}
           </div>
           <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
+          <p v-if="!scope.column.data[scope.column.columnname] && scope.column.data[[scope.column.columnname]] !== 0 && scope.column.columnname != 'operation' && scope.column.columnname != 'countPrice'">--</p>
         </template>
         <template v-slot:opreation="scope">
           <el-button v-if="editIndex == scope.data.sa_contract_itemsid" type="text" size="mini" @click="save" class="inline-16">保 存</el-button>

+ 12 - 14
src/HDrpManagement/contractManage/modules/detail.vue

@@ -9,7 +9,7 @@
         turnPageId="20221121201502"
         idname="sa_contractid"
         ownertable="sa_contract"
-        :tabs="mainData.type == '项目' ? ['产品清单','合同条款','角色信息'] : mainData.type == '框架' ? ['产品明细折扣','产品类别折扣'] : mainData.type == '居间' ? [] : ['工具清单','合同条款']"
+        :tabs="mainData.type == '项目' ? ['产品清单','合同条款','角色信息'] : mainData.type == '框架' ? ['产品明细折扣','产品类别折扣'] : mainData.type == '居间' ? null : ['工具清单','合同条款']"
         @pageChange="pageChange"
         @onEditSuccess="queryMainData($route.query.id)">
       <div slot="tags">
@@ -168,8 +168,6 @@ export default {
     mainData: {
       handler (val) {
         this.isLeader = JSON.parse(window.sessionStorage.getItem('active_account')).userid == val.leader[0].userid        
-        console.log(this.isLeader);
-        
       },
       deep:true,
       immediate:true
@@ -207,7 +205,7 @@ export default {
             value:this.mainData.title
           },
           {
-            label:'合同打印模板',
+            label:'合同模板',
             value:this.mainData.modelname
           },
           {
@@ -220,7 +218,7 @@ export default {
           },
           {
             label:'合同类型',
-            value:this.mainData.type == '项目' ? this.mainData.typemx == '直销' ? '直销项目' : '经销项目' : ''
+            value:this.mainData.type == '项目' ? this.mainData.typemx == '直销' ? '直销项目协议' : '经销项目协议' : ''
           },
           {
             label:'业务员',
@@ -265,7 +263,7 @@ export default {
             value:this.mainData.title
           },
           {
-            label:'合同打印模板',
+            label:'合同模板',
             value:this.mainData.modelname
           },
           {
@@ -278,7 +276,7 @@ export default {
           },
           {
             label:'合同类型',
-            value:this.mainData.type == '项目' ? this.mainData.typemx == '直销' ? '直销项目' : '经销项目' : ''
+            value:this.mainData.type == '项目' ? this.mainData.typemx == '直销' ? '直销项目协议' : '经销项目协议' : ''
           },
           {
             label:'业务员',
@@ -324,7 +322,7 @@ export default {
             value:this.mainData.title
           },
           {
-            label:'合同打印模板',
+            label:'合同模板',
             value:this.mainData.modelname
           },
           {
@@ -337,10 +335,10 @@ export default {
           },
           {
             label:'合同类型',
-            value:'经销商合作'
+            value:'经销商合作协议'
           },
           {
-            label:'整体折扣(%)',
+            label:'折扣(%)',
             value:this.mainData.discountrate
           },
           {
@@ -383,7 +381,7 @@ export default {
             value:this.mainData.title
           },
           {
-            label:'合同打印模板',
+            label:'合同模板',
             value:this.mainData.modelname
           },
           {
@@ -392,7 +390,7 @@ export default {
           },
           {
             label:'合同类型',
-            value:this.mainData.type
+            value:'工具借用协议'
           },
           {
             label:'业务员',
@@ -437,7 +435,7 @@ export default {
             value:this.mainData.title
           },
           {
-            label:'合同打印模板',
+            label:'合同模板',
             value:this.mainData.modelname
           },
           {
@@ -450,7 +448,7 @@ export default {
           },
           {
             label:'合同类型',
-            value:this.mainData.type
+            value:'居间协议'
           },
           {
             label:'业务员',

+ 11 - 2
src/HDrpManagement/contractModel/index.vue

@@ -32,8 +32,17 @@
 
       <template v-slot:tbList="scope">
         <div v-if="scope.data.column.data[[scope.data.column.columnname]] == '项目'">
-          <span v-if="scope.data.column.data.typemx == '直销'">直销项目</span>
-          <span v-else-if="scope.data.column.data.typemx == '经销'">经销项目</span>
+          <span v-if="scope.data.column.data.typemx == '直销'">直销项目协议</span>
+          <span v-else-if="scope.data.column.data.typemx == '经销'">经销项目协议</span>
+        </div>
+        <div v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '框架'">
+          经销商合作协议
+        </div>
+        <div v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '工具借用'">
+          工具借用协议
+        </div>
+        <div v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '居间'">
+          居间协议
         </div>
         <div v-else>
           {{scope.data.column.data[[scope.data.column.columnname]]}}

+ 109 - 0
src/HDrpManagement/orderManage/details/index.vue

@@ -0,0 +1,109 @@
+<template>
+  <div>
+    <basicDetails
+        ref="details"
+        :titleText="`${mainData.sonum}`"
+        :oldFormPath="{edit:'HDrpManagement/orderManage/modules'}"
+        :editData="mainData"
+        :mainAreaData="mainAreaData"
+        turnPageId="20221111145202"
+        idname="sa_orderid"
+        ownertable="sa_order"
+        tags=""
+        :tabs="['基本信息','订单明细','订单进度']"
+        @pageChange="pageChange"
+        @onEditSuccess="queryMainData($route.query.id)">
+      <div slot="tags">
+      </div>
+      <div slot="customOperation" >
+      </div>
+      <div slot="slot0" >
+        <default-info :mainData="mainData"></default-info>
+      </div>
+      <div slot="slot1" >
+        <product-list></product-list>
+      </div>
+    </basicDetails>
+  </div>
+</template>
+
+<script>
+import defaultInfo from '../modules/defaultInfo.vue'
+import productList from '../modules/productlist.vue'
+
+export default {
+  name: "detail",
+  data() {
+    return {
+      mainData:{},
+      mainAreaData:{}
+    }
+  },
+  components:{
+    defaultInfo,
+    productList
+  },
+  methods:{
+    async queryMainData(id) {
+      const res = await this.$api.requested({
+        "id":'20221108151302',
+        "content": {
+          "sa_orderid": this.$route.query.id
+        }
+      })
+      this.mainData = res.data
+      this.changeDataStructure()
+    },
+    changeDataStructure() {
+      this.mainAreaData = [
+        {
+          label:'订单类型',
+          value:this.mainData.type
+        },
+        {
+          label:'订单状态',
+          value:this.mainData.status
+        },
+        {
+          label:'单据日期',
+          value:this.mainData.createdate
+        },
+        {
+          label:'合计数量',
+          value:this.mainData.qty
+        },
+        {
+          label:'合计金额',
+          value:this.mainData.amount
+        },
+        {
+          label:'折前金额',
+          value:this.mainData.defaultamount
+        },
+        {
+          label:'企业名称',
+          value:this.mainData.enterprisename
+        },
+        {
+          label:'备注',
+          value:this.mainData.remarks
+        }
+      ]
+    },
+    // 监听切换数据,上一页,下一页
+    pageChange (id,rowindex,tabIndex) {
+      this.$router.replace({path:'/orderdetail',query:{id:id,rowindex:rowindex}})
+      this.queryMainData(id)
+    }
+  },
+  mounted () {
+    this.queryMainData(this.$route.query.id)
+  },
+  created() {
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 47 - 0
src/HDrpManagement/orderManage/index.vue

@@ -0,0 +1,47 @@
+
+<template>
+  <div>
+    <basicLayout 
+      ref="basicLayout"
+      tableName="orderTable" 
+      idName="sa_orderid" 
+      :apiId="{query:20221111145202,del:20221108152102}"
+      :options="options"
+      :detailPath="{
+        path:'/orderdetail'
+      }">
+      <div slot="custom"></div>
+      <template v-slot:tbList="scope">
+        <div>
+          {{scope.data.column.data[[scope.data.column.columnname]]}}
+        </div>
+      </template>
+      <template v-slot:tbOpreation="scope">
+      </template>
+    </basicLayout>
+  </div>
+</template>
+
+<script>
+/**
+ * @basicLayout 提供this.$ref['basicLayout'].listData()方法查询列表信息
+ * @param {string} formPath 新建,编辑组件所在文件夹名称,以后所有列表新增修改文件统一放入Form文件夹下面,并创建与开发应用相同的名称的子文件夹
+ * @param {string} tableName 开发端配置的表格名称
+ * @param {String} idName 数据主id名称
+ * @param {object} apiId:{query:查询的接口id,del:删除的接口id} 
+ * @param {Array} options:{label:描述,value:值} 
+ */
+export default {
+  data () {
+    return {
+      options:[]
+      
+    }
+  },
+  methods:{
+  }
+}
+
+</script>
+<style>
+</style>

+ 14 - 0
src/HDrpManagement/orderManage/modules/addproduct.vue

@@ -0,0 +1,14 @@
+<template>
+  <div>
+    <el-button>添加更多</el-button>
+  </div>
+</template>
+
+<script>
+export default {
+
+}
+
+</script>
+<style>
+</style>

+ 47 - 0
src/HDrpManagement/orderManage/modules/defaultInfo.vue

@@ -0,0 +1,47 @@
+<template>
+  <div>
+    <el-descriptions class="normal-margin" :column="2"  border labelClassName="my-label" contentClassName="my-content">
+      <div slot="title" class="my-label__title">账户信息</div>
+      <el-descriptions-item label="账户名称">{{ mainData.accountclass?mainData.accountclass.accountname:"--" }}</el-descriptions-item>
+      <el-descriptions-item label="账户余额">{{ mainData.balance?mainData.accountclass.balance:"--" }}</el-descriptions-item>
+    </el-descriptions>
+    <el-descriptions  class="normal-margin" border :column="2" labelClassName="my-label" contentClassName="my-content">
+      <div slot="title" class="my-label__title">开票信息</div>
+      <el-descriptions-item label="抬头">{{ mainData.finance?mainData.finance.enterprisename:"--" }}</el-descriptions-item>
+      <el-descriptions-item label="税号">{{ mainData.finance?mainData.finance.taxno:"--" }}</el-descriptions-item>
+      <el-descriptions-item label="开户行">{{ mainData.finance?mainData.finance.bank:"--" }}</el-descriptions-item>
+      <el-descriptions-item label="开户账号">{{ mainData.finance?mainData.finance.bankcardno:"--" }}</el-descriptions-item>
+      <el-descriptions-item label="开户地址">{{ mainData.finance?mainData.finance.address:"--" }}</el-descriptions-item>
+    </el-descriptions>
+    <el-descriptions class="normal-margin"  border :column="2" labelClassName="my-label" contentClassName="my-content">
+      <div slot="title" class="my-label__title">收货信息</div>
+      <el-descriptions-item label="联系人">{{ mainData.contacts?mainData.contacts.name:"--" }}</el-descriptions-item>
+      <el-descriptions-item label="联系电话">{{ mainData.contacts?mainData.contacts.phonenumber:"--" }}</el-descriptions-item>
+      <el-descriptions-item label="地址">{{ mainData.contacts?`${mainData.contacts.province}${mainData.contacts.city}${mainData.contacts.county}${mainData.contacts.address}`:'--'}}</el-descriptions-item>
+    </el-descriptions>
+    <el-descriptions  border :column="2" labelClassName="my-label" contentClassName="my-content">
+      <div slot="title" class="my-label__title">物流信息</div>
+      
+      <el-descriptions-item label="物流公司">{{ mainData.logiscomp?mainData.logiscomp.enterprisename:"--" }}</el-descriptions-item>
+      <el-descriptions-item label="快递100ID">{{ mainData.logiscomp?mainData.logiscomp.kd100id:"--" }}</el-descriptions-item>
+    </el-descriptions>
+  </div>
+</template>
+
+<script>
+export default {
+  props:["mainData"],
+  data(){
+    return {
+    }
+  },
+  mounted() {
+  },
+  methods:{
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 331 - 0
src/HDrpManagement/orderManage/modules/edit.vue

@@ -0,0 +1,331 @@
+<template>
+  <div>
+    <el-button type="primary" size="mini" @click="onShow(drawer = true)">编辑</el-button>
+    <el-drawer
+    :visible.sync="drawer"
+    direction="rtl"
+    append-to-body
+    size="50%">
+    <div slot="title">
+      <div class="flex-align-center">
+        <p><span style="font-size:14px">订单合计:</span><span style="color:red;font-size:16px;"><b>¥&nbsp;{{tool.formatAmount(data.amount,2)}}</b></span></p>
+        <label style="font-size:14px;margin-left:10px" for="">备注:</label>
+        <input class="order__note__input" v-model="defaultData.remarks" type="text" placeholder="请输入订单备注">
+      </div>
+    </div>
+    <div class="drawer__panel">
+      <div class="flex-align-center normal-margin">
+        <div style="flex:1;margin-right:10px">
+          <div class="mt-10">
+            <p class="normal-title inline-16">收货信息</p>
+            <el-popover
+              placement="bottom"
+              title="选择地址"
+              trigger="click"
+              v-model="visible">
+              <el-table
+                :data="receiveAddresslist"
+                style="width: 100%"
+                size="mini">
+                <el-table-column
+                  prop="name"
+                  label="联系人"
+                  width="90">
+                </el-table-column>
+                <el-table-column
+                  prop="phonenumber"
+                  label="电话"
+                  width="120">
+                </el-table-column>
+                <el-table-column
+                  label="地址"
+                  width="360">
+                  <template slot-scope="scope">
+                    {{scope.row.province}}{{scope.row.city}}{{scope.row.county}}{{scope.row.address}}
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  label="操作"
+                  width="90">
+                  <template slot-scope="scope">
+                    <el-button type="text" @click="(defaultData.re_info = scope.row,visible = false)" size="mini">选 择</el-button>
+                  </template>
+                </el-table-column>
+              </el-table>
+              <el-button slot="reference" type="text" size="mini">选择其他地址</el-button>
+            </el-popover>
+          </div>
+          <div class="reveive__panel normal-margin">
+            <p><span class="inline-16"><b>{{defaultData.re_info.name}}</b></span><small>{{defaultData.re_info.phonenumber}}</small></p>
+            <small>{{defaultData.re_info.province}}{{defaultData.re_info.city}}{{defaultData.re_info.county}}{{defaultData.re_info.address?defaultData.re_info.address:'--'}}</small>
+          </div>
+        </div>
+        <div style="flex:1">
+          <div class="mt-10">
+            <p class="normal-title inline-16">物流公司</p>
+            <el-popover
+              placement="bottom"
+              title="选择公司"
+              trigger="click"
+              v-model="visible1">
+              <el-table
+                :data="logisticcomlist"
+                style="width: 100%"
+                size="mini">
+                <el-table-column
+                  prop="abbreviation"
+                  label="公司简称"
+                  width="120">
+                </el-table-column>
+                <el-table-column
+                  prop="kd100id"
+                  label="快递100ID"
+                  width="120">
+                </el-table-column>
+                <el-table-column
+                  label="操作"
+                  width="90">
+                  <template slot-scope="scope">
+                    <el-button type="text" @click="(defaultData.logist_info = scope.row,visible1 = false)" size="mini">选 择</el-button>
+                  </template>
+                </el-table-column>
+              </el-table>
+              <el-button slot="reference" type="text" size="mini">选择其他公司</el-button>
+            </el-popover>
+          </div>
+          <div class="reveive__panel normal-margin">
+            <p><span class="inline-16"><b>{{defaultData.logist_info.abbreviation}}</b></span></p>
+            <small>快递100ID: {{defaultData.logist_info.kd100id}}</small>
+          </div>
+        </div>
+      </div>
+      <div class="mt-10">
+        <p class="normal-title inline-16">选择账户</p>
+      </div>
+      <div class="flex-align-center-wrap flex-between normal-margin">
+        <div class="account__panel" :class="defaultData.account_index === index?'act':''" v-for="(item,index) in accountlist" :key="item.index" @click="defaultData.account_index = index">
+          <p><b>¥{{tool.formatAmount(item.balance,2)}}</b></p>
+          <small>{{item.accountname}}</small>
+        </div>
+      </div>
+      <div class="mt-10">
+        <p class="normal-title inline-16">选择财务信息</p>
+        <el-popover
+          placement="bottom"
+          title="选择公司"
+          trigger="click"
+          v-model="visible2">
+          <el-table
+            :data="financiallist"
+            style="width: 100%"
+            size="mini">
+            <el-table-column
+              prop="enterprisename"
+              label="公司抬头"
+              width="120">
+            </el-table-column>
+            <el-table-column
+              prop="address"
+              label="开票地址"
+              width="120">
+            </el-table-column>
+            <el-table-column
+              prop="bank"
+              label="开户行"
+              width="120">
+            </el-table-column>
+            <el-table-column
+              prop="bankcardno"
+              label="开户账号"
+              width="120">
+            </el-table-column>
+            <el-table-column
+              label="操作"
+              width="90">
+              <template slot-scope="scope">
+                <el-button type="text" @click="(defaultData.fin_info = scope.row,visible2 = false)" size="mini">选 择</el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+          <el-button slot="reference" type="text" size="mini">选择其他</el-button>
+        </el-popover>
+      </div>
+      <div class="reveive__panel normal-margin">
+        <p><small>抬头:&nbsp;</small><span class="inline-16"><b>{{defaultData.fin_info.enterprisename}}</b></span></p>
+        <p><small>开票地址:&nbsp;</small>{{defaultData.fin_info.address}}</p>
+        <p><small>开户行:&nbsp;</small> {{defaultData.fin_info.bank}} &emsp;<small>开户账号:&nbsp;</small> {{defaultData.fin_info.bankcardno}}</p>
+      </div>
+      <div class="mt-10">
+        <p class="normal-title">订单产品</p>
+        <product-list :type="'edit'"></product-list>
+      </div>
+    </div>
+    <div class="fixed__btn__panel">
+      <el-button size="small" @click="drawer = false" class="normal-btn-width">取 消</el-button>
+      <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">保存修改</el-button>
+    </div>
+  </el-drawer>
+  </div>
+</template>
+
+<script>
+import previewImage from '@/components/previewImage/index.vue'
+import productList from './productlist.vue'
+export default {
+  props:['data'],
+  components:{
+    previewImage,
+    productList
+  },
+  data () {
+    return {
+      visible:false,
+      visible1:false,
+      visible2:false,
+      drawer:false,
+      receiveAddresslist:[],
+      accountlist:[],
+      logisticcomlist:[],
+      financiallist:[],
+      defaultData:{
+        re_info:{},
+        logist_info:{},
+        fin_info:{},
+        account_index:0
+      },
+      agnetInfo:{},
+      total:0
+    }
+  },
+  methods:{
+    onShow () {
+      this.queryAgentiInfo()
+    },
+    async queryAgentiInfo () {
+      const res = await this.$api.requested({
+        "id": "20221022165203",
+        "content": {}
+      })
+      this.agnetInfo = res.data
+
+      this.receiveAddress()
+
+      this.queryAccount()
+
+      this.queryLogisticcom()
+
+      this.queryFinancial()
+    },
+    // 收货信息:合作企业联系人
+    async receiveAddress () {
+      const res = await this.$api.requested({
+        "id": "20221009155803",
+        "content": {
+        "sys_enterpriseid":this.agnetInfo.sys_enterpriseid,
+          "where":{
+            "condition":"",
+            "workaddress":0
+          }
+        }
+      })
+      this.receiveAddresslist = res.data
+      this.defaultData.re_info = res.data[0]
+    },
+
+    // 账号信息
+    async queryAccount () {
+      const res = await this.$api.requested({
+        "id": "20221008134803",
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 100
+        }
+      })
+      this.accountlist = res.data
+    },
+
+    // 物流企业
+    async queryLogisticcom () {
+      const res = await this.$api.requested({
+        "id": "20221121135804",
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 100
+        }
+      })
+      this.logisticcomlist = res.data
+      this.defaultData.logist_info = res.data[0]
+    },
+    // 财务信息
+    async queryFinancial () {
+      const res = await this.$api.requested({
+        "id": "20221013160602",
+        "content": {
+          "sys_enterpriseid":this.agnetInfo.sys_enterpriseid,
+          "pageNumber": 1,
+          "pageSize": 100
+        }
+      })
+      this.financiallist = res.data
+      this.defaultData.fin_info = res.data[0]
+    },
+    qtyChange () {},
+    async onSubmit() {
+      const res = await this.$api.requested({
+        "id": 20221128183202,
+        "content": {
+          "sa_accountclassid": this.accountlist[this.defaultData.account_index].sa_accountclassid, //营销账户类型ID
+          "sys_enterprise_financeid": this.defaultData.fin_info.sys_enterprise_financeid, //合作企业财务信息ID(开票信息)
+          "sa_logiscompid": this.defaultData.logist_info.sa_logiscompid, //物流公司档案ID
+          "rec_contactsid": this.defaultData.re_info.contactsid, //合作企业联系人表ID(收货信息)
+          "remarks": this.defaultData.remarks, //可选
+          "items": this.data.map(e=>{
+            e.sa_orderitemsid = 0
+            return e
+          })
+        },
+      })
+      this.tool.showMessage(res,()=>{
+        this.drawer = false
+      })
+    }
+  },
+  mounted () {
+  }
+}
+
+</script>
+<style>
+</style>
+<style scoped>
+.reveive__panel{
+  font-size: 14px;
+  line-height: 30px;
+  padding: 10px;
+  background: #d9ecff;
+  border: 1px dashed #0676e7;
+}
+.account__panel small,.reveive__panel small{
+  color:#666
+}
+.account__panel{
+  width: calc(33% - 26px);
+  padding: 10px;
+  margin-bottom:10px;
+  border: 1px dashed #666;
+}
+.act{
+  background: #d9ecff;
+  border: 1px dashed #0676e7;
+}
+.image {
+  width:40px;height:40px;margin:0px auto;
+}
+.order__note__input{
+  border: none;
+  outline: none;
+  /* margin-left: 10px; */
+  /* border-bottom: 1px solid #f1f2f3; */
+  flex:1
+}
+</style>

+ 138 - 0
src/HDrpManagement/orderManage/modules/productlist.vue

@@ -0,0 +1,138 @@
+<template>
+  <div>
+    <el-table
+      ref="multipleTable"
+      :data="tableData"
+      height="500px"
+      style="width: 100%;"
+      :header-cell-style="{height:'50px',color:'#768093',fontWeight:'400'}"
+      :cell-style="{height:'50px',color:'#768093',fontWeight:'400'}">
+      <!-- <el-table-column
+        type="selection"
+        width="55"
+        align="center">
+      </el-table-column> -->
+      <el-table-column
+        prop="itemname"
+        label="产品名称"
+        width="180">
+      </el-table-column>
+      <el-table-column
+        prop="itemno"
+        label="产品编号"
+        width="180">
+      </el-table-column>
+      <el-table-column
+        label="型号/规格"
+        width="180">
+        <template slot-scope="scope">
+          <p><span>{{scope.row.model}}</span>&nbsp;/&nbsp;<span>{{scope.row.spec}}</span></p>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="数量"
+        width="150">
+        <template slot-scope="scope">
+          <el-input-number v-if="type === 'edit'" size="mini" v-model="scope.row.qty" :min="scope.row.orderminqty" :step="scope.row.orderaddqty" label="输入数量" @change="qtyChange"></el-input-number>
+          <span v-else>{{scope.row.qty}}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        prop="unit"
+        label="计量单位"
+        width="90">
+        <template slot-scope="scope">
+          <el-tag size="mini" type="info" effect="plain">{{scope.row.unit}}</el-tag>
+          
+        </template>
+      </el-table-column>
+      <el-table-column
+        prop="price"
+        label="价格"
+        width="90">
+        <template slot-scope="scope">
+          <p style="color:red;font-weight:500">¥&nbsp;{{tool.formatAmount(scope.row.price,2)}}</p>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="小计"
+        width="150">
+        <template slot-scope="scope">
+          <p style="color:red;font-weight:500">¥&nbsp;{{tool.formatAmount(scope.row.price * scope.row.qty,2)}}</p>
+        </template>
+      </el-table-column>
+      <el-table-column width="90">
+        <template slot-scope="scope">
+          <slot name="del" :data="scope.row"></slot>
+        </template>
+      </el-table-column>
+      <el-table-column v-if="type === 'edit'" width="90" fixed="right">
+        <template slot-scope="scope">
+          <el-button type="text" size="mini" @click="deleteOrderProduct(scope.row)">删 除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <div style="margin-top:16px;text-align:right">
+      <el-pagination
+        background
+        small
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :current-page="currentPage"
+        :page-size="param.content.pageSize"
+        layout="total, prev, pager, next, jumper"
+        :total="total">
+      </el-pagination>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  props:['type'],
+  data () {
+    return {
+      tableData:[],
+      param:{
+        "id": 20221109093902,
+        "content": {
+          "sa_orderid": 0, //订单ID
+          "pageNumber": 1,
+          "pageSize": 20,
+          "where": {
+              "condition": ""
+          }
+        },
+      },
+      total:0,
+      currentPage:0
+    }
+  },
+  methods:{
+    async listData () {
+      this.param.content.sa_orderid = this.$route.query.id
+      const res = await this.$api.requested(this.param)
+      this.tableData = res.data
+      this.total = res.total
+      this.currentPage = res.pageNumber
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.params.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.params.content.pageNumber = val
+      this.listData()
+    },
+    deleteOrderProduct () {},
+  },
+  mounted () {
+    this.listData()
+  }
+}
+
+</script>
+<style>
+</style>

+ 1 - 1
src/HDrpManagement/projectChange/modules/modules/andEnterprise/components/add.vue

@@ -44,7 +44,7 @@ import enterprise from './enterprise'
 export default {
   name: "add",
   props:["data"],
-  inject:["enterpriseType"],
+  // inject:["enterpriseType"],
   components:{enterprise},
   data(){
     return {

+ 2 - 2
src/SDrpManagement/QuotedPrice/components/quotedPriceProduct.vue

@@ -225,8 +225,8 @@ export default {
         this.list[i].discountrate = this.list[i].discountrate * 100
         totalPrice = totalPrice + this.list[i].qty * this.list[i].price
       }
-      this.$emit("totalPrice",totalPrice)
-      console.log(this.list,'产品配置信息')
+      this.$emit("queryTotalPrice",totalPrice)
+      console.log(this.list,totalPrice,'产品配置信息')
     },
     /*产品配置信息*/
     async productData(id){

+ 39 - 7
src/SDrpManagement/shopCart/modules/confirmOrder.vue

@@ -1,11 +1,17 @@
 <template>
   <div>
     <el-drawer
-    title="确认订单"
     :visible.sync="drawer"
     direction="rtl"
     append-to-body
     size="50%">
+    <div slot="title">
+      <div class="flex-align-center">
+        <p><span style="font-size:14px">订单合计:</span><span style="color:red;font-size:16px;"><b>¥&nbsp;{{tool.formatAmount(total,2)}}</b></span></p>
+        <label style="font-size:14px;margin-left:10px" for="">备注:</label>
+        <input class="order__note__input" v-model="defaultData.remarks" type="text" placeholder="请输入订单备注">
+      </div>
+    </div>
     <div class="drawer__panel">
       <div class="flex-align-center normal-margin">
         <div style="flex:1;margin-right:10px">
@@ -47,11 +53,10 @@
               </el-table>
               <el-button slot="reference" type="text" size="mini">选择其他地址</el-button>
             </el-popover>
-
           </div>
           <div class="reveive__panel normal-margin">
             <p><span class="inline-16"><b>{{defaultData.re_info.name}}</b></span><small>{{defaultData.re_info.phonenumber}}</small></p>
-            <small>{{defaultData.re_info.province}}{{defaultData.re_info.city}}{{defaultData.re_info.county}}{{defaultData.re_info.address}}</small>
+            <small>{{defaultData.re_info.province}}{{defaultData.re_info.city}}{{defaultData.re_info.county}}{{defaultData.re_info.address?defaultData.re_info.address:'--'}}</small>
           </div>
         </div>
         <div style="flex:1">
@@ -183,7 +188,8 @@
             width="180">
           </el-table-column>
           <el-table-column
-            label="型号/规格">
+            label="型号/规格"
+            width="180">
             <template slot-scope="scope">
               <p><span>{{scope.row.model}}</span>&nbsp;/&nbsp;<span>{{scope.row.spec}}</span></p>
             </template>
@@ -196,7 +202,7 @@
             </template>
           </el-table-column>
           <el-table-column
-            prop="unitid"
+            prop="unit"
             label="计量单位"
             width="90">
             <template slot-scope="scope">
@@ -238,7 +244,7 @@
 import previewImage from '@/components/previewImage/index.vue'
 
 export default {
-  props:['data'],
+  props:['data','total'],
   components:{
     previewImage
   },
@@ -330,7 +336,26 @@ export default {
       this.financiallist = res.data
       this.defaultData.fin_info = res.data[0]
     },
-    
+    async onSubmit() {
+      
+      const res = await this.$api.requested({
+        "id": 20221128183202,
+        "content": {
+          "sa_accountclassid": this.accountlist[this.defaultData.account_index].sa_accountclassid, //营销账户类型ID
+          "sys_enterprise_financeid": this.defaultData.fin_info.sys_enterprise_financeid, //合作企业财务信息ID(开票信息)
+          "sa_logiscompid": this.defaultData.logist_info.sa_logiscompid, //物流公司档案ID
+          "rec_contactsid": this.defaultData.re_info.contactsid, //合作企业联系人表ID(收货信息)
+          "remarks": this.defaultData.remarks, //可选
+          "items": this.data.map(e=>{
+            e.sa_orderitemsid = 0
+            return e
+          })
+        },
+      })
+      this.tool.showMessage(res,()=>{
+        this.drawer = false
+      })
+    }
   },
   mounted () {
     // this.receiveAddress()
@@ -365,4 +390,11 @@ export default {
 .image {
   width:40px;height:40px;margin:0px auto;
 }
+.order__note__input{
+  border: none;
+  outline: none;
+  /* margin-left: 10px; */
+  /* border-bottom: 1px solid #f1f2f3; */
+  flex:1
+}
 </style>

+ 1 - 1
src/SDrpManagement/shopCart/modules/list.vue

@@ -52,7 +52,7 @@
         </template>
       </el-table-column>
       <el-table-column
-        prop="unitid"
+        prop="unit"
         label="计量单位"
         width="90">
         <template slot-scope="scope">

+ 1 - 13
src/SDrpManagement/shopCart/modules/total.vue

@@ -1,6 +1,6 @@
 <template>
 <div>
-  <confirmOrder :data="data" ref="conf"></confirmOrder>
+  <confirmOrder :data="data" :total="total" ref="conf"></confirmOrder>
   <div class="total-panel normal-panel flex-align-center flex-between">
     <p class="text-grey" @click="deleSelectProd">删除选中商品</p>
     <div class="flex-align-center">
@@ -52,18 +52,6 @@ export default {
       })
       this.$refs['conf'].drawer = true
     },
-    async submit() {
-      const res = await this.$api.requested({
-        "content": {
-          "sa_accountclassid": 1, //营销账户类型ID
-          "sys_enterprise_financeid": 1, //合作企业财务信息ID(开票信息)
-          "sa_logiscompid": 1, //物流公司档案ID
-          "rec_contactsid": 1, //合作企业联系人表ID(收货信息)
-          "remarks": "备注说明", //可选
-          "items": []
-        },
-      })
-    }
   }
 }
 

+ 1 - 1
src/components/normal-basic-layout/details/modules/tabs/tab.vue

@@ -61,7 +61,7 @@ export default {
     }
   },
   mounted () {
-    // this.queryAttments()
+    if (!this.tabs) return this.activeName = 'file'
   },
   watch: {
     activeName (val) {

+ 8 - 1
src/components/normal-basic-layout/index.vue

@@ -13,7 +13,9 @@
             </div>
             <div style="margin:0 8px"></div>
             <div class="flex-align-center">
-              <cpAdd v-if="tool.checkAuth($route.name,'insert')" :formPath="formPath" :oldFormPath="oldFormPath" @onAddSuccess="listData(param.content.pageNumber = 1)"></cpAdd>
+              <div v-if="oldFormPath || formPath">
+                <cpAdd v-if="tool.checkAuth($route.name,'insert')" :formPath="formPath" :oldFormPath="oldFormPath" @onAddSuccess="listData(param.content.pageNumber = 1)"></cpAdd>
+              </div>
               <el-button-group v-if="tool.checkAuth($route.name,'delete')" class="inline-16">
                 <el-button type="default" :disabled="selection.length === 0" size="small" @click="deleteData">删 除</el-button>
               </el-button-group>
@@ -230,6 +232,11 @@ export default {
       this.listData()
     }
   },
+  watch:{
+    $route () {
+      
+    }
+  },
   mounted () {
     this.autoQuery === false?'':this.listData()
   },

+ 4 - 3
src/components/normal-basic-layout/modules/cpAdd.vue

@@ -12,10 +12,12 @@ export default {
     }
   },
   computed:{
-		formComponent(){
-      console.log(this.oldFormPath)
+		formComponent () {
+      console.log(this.formPath,'formpath')
+      console.log(this.oldFormPath,'formpath')
       if (this.oldFormPath) {
         return ()=>import(`@/${this.oldFormPath.add}/add.vue`)
+        
       } else {
         return ()=>import(`@/Form/${this.formPath}/add.vue`)
       }
@@ -27,7 +29,6 @@ export default {
     }
   },
   mounted () {
-    
   }
 }
 

+ 21 - 0
src/router/HDrpManagement.js

@@ -9,6 +9,27 @@ const HDrpManagement = [
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/logisticcom/index'),
   },
+  {
+    path: '/ordermag',
+    name: 'ordermag',
+    meta: {
+      title: '订单管理',
+      ast_nav: true,
+      keeproute: true,
+    },
+    component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/orderManage/index'),
+    children:[
+      {
+        path: '/orderdetail',
+        name: 'ordermag',
+        meta: {
+          title: '订单详情',
+          ast_nav: true,
+        },
+        component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/orderManage/details/index'),
+      },
+    ]
+  },
   {
     path: '/brandmag',
     name: 'brandmag',

+ 163 - 0
src/template/orderCanUseProduct/index.vue

@@ -0,0 +1,163 @@
+<template>
+<div class="container"> 
+  <div class="flex-align-center flex-between normal-margin">
+    <slot name="operation"></slot>
+    <div class="flex-align-center">
+      <el-input size="small"  suffix-icon="el-icon-search" v-model="params.content.where.condition" placeholder="产品名称,编号" @keyup.enter.native="listData(params.content.pageNumber = 1)" @clear="listData(params.content.pageNumber = 1)" clearable></el-input>&nbsp;
+    </div>
+  </div>
+  <div class="produtMag-panel">
+    <el-table
+      ref="multipleTable"
+      :data="tableData"
+      style="width: 100%"
+      :header-cell-style="{height:'50px',color:'#768093',fontWeight:'100'}"
+      :cell-style="{height:'50px',color:'#768093',fontWeight:'200'}"
+      @selection-change="selectionChange">
+      <el-table-column
+        type="selection"
+        width="55">
+      </el-table-column>
+      <el-table-column
+        align="center"
+        label="产品图"
+        width="80">
+        <template slot-scope="scope">
+          <div v-if="scope.row.attinfos[0]">
+            <previewImage class="image" :image="scope.row.attinfos[0]" :list="scope.row.attinfos" :deletebtn="false"></previewImage>
+          </div>
+        </template>
+      </el-table-column>
+      <el-table-column
+        prop="itemname"
+        label="产品名称"
+        width="180">
+      </el-table-column>
+      <el-table-column
+        prop="itemno"
+        label="产品编号"
+        width="180">
+      </el-table-column>
+      <el-table-column
+        label="型号/规格">
+        <template slot-scope="scope">
+          <p><span>{{scope.row.model}}</span>&nbsp;/&nbsp;<span>{{scope.row.spec}}</span></p>
+        </template>
+      </el-table-column>
+      <el-table-column
+        prop="unitid"
+        label="起订量/增量"
+        width="150">
+        <template slot-scope="scope">
+          <p><span>{{scope.row.orderminqty}}</span>&nbsp;/&nbsp;<span>{{scope.row.orderaddqty}}</span></p>
+        </template>
+      </el-table-column>
+      <el-table-column
+        prop="unitid"
+        label="计量单位"
+        width="90">
+        <template slot-scope="scope">
+          <el-tag size="mini" type="info" effect="plain">{{scope.row.unitname}}/{{scope.row.axunitname}}</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column
+        prop="status"
+        label="状态"
+        width="90">
+        <template slot-scope="scope">
+          <span :style="scope.row.status === '新建'?{color:'#52C41A'}:{color:'red'}">{{scope.row.status}}</span>
+        </template>
+      </el-table-column>
+    </el-table>
+    <div style="margin-top:16px;text-align:right">
+      <el-pagination
+        background
+        small
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :current-page="currentPage"
+        :page-size="params.content.pageSize"
+        layout="total, prev, pager, next, jumper"
+        :total="total">
+      </el-pagination>
+    </div>
+  </div>
+</div>
+</template>
+
+<script>
+import uploadFile from '@/components/upload/hw_obs_upload'
+import previewImage from '@/components/previewImage/index'
+
+export default {
+  data () {
+    return {
+      params:{
+        "id": 20221109153502,
+        "content": {
+            "sa_orderid": 2, //订单ID
+            "pageNumber": 1,
+            "pageSize": 20,
+            "where": {
+                "condition": ""
+            }
+        },
+      },
+      tableSelectData:[],
+      tableData: [],
+      total:0,
+      currentPage:0
+    }
+  },
+  components:{
+    uploadFile,
+    previewImage
+  },
+  methods:{
+    async listData () {
+      const res = await this.$api.requested(this.params)
+      this.tableData = res.data
+      this.total = res.total
+      this.currentPage = res.pageNumber
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.params.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      // console.log(`当前页: ${val}`);
+      this.params.content.pageNumber = val
+      this.listData()
+    },
+    selectionChange (val) {
+      this.tableSelectData = val
+      this.$emit('selectionChange',val)
+    },
+    clearSelection () {
+      this.$refs.multipleTable.clearSelection();
+    }
+  },
+  mounted () {
+    this.listData()
+  }
+}
+
+</script>
+<style>
+</style>
+<style scoped>
+.produtMag-panel{
+  /* margin: 30px; */
+  padding:0 10px 10px 10px;
+  background: #fff;
+  border-radius:5px;
+  overflow: hidden;
+  border:1px solid rgb(0 0 0 / 5%)
+  /* box-shadow: 0 5px 5px rgb(0 0 0 / 10%);
+  transform: translate3d(0,-2px,0); */
+}
+.image {
+  width:40px;height:40px;margin:0px auto;
+}
+</style>