添加发票、费用等功能
parent
fb5f442d8a
commit
4c6ede951d
2
app.js
2
app.js
|
@ -6,7 +6,7 @@ require('./common/main.js')
|
||||||
|
|
||||||
App({
|
App({
|
||||||
globalData: {
|
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",
|
BASE_URL:"http://crm.scdxtc.cn",
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
2
app.json
2
app.json
|
@ -20,6 +20,8 @@
|
||||||
"pages/index/groupCompany/contract/addContractPayment",
|
"pages/index/groupCompany/contract/addContractPayment",
|
||||||
"pages/index/groupCompany/cost/addCost",
|
"pages/index/groupCompany/cost/addCost",
|
||||||
"pages/index/groupCompany/cost/costDetail",
|
"pages/index/groupCompany/cost/costDetail",
|
||||||
|
"pages/index/groupCompany/bills/addBills",
|
||||||
|
"pages/index/groupCompany/bills/billsDetail",
|
||||||
"pages/index/groupCompany/cost/editCost",
|
"pages/index/groupCompany/cost/editCost",
|
||||||
"pages/index/groupCompany/contract/editPayment",
|
"pages/index/groupCompany/contract/editPayment",
|
||||||
"pages/index/groupCompany/contract/paymentDetail",
|
"pages/index/groupCompany/contract/paymentDetail",
|
||||||
|
|
|
@ -35,9 +35,9 @@
|
||||||
value: !0
|
value: !0
|
||||||
}), t.myRequest = t.BASE_URL = t.BASE_IMG_URL = void 0;
|
}), t.myRequest = t.BASE_URL = t.BASE_IMG_URL = void 0;
|
||||||
o(n("d47e"));
|
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_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) {
|
t.myRequest = function(t, n, o) {
|
||||||
var r = !(arguments.length > 3 && void 0 !== arguments[3]) || arguments[3],
|
var r = !(arguments.length > 3 && void 0 !== arguments[3]) || arguments[3],
|
||||||
i = "";
|
i = "";
|
||||||
|
@ -9097,6 +9097,8 @@
|
||||||
return (0, o.myRequest)("contract/addContract", e)
|
return (0, o.myRequest)("contract/addContract", e)
|
||||||
}, t.netCrmContractList = function(e) {
|
}, t.netCrmContractList = function(e) {
|
||||||
return (0, o.myRequest)("contract/getList", e)
|
return (0, o.myRequest)("contract/getList", e)
|
||||||
|
},t.checkHasAmountView = function(e) {
|
||||||
|
return (0, o.myRequest)("bill/checkHasAmountView", e)
|
||||||
}, t.netDelContact = function(e) {
|
}, t.netDelContact = function(e) {
|
||||||
return (0, o.myRequest)("contacts/delContacts", e)
|
return (0, o.myRequest)("contacts/delContacts", e)
|
||||||
}, t.netEditContactInfo = function(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>
|
<view class="protext">{{''+(info.receivables.ratio>=100?100:info.receivables.ratio)+'%'}}</view>
|
||||||
</block>
|
</block>
|
||||||
</view>
|
</view>
|
||||||
<view class="li_text">
|
<view class="li_text" wx:if="{{has_amount_view}}">
|
||||||
<block wx:if="{{info}}">
|
<block wx:if="{{info}}">
|
||||||
<view class="protext">{{'合同金额:¥'+(info.money?info.money:'')+''}}</view>
|
<view class="protext">{{'合同金额:¥'+(info.money?info.money:'')+''}}</view>
|
||||||
</block>
|
</block>
|
||||||
</view>
|
</view>
|
||||||
<block wx:if="{{info}}">
|
<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>
|
||||||
<block wx:if="{{info}}">
|
<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>
|
||||||
<block wx:if="{{info}}">
|
<block wx:if="{{info}}">
|
||||||
<view class="content">{{'签约时间:'+(info.order_date?info.order_date:'')+''}}</view>
|
<view class="content">{{'签约时间:'+(info.order_date?info.order_date:'')+''}}</view>
|
||||||
|
@ -103,6 +103,14 @@
|
||||||
<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']}}">
|
<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_head">更多操作</view>
|
||||||
<view class="pull_con">
|
<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 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 style="padding:5rpx 12rpx;border:1px solid #ededed;">写新跟进</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -110,13 +118,7 @@
|
||||||
<view style="padding:5rpx 12rpx;border:1px solid #ededed;">回款计划</view>
|
<view style="padding:5rpx 12rpx;border:1px solid #ededed;">回款计划</view>
|
||||||
</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}}">
|
<block wx:if="{{info&&info.check_status==2}}">
|
||||||
<view data-event-opts="{{[['tap',[['toAddPayment',['$0'],['info.id']]]]]}}" class="bottom_item" bindtap="__e">
|
<view data-event-opts="{{[['tap',[['toAddPayment',['$0'],['info.id']]]]]}}" class="bottom_item" bindtap="__e">
|
||||||
<view style="padding:5rpx 12rpx;border:1px solid #ededed;">回款</view>
|
<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_IMG_URL: app.globalData.BASE_IMG_URL,
|
||||||
BASE_URL:app.globalData.BASE_URL,
|
BASE_URL:app.globalData.BASE_URL,
|
||||||
page: 1,
|
page: 1,
|
||||||
totalPage: 1,
|
total: '',
|
||||||
list: [
|
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"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
queryParams: {},
|
queryParams: {},
|
||||||
moneyInfo: {}
|
moneyInfo: {}
|
||||||
},
|
},
|
||||||
|
@ -35,7 +20,6 @@ Page({
|
||||||
* 生命周期函数--监听页面加载
|
* 生命周期函数--监听页面加载
|
||||||
*/
|
*/
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
this.getBillList();
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -48,8 +32,10 @@ Page({
|
||||||
/**
|
/**
|
||||||
* 生命周期函数--监听页面显示
|
* 生命周期函数--监听页面显示
|
||||||
*/
|
*/
|
||||||
onShow() {
|
|
||||||
|
|
||||||
|
onShow() {
|
||||||
|
this.data.page = 1;
|
||||||
|
this.getBillList();
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -77,29 +63,89 @@ Page({
|
||||||
* 页面上拉触底事件的处理函数
|
* 页面上拉触底事件的处理函数
|
||||||
*/
|
*/
|
||||||
onReachBottom() {
|
onReachBottom() {
|
||||||
|
let that = this;
|
||||||
},
|
let page = that.data.page;
|
||||||
|
that.setData({
|
||||||
/**
|
page: page + 1
|
||||||
* 用户点击右上角分享
|
});
|
||||||
*/
|
console.log(that.data.page)
|
||||||
onShareAppMessage() {
|
that.getBillList();
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
getBillList() {
|
getBillList() {
|
||||||
console.log(this.data.BASE_URL)
|
let that = this;
|
||||||
wx.request({
|
wx.request({
|
||||||
url: this.data.BASE_URL + '/addons/crmx/bill/getContractList',
|
url: this.data.BASE_URL + '/addons/crmx/bill/getBillList',
|
||||||
data: {
|
data: {
|
||||||
page: this.data.page
|
page: that.data.page
|
||||||
},
|
},
|
||||||
header: {
|
header: {
|
||||||
'content-type': 'application/json', // 默认值
|
'content-type': 'application/json', // 默认值
|
||||||
'token': wx.getStorageSync('token'),
|
'token': wx.getStorageSync('token'),
|
||||||
},
|
},
|
||||||
success (res) {
|
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">
|
<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="scrollbox data-v-5cad64ad">
|
||||||
<view class="payList data-v-5cad64ad">
|
<view class="payList data-v-5cad64ad">
|
||||||
<block wx:for="{{list}}" wx:for-item="item" wx:for-index="index" wx:key="index">
|
<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_info data-v-2a5dec54">
|
||||||
<view class="cost_left 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.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>
|
</view>
|
||||||
|
|
||||||
|
<view class="list-btns">
|
||||||
|
<view bindtap="revise" data-id="{{item.id}}">修改</view>
|
||||||
|
<view bindtap="delete" data-id="{{item.id}}">删除</view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</block>
|
</block>
|
||||||
</view>
|
</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>
|
<image src="{{BASE_IMG_URL+'1.png'}}" mode="scaleToFill" class="data-v-5cad64ad"></image>
|
||||||
</view>
|
</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>
|
<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
|
color:#03aa96
|
||||||
}
|
}
|
||||||
.scrollbox.data-v-5cad64ad {
|
.scrollbox.data-v-5cad64ad {
|
||||||
width:750rpx;
|
width:750rpx;
|
||||||
height:calc(100vh - 180rpx)
|
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_type data-v-2a5dec54">{{item.consume_type}}</view>
|
||||||
<view class="cost_info data-v-2a5dec54">
|
<view class="cost_info data-v-2a5dec54">
|
||||||
<view class="cost_left 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.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>
|
||||||
<view class="cost_right data-v-2a5dec54">
|
<view class="cost_right data-v-2a5dec54">
|
||||||
<image class="staffimg data-v-2a5dec54" src="{{item.staff.img}}" mode></image>
|
<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": [],
|
"ignore": [],
|
||||||
"disablePlugins": [],
|
"disablePlugins": [],
|
||||||
"outputPath": ""
|
"outputPath": ""
|
||||||
}
|
},
|
||||||
|
"enhance": true
|
||||||
},
|
},
|
||||||
"compileType": "miniprogram",
|
"compileType": "miniprogram",
|
||||||
"libVersion": "2.30.2",
|
"libVersion": "2.30.2",
|
||||||
|
|
|
@ -23,5 +23,6 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"libVersion": "2.30.0"
|
||||||
}
|
}
|
Loading…
Reference in New Issue