添加发票、费用等功能
							parent
							
								
									fb5f442d8a
								
							
						
					
					
						commit
						4c6ede951d
					
				
							
								
								
									
										2
									
								
								app.js
								
								
								
								
							
							
						
						
									
										2
									
								
								app.js
								
								
								
								
							| 
						 | 
				
			
			@ -6,7 +6,7 @@ require('./common/main.js')
 | 
			
		|||
 | 
			
		||||
App({
 | 
			
		||||
  globalData: {
 | 
			
		||||
    BASE_IMG_URL:"https://crm.hebeidazhe.com/assets/addons/crmx/mini/",
 | 
			
		||||
    BASE_IMG_URL:"http://crm.scdxtc.cn/assets/addons/crmx/mini/",
 | 
			
		||||
    BASE_URL:"http://crm.scdxtc.cn",
 | 
			
		||||
  }
 | 
			
		||||
})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								app.json
								
								
								
								
							
							
						
						
									
										2
									
								
								app.json
								
								
								
								
							| 
						 | 
				
			
			@ -20,6 +20,8 @@
 | 
			
		|||
    "pages/index/groupCompany/contract/addContractPayment",
 | 
			
		||||
    "pages/index/groupCompany/cost/addCost",
 | 
			
		||||
    "pages/index/groupCompany/cost/costDetail",
 | 
			
		||||
    "pages/index/groupCompany/bills/addBills",
 | 
			
		||||
    "pages/index/groupCompany/bills/billsDetail",
 | 
			
		||||
    "pages/index/groupCompany/cost/editCost",
 | 
			
		||||
    "pages/index/groupCompany/contract/editPayment",
 | 
			
		||||
    "pages/index/groupCompany/contract/paymentDetail",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,9 +35,9 @@
 | 
			
		|||
                  value: !0
 | 
			
		||||
              }), t.myRequest = t.BASE_URL = t.BASE_IMG_URL = void 0;
 | 
			
		||||
              o(n("d47e"));
 | 
			
		||||
              var a = "https://crm.hebeidazhe.com/addons/crmx/";
 | 
			
		||||
              var a = "http://crm.scdxtc.cn/addons/crmx/";
 | 
			
		||||
              t.BASE_URL = a;
 | 
			
		||||
              t.BASE_IMG_URL = "https://crm.hebeidazhe.com/assets/addons/crmx/mini/";
 | 
			
		||||
              t.BASE_IMG_URL = "http://crm.scdxtc.cn/assets/addons/crmx/mini/";
 | 
			
		||||
              t.myRequest = function(t, n, o) {
 | 
			
		||||
                  var r = !(arguments.length > 3 && void 0 !== arguments[3]) || arguments[3],
 | 
			
		||||
                      i = "";
 | 
			
		||||
| 
						 | 
				
			
			@ -9097,6 +9097,8 @@
 | 
			
		|||
              return (0, o.myRequest)("contract/addContract", e)
 | 
			
		||||
          }, t.netCrmContractList = function(e) {
 | 
			
		||||
              return (0, o.myRequest)("contract/getList", e)
 | 
			
		||||
          },t.checkHasAmountView = function(e) {
 | 
			
		||||
            return (0, o.myRequest)("bill/checkHasAmountView", e)
 | 
			
		||||
          }, t.netDelContact = function(e) {
 | 
			
		||||
              return (0, o.myRequest)("contacts/delContacts", e)
 | 
			
		||||
          }, t.netEditContactInfo = function(e) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1 +1,225 @@
 | 
			
		|||
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/index/contract/contract"],{"4cae":function(t,i,e){"use strict";(function(t,i){var n=e("4ea4");e("8886");n(e("66fd"));var s=n(e("517f"));t.__webpack_require_UNI_MP_PLUGIN__=e,i(s.default)}).call(this,e("bc2e")["default"],e("543d")["createPage"])},"517f":function(t,i,e){"use strict";e.r(i);var n=e("8df5"),s=e("a0a6");for(var a in s)["default"].indexOf(a)<0&&function(t){e.d(i,t,(function(){return s[t]}))}(a);e("70f7");var o=e("f0c5"),c=Object(o["a"])(s["default"],n["b"],n["c"],!1,null,"e5a6e2f8",null,!1,n["a"],void 0);i["default"]=c.exports},"70f7":function(t,i,e){"use strict";var n=e("73ea"),s=e.n(n);s.a},"73ea":function(t,i,e){},"8df5":function(t,i,e){"use strict";e.d(i,"b",(function(){return s})),e.d(i,"c",(function(){return a})),e.d(i,"a",(function(){return n}));var n={uniPopup:function(){return e.e("uni_modules/uni-popup/components/uni-popup/uni-popup").then(e.bind(null,"6f9d"))},uEmpty:function(){return e.e("uview-ui/components/u-empty/u-empty").then(e.bind(null,"38b8"))}},s=function(){var t=this.$createElement,i=(this._self._c,this.contract_list.length);this.$mp.data=Object.assign({},{$root:{g0:i}})},a=[]},a0a6:function(t,i,e){"use strict";e.r(i);var n=e("cd5d"),s=e.n(n);for(var a in n)["default"].indexOf(a)<0&&function(t){e.d(i,t,(function(){return n[t]}))}(a);i["default"]=s.a},cd5d:function(t,i,e){"use strict";(function(t){Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var n=e("76dd"),s=e("0c59"),a={components:{selectCustomer:function(){Promise.all([e.e("common/vendor"),e.e("components/selectCustomer")]).then(function(){return resolve(e("5bcd"))}.bind(null,e)).catch(e.oe)}},data:function(){return{moneyInfo:{},contract_list:[],page:1,limit:10,totalPage:1,BASE_IMG_URL:s.BASE_IMG_URL,name:"",type:"",typeList:["全部客户","我的客户","下级的客户"],typeIndex:0,statusList:["全部","待审核","待回款","已回款"],status:null,start_time:"",end_time:"",ascripList:[],ascripId:null,ascripIndex:null,customerObj:null,goodsList:["全部客户","我的客户","下级的客户"],info:0,rSelect:[]}},onLoad:function(t){t.startTime&&(this.typeIndex=0==t.type?1:1==t.type?0:2,this.type=this.typeList[this.typeIndex],this.start_time=t.startTime,this.end_time=t.endTime,this.ascripId=t.staffid),t.stime&&(this.typeIndex=t.status,this.start_time=t.stime,this.end_time=t.etime)},onShow:function(){this.init(),this.getGuishu()},onReachBottom:function(){this.page>=this.totalPage||(this.page++,this.getList())},methods:{toSelectCustomer:function(){this.$refs.customerChild.init()},getCustomerinfo:function(t){this.customerObj=t},init:function(){var t=this;this.page=1,this.contract_list=[],setTimeout((function(){t.getList()}),200)},toQuery:function(){this.$refs.screenpopup.open()},lookTotal:function(){this.$refs.popup.open()},removeTotal:function(){this.$refs.popup.close()},changeTab:function(t){this.status=t.detail.value},changeFirTab:function(t){this.typeIndex=t,this.init()},moveStop:function(){},toCreateContract:function(){t.navigateTo({url:"/pagesA/crm/contract/contract"})},tab:function(t){this.info=t},getGuishu:function(){var t=this;(0,n.netSearchStaffList)().then((function(i){t.ascripList=i.data,t.ascripId&&t.ascripList.forEach((function(i,e){i.id==t.ascripId&&(t.ascripIndex=e)}))}))},changeAscrip:function(t){this.ascripIndex=t.detail.value,this.ascripId=this.ascripList[this.ascripIndex].id},getList:function(){var t=this,i={page:this.page,limit:this.limit,createtime:this.start_time&&this.end_time?this.start_time+","+this.end_time:"",type:this.typeIndex,status:this.status,staff_id:this.ascripId,customer_id:this.customerObj?this.customerObj.id:""};(0,n.netCrmContractList)(i).then((function(i){t.contract_list=t.contract_list.concat(i.data.data),t.totalPage=i.data.last_page,t.moneyInfo=i.data.moneyinfo}))},changeType:function(t){this.typeIndex=t},changeStartTime:function(t){this.start_time=t.detail.value,this.end_time||(this.end_time=t.detail.value)},changeEndTime:function(t){this.end_time=t.detail.value,this.start_time||(this.start_time=t.detail.value)},reset:function(){this.type="",this.start_time="",this.end_time="",this.ascripId=null,this.ascripIndex=null,this.status=null,this.customerObj=null},sureQuery:function(){this.$refs.screenpopup.close(),this.init()},toContractDetail:function(i){t.navigateTo({url:"/pages/index/groupCompany/contract/contractDetail?id="+i})}}};i.default=a}).call(this,e("543d")["default"])}},[["4cae","common/runtime","common/vendor"]]]);
 | 
			
		||||
