zhangqiOMG 2 年之前
父节点
当前提交
a4187fdf76
共有 18 个文件被更改,包括 598 次插入111 次删除
  1. 7 6
      src/HDrpManagement/contractManage/components/productList/addProduct.vue
  2. 28 5
      src/HDrpManagement/contractManage/components/productList/productBillno.vue
  3. 6 4
      src/HDrpManagement/contractManage/components/toolList/addTool.vue
  4. 44 25
      src/HDrpManagement/contractManage/components/toolList/toolList.vue
  5. 8 8
      src/HDrpManagement/contractManage/modules/detail.vue
  6. 10 0
      src/HDrpManagement/publicCustomer/modules/detail/addressManage/list.vue
  7. 70 5
      src/HDrpManagement/publicCustomer/modules/detail/addressManage/modules/add.vue
  8. 76 4
      src/HDrpManagement/publicCustomer/modules/detail/addressManage/modules/edit.vue
  9. 0 2
      src/HDrpManagement/publicCustomer/modules/detail/addressManage/modules/toVoid.vue
  10. 1 1
      src/HManagement/task/modules/detail.vue
  11. 10 0
      src/SDrpManagement/salerPrivatecustomer/detail/modules/addressManage/list.vue
  12. 71 8
      src/SDrpManagement/salerPrivatecustomer/detail/modules/addressManage/modules/add.vue
  13. 87 15
      src/SDrpManagement/salerPrivatecustomer/detail/modules/addressManage/modules/edit.vue
  14. 0 2
      src/SDrpManagement/salerPrivatecustomer/detail/modules/addressManage/modules/toVoid.vue
  15. 13 12
      src/SDrpManagement/salerPrivatecustomer/detail/modules/financialInfo/index.vue
  16. 7 7
      src/SDrpManagement/salerPrivatecustomer/detail/modules/financialInfo/modules/add.vue
  17. 7 7
      src/SDrpManagement/salerPrivatecustomer/detail/modules/financialInfo/modules/edit.vue
  18. 153 0
      src/components/productTable/indexQty.vue

+ 7 - 6
src/HDrpManagement/contractManage/components/productList/addProduct.vue

@@ -92,7 +92,7 @@
 
 <script>
 // import Table from '@/HDrpManagement/ProductGroupMag/modules/table'
