|
|
@@ -0,0 +1,416 @@
|
|
|
+<template>
|
|
|
+ <div id="order_detailbox">
|
|
|
+ <!-- <section> -->
|
|
|
+ <h3 style="font-size:24px">整包协作开发者认证</h3>
|
|
|
+ <span class="lines"></span>
|
|
|
+ <div class="order-infos">
|
|
|
+ <span v-if="successTF">
|
|
|
+ <i class="el-icon-success icons-s"></i>
|
|
|
+ <span>交易成功</span>
|
|
|
+ </span>
|
|
|
+ <span v-else>
|
|
|
+ <i class="el-icon-success icons-f"></i>
|
|
|
+ <span>交易失败</span>
|
|
|
+ </span>
|
|
|
+ <div class="pays-info">
|
|
|
+ <p>
|
|
|
+ <span class="pays-title">实际金额:</span>
|
|
|
+ <span v-if="statusTF" class="detail-pays orange font20">+¥59.00</span>
|
|
|
+ <span v-else class="detail-pays green font20">-¥59.00</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span class="pays-title">原始金额:</span>
|
|
|
+ <span v-if="statusTF" class>+¥59.00</span>
|
|
|
+ <span v-else class>-¥59.00</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span class="pays-title">支付方式:</span>
|
|
|
+ <span>账户余额</span>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ <div class="pays-others">
|
|
|
+ <p>
|
|
|
+ <span>创建时间:</span>
|
|
|
+ <span>2019-08-20 13:30</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>提交时间:</span>
|
|
|
+ <span>2019-08-20 13:30</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>到账时间:</span>
|
|
|
+ <span>2019-08-20 13:30</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>订单编号:</span>
|
|
|
+ <span>39984849394894</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>支付编号:</span>
|
|
|
+ <span>2334443423233</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>创建时间:</span>
|
|
|
+ <span>2019-08-20 13:30</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>到账时间:</span>
|
|
|
+ <span>2019-08-20 13:30</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>备注说明:</span>
|
|
|
+ <span>对方空间对方看看风景地方</span>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ <span class="lines"></span>
|
|
|
+ <h3 style="padding:20px 0 10px 0">整包协作开发者认证</h3>
|
|
|
+ <div class="pays-others" style="padding-bottom:40px">
|
|
|
+ <p>
|
|
|
+ <span>订单类型:</span>
|
|
|
+ <span>资质认证</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>交易类型:</span>
|
|
|
+ <span>购买</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>关联项目:</span>
|
|
|
+ <span>————</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>关联订单:</span>
|
|
|
+ <span class="blue">将减肥咖啡|酒店客房</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>人工财务:</span>
|
|
|
+ <span>是</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>出账账号:</span>
|
|
|
+ <span>2334443423233</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>入账账号:</span>
|
|
|
+ <span>2334443423233</span>
|
|
|
+ </p>
|
|
|
+ <p class="clear">
|
|
|
+ <span class="floatl">数据备注:</span>
|
|
|
+ <span
|
|
|
+ class="mark-width floatl"
|
|
|
+ >接口的咖啡饿的发呆发呆发呆发呆发呆发呆地方地方机看对方空间对方看当看到反馈的风景看对方空间发的快点放假放的看对方空间对方</span>
|
|
|
+ <span class="blue point floatl" @click="centerDialogVisible=true">查看详情</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>内部备注:</span>
|
|
|
+ <span>2334443423233</span>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-dialog title="数据备注" :visible.sync="centerDialogVisible" width="50%" center>
|
|
|
+ <p>接口的咖啡饿的发呆发呆发呆发呆发呆发呆地方地方机看对方空间对方看当看到反馈的风景看对方空间发的快点放假放的看对方空间对方</p>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click=" centerDialogVisible=false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="centerDialogVisible=false">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ <!-- </section> -->
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ successTF: true,
|
|
|
+ statusTF: true,
|
|
|
+ centerDialogVisible: false
|
|
|
+ };
|
|
|
+ },
|
|
|
+
|
|
|
+ computed: {
|
|
|
+ clickDev(uid) {},
|
|
|
+ isTest() {
|
|
|
+ return this.localData.env === "test";
|
|
|
+ },
|
|
|
+ whole() {
|
|
|
+ return this.totalData.whole || {};
|
|
|
+ },
|
|
|
+ totalDeposit() {
|
|
|
+ return this.whole.total_deposit;
|
|
|
+ },
|
|
|
+ totalFee() {
|
|
|
+ return this.whole.total_fee;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.getTableData();
|
|
|
+ this.getEnum();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ getUrlParam(name) {
|
|
|
+ var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
|
|
|
+ var r = window.location.search.substr(1).match(reg); //匹配目标参数
|
|
|
+ if (r != null) return decodeURI(r[2]);
|
|
|
+ return null; //返回参数值
|
|
|
+ },
|
|
|
+ // 改变订单类型
|
|
|
+ changeOrder() {
|
|
|
+ var haveAll = false;
|
|
|
+ for (var i = 0; i < this.orderType.length; i++) {
|
|
|
+ if (this.orderType[i] == 0) {
|
|
|
+ haveAll = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 选择其他的时候,去掉全部,全部在第一位
|
|
|
+ if (
|
|
|
+ this.orderType[0] == 0 &&
|
|
|
+ 1 < this.orderType.length < this.TypeList.length
|
|
|
+ ) {
|
|
|
+ var arr = [];
|
|
|
+ for (var i = 0; i < this.orderType.length; i++) {
|
|
|
+ if (this.orderType[i] != 0) {
|
|
|
+ arr.push(this.orderType[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ this.orderType = arr;
|
|
|
+ }
|
|
|
+ // 选择全部的时候去掉其他,全部在最后一位
|
|
|
+ if (this.orderType[this.orderType.length - 1] == 0) {
|
|
|
+ this.orderType = [0];
|
|
|
+ }
|
|
|
+ if (!haveAll && this.orderType.length == this.TypeList.length - 1) {
|
|
|
+ this.orderType = [0];
|
|
|
+ }
|
|
|
+ if (this.orderType.length == 0) {
|
|
|
+ console.log("sss:", this.orderType);
|
|
|
+ this.orderType = [0];
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 改变支付方式
|
|
|
+ changePay() {
|
|
|
+ var haveAll = false;
|
|
|
+ for (var i = 0; i < this.payType.length; i++) {
|
|
|
+ if (this.payType[i] == 0) {
|
|
|
+ haveAll = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 选择其他的时候,去掉全部,全部在第一位
|
|
|
+ if (
|
|
|
+ this.payType[0] == 0 &&
|
|
|
+ 1 < this.payType.length < this.payList.length
|
|
|
+ ) {
|
|
|
+ var arr = [];
|
|
|
+ for (var i = 0; i < this.payType.length; i++) {
|
|
|
+ if (this.payType[i] != 0) {
|
|
|
+ arr.push(this.payType[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ this.payType = arr;
|
|
|
+ }
|
|
|
+ // 选择全部的时候去掉其他,全部在最后一位
|
|
|
+ if (this.payType[this.payType.length - 1] == 0) {
|
|
|
+ this.payType = [0];
|
|
|
+ }
|
|
|
+ if (!haveAll && this.payType.length == this.payList.length - 1) {
|
|
|
+ this.payType = [0];
|
|
|
+ }
|
|
|
+ if (this.payType.length == 0) {
|
|
|
+ console.log("sss:", this.orderType);
|
|
|
+ this.payType = [0];
|
|
|
+ }
|
|
|
+ },
|
|
|
+ clickExport() {
|
|
|
+ window.open("/api/admin/job/get_all_periods?action=export");
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 获取筛选值
|
|
|
+ */
|
|
|
+ async getEnum() {
|
|
|
+ let { data } = await this.$get("/api/admin/job/getEnum");
|
|
|
+ console.log(data);
|
|
|
+ if (data) {
|
|
|
+ let { jobStatusList, periodStatusList } = data;
|
|
|
+ this.jobStatusList = jobStatusList;
|
|
|
+ this.periodStatusList = periodStatusList;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 点击操作
|
|
|
+ clickOperate({ job_id, id }) {
|
|
|
+ if (this.isTest)
|
|
|
+ window.open(
|
|
|
+ `https://dev.test-rooter.proginn.com/main/wage_settlement?job_id=${job_id}&period_id=${id}`
|
|
|
+ );
|
|
|
+ else
|
|
|
+ window.open(
|
|
|
+ `https://rooter.proginn.com/main/wage_settlement?job_id=${job_id}&period_id=${id}`
|
|
|
+ );
|
|
|
+ },
|
|
|
+ // 点击账单
|
|
|
+ clickOrder(i) {
|
|
|
+ if (this.isTest)
|
|
|
+ window.open(
|
|
|
+ `https://dev.test-rooter.proginn.com/main/wage_details?job_id=${i.job_id}&period_id=${i.id}`
|
|
|
+ );
|
|
|
+ else
|
|
|
+ window.open(
|
|
|
+ `https://rooter.proginn.com/main/wage_details?job_id=${i.job_id}&period_id=${i.id}`
|
|
|
+ );
|
|
|
+ },
|
|
|
+ // 点击开发者
|
|
|
+ clickDev(uid) {
|
|
|
+ if (this.isTest)
|
|
|
+ window.open(`https://dev.test.proginn.com/rooter/user/${uid}`);
|
|
|
+ else window.open(`https://www.proginn.com/rooter/user/${uid}`);
|
|
|
+ },
|
|
|
+ // 点击企业
|
|
|
+ clickCompany(uid) {
|
|
|
+ if (this.isTest)
|
|
|
+ window.open(`https://dev.test.proginn.com/rooter/user/${uid}`);
|
|
|
+ else window.open(`https://www.proginn.com/rooter/user/${uid}`);
|
|
|
+ },
|
|
|
+ // 点击账单id
|
|
|
+ clickJobID(jobID) {
|
|
|
+ if (this.isTest)
|
|
|
+ window.open(
|
|
|
+ `https://dev.test.proginn.com/rooter/cloudjobitem/${jobID}`
|
|
|
+ );
|
|
|
+ else window.open(`https://www.proginn.com/rooter/cloudjobitem/${jobID}`);
|
|
|
+ },
|
|
|
+ // 点击重试
|
|
|
+ async clickRetry(id) {
|
|
|
+ const res = await this.$post("/api/admin/payment/redoDraw", { id });
|
|
|
+ // console.log(res)
|
|
|
+ },
|
|
|
+ // 根据状态显示图表样式
|
|
|
+ tableRowClassName({ row, rowIndex }) {
|
|
|
+ // console.log({row, rowIndex})
|
|
|
+ let className = "";
|
|
|
+ if (row.j_status_name === "结束合作") className = "end-row";
|
|
|
+ // console.log(className)
|
|
|
+ return className;
|
|
|
+ },
|
|
|
+ // 格式化列表数据
|
|
|
+ formatTableData(data) {
|
|
|
+ return data.map(i => ({
|
|
|
+ ...i,
|
|
|
+ payAround: `${i.start_time}<br>${i.end_time}`,
|
|
|
+ pre_send_salary_timeShow: new Date(
|
|
|
+ i.pre_send_salary_time * 1000
|
|
|
+ ).toLocaleDateString()
|
|
|
+ }));
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 点击筛选确认
|
|
|
+ */
|
|
|
+ clickSearchConfirm() {
|
|
|
+ this.currentPage = 1;
|
|
|
+ this.getTableData();
|
|
|
+ },
|
|
|
+ changePageSize(pageSize) {
|
|
|
+ this.currentPageSize = pageSize;
|
|
|
+ this.getTableData();
|
|
|
+ },
|
|
|
+ // 获取列表数据
|
|
|
+ async getTableData() {
|
|
|
+ this.tableData = [];
|
|
|
+ let url = "/api/admin/job/get_all_periods";
|
|
|
+ let body = { page: this.currentPage, page_size: this.currentPageSize };
|
|
|
+ if (this.status) body.j_status = this.status;
|
|
|
+ if (this.period) body.p_status = this.period;
|
|
|
+ if (this.checkUser) body.chk_user = this.checkUser;
|
|
|
+ if (this.jobID) body.job_id = this.jobID;
|
|
|
+ const res = await this.$post(url, body);
|
|
|
+ const data = res.data;
|
|
|
+ this.tableData = this.formatTableData(data.list);
|
|
|
+ this.totalData = data;
|
|
|
+ // // console.log(this.tableData)
|
|
|
+ this.totalCount = Number(data.total);
|
|
|
+ this.totalPage = data.totalPage;
|
|
|
+ this.localData.env = data.current_env;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ console.log(this.getUrlParam("id"));
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+#order_detailbox {
|
|
|
+ padding: 30px;
|
|
|
+ font-size: 14px;
|
|
|
+}
|
|
|
+#order_detailbox h3 {
|
|
|
+ /* font-size: 24px; */
|
|
|
+}
|
|
|
+#order_detailbox .lines {
|
|
|
+ padding-top: 30px;
|
|
|
+ display: block;
|
|
|
+ border-bottom: 1px solid rgba(0, 0, 0, 0.06);
|
|
|
+}
|
|
|
+#order_detailbox .icons-s {
|
|
|
+ color: #5dc945;
|
|
|
+ font-size: 34px;
|
|
|
+ padding: 25px 0;
|
|
|
+ vertical-align: middle;
|
|
|
+}
|
|
|
+#order_detailbox .icons-f {
|
|
|
+ color: red;
|
|
|
+ font-size: 34px;
|
|
|
+ padding: 30px 0;
|
|
|
+ vertical-align: middle;
|
|
|
+}
|
|
|
+.pays-info .pays-title {
|
|
|
+ color: #1d2a3a;
|
|
|
+ font-weight: bold;
|
|
|
+}
|
|
|
+.orange {
|
|
|
+ color: rgba(255, 152, 0, 1);
|
|
|
+}
|
|
|
+.green {
|
|
|
+ color: rgba(37, 155, 36, 1);
|
|
|
+}
|
|
|
+.blue {
|
|
|
+ color: #005fef;
|
|
|
+}
|
|
|
+.font20 {
|
|
|
+ font-size: 20px;
|
|
|
+}
|
|
|
+.pays-info > p,
|
|
|
+.pays-others > p {
|
|
|
+ padding-bottom: 6px;
|
|
|
+}
|
|
|
+.pays-others {
|
|
|
+ font-size: 13px;
|
|
|
+ color: #666666;
|
|
|
+}
|
|
|
+.pays-others h3 {
|
|
|
+ padding-top: 20px;
|
|
|
+ color: black;
|
|
|
+ font-size: 16px;
|
|
|
+}
|
|
|
+
|
|
|
+.point {
|
|
|
+ cursor: pointer;
|
|
|
+}
|
|
|
+.mark-width {
|
|
|
+ display: -webkit-box;
|
|
|
+ -webkit-box-orient: vertical;
|
|
|
+ -webkit-line-clamp: 1;
|
|
|
+ overflow: hidden;
|
|
|
+ width: 350px;
|
|
|
+}
|
|
|
+.floatl {
|
|
|
+ float: left;
|
|
|
+}
|
|
|
+.clear::after {
|
|
|
+ clear: both;
|
|
|
+ display: block;
|
|
|
+ content: "";
|
|
|
+}
|
|
|
+</style>
|