(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
 | 
			
		||||
  ["pages/index/contract/contract"], {
 | 
			
		||||
      "4cae": function(t, i, e) {
 | 
			
		||||
          "use strict";
 | 
			
		||||
          (function(t, i) {
 | 
			
		||||
              var n = e("4ea4");
 | 
			
		||||
              e("8886");
 | 
			
		||||
              n(e("66fd"));
 | 
			
		||||
              var s = n(e("517f"));
 | 
			
		||||
              t.__webpack_require_UNI_MP_PLUGIN__ = e, i(s.default)
 | 
			
		||||
          }).call(this, e("bc2e")["default"], e("543d")["createPage"])
 | 
			
		||||
      },
 | 
			
		||||
      "517f": function(t, i, e) {
 | 
			
		||||
          "use strict";
 | 
			
		||||
          e.r(i);
 | 
			
		||||
          var n = e("8df5"),
 | 
			
		||||
              s = e("a0a6");
 | 
			
		||||
          for (var a in s)["default"].indexOf(a) < 0 && function(t) {
 | 
			
		||||
              e.d(i, t, (function() {
 | 
			
		||||
                  return s[t]
 | 
			
		||||
              }))
 | 
			
		||||
          }(a);
 | 
			
		||||
          e("70f7");
 | 
			
		||||
          var o = e("f0c5"),
 | 
			
		||||
              c = Object(o["a"])(s["default"], n["b"], n["c"], !1, null, "e5a6e2f8", null, !1, n["a"], void 0);
 | 
			
		||||
          i["default"] = c.exports
 | 
			
		||||
      },
 | 
			
		||||
      "70f7": function(t, i, e) {
 | 
			
		||||
          "use strict";
 | 
			
		||||
          var n = e("73ea"),
 | 
			
		||||
              s = e.n(n);
 | 
			
		||||
          s.a
 | 
			
		||||
      },
 | 
			
		||||
      "73ea": function(t, i, e) {},
 | 
			
		||||
      "8df5": function(t, i, e) {
 | 
			
		||||
          "use strict";
 | 
			
		||||
          e.d(i, "b", (function() {
 | 
			
		||||
              return s
 | 
			
		||||
          })), e.d(i, "c", (function() {
 | 
			
		||||
              return a
 | 
			
		||||
          })), e.d(i, "a", (function() {
 | 
			
		||||
              return n
 | 
			
		||||
          }));
 | 
			
		||||
          var n = {
 | 
			
		||||
                  uniPopup: function() {
 | 
			
		||||
                      return e.e("uni_modules/uni-popup/components/uni-popup/uni-popup").then(e.bind(null, "6f9d"))
 | 
			
		||||
                  },
 | 
			
		||||
                  uEmpty: function() {
 | 
			
		||||
                      return e.e("uview-ui/components/u-empty/u-empty").then(e.bind(null, "38b8"))
 | 
			
		||||
                  }
 | 
			
		||||
              },
 | 
			
		||||
              s = function() {
 | 
			
		||||
                  var t = this.$createElement,
 | 
			
		||||
                      i = (this._self._c, this.contract_list.length);
 | 
			
		||||
                  this.$mp.data = Object.assign({}, {
 | 
			
		||||
                      $root: {
 | 
			
		||||
                          g0: i
 | 
			
		||||
                      }
 | 
			
		||||
                  })
 | 
			
		||||
              },
 | 
			
		||||
              a = []
 | 
			
		||||
      },
 | 
			
		||||
      a0a6: function(t, i, e) {
 | 
			
		||||
          "use strict";
 | 
			
		||||
          e.r(i);
 | 
			
		||||
          var n = e("cd5d"),
 | 
			
		||||
              s = e.n(n);
 | 
			
		||||
          for (var a in n)["default"].indexOf(a) < 0 && function(t) {
 | 
			
		||||
              e.d(i, t, (function() {
 | 
			
		||||
                  return n[t]
 | 
			
		||||
              }))
 | 
			
		||||
          }(a);
 | 
			
		||||
          i["default"] = s.a
 | 
			
		||||
      },
 | 
			
		||||
      cd5d: function(t, i, e) {
 | 
			
		||||
          "use strict";
 | 
			
		||||
          (function(t) {
 | 
			
		||||
              Object.defineProperty(i, "__esModule", {
 | 
			
		||||
                  value: !0
 | 
			
		||||
              }), i.default = void 0;
 | 
			
		||||
              var n = e("76dd"),
 | 
			
		||||
                  s = e("0c59"),
 | 
			
		||||
                  a = {
 | 
			
		||||
                      components: {
 | 
			
		||||
                          selectCustomer: function() {
 | 
			
		||||
                              Promise.all([e.e("common/vendor"), e.e("components/selectCustomer")]).then(function() {
 | 
			
		||||
                                  return resolve(e("5bcd"))
 | 
			
		||||
                              }.bind(null, e)).catch(e.oe)
 | 
			
		||||
                          }
 | 
			
		||||
                      },
 | 
			
		||||
                      data: function() {
 | 
			
		||||
                          return {
 | 
			
		||||
                              moneyInfo: {},
 | 
			
		||||
                              contract_list: [],
 | 
			
		||||
                              page: 1,
 | 
			
		||||
                              limit: 10,
 | 
			
		||||
                              totalPage: 1,
 | 
			
		||||
                              BASE_IMG_URL: s.BASE_IMG_URL,
 | 
			
		||||
                              name: "",
 | 
			
		||||
                              type: "",
 | 
			
		||||
                              typeList: ["全部客户", "我的客户", "下级的客户"],
 | 
			
		||||
                              typeIndex: 0,
 | 
			
		||||
                              statusList: ["全部", "待审核", "待回款", "已回款"],
 | 
			
		||||
                              status: null,
 | 
			
		||||
                              start_time: "",
 | 
			
		||||
                              end_time: "",
 | 
			
		||||
                              ascripList: [],
 | 
			
		||||
                              ascripId: null,
 | 
			
		||||
                              ascripIndex: null,
 | 
			
		||||
                              customerObj: null,
 | 
			
		||||
                              goodsList: ["全部客户", "我的客户", "下级的客户"],
 | 
			
		||||
                              info: 0,
 | 
			
		||||
                              rSelect: [],
 | 
			
		||||
                              has_amount_view:false, //检查是否有查看合同金额的权限
 | 
			
		||||
                          }
 | 
			
		||||
                      },
 | 
			
		||||
                      onLoad: function(t) {
 | 
			
		||||
                          t.startTime && (this.typeIndex = 0 == t.type ? 1 : 1 == t.type ? 0 : 2, this.type = this.typeList[this.typeIndex], this.start_time = t.startTime, this.end_time = t.endTime, this.ascripId = t.staffid), t.stime && (this.typeIndex = t.status, this.start_time = t.stime, this.end_time = t.etime)
 | 
			
		||||
                      },
 | 
			
		||||
                      onShow: function() {
 | 
			
		||||
                        this.init(), this.getGuishu()
 | 
			
		||||
                      },
 | 
			
		||||
                      onReachBottom: function() {
 | 
			
		||||
                          this.page >= this.totalPage || (this.page++, this.getList())
 | 
			
		||||
                      },
 | 
			
		||||
                      methods: {
 | 
			
		||||
                          toSelectCustomer: function() {
 | 
			
		||||
                              this.$refs.customerChild.init()
 | 
			
		||||
                          },
 | 
			
		||||
                          getCustomerinfo: function(t) {
 | 
			
		||||
                              this.customerObj = t
 | 
			
		||||
                          },
 | 
			
		||||
                          init: function() {
 | 
			
		||||
                              var t = this;
 | 
			
		||||
                              this.page = 1, this.contract_list = [], setTimeout((function() {
 | 
			
		||||
                                  t.getList()
 | 
			
		||||
                              }), 200)
 | 
			
		||||
                          },
 | 
			
		||||
                          toQuery: function() {
 | 
			
		||||
                              this.$refs.screenpopup.open()
 | 
			
		||||
                          },
 | 
			
		||||
                          lookTotal: function() {
 | 
			
		||||
                              this.$refs.popup.open()
 | 
			
		||||
                          },
 | 
			
		||||
                          removeTotal: function() {
 | 
			
		||||
                              this.$refs.popup.close()
 | 
			
		||||
                          },
 | 
			
		||||
                          changeTab: function(t) {
 | 
			
		||||
                              this.status = t.detail.value
 | 
			
		||||
                          },
 | 
			
		||||
                          changeFirTab: function(t) {
 | 
			
		||||
                              this.typeIndex = t, this.init()
 | 
			
		||||
                          },
 | 
			
		||||
                          moveStop: function() {},
 | 
			
		||||
                          toCreateContract: function() {
 | 
			
		||||
                              t.navigateTo({
 | 
			
		||||
                                  url: "/pagesA/crm/contract/contract"
 | 
			
		||||
                              })
 | 
			
		||||
                          },
 | 
			
		||||
                          tab: function(t) {
 | 
			
		||||
                              this.info = t
 | 
			
		||||
                          },
 | 
			
		||||
                          getGuishu: function() {
 | 
			
		||||
                              var t = this;
 | 
			
		||||
                              (0, n.netSearchStaffList)().then((function(i) {
 | 
			
		||||
                                  t.ascripList = i.data, t.ascripId && t.ascripList.forEach((function(i, e) {
 | 
			
		||||
                                      i.id == t.ascripId && (t.ascripIndex = e)
 | 
			
		||||
                                  }))
 | 
			
		||||
                              }))
 | 
			
		||||
                          },
 | 
			
		||||
                          changeAscrip: function(t) {
 | 
			
		||||
                              this.ascripIndex = t.detail.value, this.ascripId = this.ascripList[this.ascripIndex].id
 | 
			
		||||
                          },
 | 
			
		||||
                          getList: function() {
 | 
			
		||||
                              var t = this,
 | 
			
		||||
                                  i = {
 | 
			
		||||
                                      page: this.page,
 | 
			
		||||
                                      limit: this.limit,
 | 
			
		||||
                                      createtime: this.start_time && this.end_time ? this.start_time + "," + this.end_time : "",
 | 
			
		||||
                                      type: this.typeIndex,
 | 
			
		||||
                                      status: this.status,
 | 
			
		||||
                                      staff_id: this.ascripId,
 | 
			
		||||
                                      customer_id: this.customerObj ? this.customerObj.id : ""
 | 
			
		||||
                                  };
 | 
			
		||||
                               // 检查是否查看合同金额的权限
 | 
			
		||||
                               (n.checkHasAmountView)().then((function(i) {
 | 
			
		||||
                                   console.log(i.data,'权限')
 | 
			
		||||
                                   t.has_amount_view = i.data.has_amount_view;
 | 
			
		||||
                                   wx.setStorageSync('has_amount_view', i.data.has_amount_view)
 | 
			
		||||
                                }));
 | 
			
		||||
                              (0, n.netCrmContractList)(i).then((function(i) {
 | 
			
		||||
                                  t.contract_list = t.contract_list.concat(i.data.data), t.totalPage = i.data.last_page, t.moneyInfo = i.data.moneyinfo
 | 
			
		||||
                              }))
 | 
			
		||||
                          },
 | 
			
		||||
                          changeType: function(t) {
 | 
			
		||||
                              this.typeIndex = t
 | 
			
		||||
                          },
 | 
			
		||||
                          changeStartTime: function(t) {
 | 
			
		||||
                              this.start_time = t.detail.value, this.end_time || (this.end_time = t.detail.value)
 | 
			
		||||
                          },
 | 
			
		||||
                          changeEndTime: function(t) {
 | 
			
		||||
                              this.end_time = t.detail.value, this.start_time || (this.start_time = t.detail.value)
 | 
			
		||||
                          },
 | 
			
		||||
                          reset: function() {
 | 
			
		||||
                              this.type = "", this.start_time = "", this.end_time = "", this.ascripId = null, this.ascripIndex = null, this.status = null, this.customerObj = null
 | 
			
		||||
                          },
 | 
			
		||||
                          sureQuery: function() {
 | 
			
		||||
                              this.$refs.screenpopup.close(), this.init()
 | 
			
		||||
                          },
 | 
			
		||||
                          toContractDetail: function(i) {
 | 
			
		||||
                              t.navigateTo({
 | 
			
		||||
                                  url: "/pages/index/groupCompany/contract/contractDetail?id=" + i
 | 
			
		||||
                              })
 | 
			
		||||
                          },
 | 
			
		||||
  
 | 
			
		||||
                      }
 | 
			
		||||
                  };
 | 
			
		||||
              i.default = a
 | 
			
		||||
          }).call(this, e("543d")["default"])
 | 
			
		||||
      }
 | 
			
		||||
  },
 | 
			
		||||
  [
 | 
			
		||||
      ["4cae", "common/runtime", "common/vendor"]
 | 
			
		||||
  ]
 | 
			
		||||
]);
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| 
						 | 
				
			
			@ -0,0 +1,307 @@
 | 
			
		|||
// pages/index/groupCompany/bills/addBills.js
 | 
			
		||||
const app = getApp(); //全局app
 | 
			
		||||