-import Table from '@/components/productTable/index'
+import Table from '@/components/productTable/indexQty'
 import previewImage from '@/components/previewImage/index'
 export default {
   props:['disabled','data'],
@@ -106,7 +106,6 @@ export default {
         qty:'',
         discountrate:'',
         price:'',
-
       },
       currentQuotation:{},
       selectProductLength:0,
@@ -199,8 +198,9 @@ export default {
             "items": [
               {
                 "itemid": data.itemid,
-                "price": '0',
-                "qty": '0'
+                "price": data.price,
+                "qty": data.qty,
+                "marketprice":data.marketprice
               }
             ]
         },
@@ -215,8 +215,9 @@ export default {
       let item = this.$refs.table.tableSelectData.map(item => {
         return {
           "itemid": item.itemid,
-          "price": '0',
-          "qty": '0'
+          "price": item.price,
+          "qty": item.qty,
+          "marketprice":item.marketprice
         }
       })
       let res = await this.$api.requested({

+ 28 - 5
src/HDrpManagement/contractManage/components/productList/productBillno.vue

@@ -9,7 +9,7 @@
         <template v-slot:customcol="scope">
           <div v-if="scope.column.columnname == 'qty'">
             <el-input-number size="mini" v-if="editIndex == scope.column.data.sa_contract_itemsid" v-model="scope.column.data.qty" @change="qtyChange" :min="1" label="描述文字"></el-input-number>
-            <el-input-number size="mini" v-else disabled v-model="scope.column.data.qty" @change="qtyChange" :min="1" label="描述文字"></el-input-number>
+            <el-input-number size="mini" v-else disabled v-model="scope.column.data.qty" @change="qtyChange($event,scope.column.data,scope.column.data.index)" :min="1" label="描述文字"></el-input-number>
           </div>
           <div v-else-if="scope.column.columnname == 'attinfos'">
             <previewImage 
@@ -46,7 +46,7 @@
         </template>
       </tableLayout>
     </div>
-    <div style="margin-top:16px;text-align:right">
+<!--    <div style="margin-top:16px;text-align:right">
       <el-pagination
           background
           small
@@ -57,6 +57,23 @@
           layout="total, prev, pager, next, jumper"
           :total="total">
       </el-pagination>
+    </div>-->
+    <div style="height: 35px;margin-top: 20px">
+      <div style="float: left">合计(元):{{ totalPrice }}</div>
+      <div style="float: right">
+        <el-pagination
+            background
+            small
+            style="text-align: right;"
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="params.content.pageNumber"
+            :page-size="params.content.pageSize"
+            layout="total, prev, pager, next, jumper"
+            :total="total">
+        </el-pagination>
+      </div>
+
     </div>
   </div>
 </template>
@@ -89,7 +106,8 @@ export default {
       },
       tablecols:[],
       total:0,
-      editIndex:''
+      editIndex:'',
+      totalPrice:0
     };
   },
   computed:{
@@ -102,17 +120,22 @@ export default {
   },
   methods: {
     async listData(){
+      this.totalPrice = 0
       this.params.content.sa_contractid = this.$route.query.id
       const res = await this.$api.requested(this.params)
       res.data.forEach((e,index)=>{
         res.data[index].discountrate = Math.round((res.data[index].discountrate *100)*100)/100
+        this.totalPrice = this.totalPrice + res.data[index].amount
       })
+      this.totalPrice = Math.round(this.totalPrice *100)/100
       this.list = res.data
       this.total = res.total
       this.$emit('priceChange')
     },
-    qtyChange (num) {
-      this.form.qty = num
+    qtyChange (num,data,index) {
+      this.form.qty = Math.round(num *100)/100
+      data.qty = this.form.qty
+      this.$set(this.list,index,data)
       console.log(num);
     },
     handleChange(num) {

+ 6 - 4
src/HDrpManagement/contractManage/components/toolList/addTool.vue

@@ -106,8 +106,9 @@ export default {
             "items": [
               {
                 "itemid": data.itemid,
-                "price": '0',
-                "qty": '0'
+                "price": data.marketprice,
+                "qty": 1,
+                "marketprice":data.marketprice
               }
             ]
         },
@@ -122,8 +123,9 @@ export default {
       let item = this.$refs.table.tableSelectData.map(item => {
         return {
           "itemid": item.itemid,
-          "price": '0',
-          "qty": '0'
+          "price": item.marketprice,
+          "qty": 1,
+          "marketprice":data.marketprice
         }
       })
       let res = await this.$api.requested({

+ 44 - 25
src/HDrpManagement/contractManage/components/toolList/toolList.vue

@@ -8,8 +8,8 @@
       <tableLayout :layout="tablecols" :data="list" :opwidth="200" height="calc(100vh - 550px)" :custom="true" fixedName="operation qty marketprice discountrate price countPrice" >
         <template v-slot:customcol="scope">
           <div v-if="scope.column.columnname == 'qty'">
-            <el-input-number size="mini" v-if="editIndex == scope.column.data.sa_contract_itemsid" v-model="scope.column.data.qty" @change="qtyChange" :min="1" label="描述文字"></el-input-number>
-            <el-input-number size="mini" v-else disabled v-model="scope.column.data.qty" @change="qtyChange" :min="1" label="描述文字"></el-input-number>
+            <el-input-number size="mini" v-if="editIndex == scope.column.data.sa_contract_itemsid" v-model="scope.column.data.qty" @change="qtyChange($event,scope.column.data,scope.column.data.index)" :min="1" label="描述文字"></el-input-number>
+            <el-input-number size="mini" v-else disabled v-model="scope.column.data.qty" @change="qtyChange($event,scope.column.data,scope.column.data.index)" :min="1" label="描述文字"></el-input-number>
           </div>
           <div v-else-if="scope.column.columnname == 'attinfos'">
             <previewImage 
@@ -21,16 +21,16 @@
               :deletebtn="false"
             ></previewImage>
           </div>
-          <div v-else-if="scope.column.columnname == 'discountrate'">
+<!--          <div v-else-if="scope.column.columnname == 'discountrate'">
             <el-input size="mini" v-if="editIndex == scope.column.data.sa_contract_itemsid" v-model="form.discountrate" @input="discountrateChange($event,scope.column.data)"></el-input>
             <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
-          </div>
+          </div>-->
           <div v-else-if="scope.column.columnname == 'price'">
-            <el-input size="mini" v-if="editIndex == scope.column.data.sa_contract_itemsid" v-model="form.price" @input="priceChange($event,scope.column.data)"></el-input>
+            <el-input size="mini" v-if="editIndex == scope.column.data.sa_contract_itemsid" v-model="form.price" @change="priceChange($event,scope.column.data,scope.column.data.index)"></el-input>
             <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
           </div>
           <div v-else-if="scope.column.columnname == 'countPrice'">
-            <p>{{scope.column.data.price * scope.column.data.qty}}</p>
+            <p>{{Math.round((scope.column.data.price * scope.column.data.qty) *100)/100}}</p>
           </div>
           <div v-else-if="scope.column.columnname == 'brand'">
             {{scope.column.data[scope.column.columnname][0] ? scope.column.data[scope.column.columnname][0].brandname : ''}}
@@ -45,17 +45,22 @@
         </template>
       </tableLayout>
     </div>
-    <div style="margin-top:16px;text-align:right">
-      <el-pagination
-          background
-          small
-          @size-change="handleSizeChange"
-          @current-change="handleCurrentChange"
-          :current-page="params.content.pageNumber"
-          :page-size="params.content.pageSize"
-          layout="total, prev, pager, next, jumper"
-          :total="total">
-      </el-pagination>
+    <div style="height: 35px;margin-top: 20px">
+      <div style="float: left">合计(元):{{ totalPrice }}</div>
+      <div style="float: right">
+        <el-pagination
+            background
+            small
+            style="text-align: right;"
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+            :current-page="params.content.pageNumber"
+            :page-size="params.content.pageSize"
+            layout="total, prev, pager, next, jumper"
+            :total="total">
+        </el-pagination>
+      </div>
+
     </div>
   </div>
 </template>
@@ -88,7 +93,8 @@ export default {
       },
       tablecols:[],
       total:0,
-      editIndex:''
+      editIndex:'',
+      totalPrice:0
     };
   },
   computed:{
@@ -101,14 +107,21 @@ export default {
   },
   methods: {
     async listData(){
+      this.totalPrice = 0
       this.params.content.sa_contractid = this.$route.query.id
       const res = await this.$api.requested(this.params)
+      res.data.forEach((e,index)=>{
+        this.totalPrice = this.totalPrice + res.data[index].amount
+      })
+      this.totalPrice = Math.round(this.totalPrice *100)/100
       this.list = res.data
       this.total = res.total
       this.$emit('priceChange')
     },
-    qtyChange (num) {
-      this.form.qty = num
+    qtyChange (num,data,index) {
+      this.form.qty = Math.round(num *100)/100
+      data.qty = this.form.qty
+      this.$set(this.list,index,data)
       console.log(num);
       
     },
@@ -116,13 +129,19 @@ export default {
       console.log(num);
       
     },
-    discountrateChange (num,data) {
+    /*discountrateChange (num,data) {
       this.form.discountrate = num      
       this.form.price = this.form.discountrate * data.marketprice
-    },
-    priceChange (num,data) {
-      this.form.price = num
-      this.form.discountrate = this.form.price / data.marketprice
+    },*/
+    priceChange (num,data,index) {
+      if (num < 1){
+        this.form.price = 1
+      }else {
+        this.form.price = Math.round(num * 100)/100
+      }
+     /* this.form.discountrate = this.form.price / data.marketprice*/
+      data.price = this.form.price
+      this.$set(this.list,index,data)
       console.log(this.form.price,data.marketprice);
       
     },

+ 8 - 8
src/HDrpManagement/contractManage/modules/detail.vue

@@ -275,7 +275,7 @@ export default {
           },
           {
             label:'签约金额(元)',
-            value:this.mainData.signamount
+            value:this.mainData.signamount?this.mainData.signamount:0
           },
           {
             label:'创建时间',
@@ -350,7 +350,7 @@ export default {
           },
           {
             label:'签约金额(元)',
-            value:this.mainData.signamount
+            value:this.mainData.signamount?this.mainData.signamount:0
           },
           {
             label:'创建时间',
@@ -426,7 +426,7 @@ export default {
           },
           {
             label:'签约金额(元)',
-            value:this.mainData.signamount
+            value:this.mainData.signamount?this.mainData.signamount:0
           },
           {
             label:'创建时间',
@@ -498,7 +498,7 @@ export default {
           },
           {
             label:'单套价格(元)',
-            value:this.mainData.signamount
+            value:this.mainData.signamount?this.mainData.signamount:0
           },
           {
             label:'创建时间',
@@ -657,7 +657,7 @@ export default {
                   },
                   {
                     label:'签约金额(元)',
-                    value:this.mainData.signamount
+                    value:this.mainData.signamount?this.mainData.signamount:0
                   },
                   {
                     label:'状态',
@@ -738,7 +738,7 @@ export default {
                   },
                   {
                     label:'签约金额(元)',
-                    value:this.mainData.signamount
+                    value:this.mainData.signamount?this.mainData.signamount:0
                   },
                   {
                     label:'状态',
@@ -820,7 +820,7 @@ export default {
                   },
                   {
                     label:'签约金额(元)',
-                    value:this.mainData.signamount
+                    value:this.mainData.signamount?this.mainData.signamount:0
                   },
                   {
                     label:'状态',
@@ -898,7 +898,7 @@ export default {
                       },
                       {
                         label:'单套价格(元)',
-                        value:this.mainData.signamount
+                        value:this.mainData.signamount?this.mainData.signamount:0
                       },
                       {
                         label:'状态',

+ 10 - 0
src/HDrpManagement/publicCustomer/modules/detail/addressManage/list.vue

@@ -19,6 +19,16 @@
         <div v-if="scope.column.columnname === 'province'">
           <p>{{ scope.column.data.province + scope.column.data.city + scope.column.data.county}}</p>
         </div>
+        <div v-else-if="scope.column.columnname === 'isdefault'">
+          <p>{{ scope.column.data.isdefault === 0?'否':'是'}}</p>
+        </div>
+        <div v-else-if="scope.column.columnname === 'type'">
+          <div v-for="item in  scope.column.data.tag" :key="item.index"  style="float: left;margin-left: 5px">
+            <el-tag color="#FAAB16" size="mini" type="warning" effect="dark">
+              <span>{{item}}</span>
+            </el-tag>
+          </div>
+        </div>
         <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
       </template>
       <template v-slot:opreation="scope">

+ 70 - 5
src/HDrpManagement/publicCustomer/modules/detail/addressManage/modules/add.vue

@@ -4,7 +4,7 @@
     <el-drawer
         title=" 新建客户地址"
         :visible.sync="dialogFormVisible"
-        size="25%"
+        size="600px"
         direction="rtl"
         :show-close="false"
         append-to-body
@@ -27,6 +27,34 @@
                 <el-input type="textarea" rows="2" v-model="form.address" placeholder="请输入家庭住址"></el-input>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item  label="地址类型:" >
+                <el-select
+                    ref="sle"
+                    style="width:100%;"
+                    v-model="typeData"
+                    multiple
+                    placeholder="请选择标签"
+                    size="mini"
+                >
+                  <el-option
+                      v-for="item in addressList"
+                      :key="item.index"
+                      :label="item.tag"
+                      :value="item.tag"
+                  >
+                    <span style="float: left">{{ item.tag }}</span>
+                    <span style="float: right; color: #8492a6; font-size: 12px">{{ item.helptips?item.helptips:'暂无描述' }}</span>
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="默认地址:">
+                <el-radio v-model="form.isdefault" label="1">是</el-radio>
+                <el-radio v-model="form.isdefault" label="0">否</el-radio>
+              </el-form-item>
+            </el-col>
             <el-col :span="24">
               <el-form-item  label="备注:" >
                 <el-input type="textarea"  rows="5" v-model="form.remarks" placeholder="请输入备注"></el-input>
@@ -66,7 +94,7 @@ export default {
         address: "",
         remarks: "",
         workaddress: 1,
-        isdefault: 1,
+        isdefault: '1',
         isprimary: 1
       },
       rules:{
@@ -74,13 +102,16 @@ export default {
           { required: false, message: '地址不能为空', trigger: 'blur' },
         ],
       },
-      value:''
+      value:'',
+      addressList:[],
+      typeData:[]
     }
   },
   methods:{
     onshow(){
       this.form.sys_enterpriseid = this.data.sys_enterpriseid
       this.dialogFormVisible = true
+      this.addressType()
     },
     onSubmit(){
       this.$refs['form'].validate(async (valid) => {
@@ -92,6 +123,7 @@ export default {
         this.tool.showMessage(res,() => {
           this.$emit("insertSuccess")
           this.$refs['form'].resetFields()
+          this.value = ''
           this.form = {
             contactsid: 0,
             sys_enterpriseid: "",
@@ -108,13 +140,31 @@ export default {
             address: "",
             remarks: "",
             workaddress: 1,
-            isdefault: 1,
+            isdefault: '1',
             isprimary: 1
           }
           this.dialogFormVisible = false
+          if (this.typeData !== ''){
+            this.setTag(res.data.contactsid)
+          }else {
+            this.$emit("insertSuccess")
+          }
         })
       })
     },
+    async setTag(id){
+      const res = await this.$api.requested({
+        "id": 20220929090901,
+        "content": {
+          "ownertable":"sys_enterprise_contacts",
+          "ownerid":id,
+          "datatag":this.typeData
+        }
+      })
+      this.$emit("insertSuccess")
+      this.typeData = []
+      console.log(res)
+    },
     onClose(){
       this.$refs['form'].resetFields()
       this.form = {
@@ -133,7 +183,7 @@ export default {
         address: "",
         remarks: "",
         workaddress: 1,
-        isdefault: 1,
+        isdefault: '1',
         isprimary: 1
       }
       this.dialogFormVisible = false
@@ -146,6 +196,21 @@ export default {
       this.form = Object.assign({},this.form,{province:val[0],city:val[1],county:val[2]})
 
     },
+    /*地址类型*/
+    async addressType(){
+      let param = {
+        content: {
+          isExport: 0,
+          pageNumber: 1,
+          pageSize: 20,
+          sys_systemtagid: 13
+        },
+        id: 20221013104401
+      };
+      const res = await this.$api.requested(param)
+      this.addressList = res.data
+      console.log(res,"地址类型")
+    }
   }
 }
 </script>

+ 76 - 4
src/HDrpManagement/publicCustomer/modules/detail/addressManage/modules/edit.vue

@@ -27,6 +27,34 @@
                 <el-input type="textarea" rows="2" v-model="form.address" placeholder="请输入家庭住址"></el-input>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item  label="地址类型:" >
+                <el-select
+                    ref="sle"
+                    style="width:100%;"
+                    v-model="typeData"
+                    multiple
+                    placeholder="请选择标签"
+                    size="mini"
+                >
+                  <el-option
+                      v-for="item in addressList"
+                      :key="item.index"
+                      :label="item.tag"
+                      :value="item.tag"
+                  >
+                    <span style="float: left">{{ item.tag }}</span>
+                    <span style="float: right; color: #8492a6; font-size: 12px">{{ item.helptips?item.helptips:'暂无描述' }}</span>
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="默认地址:" >
+                <el-radio v-model="form.isdefault" label="1">是</el-radio>
+                <el-radio v-model="form.isdefault" label="0">否</el-radio>
+              </el-form-item>
+            </el-col>
             <el-col :span="24">
               <el-form-item  label="备注:" >
                 <el-input type="textarea"  rows="5" v-model="form.remarks" placeholder="请输入备注"></el-input>
@@ -67,7 +95,7 @@ export default {
         address: "",
         remarks: "",
         workaddress: 1,
-        isdefault: 1,
+        isdefault: '',
         isprimary: 1
       },
       rules:{
@@ -75,13 +103,15 @@ export default {
           { required: false, message: '地址不能为空', trigger: 'blur' },
         ],
       },
-      value:''
+      value:'',
+      addressList:[],
+      typeData:[]
     }
   },
   methods:{
     onshow(){
       this.dialogFormVisible = true
-      this.form.sys_enterpriseid = this.data.sys_enterpriseid
+      /*this.form.sys_enterpriseid = this.data.sys_enterpriseid
       this.form.contactsid = this.data.contactsid
       this.form.remarks = this.data.remarks
       this.form.address = this.data.address
@@ -90,7 +120,17 @@ export default {
       this.county = this.data.county
       this.form.value[0] = this.data.province
       this.form.value[1] = this.data.city
-      this.form.value[2] = this.data.county
+      this.form.value[2] = this.data.county*/
+      this.form = Object.assign({},this.form,this.data)
+      if (this.form.isdefault === 0){
+        this.form.isdefault = '0'
+      }else {
+        this.form.isdefault = '1'
+      }
+      this.form.value = [this.form.province,this.form.city,this.form.county]
+      this.typeData = this.form.tag
+      console.log(this.form)
+      this.addressType()
     },
     onSubmit(){
       this.$refs['form'].validate(async (valid) => {
@@ -103,6 +143,11 @@ export default {
           this.$emit("updateSuccess")
           this.$refs['form'].resetFields()
           this.dialogFormVisible = false
+          if (this.typeData !== ''){
+            this.setTag(this.form.contactsid)
+          }else {
+            this.$emit("updateSuccess")
+          }
         })
       })
     },
@@ -114,6 +159,33 @@ export default {
       this.form = Object.assign({},this.form,{province:val[0],city:val[1],county:val[2]})
 
     },
+    async setTag(id){
+      const res = await this.$api.requested({
+        "id": 20220929090901,
+        "content": {
+          "ownertable":"sys_enterprise_contacts",
+          "ownerid":id,
+          "datatag":this.typeData
+        }
+      })
+      this.$emit("updateSuccess")
+      console.log(res)
+    },
+    /*地址类型*/
+    async addressType(){
+      let param = {
+        content: {
+          isExport: 0,
+          pageNumber: 1,
+          pageSize: 20,
+          sys_systemtagid: 13
+        },
+        id: 20221013104401
+      };
+      const res = await this.$api.requested(param)
+      this.addressList = res.data
+      console.log(res,"地址类型")
+    }
   }
 }
 </script>

+ 0 - 2
src/HDrpManagement/publicCustomer/modules/detail/addressManage/modules/toVoid.vue

@@ -67,8 +67,6 @@ export default {
       })
       this.tool.showMessage(res,()=>{
         this.$emit("toVoidSuccess")
-        this.$refs['form'].resetFields()
-        this.dialogToVoidVisible = false
       })
     }
   }

+ 1 - 1
src/HManagement/task/modules/detail.vue

@@ -127,7 +127,7 @@ export default {
           const res = await this.$api.requested({
             "id":20221211112601,
             "content": {
-              "sys_taskid":this.mainData.sys_taskid
+              "sys_taskids":[this.mainData.sys_taskid]
             }
           })
           this.tool.showMessage(res,()=>{

+ 10 - 0
src/SDrpManagement/salerPrivatecustomer/detail/modules/addressManage/list.vue

@@ -19,6 +19,16 @@
         <div v-if="scope.column.columnname === 'province'">
           <p>{{ scope.column.data.province + scope.column.data.city + scope.column.data.county}}</p>
         </div>
+        <div v-else-if="scope.column.columnname === 'isdefault'">
+          <p>{{ scope.column.data.isdefault === 0?'否':'是'}}</p>
+        </div>
+        <div v-else-if="scope.column.columnname === 'type'">
+          <div v-for="item in  scope.column.data.tag" :key="item.index"  style="float: left;margin-left: 5px">
+            <el-tag color="#FAAB16" size="mini" type="warning" effect="dark">
+              <span>{{item}}</span>
+            </el-tag>
+          </div>
+        </div>
         <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
       </template>
       <template v-slot:opreation="scope">

+ 71 - 8
src/SDrpManagement/salerPrivatecustomer/detail/modules/addressManage/modules/add.vue

@@ -4,7 +4,7 @@
     <el-drawer
         title=" 新建客户地址"
         :visible.sync="dialogFormVisible"
-        size="30%"
+        size="600px"
         direction="rtl"
         :show-close="false"
         append-to-body
@@ -23,10 +23,38 @@
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item  label="详细地址:" prop="address">
+              <el-form-item  label="详细地址:" >
                 <el-input type="textarea" rows="2" v-model="form.address" placeholder="请输入家庭住址"></el-input>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item  label="地址类型:" >
+                <el-select
+                    ref="sle"
+                    style="width:100%;"
+                    v-model="typeData"
+                    multiple
+                    placeholder="请选择标签"
+                    size="mini"
+                >
+                  <el-option
+                      v-for="item in addressList"
+                      :key="item.index"
+                      :label="item.tag"
+                      :value="item.tag"
+                  >
+                    <span style="float: left">{{ item.tag }}</span>
+                    <span style="float: right; color: #8492a6; font-size: 12px">{{ item.helptips?item.helptips:'暂无描述' }}</span>
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="默认地址:">
+                <el-radio v-model="form.isdefault" label="1">是</el-radio>
+                <el-radio v-model="form.isdefault" label="0">否</el-radio>
+              </el-form-item>
+            </el-col>
             <el-col :span="24">
               <el-form-item  label="备注:" >
                 <el-input type="textarea"  rows="5" v-model="form.remarks" placeholder="请输入备注"></el-input>
@@ -66,7 +94,7 @@ export default {
         address: "",
         remarks: "",
         workaddress: 1,
-        isdefault: 1,
+        isdefault: '1',
         isprimary: 1
       },
       rules:{
@@ -74,7 +102,9 @@ export default {
           { required: false, message: '地址不能为空', trigger: 'blur' },
         ],
       },
-      value:''
+      value:'',
+      addressList:[],
+      typeData:[]
     }
   },
   methods:{
@@ -83,7 +113,7 @@ export default {
       console.log(this.data)
       this.form.sys_enterpriseid = this.data.sys_enterpriseid
       this.dialogFormVisible = true
-
+      this.addressType()
     },
     onSubmit(){
       console.log(this.form)
@@ -94,7 +124,6 @@ export default {
           "content": this.form
         })
         this.tool.showMessage(res,() => {
-          this.$emit("insertSuccess")
           this.$refs['form'].resetFields()
           this.value = ''
           this.form = {
@@ -113,13 +142,32 @@ export default {
             address: "",
             remarks: "",
             workaddress: 1,
-            isdefault: 1,
+            isdefault: '1',
             isprimary: 1
           }
           this.dialogFormVisible = false
+          if (this.typeData !== ''){
+            this.setTag(res.data.contactsid)
+          }else {
+            this.$emit("insertSuccess")
+          }
+
         })
       })
     },
+    async setTag(id){
+      const res = await this.$api.requested({
+        "id": 20220929090901,
+        "content": {
+          "ownertable":"sys_enterprise_contacts",
+          "ownerid":id,
+          "datatag":this.typeData
+        }
+      })
+      this.$emit("insertSuccess")
+      this.typeData = []
+      console.log(res)
+    },
     onClose(){
       this.$refs['form'].resetFields()
       this.value = ''
@@ -139,7 +187,7 @@ export default {
         address: "",
         remarks: "",
         workaddress: 1,
-        isdefault: 1,
+        isdefault: '1',
         isprimary: 1
       }
       this.dialogFormVisible = false
@@ -152,6 +200,21 @@ export default {
       this.form = Object.assign({},this.form,{province:val[0],city:val[1],county:val[2]})
 
     },
+    /*地址类型*/
+    async addressType(){
+      let param = {
+        content: {
+          isExport: 0,
+          pageNumber: 1,
+          pageSize: 20,
+          sys_systemtagid: 13
+        },
+        id: 20221013104401
+      };
+      const res = await this.$api.requested(param)
+      this.addressList = res.data
+      console.log(res,"地址类型")
+    }
   }
 }
 </script>

+ 87 - 15
src/SDrpManagement/salerPrivatecustomer/detail/modules/addressManage/modules/edit.vue

@@ -4,7 +4,7 @@
     <el-drawer
         title="编辑客户地址"
         :visible.sync="dialogFormVisible"
-        size="30%"
+        size="600px"
         direction="rtl"
         :show-close="false"
         append-to-body
@@ -16,7 +16,7 @@
               <el-form-item label="省市县:" >
                 <el-cascader
                     style="width:100%"
-                    v-model="value"
+                    v-model="form.value"
                     :options="basicData.data().areaData"
                     @change="cascaderChange" clearable>
                 </el-cascader>
@@ -27,6 +27,34 @@
                 <el-input type="textarea" rows="2" v-model="form.address" placeholder="请输入家庭住址"></el-input>
               </el-form-item>
             </el-col>
+            <el-col :span="24">
+              <el-form-item  label="地址类型:" >
+                <el-select
+                    ref="sle"
+                    style="width:100%;"
+                    v-model="typeData"
+                    multiple
+                    placeholder="请选择标签"
+                    size="mini"
+                   >
+                  <el-option
+                      v-for="item in addressList"
+                      :key="item.index"
+                      :label="item.tag"
+                      :value="item.tag"
+                     >
+                    <span style="float: left">{{ item.tag }}</span>
+                    <span style="float: right; color: #8492a6; font-size: 12px">{{ item.helptips?item.helptips:'暂无描述' }}</span>
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item  label="默认地址:" >
+                <el-radio v-model="form.isdefault" label="1">是</el-radio>
+                <el-radio v-model="form.isdefault" label="0">否</el-radio>
+              </el-form-item>
+            </el-col>
             <el-col :span="24">
               <el-form-item  label="备注:" >
                 <el-input type="textarea"  rows="5" v-model="form.remarks" placeholder="请输入备注"></el-input>
@@ -67,7 +95,7 @@ export default {
         address: "",
         remarks: "",
         workaddress: 1,
-        isdefault: 1,
+        isdefault: '',
         isprimary: 1
       },
       rules:{
@@ -75,22 +103,35 @@ export default {
           { required: true, message: '地址不能为空', trigger: 'blur' },
         ],
       },
-      value:''
+      value:'',
+      addressList:[],
+      typeData:[]
     }
   },
   methods:{
     onshow(){
+      console.log(this.data,"编辑数据")
       this.dialogFormVisible = true
-      this.form.sys_enterpriseid = this.data.sys_enterpriseid
-      this.form.contactsid = this.data.contactsid
-      this.form.remarks = this.data.remarks
-      this.form.address = this.data.address
-      this.form.province = this.data.province
-      this.form.city = this.data.city
-      this.county = this.data.county
-      this.form.value[0] = this.data.province
-      this.form.value[1] = this.data.city
-      this.form.value[2] = this.data.county
+      // this.form.sys_enterpriseid = this.data.sys_enterpriseid
+      // this.form.contactsid = this.data.contactsid
+      // this.form.remarks = this.data.remarks
+      // this.form.address = this.data.address
+      // this.form.province = this.data.province
+      // this.form.city = this.data.city
+      // this.county = this.data.county
+      // this.form.value[0] = this.data.province
+      // this.form.value[1] = this.data.city
+      // this.form.value[2] = this.data.county
+      this.form = Object.assign({},this.form,this.data)
+      if (this.form.isdefault === 0){
+        this.form.isdefault = '0'
+      }else {
+        this.form.isdefault = '1'
+      }
+      this.form.value = [this.form.province,this.form.city,this.form.county]
+      this.typeData = this.form.tag
+      console.log(this.form)
+      this.addressType()
     },
     onSubmit(){
       this.$refs['form'].validate(async (valid) => {
@@ -100,9 +141,13 @@ export default {
           "content": this.form
         })
         this.tool.showMessage(res,() => {
-          this.$emit("updateSuccess")
           this.$refs['form'].resetFields()
           this.dialogFormVisible = false
+          if (this.typeData !== ''){
+            this.setTag(this.form.contactsid)
+          }else {
+            this.$emit("updateSuccess")
+          }
         })
       })
     },
@@ -114,6 +159,33 @@ export default {
       this.form = Object.assign({},this.form,{province:val[0],city:val[1],county:val[2]})
 
     },
+    async setTag(id){
+      const res = await this.$api.requested({
+        "id": 20220929090901,
+        "content": {
+          "ownertable":"sys_enterprise_contacts",
+          "ownerid":id,
+          "datatag":this.typeData
+        }
+      })
+      this.$emit("updateSuccess")
+      console.log(res)
+    },
+    /*地址类型*/
+    async addressType(){
+      let param = {
+        content: {
+          isExport: 0,
+          pageNumber: 1,
+          pageSize: 20,
+          sys_systemtagid: 13
+        },
+        id: 20221013104401
+      };
+      const res = await this.$api.requested(param)
+      this.addressList = res.data
+      console.log(res,"地址类型")
+    }
   }
 }
 </script>

+ 0 - 2
src/SDrpManagement/salerPrivatecustomer/detail/modules/addressManage/modules/toVoid.vue

@@ -67,8 +67,6 @@ export default {
       })
       this.tool.showMessage(res,()=>{
         this.$emit("toVoidSuccess")
-        this.$refs['form'].resetFields()
-        this.dialogToVoidVisible = false
       })
     }
   }

+ 13 - 12
src/SDrpManagement/salerPrivatecustomer/detail/modules/financialInfo/index.vue

@@ -22,36 +22,37 @@
       size="mini"
       style="width: 100%"
       border>
-      <el-table-column
-        prop="address"
-        label="开票地址">
-<!--        <template slot-scope="scope">
-          {{scope.row.address}}&nbsp;<i style="color:red" v-if="scope.row.isdefault === 1" class="el-icon-place"></i>
-        </template>-->
-      </el-table-column>
+
       <el-table-column
         prop="enterprisename"
-        label="抬头">
+        label="开票抬头">
       </el-table-column>
       <el-table-column
         prop="taxno"
-        label="统一社会信用代码">
+        label="纳税识别号">
       </el-table-column>
       <el-table-column
         prop="bank"
-        label="开户行">
+        label="开户行">
       </el-table-column>
       <el-table-column
         prop="bankcardno"
         label="开户账号">
       </el-table-column>
+      <el-table-column
+          prop="address"
+          label="开票地址">
+        <!--        <template slot-scope="scope">
+                  {{scope.row.address}}&nbsp;<i style="color:red" v-if="scope.row.isdefault === 1" class="el-icon-place"></i>
+                </template>-->
+      </el-table-column>
       <el-table-column
         prop="phonenumber"
-        label="联系电话">
+        label="电话">
       </el-table-column>
       <el-table-column
         prop="remarks"
-        label="备注说明">
+        label="备注">
       </el-table-column>
       <el-table-column
         label="操作"

+ 7 - 7
src/SDrpManagement/salerPrivatecustomer/detail/modules/financialInfo/modules/add.vue

@@ -10,22 +10,22 @@
       size="700px">
       <div class="drawer__panel">
         <el-form :model="form" ref="form" :rules="rules" :status-icon="false"	 size="mini" label-position="right" label-width="100px" class="demo-form-inline">
-          <el-form-item label="抬头" prop="enterprisename">
+          <el-form-item label="开票抬头" prop="enterprisename">
             <el-input v-model="form.enterprisename" placeholder="抬头"></el-input>
           </el-form-item>
-          <el-form-item label="开票地址" >
-            <el-input v-model="form.address" placeholder="开票地址"></el-input>
-          </el-form-item>
-          <el-form-item label="税号" prop="taxno">
+          <el-form-item label="纳税识别号" prop="taxno">
             <el-input v-model="form.taxno" placeholder="统一社会信用代码"></el-input>
           </el-form-item>
-          <el-form-item label="开户行" >
+          <el-form-item label="开户银行" >
             <el-input v-model="form.bank" placeholder="统一社会信用代码"></el-input>
           </el-form-item>
           <el-form-item label="开户账号" >
             <el-input v-model="form.bankcardno" placeholder="开户账号"></el-input>
           </el-form-item>
-          <el-form-item label="联系电话" >
+          <el-form-item label="开票地址" >
+            <el-input v-model="form.address" placeholder="开票地址"></el-input>
+          </el-form-item>
+          <el-form-item label="电话" >
             <el-input v-model="form.phonenumber" placeholder="手机号(电话)"></el-input>
           </el-form-item>
           <el-form-item label="备注" prop="remarks">

+ 7 - 7
src/SDrpManagement/salerPrivatecustomer/detail/modules/financialInfo/modules/edit.vue

@@ -10,22 +10,22 @@
       size="700px">
       <div class="drawer__panel">
         <el-form :model="form" ref="form" :rules="rules" :status-icon="false"	 size="mini" label-position="right" label-width="100px" class="demo-form-inline">
-          <el-form-item label="抬头" prop="enterprisename">
+          <el-form-item label="开票抬头" prop="enterprisename">
             <el-input v-model="form.enterprisename" placeholder="抬头"></el-input>
           </el-form-item>
-          <el-form-item label="开票地址" >
-            <el-input v-model="form.address" placeholder="开票地址"></el-input>
-          </el-form-item>
-          <el-form-item label="税号" prop="taxno">
+          <el-form-item label="纳税识别号" prop="taxno">
             <el-input v-model="form.taxno" placeholder="统一社会信用代码"></el-input>
           </el-form-item>
-          <el-form-item label="开户行" >
+          <el-form-item label="开户银行" >
             <el-input v-model="form.bank" placeholder="统一社会信用代码"></el-input>
           </el-form-item>
           <el-form-item label="开户账号" >
             <el-input v-model="form.bankcardno" placeholder="开户账号"></el-input>
           </el-form-item>
-          <el-form-item label="联系电话" >
+          <el-form-item label="开票地址" >
+            <el-input v-model="form.address" placeholder="开票地址"></el-input>
+          </el-form-item>
+          <el-form-item label="电话" >
             <el-input v-model="form.phonenumber" placeholder="手机号(电话)"></el-input>
           </el-form-item>
           <el-form-item label="备注" >

+ 153 - 0
src/components/productTable/indexQty.vue

@@ -0,0 +1,153 @@
+<template>
+  <div>
+    <el-table
+        ref="multipleTable"
+        :data="data"
+        style="width: 100%"
+        :header-cell-style="{height:'50px',color:'#606266',fontWeight:'400'}"
+        :cell-style="{height:'50px',color:'#666666',fontWeight:'400'}"
+        @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="itemno"
+          label="产品编号"
+          width="180">
+      </el-table-column>
+      <el-table-column
+          prop="itemname"
+          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
+          prop="caliber"
+          label="口径"
+          width="180">
+      </el-table-column>
+      <el-table-column
+          prop="pressure"
+          label="压力"
+          width="180">
+      </el-table-column>
+      <el-table-column
+          prop="material"
+          label="材质"
+          width="180">
+      </el-table-column>
+      <el-table-column
+          prop="brand"
+          label="品牌"
+          width="180">
+        <template slot-scope="scope">
+          <p v-for="(item,index) in scope.row.brand">
+            <span style="float: left" v-if="index === scope.row.brand.length -1">{{item?item.brandname+'':'--'}}</span>
+            <span style="float: left" v-else>{{item?item.brandname+',':'--'}}</span>
+          </p>
+        </template>
+      </el-table-column>
+      <el-table-column
+          prop="itemclass"
+          label="类别"
+          width="0">
+        <template slot-scope="scope">
+          <p v-for="(item,index) in scope.row.itemclass">
+            <span style="float: left" v-if="index === scope.row.itemclass.length -1">{{item?item.itemclassname+'':'--'}}</span>
+            <span style="float: left" v-else>{{item?item.itemclassname+',':'--'}}</span>
+          </p>
+        </template>
+      </el-table-column>
+      <el-table-column
+          prop="unitid"
+          label="计量单位"
+          width="100">
+        <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="marketprice"
+          label="牌价"
+          width="100">
+        <template slot-scope="scope">
+          <span >{{scope.row.marketprice?scope.row.marketprice:'--'}}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+          prop="qty"
+          label="数量"
+          width="100">
+        <template slot-scope="scope">
+          <span >{{scope.row.qty?scope.row.qty:'--'}}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+          prop="price"
+          label="单价"
+          width="100">
+        <template slot-scope="scope">
+          <span >{{scope.row.price?scope.row.price:'--'}}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+          prop="totalPrice"
+          fixed="right"
+          label="操作"
+          width="80">
+        <template slot-scope="scope">
+          <el-button type="text" @click="onSelect(scope.row)">添 加</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+  </div>
+</template>
+
+<script>
+import previewImage from "@/components/previewImage";
+import uploadFile from "@/components/upload/hw_obs_upload";
+export default {
+  name: "index",
+  components:{uploadFile, previewImage},
+  props:["data"],
+  data(){
+    return {
+      tableSelectData:[],
+    }
+  },
+  methods:{
+    selectionChange(val){
+      this.tableSelectData = []
+      console.log(val)
+      this.tableSelectData = val
+      this.$emit("selection",val)
+    },
+    onSelect(val){
+      this.$emit("onSelect",val)
+    }
+  }
+}
+</script>
+
+<style scoped>
+.image {
+  width:38px;height:38px;margin:0px auto;
+}
+</style>