Page({
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 页面的初始数据
 | 
			
		||||
   */
 | 
			
		||||
  data: {
 | 
			
		||||
    BASE_IMG_URL: app.globalData.BASE_IMG_URL,
 | 
			
		||||
    BASE_URL:app.globalData.BASE_URL,
 | 
			
		||||
    reviseId:'', //修改过来的ID
 | 
			
		||||
    agreementId:'',//从合同里面过来的ID
 | 
			
		||||
    corporation:[], //关联公司名称
 | 
			
		||||
    corporationList:[], //关联公司
 | 
			
		||||
    corporationIndex:0,
 | 
			
		||||
    agreement:[], //关联合同名称
 | 
			
		||||
    agreementList:[],//关联合同
 | 
			
		||||
    agreementIndex:0,
 | 
			
		||||
    billsObj:{
 | 
			
		||||
      corporation_id:'', //开票公司ID
 | 
			
		||||
      contract_id:'', //关联合同ID
 | 
			
		||||
      money:'',
 | 
			
		||||
      remark:''
 | 
			
		||||
    } //提交的数据
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 生命周期函数--监听页面加载
 | 
			
		||||
   */
 | 
			
		||||
  onLoad(options) {
 | 
			
		||||
    console.log(options)
 | 
			
		||||
    let that = this;
 | 
			
		||||
    this.getCorporation();
 | 
			
		||||
    this.getAgreement();
 | 
			
		||||
    setTimeout(function(){
 | 
			
		||||
      if(options.id) {
 | 
			
		||||
        that.setData({
 | 
			
		||||
          reviseId:options.id
 | 
			
		||||
        })
 | 
			
		||||
        that.getRevise();
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if(options.agreementId) {
 | 
			
		||||
        that.setData({
 | 
			
		||||
          agreementId:options.agreementId
 | 
			
		||||
        })
 | 
			
		||||
        console.log(that.data.agreementId)
 | 
			
		||||
        that.getAgreementId();
 | 
			
		||||
      }
 | 
			
		||||
    },400)
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 生命周期函数--监听页面初次渲染完成
 | 
			
		||||
   */
 | 
			
		||||
  onReady() {
 | 
			
		||||
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 生命周期函数--监听页面显示
 | 
			
		||||
   */
 | 
			
		||||
  onShow() {
 | 
			
		||||
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 生命周期函数--监听页面隐藏
 | 
			
		||||
   */
 | 
			
		||||
  onHide() {
 | 
			
		||||
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 生命周期函数--监听页面卸载
 | 
			
		||||
   */
 | 
			
		||||
  onUnload() {
 | 
			
		||||
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 页面相关事件处理函数--监听用户下拉动作
 | 
			
		||||
   */
 | 
			
		||||
  onPullDownRefresh() {
 | 
			
		||||
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 页面上拉触底事件的处理函数
 | 
			
		||||
   */
 | 
			
		||||
  onReachBottom() {
 | 
			
		||||
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // 获取所有关联公司
 | 
			
		||||
  getCorporation() {
 | 
			
		||||
    let that = this;
 | 
			
		||||
    wx.request({
 | 
			
		||||
      url: this.data.BASE_URL + '/addons/crmx/bill/getCorporationList',
 | 
			
		||||
      data: {},
 | 
			
		||||
      header: {
 | 
			
		||||
        'content-type': 'application/json', // 默认值
 | 
			
		||||
        'token': wx.getStorageSync('token'),
 | 
			
		||||
      },
 | 
			
		||||
      success (res) {
 | 
			
		||||
        console.log(res.data,'公司列表')
 | 
			
		||||
        let corporation = res.data.data.map(item => {
 | 
			
		||||
          return item.name
 | 
			
		||||
        })
 | 
			
		||||
        that.setData({
 | 
			
		||||
          corporation:corporation,
 | 
			
		||||
          corporationList:res.data.data,
 | 
			
		||||
        })
 | 
			
		||||
        that.data.billsObj.corporation_id = res.data.data[that.data.corporationIndex].id;
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  // 获取所有关联合同
 | 
			
		||||
  getAgreement() {
 | 
			
		||||
    let that = this;
 | 
			
		||||
    wx.request({
 | 
			
		||||
      url: this.data.BASE_URL + '/addons/crmx/bill/getContractList',
 | 
			
		||||
      data: {},
 | 
			
		||||
      header: {
 | 
			
		||||
        'content-type': 'application/json', // 默认值
 | 
			
		||||
        'token': wx.getStorageSync('token'),
 | 
			
		||||
      },
 | 
			
		||||
      success (res) {
 | 
			
		||||
        console.log(res.data,'合同列表')
 | 
			
		||||
        let agreement = res.data.data.map(item => {
 | 
			
		||||
          return item.name
 | 
			
		||||
        })
 | 
			
		||||
        that.setData({
 | 
			
		||||
          agreement:agreement,
 | 
			
		||||
          agreementList:res.data.data,
 | 
			
		||||
        })
 | 
			
		||||
        that.data.billsObj.contract_id = that.data.agreementList[that.data.agreementIndex].id;
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  // 选择关联公司
 | 
			
		||||
  bindCorporation(e){
 | 
			
		||||
    let value = e.detail.value;
 | 
			
		||||
    this.setData({
 | 
			
		||||
      corporationIndex:value,
 | 
			
		||||
    })
 | 
			
		||||
    this.data.billsObj.corporation_id = this.data.corporationList[e.detail.value].id;
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  // 选择关联合同
 | 
			
		||||
  bindAgreement(e){
 | 
			
		||||
    let value = e.detail.value;
 | 
			
		||||
    this.setData({
 | 
			
		||||
      agreementIndex:value,
 | 
			
		||||
    })
 | 
			
		||||
    this.data.billsObj.contract_id = this.data.agreementList[e.detail.value].id;
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  // 发票金额
 | 
			
		||||
  bindMoney(e) {
 | 
			
		||||
    let that = this;
 | 
			
		||||
    that.data.billsObj.money = e.detail.value;
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  // 备注
 | 
			
		||||
  bindRemark(e) {
 | 
			
		||||
    let that = this;
 | 
			
		||||
    that.data.billsObj.remark = e.detail.value;
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  // 添加按钮
 | 
			
		||||
  addBills() {
 | 
			
		||||
    console.log(this.data.billsObj,'aaaa')
 | 
			
		||||
    let that = this;
 | 
			
		||||
    let pargms = that.data.billsObj;
 | 
			
		||||
    if(pargms.money == '') {
 | 
			
		||||
      wx.showToast({
 | 
			
		||||
        title:"请填写发票金额",
 | 
			
		||||
        icon: 'error',
 | 
			
		||||
        duration: 1000,
 | 
			
		||||
        mask: false,        
 | 
			
		||||
      })
 | 
			
		||||
    }else {
 | 
			
		||||
      wx.request({
 | 
			
		||||
        url: this.data.BASE_URL + '/addons/crmx/bill/addBill',
 | 
			
		||||
        method:'POST',
 | 
			
		||||
        data: {
 | 
			
		||||
          contract_id:pargms.contract_id,
 | 
			
		||||
          money:pargms.money,
 | 
			
		||||
          corporation_id:pargms.corporation_id,
 | 
			
		||||
          remark:pargms.remark
 | 
			
		||||
        },
 | 
			
		||||
        header: {
 | 
			
		||||
          'content-type': 'application/json', // 默认值
 | 
			
		||||
          'token': wx.getStorageSync('token'),
 | 
			
		||||
        },
 | 
			
		||||
        success (res) {
 | 
			
		||||
          if(res.data.code == 1) {
 | 
			
		||||
            console.log(res.data,'提交成功')
 | 
			
		||||
            wx.showToast({
 | 
			
		||||
              title:"保存成功",
 | 
			
		||||
              icon: 'success',
 | 
			
		||||
              duration: 1500,
 | 
			
		||||
              mask: false,        
 | 
			
		||||
            })
 | 
			
		||||
            setTimeout(function(){
 | 
			
		||||
              wx.navigateBack({
 | 
			
		||||
                delta: 1
 | 
			
		||||
              });
 | 
			
		||||
            },1700)
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  // 修改的内容
 | 
			
		||||
  getRevise() {
 | 
			
		||||
    let that = this;
 | 
			
		||||
    wx.request({
 | 
			
		||||
      url: this.data.BASE_URL + '/addons/crmx/bill/billInfo',
 | 
			
		||||
      data: {
 | 
			
		||||
        id:that.data.reviseId
 | 
			
		||||
      },
 | 
			
		||||
      header: {
 | 
			
		||||
        'content-type': 'application/json', // 默认值
 | 
			
		||||
        'token': wx.getStorageSync('token'),
 | 
			
		||||
      },
 | 
			
		||||
      success (res) {
 | 
			
		||||
        console.log(res.data,'修改列表')
 | 
			
		||||
        let corporation_name = res.data.data.corporation.name;
 | 
			
		||||
        let agreement_name = res.data.data.contract.name;
 | 
			
		||||
        let index = that.data.corporation.indexOf(corporation_name);
 | 
			
		||||
        let index2 = that.data.agreement.indexOf(agreement_name);
 | 
			
		||||
        that.setData({
 | 
			
		||||
          corporationIndex:index,
 | 
			
		||||
          agreementIndex:index2,
 | 
			
		||||
          billsObj:{
 | 
			
		||||
            corporation_id:that.data.corporationList[index].id, //开票公司ID
 | 
			
		||||
            contract_id:that.data.agreementList[index2].id, //关联合同ID
 | 
			
		||||
            money:res.data.data.money,
 | 
			
		||||
            remark:res.data.data.remark
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        console.log(that.data.corporationIndex,that.data.agreementIndex,'默认')
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  //修改按钮
 | 
			
		||||
  reviseBills() {
 | 
			
		||||
    console.log(this.data.billsObj,'bbb')
 | 
			
		||||
    let that = this;
 | 
			
		||||
    let pargms = that.data.billsObj;
 | 
			
		||||
    wx.request({
 | 
			
		||||
      url: this.data.BASE_URL + '/addons/crmx/bill/editBill',
 | 
			
		||||
      method:'POST',
 | 
			
		||||
      data: {
 | 
			
		||||
        contract_id:pargms.contract_id,
 | 
			
		||||
        money:pargms.money,
 | 
			
		||||
        corporation_id:pargms.corporation_id,
 | 
			
		||||
        remark:pargms.remark,
 | 
			
		||||
        id:that.data.reviseId,
 | 
			
		||||
      },
 | 
			
		||||
      header: {
 | 
			
		||||
        'content-type': 'application/json', // 默认值
 | 
			
		||||
        'token': wx.getStorageSync('token'),
 | 
			
		||||
      },
 | 
			
		||||
      success (res) {
 | 
			
		||||
        if(res.data.code == 1) {
 | 
			
		||||
          console.log(res.data,'修改成功')
 | 
			
		||||
          wx.showToast({
 | 
			
		||||
            title:"修改成功",
 | 
			
		||||
            icon: 'success',//图标,支持"success"、"loading" 
 | 
			
		||||
            duration: 1200,//提示的延迟时间,单位毫秒,默认:1500 
 | 
			
		||||
            mask: false,//是否显示透明蒙层,防止触摸穿透,默认:false             
 | 
			
		||||
          })
 | 
			
		||||
          setTimeout(function(){
 | 
			
		||||
            wx.navigateBack({
 | 
			
		||||
              delta: 1
 | 
			
		||||
            });
 | 
			
		||||
          },1250)
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  // 获取合同过来的合同名称并选中
 | 
			
		||||
  getAgreementId() {
 | 
			
		||||
    let that = this;
 | 
			
		||||
    let agreementId = Number(that.data.agreementId);
 | 
			
		||||
    let agreementIdList = that.data.agreementList.map(item => {
 | 
			
		||||
      return item.id
 | 
			
		||||
    })
 | 
			
		||||
    let index = agreementIdList.indexOf(agreementId);
 | 
			
		||||
    that.setData({
 | 
			
		||||
      agreementIndex:index,
 | 
			
		||||
    });
 | 
			
		||||
    that.data.billsObj.corporation_id = that.data.corporationList[that.data.corporationIndex].id; //开票公司ID
 | 
			
		||||
    that.data.billsObj.contract_id = that.data.agreementList[index].id; //关联合同ID
 | 
			
		||||
  }
 | 
			
		||||
})
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
{
 | 
			
		||||
  "navigationBarTitleText": "添加发票"
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,38 @@
 | 
			
		|||
<view class="new_fllow">
 | 
			
		||||
 | 
			
		||||
    <view class="fllow_form">
 | 
			
		||||
        <view><text>*</text>关联公司</view>
 | 
			
		||||
        <picker bindchange="bindCorporation" value="{{corporation[corporationIndex]}}" range="{{corporation}}">
 | 
			
		||||
          <view class="form_right">
 | 
			
		||||
                <view class="{{[corporation[corporationIndex]?'valueActive':'']}}">{{corporation[corporationIndex]?corporation[corporationIndex]:'点击选择'}}</view>
 | 
			
		||||
                <view class="iconfont icon-arrows_right"></view>
 | 
			
		||||
            </view>
 | 
			
		||||
        </picker>
 | 
			
		||||
    </view>
 | 
			
		||||
    <view class="fllow_form">
 | 
			
		||||
        <view><text>*</text>关联合同</view>
 | 
			
		||||
        <picker bindchange="bindAgreement" value="{{agreement[agreementIndex].name}}" range="{{agreement}}">
 | 
			
		||||
          <view class="form_right">
 | 
			
		||||
                <view class="{{[agreement[agreementIndex]?'valueActive':'']}}">{{agreement[agreementIndex]?agreement[agreementIndex]:'点击选择'}}</view>
 | 
			
		||||
                <view class="iconfont icon-arrows_right"></view>
 | 
			
		||||
            </view>
 | 
			
		||||
        </picker>
 | 
			
		||||
    </view>
 | 
			
		||||
 | 
			
		||||
    <view class="fllow_form">
 | 
			
		||||
        <view><text>*</text>发票金额</view>
 | 
			
		||||
        <input class="weui-input" type="number" value="{{billsObj.money}}" maxlength="10" placeholder="请输入发票金额" bindinput="bindMoney"/>
 | 
			
		||||
    </view>
 | 
			
		||||
 | 
			
		||||
    <view class="fllow_area">
 | 
			
		||||
      <view class="area_head">备注</view>
 | 
			
		||||
      <textarea class="{{[remark?'valueActive':'']}}" placeholder="请输入备注" placeholder-style="color:#999" value="{{billsObj.remark}}" bindinput="bindRemark"></textarea>
 | 
			
		||||
    </view>
 | 
			
		||||
 | 
			
		||||
    <view class="btn_g bg-blue button-hover round"  bindtap="addBills" wx:if="{{!reviseId}}">保存</view>
 | 
			
		||||
 | 
			
		||||
    <view class="btn_g bg-blue button-hover round"  bindtap="reviseBills" wx:if="{{reviseId}}">保存</view>
 | 
			
		||||
 | 
			
		||||
    <u-action-sheet vue-id="4b0ab70f-3" list="{{uploadActions}}" value="{{uploadShow}}" data-event-opts="{{[['^click',[['uploadType']]],['^input',[['__set_model',['','uploadShow','$event',[]]]]]]}}" bind:click="__e" bind:input="__e" bind:__l="__l"></u-action-sheet>
 | 
			
		||||
    <select-customer class="vue-ref" bind:getCustomerinfo="__e" vue-id="4b0ab70f-4" data-ref="customerChild" data-event-opts="{{[['^getCustomerinfo',[['getCustomerinfo']]]]}}" bind:__l="__l"></select-customer>
 | 
			
		||||
</view>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,170 @@
 | 
			
		|||
.valueActive {
 | 
			
		||||
	color:#333
 | 
			
		||||
}
 | 
			
		||||
.new_fllow {
 | 
			
		||||
	font-size:28rpx
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_form {
 | 
			
		||||
	display:flex;
 | 
			
		||||
	justify-content:space-between;
 | 
			
		||||
	align-items:center;
 | 
			
		||||
	height:100rpx;
 | 
			
		||||
	line-height:100rpx;
 | 
			
		||||
	background-color:#fff;
 | 
			
		||||
	border-bottom:1rpx solid #eaeaea;
 | 
			
		||||
	padding:0 30rpx;
 | 
			
		||||
	color:#999;
 | 
			
		||||
	font-size:32rpx
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_form .form_right {
 | 
			
		||||
	display:flex;
 | 
			
		||||
	color:#999
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_form .form_right image {
 | 
			
		||||
	width:40rpx;
 | 
			
		||||
	height:40rpx;
 | 
			
		||||
	margin:28rpx 5rpx 0 0
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_form text {
 | 
			
		||||
	color:red;
 | 
			
		||||
	margin-left:10rpx
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_form .form_input input {
 | 
			
		||||
	height:100%;
 | 
			
		||||
	text-align:right
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_form .fllow_button {
 | 
			
		||||
	margin-top:15rpx
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_file_li {
 | 
			
		||||
	padding:24rpx 34rpx;
 | 
			
		||||
	background:#fff;
 | 
			
		||||
	border-bottom:1rpx solid #eaeaea
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_file_li .fil_li {
 | 
			
		||||
	display:flex;
 | 
			
		||||
	justify-content:space-between;
 | 
			
		||||
	align-items:center;
 | 
			
		||||
	margin-bottom:14rpx
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_file_li .fil_li .fileimg {
 | 
			
		||||
	width:20rpx;
 | 
			
		||||
	height:20rpx
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_file_li .fil_li .filename {
 | 
			
		||||
	width:450rpx;
 | 
			
		||||
	font-size:24rpx;
 | 
			
		||||
	color:#999;
 | 
			
		||||
	white-space:nowrap;
 | 
			
		||||
	overflow:hidden;
 | 
			
		||||
	text-overflow:ellipsis
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_file_li .fil_li .closeimg {
 | 
			
		||||
	width:32rpx;
 | 
			
		||||
	height:32rpx
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .imglist {
 | 
			
		||||
	padding:24rpx 34rpx;
 | 
			
		||||
	background:#fff;
 | 
			
		||||
	border-bottom:1rpx solid #eaeaea;
 | 
			
		||||
	display:flex;
 | 
			
		||||
	justify-content:flex-start;
 | 
			
		||||
	align-items:center;
 | 
			
		||||
	flex-wrap:wrap
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .imglist .imgbox {
 | 
			
		||||
	width:160rpx;
 | 
			
		||||
	height:160rpx;
 | 
			
		||||
	margin-right:14rpx;
 | 
			
		||||
	position:relative;
 | 
			
		||||
	margin-bottom:24rpx;
 | 
			
		||||
	border:1rpx solid #eaeaea
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .imglist .imgbox .delimg {
 | 
			
		||||
	width:32rpx;
 | 
			
		||||
	height:32rpx;
 | 
			
		||||
	border-radius:50%;
 | 
			
		||||
	position:absolute;
 | 
			
		||||
	right:-16rpx;
 | 
			
		||||
	top:-16rpx;
 | 
			
		||||
	background:rgba(0,0,0,.5);
 | 
			
		||||
	z-index:2
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .imglist .imgbox .selfimg {
 | 
			
		||||
	width:160rpx;
 | 
			
		||||
	height:160rpx
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_area {
 | 
			
		||||
	background-color:#fff;
 | 
			
		||||
	margin-bottom:30rpx;
 | 
			
		||||
	padding-bottom:30rpx;
 | 
			
		||||
	color:#999
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_area .area_head {
 | 
			
		||||
	height:100rpx;
 | 
			
		||||
	line-height:100rpx;
 | 
			
		||||
	font-size:32rpx;
 | 
			
		||||
	padding:0 30rpx
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_area .area_head text {
 | 
			
		||||
	color:red
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_area textarea {
 | 
			
		||||
	width:80%;
 | 
			
		||||
	height:300rpx;
 | 
			
		||||
	padding:30rpx;
 | 
			
		||||
	background:#f8f8f8;
 | 
			
		||||
	border-radius:15rpx;
 | 
			
		||||
	margin:0 auto
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .follow_task {
 | 
			
		||||
	height:80rpx;
 | 
			
		||||
	line-height:80rpx
 | 
			
		||||
}
 | 
			
		||||
.imglist {
 | 
			
		||||
	padding:24rpx 34rpx;
 | 
			
		||||
	background:#fff;
 | 
			
		||||
	border-bottom:1rpx solid #eaeaea;
 | 
			
		||||
	display:flex;
 | 
			
		||||
	justify-content:flex-start;
 | 
			
		||||
	align-items:center;
 | 
			
		||||
	flex-wrap:wrap
 | 
			
		||||
}
 | 
			
		||||
.imglist .imgbox {
 | 
			
		||||
	width:160rpx;
 | 
			
		||||
	height:160rpx;
 | 
			
		||||
	margin-right:14rpx;
 | 
			
		||||
	position:relative;
 | 
			
		||||
	margin-bottom:24rpx;
 | 
			
		||||
	border:1rpx solid #eaeaea
 | 
			
		||||
}
 | 
			
		||||
.imglist .imgbox .delimg {
 | 
			
		||||
	width:32rpx;
 | 
			
		||||
	height:32rpx;
 | 
			
		||||
	border-radius:50%;
 | 
			
		||||
	position:absolute;
 | 
			
		||||
	right:-16rpx;
 | 
			
		||||
	top:-16rpx;
 | 
			
		||||
	background:rgba(0,0,0,.5);
 | 
			
		||||
	z-index:2
 | 
			
		||||
}
 | 
			
		||||
.imglist .imgbox .selfimg {
 | 
			
		||||
	width:160rpx;
 | 
			
		||||
	height:160rpx
 | 
			
		||||
}
 | 
			
		||||
#btn {
 | 
			
		||||
	width:500rpx;
 | 
			
		||||
	height:88rpx;
 | 
			
		||||
	background:#03aa96;
 | 
			
		||||
	border-radius:29rpx;
 | 
			
		||||
	font-size:34rpx;
 | 
			
		||||
	color:#fff;
 | 
			
		||||
	line-height:88rpx
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.weui-input {
 | 
			
		||||
  width:50%;
 | 
			
		||||
  height: 100rpx;
 | 
			
		||||
  text-align: right;
 | 
			
		||||
  color: #333;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,66 @@
 | 
			
		|||
// pages/index/groupCompany/bills/billsDetail.js
 | 
			
		||||
Page({
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 页面的初始数据
 | 
			
		||||
   */
 | 
			
		||||
  data: {
 | 
			
		||||
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 生命周期函数--监听页面加载
 | 
			
		||||
   */
 | 
			
		||||
  onLoad(options) {
 | 
			
		||||
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 生命周期函数--监听页面初次渲染完成
 | 
			
		||||
   */
 | 
			
		||||
  onReady() {
 | 
			
		||||
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 生命周期函数--监听页面显示
 | 
			
		||||
   */
 | 
			
		||||
  onShow() {
 | 
			
		||||
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 生命周期函数--监听页面隐藏
 | 
			
		||||
   */
 | 
			
		||||
  onHide() {
 | 
			
		||||
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 生命周期函数--监听页面卸载
 | 
			
		||||
   */
 | 
			
		||||
  onUnload() {
 | 
			
		||||
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 页面相关事件处理函数--监听用户下拉动作
 | 
			
		||||
   */
 | 
			
		||||
  onPullDownRefresh() {
 | 
			
		||||
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 页面上拉触底事件的处理函数
 | 
			
		||||
   */
 | 
			
		||||
  onReachBottom() {
 | 
			
		||||
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 用户点击右上角分享
 | 
			
		||||
   */
 | 
			
		||||
  onShareAppMessage() {
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
})
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
{
 | 
			
		||||
  "usingComponents": {}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,2 @@
 | 
			
		|||
<!--pages/index/groupCompany/bills/billsDetail.wxml-->
 | 
			
		||||
<text>pages/index/groupCompany/bills/billsDetail.wxml</text>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
/* pages/index/groupCompany/bills/billsDetail.wxss */
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| 
						 | 
				
			
			@ -34,16 +34,16 @@
 | 
			
		|||
                <view class="protext">{{''+(info.receivables.ratio>=100?100:info.receivables.ratio)+'%'}}</view>
 | 
			
		||||
            </block>
 | 
			
		||||
        </view>
 | 
			
		||||
        <view class="li_text">
 | 
			
		||||
        <view class="li_text" wx:if="{{has_amount_view}}">
 | 
			
		||||
            <block wx:if="{{info}}">
 | 
			
		||||
                <view class="protext">{{'合同金额:¥'+(info.money?info.money:'')+''}}</view>
 | 
			
		||||
            </block>
 | 
			
		||||
        </view>
 | 
			
		||||
        <block wx:if="{{info}}">
 | 
			
		||||
            <view class="content">{{'已回款:¥'+(info.receivables?info.receivables.repayment_money:'')+''}}</view>
 | 
			
		||||
            <view class="content" wx:if="{{has_amount_view}}">{{'已回款:¥'+(info.receivables?info.receivables.repayment_money:'')+''}}</view>
 | 
			
		||||
        </block>
 | 
			
		||||
        <block wx:if="{{info}}">
 | 
			
		||||
            <view class="content">{{'待回款:¥ '+(info.receivables?info.receivables.be_money:'')+''}}</view>
 | 
			
		||||
            <view class="content" wx:if="{{has_amount_view}}">{{'待回款:¥ '+(info.receivables?info.receivables.be_money:'')+''}}</view>
 | 
			
		||||
        </block>
 | 
			
		||||
        <block wx:if="{{info}}">
 | 
			
		||||
            <view class="content">{{'签约时间:'+(info.order_date?info.order_date:'')+''}}</view>
 | 
			
		||||
| 
						 | 
				
			
			@ -103,20 +103,22 @@
 | 
			
		|||
        <u-popup bind:input="__e" vue-id="a970ea7e-4" mode="bottom" border-radius="20" value="{{show}}" data-event-opts="{{[['^input',[['__set_model',['','show','$event',[]]]]]]}}" bind:__l="__l" vue-slots="{{['default']}}">
 | 
			
		||||
            <view class="pull_head">更多操作</view>
 | 
			
		||||
            <view class="pull_con">
 | 
			
		||||
                <view data-event-opts="{{[['tap',[['toAddBills',['$0'],['info.id']]]]]}}" class="bottom_item" bindtap="__e">
 | 
			
		||||
                    <view style="padding:5rpx 12rpx;border:1px solid #ededed;">发票</view>
 | 
			
		||||
                </view>
 | 
			
		||||
 | 
			
		||||
                <view data-event-opts="{{[['tap',[['toAddCost',['$0'],['info.id']]]]]}}" class="bottom_item" bindtap="__e">
 | 
			
		||||
                    <view style="padding:5rpx 12rpx;border:1px solid #ededed;">费用</view>
 | 
			
		||||
                </view>
 | 
			
		||||
 | 
			
		||||
                <view data-event-opts="{{[['tap',[['followClick',['$0',3],['info.id']]]]]}}" class="bottom_item" bindtap="__e">
 | 
			
		||||
                    <view style="padding:5rpx 12rpx;border:1px solid #ededed;">写新跟进</view>
 | 
			
		||||
                </view>
 | 
			
		||||
                <view data-event-opts="{{[['tap',[['toAddPlan',['$0'],['info.id']]]]]}}" class="bottom_item" bindtap="__e">
 | 
			
		||||
                    <view style="padding:5rpx 12rpx;border:1px solid #ededed;">回款计划</view>
 | 
			
		||||
                </view>
 | 
			
		||||
				
 | 
			
		||||
				<view data-event-opts="{{[['tap',[['toAddPlan',['$0'],['info.id']]]]]}}" class="bottom_item" bindtap="__e">
 | 
			
		||||
				    <view style="padding:5rpx 12rpx;border:1px solid #ededed;">费用</view>
 | 
			
		||||
				</view>
 | 
			
		||||
				
 | 
			
		||||
				<view data-event-opts="{{[['tap',[['toAddPlan',['$0'],['info.id']]]]]}}" class="bottom_item" bindtap="__e">
 | 
			
		||||
				    <view style="padding:5rpx 12rpx;border:1px solid #ededed;">发票</view>
 | 
			
		||||
				</view>
 | 
			
		||||
                
 | 
			
		||||
 | 
			
		||||
                <block wx:if="{{info&&info.check_status==2}}">
 | 
			
		||||
                    <view data-event-opts="{{[['tap',[['toAddPayment',['$0'],['info.id']]]]]}}" class="bottom_item" bindtap="__e">
 | 
			
		||||
                        <view style="padding:5rpx 12rpx;border:1px solid #ededed;">回款</view>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| 
						 | 
				
			
			@ -1 +1,92 @@
 | 
			
		|||
<view class="new_fllow"><view class="top_required">只展示<label style="color:#f00;" class="_span">必填</label>字段<switch checked="{{isRequired}}" color="#03AA96" data-event-opts="{{[['change',[['changeRequired',['$event']]]]]}}" bindchange="__e"></switch></view><view class="fllow_form"><view><text>*</text>关联客户</view><view data-event-opts="{{[['tap',[['changeCustomer',['$event']]]]]}}" class="form_right" bindtap="__e"><view class="{{[customerObj.id?'valueActive':'']}}">{{customerObj.id?customerObj.name:'点击选择'}}</view><view class="iconfont icon-arrows_right"></view></view></view><view class="fllow_form"><view><text>*</text>消费日期</view><picker mode="date" data-event-opts="{{[['change',[['changeTime',['$event']]]]]}}" bindchange="__e"><view class="form_right"><view class="{{[consume_time?'valueActive':'']}}">{{consume_time?consume_time:'点击选择'}}</view><view class="iconfont icon-arrows_right"></view></view></picker></view><view class="fllow_form"><view><text>*</text>消费方式</view><picker value="{{index}}" range="{{typeList}}" data-event-opts="{{[['change',[['changeType',['$event']]]]]}}" bindchange="__e"><view class="form_right"><view class="{{[consume_type?'valueActive':'']}}">{{consume_type?consume_type:'点击选择'}}</view><view class="iconfont icon-arrows_right"></view></view></picker></view><view class="fllow_form"><view><text>*</text>消费金额</view><view class="form_input"><input class="{{[money?'valueActive':'']}}" type="text" placeholder-style="font-size:30rpx;color: #999;" placeholder="请输入消费金额" data-event-opts="{{[['input',[['__set_model',['','money','$event',[]]]]]]}}" value="{{money}}" bindinput="__e"/></view></view><block wx:if="{{!isRequired}}"><view class="fllow_area"><view class="area_head">备注</view><textarea class="{{[remark?'valueActive':'']}}" placeholder="请输入备注" placeholder-style="color:#999" data-event-opts="{{[['input',[['__set_model',['','remark','$event',[]]]]]]}}" value="{{remark}}" bindinput="__e"></textarea></view></block><block wx:if="{{!isRequired}}"><view class="fllow_form"><view style="padding-left:23rpx;">上传附件</view><view data-event-opts="{{[['tap',[['uploadClick',['$event']]]]]}}" class="form_right" bindtap="__e"><view>选择附件</view><view class="iconfont icon-arrows_right"></view></view></view></block><block wx:if="{{$root.g0!=0}}"><view class="imglist"><block wx:for="{{imgList}}" wx:for-item="item" wx:for-index="imgindex" wx:key="imgindex"><view class="imgbox"><image class="delimg" src="{{BASE_IMG_URL+'close.png'}}" mode="scaleToFill" data-event-opts="{{[['tap',[['delImg',[imgindex]]]]]}}" bindtap="__e"></image><image class="selfimg" src="{{item.url}}" mode="scaleToFill" data-event-opts="{{[['tap',[['openCommonImg',['$0',imgindex],['imgList']]]]]}}" bindtap="__e"></image></view></block></view></block><block wx:if="{{$root.g1!=0}}"><view class="fllow_file_li"><block wx:for="{{fileList}}" wx:for-item="item" wx:for-index="fileindex" wx:key="fileindex"><view class="fil_li"><image class="fileimg" src="{{BASE_IMG_URL+'fujian.png'}}" mode="scaleToFill"></image><view data-event-opts="{{[['tap',[['openCommonFile',['$0'],[[['fileList','',fileindex]]]]]]]}}" class="filename" bindtap="__e">{{item.name}}</view><image class="closeimg" src="{{BASE_IMG_URL+'close.png'}}" mode="scaleToFill" data-event-opts="{{[['tap',[['delFile',[fileindex]]]]]}}" bindtap="__e"></image></view></block></view></block><block wx:if="{{approvalPro.status==1}}"><fixed-approval vue-id="4b0ab70f-1" list="{{approvalPro.stepList}}" bind:__l="__l"></fixed-approval></block><block wx:if="{{approvalPro.status==0}}"><examine-template vue-id="4b0ab70f-2" remindPeople="{{remindPeople}}" data-event-opts="{{[['^delExamine',[['delRemind']]]]}}" bind:delExamine="__e" bind:__l="__l"></examine-template></block><view class="btn_g bg-blue button-hover round" id="btn" data-event-opts="{{[['tap',[['$noMultipleClicks',['$0'],['saveFollow']]]]]}}" bindtap="__e">保存</view><u-action-sheet vue-id="4b0ab70f-3" list="{{uploadActions}}" value="{{uploadShow}}" data-event-opts="{{[['^click',[['uploadType']]],['^input',[['__set_model',['','uploadShow','$event',[]]]]]]}}" bind:click="__e" bind:input="__e" bind:__l="__l"></u-action-sheet><select-customer class="vue-ref" bind:getCustomerinfo="__e" vue-id="4b0ab70f-4" data-ref="customerChild" data-event-opts="{{[['^getCustomerinfo',[['getCustomerinfo']]]]}}" bind:__l="__l"></select-customer></view>
 | 
			
		||||
<view class="new_fllow">
 | 
			
		||||
    <view class="top_required">只展示<label style="color:#f00;" class="_span">必填</label>字段
 | 
			
		||||
        <switch checked="{{isRequired}}" color="#03AA96" data-event-opts="{{[['change',[['changeRequired',['$event']]]]]}}" bindchange="__e"></switch>
 | 
			
		||||
    </view>
 | 
			
		||||
    <!-- <view class="fllow_form">
 | 
			
		||||
        <view><text>*</text>关联客户</view>
 | 
			
		||||
        <view data-event-opts="{{[['tap',[['changeCustomer',['$event']]]]]}}" class="form_right" bindtap="__e">
 | 
			
		||||
            <view class="{{[customerObj.id?'valueActive':'']}}">{{customerObj.id?customerObj.name:'点击选择'}}</view>
 | 
			
		||||
            <view class="iconfont icon-arrows_right"></view>
 | 
			
		||||
        </view>
 | 
			
		||||
    </view>
 | 
			
		||||
    <view class="fllow_form">
 | 
			
		||||
        <view><text>*</text>消费日期</view>
 | 
			
		||||
        <picker mode="date" data-event-opts="{{[['change',[['changeTime',['$event']]]]]}}" bindchange="__e">
 | 
			
		||||
            <view class="form_right">
 | 
			
		||||
                <view class="{{[consume_time?'valueActive':'']}}">{{consume_time?consume_time:'点击选择'}}</view>
 | 
			
		||||
                <view class="iconfont icon-arrows_right"></view>
 | 
			
		||||
            </view>
 | 
			
		||||
        </picker>
 | 
			
		||||
    </view>
 | 
			
		||||
    <view class="fllow_form">
 | 
			
		||||
        <view><text>*</text>消费方式</view>
 | 
			
		||||
        <picker value="{{index}}" range="{{typeList}}" data-event-opts="{{[['change',[['changeType',['$event']]]]]}}" bindchange="__e">
 | 
			
		||||
            <view class="form_right">
 | 
			
		||||
                <view class="{{[consume_type?'valueActive':'']}}">{{consume_type?consume_type:'点击选择'}}</view>
 | 
			
		||||
                <view class="iconfont icon-arrows_right"></view>
 | 
			
		||||
            </view>
 | 
			
		||||
        </picker>
 | 
			
		||||
    </view> -->
 | 
			
		||||
 | 
			
		||||
    <view class="fllow_form">
 | 
			
		||||
        <view><text>*</text>关联合同</view>
 | 
			
		||||
        <picker data-event-opts="{{[['change',[['bindAgreement',['$event']]]]]}}" bindchange="__e" value="{{agreement[agreementIndex].name}}" range="{{agreement}}">
 | 
			
		||||
          <view class="form_right">
 | 
			
		||||
                <view class="{{[agreement[agreementIndex]?'valueActive':'']}}">{{agreement[agreementIndex]?agreement[agreementIndex]:'点击选择'}}</view>
 | 
			
		||||
                <view class="iconfont icon-arrows_right"></view>
 | 
			
		||||
            </view>
 | 
			
		||||
        </picker>
 | 
			
		||||
    </view>
 | 
			
		||||
    <view class="fllow_form">
 | 
			
		||||
        <view><text>*</text>消费金额</view>
 | 
			
		||||
        <view class="form_input"><input class="{{[money?'valueActive':'']}}" type="text" placeholder-style="font-size:30rpx;color: #999;" placeholder="请输入消费金额" data-event-opts="{{[['input',[['__set_model',['','money','$event',[]]]]]]}}" value="{{money}}" bindinput="__e" /></view>
 | 
			
		||||
    </view>
 | 
			
		||||
 | 
			
		||||
    <view class="fllow_form">
 | 
			
		||||
        <view>报销主题</view>
 | 
			
		||||
        <view class="form_input"><input class="{{[theme?'valueActive':'']}}" type="text" placeholder-style="font-size:30rpx;color: #999;" placeholder="请输入报销主题" data-event-opts="{{[['input',[['__set_model',['','theme','$event',[]]]]]]}}" value="{{theme}}" bindinput="__e" /></view>
 | 
			
		||||
    </view>
 | 
			
		||||
    <block wx:if="{{!isRequired}}">
 | 
			
		||||
        <view class="fllow_area">
 | 
			
		||||
            <view class="area_head">备注</view><textarea class="{{[remark?'valueActive':'']}}" placeholder="请输入备注" placeholder-style="color:#999" data-event-opts="{{[['input',[['__set_model',['','remark','$event',[]]]]]]}}" value="{{remark}}" bindinput="__e"></textarea></view>
 | 
			
		||||
    </block>
 | 
			
		||||
    <block wx:if="{{!isRequired}}">
 | 
			
		||||
        <view class="fllow_form">
 | 
			
		||||
            <view style="padding-left:23rpx;">上传附件</view>
 | 
			
		||||
            <view data-event-opts="{{[['tap',[['uploadClick',['$event']]]]]}}" class="form_right" bindtap="__e">
 | 
			
		||||
                <view>选择附件</view>
 | 
			
		||||
                <view class="iconfont icon-arrows_right"></view>
 | 
			
		||||
            </view>
 | 
			
		||||
        </view>
 | 
			
		||||
    </block>
 | 
			
		||||
    <block wx:if="{{$root.g0!=0}}">
 | 
			
		||||
        <view class="imglist">
 | 
			
		||||
            <block wx:for="{{imgList}}" wx:for-item="item" wx:for-index="imgindex" wx:key="imgindex">
 | 
			
		||||
                <view class="imgbox">
 | 
			
		||||
                    <image class="delimg" src="{{BASE_IMG_URL+'close.png'}}" mode="scaleToFill" data-event-opts="{{[['tap',[['delImg',[imgindex]]]]]}}" bindtap="__e"></image>
 | 
			
		||||
                    <image class="selfimg" src="{{item.url}}" mode="scaleToFill" data-event-opts="{{[['tap',[['openCommonImg',['$0',imgindex],['imgList']]]]]}}" bindtap="__e"></image>
 | 
			
		||||
                </view>
 | 
			
		||||
            </block>
 | 
			
		||||
        </view>
 | 
			
		||||
    </block>
 | 
			
		||||
    <block wx:if="{{$root.g1!=0}}">
 | 
			
		||||
        <view class="fllow_file_li">
 | 
			
		||||
            <block wx:for="{{fileList}}" wx:for-item="item" wx:for-index="fileindex" wx:key="fileindex">
 | 
			
		||||
                <view class="fil_li">
 | 
			
		||||
                    <image class="fileimg" src="{{BASE_IMG_URL+'fujian.png'}}" mode="scaleToFill"></image>
 | 
			
		||||
                    <view data-event-opts="{{[['tap',[['openCommonFile',['$0'],[[['fileList','',fileindex]]]]]]]}}" class="filename" bindtap="__e">{{item.name}}</view>
 | 
			
		||||
                    <image class="closeimg" src="{{BASE_IMG_URL+'close.png'}}" mode="scaleToFill" data-event-opts="{{[['tap',[['delFile',[fileindex]]]]]}}" bindtap="__e"></image>
 | 
			
		||||
                </view>
 | 
			
		||||
            </block>
 | 
			
		||||
        </view>
 | 
			
		||||
    </block>
 | 
			
		||||
    <block wx:if="{{approvalPro.status==1}}">
 | 
			
		||||
        <fixed-approval vue-id="4b0ab70f-1" list="{{approvalPro.stepList}}" bind:__l="__l"></fixed-approval>
 | 
			
		||||
    </block>
 | 
			
		||||
    <block wx:if="{{approvalPro.status==0}}">
 | 
			
		||||
        <examine-template vue-id="4b0ab70f-2" remindPeople="{{remindPeople}}" data-event-opts="{{[['^delExamine',[['delRemind']]]]}}" bind:delExamine="__e" bind:__l="__l"></examine-template>
 | 
			
		||||
    </block>
 | 
			
		||||
    <view class="btn_g bg-blue button-hover round" id="btn" data-event-opts="{{[['tap',[['$noMultipleClicks',['$0'],['saveFollow']]]]]}}" bindtap="__e">保存</view>
 | 
			
		||||
    <u-action-sheet vue-id="4b0ab70f-3" list="{{uploadActions}}" value="{{uploadShow}}" data-event-opts="{{[['^click',[['uploadType']]],['^input',[['__set_model',['','uploadShow','$event',[]]]]]]}}" bind:click="__e" bind:input="__e" bind:__l="__l"></u-action-sheet>
 | 
			
		||||
    <select-customer class="vue-ref" bind:getCustomerinfo="__e" vue-id="4b0ab70f-4" data-ref="customerChild" data-event-opts="{{[['^getCustomerinfo',[['getCustomerinfo']]]]}}" bind:__l="__l"></select-customer>
 | 
			
		||||
</view>
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +1,163 @@
 | 
			
		|||
.valueActive{color:#333}.new_fllow{font-size:28rpx}.new_fllow .fllow_form{display:flex;justify-content:space-between;align-items:center;height:100rpx;line-height:100rpx;background-color:#fff;border-bottom:1rpx solid #eaeaea;padding:0 30rpx;color:#999;font-size:32rpx}.new_fllow .fllow_form .form_right{display:flex;color:#999}.new_fllow .fllow_form .form_right image{width:40rpx;height:40rpx;margin:28rpx 5rpx 0 0}.new_fllow .fllow_form text{color:red;margin-left:10rpx}.new_fllow .fllow_form .form_input input{height:100%;text-align:right}.new_fllow .fllow_form .fllow_button{margin-top:15rpx}.new_fllow .fllow_file_li{padding:24rpx 34rpx;background:#fff;border-bottom:1rpx solid #eaeaea}.new_fllow .fllow_file_li .fil_li{display:flex;justify-content:space-between;align-items:center;margin-bottom:14rpx}.new_fllow .fllow_file_li .fil_li .fileimg{width:20rpx;height:20rpx}.new_fllow .fllow_file_li .fil_li .filename{width:450rpx;font-size:24rpx;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.new_fllow .fllow_file_li .fil_li .closeimg{width:32rpx;height:32rpx}.new_fllow .imglist{padding:24rpx 34rpx;background:#fff;border-bottom:1rpx solid #eaeaea;display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}.new_fllow .imglist .imgbox{width:160rpx;height:160rpx;margin-right:14rpx;position:relative;margin-bottom:24rpx;border:1rpx solid #eaeaea}.new_fllow .imglist .imgbox .delimg{width:32rpx;height:32rpx;border-radius:50%;position:absolute;right:-16rpx;top:-16rpx;background:rgba(0,0,0,.5);z-index:2}.new_fllow .imglist .imgbox .selfimg{width:160rpx;height:160rpx}.new_fllow .fllow_area{background-color:#fff;margin-bottom:30rpx;padding-bottom:30rpx;color:#999}.new_fllow .fllow_area .area_head{height:100rpx;line-height:100rpx;font-size:32rpx;padding:0 30rpx}.new_fllow .fllow_area .area_head text{color:red}.new_fllow .fllow_area textarea{width:80%;height:300rpx;padding:30rpx;background:#f8f8f8;border-radius:15rpx;margin:0 auto}.new_fllow .follow_task{height:80rpx;line-height:80rpx}.imglist{padding:24rpx 34rpx;background:#fff;border-bottom:1rpx solid #eaeaea;display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap}.imglist .imgbox{width:160rpx;height:160rpx;margin-right:14rpx;position:relative;margin-bottom:24rpx;border:1rpx solid #eaeaea}.imglist .imgbox .delimg{width:32rpx;height:32rpx;border-radius:50%;position:absolute;right:-16rpx;top:-16rpx;background:rgba(0,0,0,.5);z-index:2}.imglist .imgbox .selfimg{width:160rpx;height:160rpx}#btn{width:500rpx;height:88rpx;background:#03aa96;border-radius:29rpx;font-size:34rpx;color:#fff;line-height:88rpx}
 | 
			
		||||
.valueActive {
 | 
			
		||||
	color:#333
 | 
			
		||||
}
 | 
			
		||||
.new_fllow {
 | 
			
		||||
	font-size:28rpx
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_form {
 | 
			
		||||
	display:flex;
 | 
			
		||||
	justify-content:space-between;
 | 
			
		||||
	align-items:center;
 | 
			
		||||
	height:100rpx;
 | 
			
		||||
	line-height:100rpx;
 | 
			
		||||
	background-color:#fff;
 | 
			
		||||
	border-bottom:1rpx solid #eaeaea;
 | 
			
		||||
	padding:0 30rpx;
 | 
			
		||||
	color:#999;
 | 
			
		||||
	font-size:32rpx
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_form .form_right {
 | 
			
		||||
	display:flex;
 | 
			
		||||
	color:#999
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_form .form_right image {
 | 
			
		||||
	width:40rpx;
 | 
			
		||||
	height:40rpx;
 | 
			
		||||
	margin:28rpx 5rpx 0 0
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_form text {
 | 
			
		||||
	color:red;
 | 
			
		||||
	margin-left:10rpx
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_form .form_input input {
 | 
			
		||||
	height:100%;
 | 
			
		||||
	text-align:right
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_form .fllow_button {
 | 
			
		||||
	margin-top:15rpx
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_file_li {
 | 
			
		||||
	padding:24rpx 34rpx;
 | 
			
		||||
	background:#fff;
 | 
			
		||||
	border-bottom:1rpx solid #eaeaea
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_file_li .fil_li {
 | 
			
		||||
	display:flex;
 | 
			
		||||
	justify-content:space-between;
 | 
			
		||||
	align-items:center;
 | 
			
		||||
	margin-bottom:14rpx
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_file_li .fil_li .fileimg {
 | 
			
		||||
	width:20rpx;
 | 
			
		||||
	height:20rpx
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_file_li .fil_li .filename {
 | 
			
		||||
	width:450rpx;
 | 
			
		||||
	font-size:24rpx;
 | 
			
		||||
	color:#999;
 | 
			
		||||
	white-space:nowrap;
 | 
			
		||||
	overflow:hidden;
 | 
			
		||||
	text-overflow:ellipsis
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_file_li .fil_li .closeimg {
 | 
			
		||||
	width:32rpx;
 | 
			
		||||
	height:32rpx
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .imglist {
 | 
			
		||||
	padding:24rpx 34rpx;
 | 
			
		||||
	background:#fff;
 | 
			
		||||
	border-bottom:1rpx solid #eaeaea;
 | 
			
		||||
	display:flex;
 | 
			
		||||
	justify-content:flex-start;
 | 
			
		||||
	align-items:center;
 | 
			
		||||
	flex-wrap:wrap
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .imglist .imgbox {
 | 
			
		||||
	width:160rpx;
 | 
			
		||||
	height:160rpx;
 | 
			
		||||
	margin-right:14rpx;
 | 
			
		||||
	position:relative;
 | 
			
		||||
	margin-bottom:24rpx;
 | 
			
		||||
	border:1rpx solid #eaeaea
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .imglist .imgbox .delimg {
 | 
			
		||||
	width:32rpx;
 | 
			
		||||
	height:32rpx;
 | 
			
		||||
	border-radius:50%;
 | 
			
		||||
	position:absolute;
 | 
			
		||||
	right:-16rpx;
 | 
			
		||||
	top:-16rpx;
 | 
			
		||||
	background:rgba(0,0,0,.5);
 | 
			
		||||
	z-index:2
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .imglist .imgbox .selfimg {
 | 
			
		||||
	width:160rpx;
 | 
			
		||||
	height:160rpx
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_area {
 | 
			
		||||
	background-color:#fff;
 | 
			
		||||
	margin-bottom:30rpx;
 | 
			
		||||
	padding-bottom:30rpx;
 | 
			
		||||
	color:#999
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_area .area_head {
 | 
			
		||||
	height:100rpx;
 | 
			
		||||
	line-height:100rpx;
 | 
			
		||||
	font-size:32rpx;
 | 
			
		||||
	padding:0 30rpx
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_area .area_head text {
 | 
			
		||||
	color:red
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .fllow_area textarea {
 | 
			
		||||
	width:80%;
 | 
			
		||||
	height:300rpx;
 | 
			
		||||
	padding:30rpx;
 | 
			
		||||
	background:#f8f8f8;
 | 
			
		||||
	border-radius:15rpx;
 | 
			
		||||
	margin:0 auto
 | 
			
		||||
}
 | 
			
		||||
.new_fllow .follow_task {
 | 
			
		||||
	height:80rpx;
 | 
			
		||||
	line-height:80rpx
 | 
			
		||||
}
 | 
			
		||||
.imglist {
 | 
			
		||||
	padding:24rpx 34rpx;
 | 
			
		||||
	background:#fff;
 | 
			
		||||
	border-bottom:1rpx solid #eaeaea;
 | 
			
		||||
	display:flex;
 | 
			
		||||
	justify-content:flex-start;
 | 
			
		||||
	align-items:center;
 | 
			
		||||
	flex-wrap:wrap
 | 
			
		||||
}
 | 
			
		||||
.imglist .imgbox {
 | 
			
		||||
	width:160rpx;
 | 
			
		||||
	height:160rpx;
 | 
			
		||||
	margin-right:14rpx;
 | 
			
		||||
	position:relative;
 | 
			
		||||
	margin-bottom:24rpx;
 | 
			
		||||
	border:1rpx solid #eaeaea
 | 
			
		||||
}
 | 
			
		||||
.imglist .imgbox .delimg {
 | 
			
		||||
	width:32rpx;
 | 
			
		||||
	height:32rpx;
 | 
			
		||||
	border-radius:50%;
 | 
			
		||||
	position:absolute;
 | 
			
		||||
	right:-16rpx;
 | 
			
		||||
	top:-16rpx;
 | 
			
		||||
	background:rgba(0,0,0,.5);
 | 
			
		||||
	z-index:2
 | 
			
		||||
}
 | 
			
		||||
.imglist .imgbox .selfimg {
 | 
			
		||||
	width:160rpx;
 | 
			
		||||
	height:160rpx
 | 
			
		||||
}
 | 
			
		||||
#btn {
 | 
			
		||||
	width:500rpx;
 | 
			
		||||
	height:88rpx;
 | 
			
		||||
	background:#03aa96;
 | 
			
		||||
	border-radius:29rpx;
 | 
			
		||||
	font-size:34rpx;
 | 
			
		||||
	color:#fff;
 | 
			
		||||
	line-height:88rpx
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1 +1,152 @@
 | 
			
		|||
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/index/groupCompany/cost/costDetail"],{2311:function(t,n,e){},"40aa":function(t,n,e){"use strict";var i=e("2311"),a=e.n(i);a.a},7894:function(t,n,e){"use strict";(function(t){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=e("0c59"),a=e("76dd"),o=e("dc92"),u={components:{approvalStatus:function(){e.e("components/approvalStatus").then(function(){return resolve(e("b975"))}.bind(null,e)).catch(e.oe)}},data:function(){return{id:"",customer_id:"",consume_time:"",consume_type:"",money:"",remark:"",file_ids:"",BASE_IMG_URL:i.BASE_IMG_URL,info:{},payment_approval:{}}},onLoad:function(t){this.id=t.id},onShow:function(){this.getDetail(),this.getApprovalList()},onUnload:function(){t.removeStorageSync("remindlist")},methods:{getApprovalList:function(){var t=this,n={type:"consume",relation_id:this.id};(0,o.netApprovalDetail)(n).then((function(n){t.payment_approval=n.data}))},getDetail:function(){var t=this;(0,a.netCostDetail)({id:this.id}).then((function(n){t.info=n.data}))},previewImg:function(n,e){t.previewImage({urls:n,current:e,fail:function(t){console.log(t)}})},toPass:function(){t.navigateTo({url:"/pages/examine/examine?id="+this.id+"&type=consume&status=1"})},toRefuse:function(){t.navigateTo({url:"/pages/examine/examine?id="+this.id+"&type=consume&status=2"})},toEdit:function(){t.navigateTo({url:"/pages/index/groupCompany/cost/editCost?id="+this.id})}}};n.default=u}).call(this,e("543d")["default"])},"919a":function(t,n,e){"use strict";(function(t,n){var i=e("4ea4");e("8886");i(e("66fd"));var a=i(e("d7f1"));t.__webpack_require_UNI_MP_PLUGIN__=e,n(a.default)}).call(this,e("bc2e")["default"],e("543d")["createPage"])},c8a8:function(t,n,e){"use strict";e.r(n);var i=e("7894"),a=e.n(i);for(var o in i)["default"].indexOf(o)<0&&function(t){e.d(n,t,(function(){return i[t]}))}(o);n["default"]=a.a},d7f1:function(t,n,e){"use strict";e.r(n);var i=e("ee61"),a=e("c8a8");for(var o in a)["default"].indexOf(o)<0&&function(t){e.d(n,t,(function(){return a[t]}))}(o);e("40aa");var u=e("f0c5"),c=Object(u["a"])(a["default"],i["b"],i["c"],!1,null,null,null,!1,i["a"],void 0);n["default"]=c.exports},ee61:function(t,n,e){"use strict";e.d(n,"b",(function(){return i})),e.d(n,"c",(function(){return a})),e.d(n,"a",(function(){}));var i=function(){var t=this.$createElement;this._self._c},a=[]}},[["919a","common/runtime","common/vendor"]]]);
 | 
			
		||||
(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
 | 
			
		||||
  ["pages/index/groupCompany/cost/costDetail"], {
 | 
			
		||||
      2311: function(t, n, e) {},
 | 
			
		||||
      "40aa": function(t, n, e) {
 | 
			
		||||
          "use strict";
 | 
			
		||||
          var i = e("2311"),
 | 
			
		||||
              a = e.n(i);
 | 
			
		||||
          a.a
 | 
			
		||||
      },
 | 
			
		||||
      7894: function(t, n, e) {
 | 
			
		||||
          "use strict";
 | 
			
		||||
          (function(t) {
 | 
			
		||||
              Object.defineProperty(n, "__esModule", {
 | 
			
		||||
                  value: !0
 | 
			
		||||
              }), n.default = void 0;
 | 
			
		||||
              var i = e("0c59"),
 | 
			
		||||
                  a = e("76dd"),
 | 
			
		||||
                  o = e("dc92"),
 | 
			
		||||
                  u = {
 | 
			
		||||
                      components: {
 | 
			
		||||
                          approvalStatus: function() {
 | 
			
		||||
                              e.e("components/approvalStatus").then(function() {
 | 
			
		||||
                                  return resolve(e("b975"))
 | 
			
		||||
                              }.bind(null, e)).catch(e.oe)
 | 
			
		||||
                          }
 | 
			
		||||
                      },
 | 
			
		||||
                      data: function() {
 | 
			
		||||
                          return {
 | 
			
		||||
                              id: "",
 | 
			
		||||
                              customer_id: "",
 | 
			
		||||
                              consume_time: "",
 | 
			
		||||
                              consume_type: "",
 | 
			
		||||
                              money: "",
 | 
			
		||||
                              remark: "",
 | 
			
		||||
                              file_ids: "",
 | 
			
		||||
                              BASE_IMG_URL: i.BASE_IMG_URL,
 | 
			
		||||
                              info: {},
 | 
			
		||||
                              payment_approval: {}
 | 
			
		||||
                          }
 | 
			
		||||
                      },
 | 
			
		||||
                      onLoad: function(t) {
 | 
			
		||||
                          this.id = t.id
 | 
			
		||||
                      },
 | 
			
		||||
                      onShow: function() {
 | 
			
		||||
                          this.getDetail(), this.getApprovalList()
 | 
			
		||||
                      },
 | 
			
		||||
                      onUnload: function() {
 | 
			
		||||
                          t.removeStorageSync("remindlist")
 | 
			
		||||
                      },
 | 
			
		||||
                      methods: {
 | 
			
		||||
                          getApprovalList: function() {
 | 
			
		||||
                              var t = this,
 | 
			
		||||
                                  n = {
 | 
			
		||||
                                      type: "consume",
 | 
			
		||||
                                      relation_id: this.id
 | 
			
		||||
                                  };
 | 
			
		||||
                              (0, o.netApprovalDetail)(n).then((function(n) {
 | 
			
		||||
                                  t.payment_approval = n.data
 | 
			
		||||
                              }))
 | 
			
		||||
                          },
 | 
			
		||||
                          getDetail: function() {
 | 
			
		||||
                              var t = this;
 | 
			
		||||
                              (0, a.netCostDetail)({
 | 
			
		||||
                                  id: this.id
 | 
			
		||||
                              }).then((function(n) {
 | 
			
		||||
                                  t.info = n.data
 | 
			
		||||
                              }))
 | 
			
		||||
                          },
 | 
			
		||||
                          previewImg: function(n, e) {
 | 
			
		||||
                              t.previewImage({
 | 
			
		||||
                                  urls: n,
 | 
			
		||||
                                  current: e,
 | 
			
		||||
                                  fail: function(t) {
 | 
			
		||||
                                      console.log(t)
 | 
			
		||||
                                  }
 | 
			
		||||
                              })
 | 
			
		||||
                          },
 | 
			
		||||
                          toPass: function() {
 | 
			
		||||
                              t.navigateTo({
 | 
			
		||||
                                  url: "/pages/examine/examine?id=" + this.id + "&type=consume&status=1"
 | 
			
		||||
                              })
 | 
			
		||||
                          },
 | 
			
		||||
                          toRefuse: function() {
 | 
			
		||||
                              t.navigateTo({
 | 
			
		||||
                                  url: "/pages/examine/examine?id=" + this.id + "&type=consume&status=2"
 | 
			
		||||
                              })
 | 
			
		||||
                          },
 | 
			
		||||
                          toEdit: function() {
 | 
			
		||||
                              t.navigateTo({
 | 
			
		||||
                                  url: "/pages/index/groupCompany/cost/editCost?id=" + this.id
 | 
			
		||||
                              })
 | 
			
		||||
                          }
 | 
			
		||||
                      }
 | 
			
		||||
                  };
 | 
			
		||||
              n.default = u
 | 
			
		||||
          }).call(this, e("543d")["default"])
 | 
			
		||||
      },
 | 
			
		||||
      "919a": function(t, n, e) {
 | 
			
		||||
          "use strict";
 | 
			
		||||
          (function(t, n) {
 | 
			
		||||
              var i = e("4ea4");
 | 
			
		||||
              e("8886");
 | 
			
		||||
              i(e("66fd"));
 | 
			
		||||
              var a = i(e("d7f1"));
 | 
			
		||||
              t.__webpack_require_UNI_MP_PLUGIN__ = e, n(a.default)
 | 
			
		||||
          }).call(this, e("bc2e")["default"], e("543d")["createPage"])
 | 
			
		||||
      },
 | 
			
		||||
      c8a8: function(t, n, e) {
 | 
			
		||||
          "use strict";
 | 
			
		||||
          e.r(n);
 | 
			
		||||
          var i = e("7894"),
 | 
			
		||||
              a = e.n(i);
 | 
			
		||||
          for (var o in i)["default"].indexOf(o) < 0 && function(t) {
 | 
			
		||||
              e.d(n, t, (function() {
 | 
			
		||||
                  return i[t]
 | 
			
		||||
              }))
 | 
			
		||||
          }(o);
 | 
			
		||||
          n["default"] = a.a
 | 
			
		||||
      },
 | 
			
		||||
      d7f1: function(t, n, e) {
 | 
			
		||||
          "use strict";
 | 
			
		||||
          e.r(n);
 | 
			
		||||
          var i = e("ee61"),
 | 
			
		||||
              a = e("c8a8");
 | 
			
		||||
          for (var o in a)["default"].indexOf(o) < 0 && function(t) {
 | 
			
		||||
              e.d(n, t, (function() {
 | 
			
		||||
                  return a[t]
 | 
			
		||||
              }))
 | 
			
		||||
          }(o);
 | 
			
		||||
          e("40aa");
 | 
			
		||||
          var u = e("f0c5"),
 | 
			
		||||
              c = Object(u["a"])(a["default"], i["b"], i["c"], !1, null, null, null, !1, i["a"], void 0);
 | 
			
		||||
          n["default"] = c.exports
 | 
			
		||||
      },
 | 
			
		||||
      ee61: function(t, n, e) {
 | 
			
		||||
          "use strict";
 | 
			
		||||
          e.d(n, "b", (function() {
 | 
			
		||||
              return i
 | 
			
		||||
          })), e.d(n, "c", (function() {
 | 
			
		||||
              return a
 | 
			
		||||
          })), e.d(n, "a", (function() {}));
 | 
			
		||||
          var i = function() {
 | 
			
		||||
                  var t = this.$createElement;
 | 
			
		||||
                  this._self._c
 | 
			
		||||
              },
 | 
			
		||||
              a = []
 | 
			
		||||
      }
 | 
			
		||||
  },
 | 
			
		||||
  [
 | 
			
		||||
      ["919a", "common/runtime", "common/vendor"]
 | 
			
		||||
  ]
 | 
			
		||||
]);
 | 
			
		||||
| 
						 | 
				
			
			@ -1 +1,75 @@
 | 
			
		|||
<view class="new_fllow"><view class="fllow_form"><view>提交人</view><view class="form_input"><view>{{''+(info.staff&&info.staff.name)+''}}</view></view></view><view class="fllow_form"><view>提交时间</view><view class="form_input"><view>{{''+info.createtime+''}}</view></view></view><view class="fllow_form"><view>关联客户</view><view class="form_input">{{''+(info.customer&&info.customer.name)+''}}</view></view><view class="fllow_form"><view><text>*</text>消费日期</view><picker mode="date" disabled="{{true}}" data-event-opts="{{[['change',[['changeTime',['$event']]]]]}}" bindchange="__e"><view class="form_right"><view>{{info.consume_time}}</view><view class="iconfont icon-arrows_right"></view></view></picker></view><view class="fllow_form"><view><text>*</text>消费方式</view><view class="form_right"><view>{{info.consume_type}}</view><view class="iconfont icon-arrows_right"></view></view></view><view class="fllow_form"><view><text>*</text>消费金额</view><view class="form_input"><input type="text" disabled="{{true}}" placeholder-style="font-size:30rpx;color: #999;" placeholder="消费金额" data-event-opts="{{[['input',[['__set_model',['$0','money','$event',[]],['info']]]]]}}" value="{{info.money}}" bindinput="__e"/></view></view><view class="fllow_area"><view class="area_head">备注</view><textarea disabled="{{true}}" placeholder="请输入备注" placeholder-style="color:#999" data-event-opts="{{[['input',[['__set_model',['$0','remark','$event',[]],['info']]]]]}}" value="{{info.remark}}" bindinput="__e"></textarea></view><view class="fllow_form"><view>附件</view></view><block wx:if="{{info.files!=0}}"><view class="imglist"><block wx:for="{{info.file_text}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="imgbox"><image class="selfimg" src="{{item}}" mode="scaleToFill" data-event-opts="{{[['tap',[['previewImg',['$0',index],['info.file_text']]]]]}}" bindtap="__e"></image></view></block></view></block><approval-status vue-id="3476c33e-1" process="{{payment_approval}}" bind:__l="__l"></approval-status><view style="height:100rpx;"></view><block wx:if="{{payment_approval.is_check==1}}"><view class="botbtn"><view data-event-opts="{{[['tap',[['toPass',['$event']]]]]}}" class="btn pass" bindtap="__e">通过</view><view data-event-opts="{{[['tap',[['toRefuse',['$event']]]]]}}" class="btn refuse" bindtap="__e">拒绝</view></view></block><block wx:if="{{info.check_status==3}}"><view class="editbox"><view data-event-opts="{{[['tap',[['toEdit',['$event']]]]]}}" class="editbtn" bindtap="__e">修改费用</view></view></block></view>
 | 
			
		||||
<view class="new_fllow">
 | 
			
		||||
    <view class="fllow_form">
 | 
			
		||||
        <view>提交人</view>
 | 
			
		||||
        <view class="form_input">
 | 
			
		||||
            <view>{{''+(info.staff&&info.staff.name)+''}}</view>
 | 
			
		||||
        </view>
 | 
			
		||||
    </view>
 | 
			
		||||
    <view class="fllow_form">
 | 
			
		||||
        <view>提交时间</view>
 | 
			
		||||
        <view class="form_input">
 | 
			
		||||
            <view>{{''+info.createtime+''}}</view>
 | 
			
		||||
        </view>
 | 
			
		||||
    </view>
 | 
			
		||||
    <!-- <view class="fllow_form">
 | 
			
		||||
        <view>关联客户</view>
 | 
			
		||||
        <view class="form_input">{{''+(info.customer&&info.customer.name)+''}}</view>
 | 
			
		||||
    </view> -->
 | 
			
		||||
    <view class="fllow_form">
 | 
			
		||||
        <view>关联合同</view>
 | 
			
		||||
        <view class="form_input">{{info.contract.name}}</view>
 | 
			
		||||
    </view>
 | 
			
		||||
 | 
			
		||||
    <view class="fllow_form">
 | 
			
		||||
        <view>报销主题</view>
 | 
			
		||||
        <view class="form_input">{{info.theme}}</view>
 | 
			
		||||
    </view>
 | 
			
		||||
    <!-- <view class="fllow_form">
 | 
			
		||||
        <view><text>*</text>消费日期</view>
 | 
			
		||||
        <picker mode="date" disabled="{{true}}" data-event-opts="{{[['change',[['changeTime',['$event']]]]]}}" bindchange="__e">
 | 
			
		||||
            <view class="form_right">
 | 
			
		||||
                <view>{{info.consume_time}}</view>
 | 
			
		||||
                <view class="iconfont icon-arrows_right"></view>
 | 
			
		||||
            </view>
 | 
			
		||||
        </picker>
 | 
			
		||||
    </view>
 | 
			
		||||
    <view class="fllow_form">
 | 
			
		||||
        <view><text>*</text>消费方式</view>
 | 
			
		||||
        <view class="form_right">
 | 
			
		||||
            <view>{{info.consume_type}}</view>
 | 
			
		||||
            <view class="iconfont icon-arrows_right"></view>
 | 
			
		||||
        </view>
 | 
			
		||||
    </view> -->
 | 
			
		||||
    <view class="fllow_form">
 | 
			
		||||
        <view><text>*</text>消费金额</view>
 | 
			
		||||
        <view class="form_input"><input type="text" disabled="{{true}}" placeholder-style="font-size:30rpx;color: #999;" placeholder="消费金额" data-event-opts="{{[['input',[['__set_model',['$0','money','$event',[]],['info']]]]]}}" value="{{info.money}}" bindinput="__e" /></view>
 | 
			
		||||
    </view>
 | 
			
		||||
    <view class="fllow_area">
 | 
			
		||||
        <view class="area_head">备注</view><textarea disabled="{{true}}" placeholder="请输入备注" placeholder-style="color:#999" data-event-opts="{{[['input',[['__set_model',['$0','remark','$event',[]],['info']]]]]}}" value="{{info.remark}}" bindinput="__e"></textarea></view>
 | 
			
		||||
    <view
 | 
			
		||||
        class="fllow_form">
 | 
			
		||||
        <view>附件</view>
 | 
			
		||||
</view>
 | 
			
		||||
<block wx:if="{{info.files!=0}}">
 | 
			
		||||
    <view class="imglist">
 | 
			
		||||
        <block wx:for="{{info.file_text}}" wx:for-item="item" wx:for-index="index" wx:key="index">
 | 
			
		||||
            <view class="imgbox">
 | 
			
		||||
                <image class="selfimg" src="{{item}}" mode="scaleToFill" data-event-opts="{{[['tap',[['previewImg',['$0',index],['info.file_text']]]]]}}" bindtap="__e"></image>
 | 
			
		||||
            </view>
 | 
			
		||||
        </block>
 | 
			
		||||
    </view>
 | 
			
		||||
</block>
 | 
			
		||||
<approval-status vue-id="3476c33e-1" process="{{payment_approval}}" bind:__l="__l"></approval-status>
 | 
			
		||||
<view style="height:100rpx;"></view>
 | 
			
		||||
<block wx:if="{{payment_approval.is_check==1}}">
 | 
			
		||||
    <view class="botbtn">
 | 
			
		||||
        <view data-event-opts="{{[['tap',[['toPass',['$event']]]]]}}" class="btn pass" bindtap="__e">通过</view>
 | 
			
		||||
        <view data-event-opts="{{[['tap',[['toRefuse',['$event']]]]]}}" class="btn refuse" bindtap="__e">拒绝</view>
 | 
			
		||||
    </view>
 | 
			
		||||
</block>
 | 
			
		||||
<block wx:if="{{info.check_status==3}}">
 | 
			
		||||
    <view class="editbox">
 | 
			
		||||
        <view data-event-opts="{{[['tap',[['toEdit',['$event']]]]]}}" class="editbtn" bindtap="__e">修改费用</view>
 | 
			
		||||
    </view>
 | 
			
		||||
</block>
 | 
			
		||||
</view>
 | 
			
		||||
| 
						 | 
				
			
			@ -10,23 +10,8 @@ Page({
 | 
			
		|||
      BASE_IMG_URL: app.globalData.BASE_IMG_URL,
 | 
			
		||||
      BASE_URL:app.globalData.BASE_URL,
 | 
			
		||||
      page: 1,
 | 
			
		||||
      totalPage: 1,
 | 
			
		||||
      list: [
 | 
			
		||||
        {
 | 
			
		||||
          check_staff_ids: "126",
 | 
			
		||||
          check_status: 2,
 | 
			
		||||
          consume_time: "2023-02-27",
 | 
			
		||||
          consume_type: "住酒店",
 | 
			
		||||
          createtime: "2023-02-27 10:25:09"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          check_staff_ids: "122",
 | 
			
		||||
          check_status: 2,
 | 
			
		||||
          consume_time: "2023-02-21",
 | 
			
		||||
          consume_type: "住酒店",
 | 
			
		||||
          createtime: "2023-02-27 10:25:09"
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      total: '',
 | 
			
		||||
      list: [],
 | 
			
		||||
      queryParams: {},
 | 
			
		||||
      moneyInfo: {}
 | 
			
		||||
  },
 | 
			
		||||
| 
						 | 
				
			
			@ -35,7 +20,6 @@ Page({
 | 
			
		|||
   * 生命周期函数--监听页面加载
 | 
			
		||||
   */
 | 
			
		||||
  onLoad(options) {
 | 
			
		||||
    this.getBillList();
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
| 
						 | 
				
			
			@ -48,8 +32,10 @@ Page({
 | 
			
		|||
  /**
 | 
			
		||||
   * 生命周期函数--监听页面显示
 | 
			
		||||
   */
 | 
			
		||||
  
 | 
			
		||||
  onShow() {
 | 
			
		||||
 | 
			
		||||
    this.data.page = 1;
 | 
			
		||||
    this.getBillList();
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
| 
						 | 
				
			
			@ -77,29 +63,89 @@ Page({
 | 
			
		|||
   * 页面上拉触底事件的处理函数
 | 
			
		||||
   */
 | 
			
		||||
  onReachBottom() {
 | 
			
		||||
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 用户点击右上角分享
 | 
			
		||||
   */
 | 
			
		||||
  onShareAppMessage() {
 | 
			
		||||
 | 
			
		||||
    let that = this;
 | 
			
		||||
    let page = that.data.page;
 | 
			
		||||
    that.setData({
 | 
			
		||||
      page: page + 1
 | 
			
		||||
    });
 | 
			
		||||
    console.log(that.data.page)
 | 
			
		||||
    that.getBillList();
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  getBillList() {
 | 
			
		||||
    console.log(this.data.BASE_URL)
 | 
			
		||||
    let that = this;
 | 
			
		||||
    wx.request({
 | 
			
		||||
      url: this.data.BASE_URL + '/addons/crmx/bill/getContractList',
 | 
			
		||||
      url: this.data.BASE_URL + '/addons/crmx/bill/getBillList',
 | 
			
		||||
      data: {
 | 
			
		||||
        page: this.data.page
 | 
			
		||||
        page: that.data.page
 | 
			
		||||
      },
 | 
			
		||||
      header: {
 | 
			
		||||
        'content-type': 'application/json', // 默认值
 | 
			
		||||
        'token': wx.getStorageSync('token'),
 | 
			
		||||
      },
 | 
			
		||||
      success (res) {
 | 
			
		||||
        console.log(res.data)
 | 
			
		||||
       if(res.data.code == 1) {
 | 
			
		||||
          console.log(res.data)
 | 
			
		||||
          let total = res.data.data.total;
 | 
			
		||||
          if(that.data.page == 1) {
 | 
			
		||||
            that.setData({
 | 
			
		||||
              list:[]
 | 
			
		||||
            })
 | 
			
		||||
          }
 | 
			
		||||
          if(res.data.data.list && total > that.data.list.length) {
 | 
			
		||||
            let list = that.data.list;
 | 
			
		||||
            list = list.concat(res.data.data.list);
 | 
			
		||||
            that.setData({
 | 
			
		||||
              list:list
 | 
			
		||||
            })
 | 
			
		||||
          }
 | 
			
		||||
       }
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  addBills() {
 | 
			
		||||
    wx.navigateTo({
 | 
			
		||||
      url: '/pages/index/groupCompany/bills/addBills',
 | 
			
		||||
    })
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
    // 修改
 | 
			
		||||
  revise(e) {
 | 
			
		||||
    console.log(e);
 | 
			
		||||
    let id = e.currentTarget.dataset.id;
 | 
			
		||||
    wx.navigateTo({
 | 
			
		||||
      url: '/pages/index/groupCompany/bills/addBills?id=' + id,
 | 
			
		||||
    })
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  //删除
 | 
			
		||||
  delete(e) {
 | 
			
		||||
    let that = this;
 | 
			
		||||
    let id = e.currentTarget.dataset.id;
 | 
			
		||||
    wx.request({
 | 
			
		||||
      url: this.data.BASE_URL + '/addons/crmx/bill/delBill',
 | 
			
		||||
      data: {
 | 
			
		||||
        id: id
 | 
			
		||||
      },
 | 
			
		||||
      header: {
 | 
			
		||||
        'content-type': 'application/json', // 默认值
 | 
			
		||||
        'token': wx.getStorageSync('token'),
 | 
			
		||||
      },
 | 
			
		||||
      success (res) {
 | 
			
		||||
        console.log(res.data,'删除成功')
 | 
			
		||||
        wx.showToast({
 | 
			
		||||
          title:"删除成功",
 | 
			
		||||
          icon: 'success',//图标,支持"success"、"loading" 
 | 
			
		||||
          duration: 1200,//提示的延迟时间,单位毫秒,默认:1500 
 | 
			
		||||
          mask: false,//是否显示透明蒙层,防止触摸穿透,默认:false             
 | 
			
		||||
        })
 | 
			
		||||
        setTimeout(function(){
 | 
			
		||||
          that.setData({
 | 
			
		||||
            page:1
 | 
			
		||||
          })
 | 
			
		||||
          that.getBillList();
 | 
			
		||||
        },1400)
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,21 +1,27 @@
 | 
			
		|||
<view class="data-v-5cad64ad">
 | 
			
		||||
    <scroll-view class="scrollbox data-v-5cad64ad" scroll-y="{{true}}" data-event-opts="{{[['scrolltolower',[['loodMore',['$event']]]]]}}" bindscrolltolower="__e">
 | 
			
		||||
<view class="data-v-5cad64ad" >
 | 
			
		||||
    <view class="scrollbox data-v-5cad64ad">
 | 
			
		||||
        <view class="payList data-v-5cad64ad">
 | 
			
		||||
          <block wx:for="{{list}}" wx:for-item="item" wx:for-index="index" wx:key="index">
 | 
			
		||||
              <view data-event-opts="{{[['tap',[['toDetail',['$0'],[[['list','',index]]]]]]]}}" class="cost data-v-2a5dec54" bindtap="__e">
 | 
			
		||||
              <view class="cost data-v-2a5dec54">
 | 
			
		||||
                  <view class="cost_info data-v-2a5dec54">
 | 
			
		||||
                      <view class="cost_left data-v-2a5dec54">
 | 
			
		||||
                          <view class="cost_text data-v-2a5dec54">{{"关联公司:"+item.customer.name}}</view>
 | 
			
		||||
                          <view class="cost_text data-v-2a5dec54">{{"关联合同:"+item.contract.name}}</view>
 | 
			
		||||
                          <view class="cost_text data-v-2a5dec54">{{"关联公司:"+item.corporation.name}}</view>
 | 
			
		||||
                          <view class="cost_text data-v-2a5dec54">{{"发票金额:"+item.money}}</view>
 | 
			
		||||
                          <view class="cost_text data-v-2a5dec54">{{"消费日期:"+item.consume_time}}</view>
 | 
			
		||||
                          <view class="cost_text data-v-2a5dec54">{{"消费日期:"+item.createtime}}</view>
 | 
			
		||||
                      </view>
 | 
			
		||||
                  </view>
 | 
			
		||||
 | 
			
		||||
                  <view class="list-btns">
 | 
			
		||||
                    <view bindtap="revise" data-id="{{item.id}}">修改</view>
 | 
			
		||||
                    <view bindtap="delete" data-id="{{item.id}}">删除</view>
 | 
			
		||||
                  </view>
 | 
			
		||||
              </view>
 | 
			
		||||
          </block>
 | 
			
		||||
        </view>
 | 
			
		||||
    </scroll-view>
 | 
			
		||||
    </view>
 | 
			
		||||
   
 | 
			
		||||
    <view data-event-opts="{{[['tap',[['addCost',['$event']]]]]}}" class="icon_creat data-v-5cad64ad" bindtap="__e">
 | 
			
		||||
    <view  class="icon_creat data-v-5cad64ad" bindtap="addBills">
 | 
			
		||||
        <image src="{{BASE_IMG_URL+'1.png'}}" mode="scaleToFill" class="data-v-5cad64ad"></image>
 | 
			
		||||
    </view>
 | 
			
		||||
    <screen-pop bind:sureParams="__e" vue-id="0e7795c2-3" data-ref="screenChild" data-event-opts="{{[['^sureParams',[['surePa']]]]}}" class="data-v-5cad64ad vue-ref" bind:__l="__l"></screen-pop>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -79,8 +79,77 @@
 | 
			
		|||
	color:#03aa96
 | 
			
		||||
}
 | 
			
		||||
.scrollbox.data-v-5cad64ad {
 | 
			
		||||
	width:750rpx;
 | 
			
		||||
	height:calc(100vh - 180rpx)
 | 
			
		||||
  width:750rpx;
 | 
			
		||||
  padding-bottom: 60rpx;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.cost.data-v-2a5dec54{width:690rpx;margin:0 auto 24rpx;background:#fff;border-radius:20rpx;padding:30rpx;position:relative}.cost .cost_type.data-v-2a5dec54{font-size:28rpx;color:#333;padding-bottom:15rpx;border-bottom:1rpx solid #f5f5f5}.cost .cost_status.data-v-2a5dec54{position:absolute;right:24rpx;top:24rpx;background:rgba(3,170,150,.1);border-radius:5rpx;font-size:26rpx;color:#03aa96;padding:5rpx 12rpx}.cost .cost_info.data-v-2a5dec54{display:flex;justify-content:space-between;align-items:center;padding:10rpx}.cost .cost_info .cost_left .cost_text.data-v-2a5dec54{font-size:24rpx;color:#999;margin-bottom:10rpx}.cost .cost_info .cost_right.data-v-2a5dec54{display:flex;flex-direction:column;align-items:center}.cost .cost_info .cost_right .staffimg.data-v-2a5dec54{width:80rpx;height:80rpx;border-radius:50%;margin-bottom:8rpx}.cost .cost_info .cost_right .staffname.data-v-2a5dec54{font-size:24rpx;color:#999}
 | 
			
		||||
.cost.data-v-2a5dec54 {
 | 
			
		||||
	width:690rpx;
 | 
			
		||||
	margin:0 auto 24rpx;
 | 
			
		||||
	background:#fff;
 | 
			
		||||
	border-radius:20rpx;
 | 
			
		||||
	padding:30rpx;
 | 
			
		||||
	position:relative
 | 
			
		||||
}
 | 
			
		||||
.cost .cost_type.data-v-2a5dec54 {
 | 
			
		||||
	font-size:28rpx;
 | 
			
		||||
	color:#333;
 | 
			
		||||
	padding-bottom:15rpx;
 | 
			
		||||
	border-bottom:1rpx solid #f5f5f5
 | 
			
		||||
}
 | 
			
		||||
.cost .cost_status.data-v-2a5dec54 {
 | 
			
		||||
	position:absolute;
 | 
			
		||||
	right:24rpx;
 | 
			
		||||
	top:24rpx;
 | 
			
		||||
	background:rgba(3,170,150,.1);
 | 
			
		||||
	border-radius:5rpx;
 | 
			
		||||
	font-size:26rpx;
 | 
			
		||||
	color:#03aa96;
 | 
			
		||||
	padding:5rpx 12rpx
 | 
			
		||||
}
 | 
			
		||||
.cost .cost_info.data-v-2a5dec54 {
 | 
			
		||||
	display:flex;
 | 
			
		||||
	justify-content:space-between;
 | 
			
		||||
	align-items:center;
 | 
			
		||||
	padding:10rpx
 | 
			
		||||
}
 | 
			
		||||
.cost .cost_info .cost_left .cost_text.data-v-2a5dec54 {
 | 
			
		||||
	font-size:28rpx;
 | 
			
		||||
	color:#666;
 | 
			
		||||
	margin-bottom:14rpx
 | 
			
		||||
}
 | 
			
		||||
.cost .cost_info .cost_right.data-v-2a5dec54 {
 | 
			
		||||
	display:flex;
 | 
			
		||||
	flex-direction:column;
 | 
			
		||||
	align-items:center
 | 
			
		||||
}
 | 
			
		||||
.cost .cost_info .cost_right .staffimg.data-v-2a5dec54 {
 | 
			
		||||
	width:80rpx;
 | 
			
		||||
	height:80rpx;
 | 
			
		||||
	border-radius:50%;
 | 
			
		||||
	margin-bottom:8rpx
 | 
			
		||||
}
 | 
			
		||||
.cost .cost_info .cost_right .staffname.data-v-2a5dec54 {
 | 
			
		||||
	font-size:24rpx;
 | 
			
		||||
	color:#999
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.list-btns {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  align-items: center;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.list-btns view:nth-child(2) {
 | 
			
		||||
  background-color: #f5601f;
 | 
			
		||||
}
 | 
			
		||||
.list-btns view {
 | 
			
		||||
  width: 150rpx;
 | 
			
		||||
  margin-right: 20rpx;
 | 
			
		||||
  height: 50rpx;
 | 
			
		||||
  border-radius: 50rpx;
 | 
			
		||||
  display: flex;
 | 
			
		||||
  color: #fff;
 | 
			
		||||
  align-items: center;
 | 
			
		||||
  justify-content: center;
 | 
			
		||||
  background-color: #1cc8bf;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -19,9 +19,11 @@
 | 
			
		|||
            <view class="cost_type data-v-2a5dec54">{{item.consume_type}}</view>
 | 
			
		||||
            <view class="cost_info data-v-2a5dec54">
 | 
			
		||||
                <view class="cost_left data-v-2a5dec54">
 | 
			
		||||
                    <view class="cost_text data-v-2a5dec54">{{"关联客户:"+item.customer.name}}</view>
 | 
			
		||||
                    <view class="cost_text data-v-2a5dec54">{{"关联合同:"+item.contract.name}}</view>
 | 
			
		||||
                    <view class="cost_text data-v-2a5dec54">{{"费用金额:"+item.money}}</view>
 | 
			
		||||
                    <view class="cost_text data-v-2a5dec54">{{"消费日期:"+item.consume_time}}</view>
 | 
			
		||||
                    <view class="cost_text data-v-2a5dec54">{{"报销主题:"+item.theme}}</view>
 | 
			
		||||
                    <view class="cost_text data-v-2a5dec54">{{"备注:"+item.remark}}</view>
 | 
			
		||||
                    <!-- <view class="cost_text data-v-2a5dec54">{{"消费日期:"+item.consume_time}}</view> -->
 | 
			
		||||
                </view>
 | 
			
		||||
                <view class="cost_right data-v-2a5dec54">
 | 
			
		||||
                    <image class="staffimg data-v-2a5dec54" src="{{item.staff.img}}" mode></image>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1 +1,63 @@
 | 
			
		|||
.cost.data-v-2a5dec54{width:690rpx;margin:0 auto 24rpx;background:#fff;border-radius:20rpx;padding:30rpx;position:relative}.cost .cost_type.data-v-2a5dec54{font-size:28rpx;color:#333;padding-bottom:15rpx;border-bottom:1rpx solid #f5f5f5}.cost .cost_status.data-v-2a5dec54{position:absolute;right:24rpx;top:24rpx;background:rgba(3,170,150,.1);border-radius:5rpx;font-size:26rpx;color:#03aa96;padding:5rpx 12rpx}.cost .cost_info.data-v-2a5dec54{display:flex;justify-content:space-between;align-items:center;padding:10rpx}.cost .cost_info .cost_left .cost_text.data-v-2a5dec54{font-size:24rpx;color:#999;margin-bottom:10rpx}.cost .cost_info .cost_right.data-v-2a5dec54{display:flex;flex-direction:column;align-items:center}.cost .cost_info .cost_right .staffimg.data-v-2a5dec54{width:80rpx;height:80rpx;border-radius:50%;margin-bottom:8rpx}.cost .cost_info .cost_right .staffname.data-v-2a5dec54{font-size:24rpx;color:#999}
 | 
			
		||||
.cost.data-v-2a5dec54 {
 | 
			
		||||
	width:690rpx;
 | 
			
		||||
	margin:0 auto 24rpx;
 | 
			
		||||
	background:#fff;
 | 
			
		||||
	border-radius:20rpx;
 | 
			
		||||
	padding:30rpx;
 | 
			
		||||
	position:relative
 | 
			
		||||
}
 | 
			
		||||
.cost .cost_type.data-v-2a5dec54 {
 | 
			
		||||
	font-size:28rpx;
 | 
			
		||||
	color:#333;
 | 
			
		||||
	padding-bottom:15rpx;
 | 
			
		||||
	border-bottom:1rpx solid #f5f5f5
 | 
			
		||||
}
 | 
			
		||||
.cost .cost_status.data-v-2a5dec54 {
 | 
			
		||||
	position:absolute;
 | 
			
		||||
	right:24rpx;
 | 
			
		||||
	top:24rpx;
 | 
			
		||||
	background:rgba(3,170,150,.1);
 | 
			
		||||
	border-radius:5rpx;
 | 
			
		||||
	font-size:26rpx;
 | 
			
		||||
	color:#03aa96;
 | 
			
		||||
	padding:5rpx 12rpx
 | 
			
		||||
}
 | 
			
		||||
.cost .cost_info.data-v-2a5dec54 {
 | 
			
		||||
	display:flex;
 | 
			
		||||
	justify-content:space-between;
 | 
			
		||||
	align-items:center;
 | 
			
		||||
  padding: 28rpx 10rpx 0 10rpx;
 | 
			
		||||
  text-align: center;
 | 
			
		||||
}
 | 
			
		||||
.cost .cost_info .cost_left {
 | 
			
		||||
  width: 75%;
 | 
			
		||||
}
 | 
			
		||||
.cost .cost_info .cost_left .cost_text.data-v-2a5dec54 {
 | 
			
		||||
	font-size:24rpx;
 | 
			
		||||
	color:#999;
 | 
			
		||||
  margin-bottom:10rpx;
 | 
			
		||||
  text-align: left;
 | 
			
		||||
}
 | 
			
		||||
.cost .cost_info .cost_right.data-v-2a5dec54 {
 | 
			
		||||
	display:flex;
 | 
			
		||||
	flex-direction:column;
 | 
			
		||||
  align-items:center;
 | 
			
		||||
  width: 19%;
 | 
			
		||||
  justify-content: center;
 | 
			
		||||
}
 | 
			
		||||
.cost .cost_info .cost_right .staffimg.data-v-2a5dec54 {
 | 
			
		||||
	width:80rpx;
 | 
			
		||||
	height:80rpx;
 | 
			
		||||
	border-radius:50%;
 | 
			
		||||
	margin-bottom:8rpx
 | 
			
		||||
}
 | 
			
		||||
.cost .cost_info .cost_right .staffname.data-v-2a5dec54 {
 | 
			
		||||
	font-size:24rpx;
 | 
			
		||||
  color:#999;
 | 
			
		||||
  word-break: break-all;
 | 
			
		||||
  overflow: hidden;
 | 
			
		||||
  text-overflow: ellipsis;
 | 
			
		||||
  display: -webkit-box;
 | 
			
		||||
  -webkit-line-clamp:2;
 | 
			
		||||
  -webkit-box-orient: vertical;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,8 @@
 | 
			
		|||
      "ignore": [],
 | 
			
		||||
      "disablePlugins": [],
 | 
			
		||||
      "outputPath": ""
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
    "enhance": true
 | 
			
		||||
  },
 | 
			
		||||
  "compileType": "miniprogram",
 | 
			
		||||
  "libVersion": "2.30.2",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,5 +23,6 @@
 | 
			
		|||
        }
 | 
			
		||||
      ]
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  },
 | 
			
		||||
  "libVersion": "2.30.0"
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue